{API_BASE}). Prices and quantities are JSON strings (fixed-decimal).
Authentication
1
Get a nonce
2
Sign in with SIWE
Sign the EIP-4361 message (including the nonce) and verify:This opens a session (cookie / JWT).
3
Mint an API key for automation
secret — shown once only. Store it and
send x-api-key: <secret> on every automated request.Preview before you quote (optional)
Dry-run a prospective order to check sizing, fee, and margin with no side effects.string
Order notional in quote currency.
string
Margin the order would consume.
string
Estimated fee for this fill.
string
Fee in basis points at your tier.
string
maker or taker.string
Your rolling 30-day volume (drives your tier).
boolean
Whether the order would pass the margin gate.
string
Rejection reason when
approved is false.Post and refresh a ladder
POST {API_BASE}/perps/quotes/bulk — Auth: session or API key.
Build a symmetric set of bid/ask levels around your fair value and submit them in
one call. Set cancelAll: true to make the call an atomic replace: your prior
resting quotes on that market are cancelled and the new ladder is placed in one
operation. This is the standard way to re-quote each cycle without leaving stale
orders behind.
string
required
The market to quote.
string
Tags this quoting cycle so you can group/track/replace the batch.
boolean
When
true, cancels your existing quotes on this market before placing the new ladder (atomic replace).array
required
The ladder levels. Each entry accepts
side (buy|sell), price, quantity, and optional clientOrderId, timeInForce, postOnly, reduceOnly, marginMode.Single-market convenience form
To place just one bid and one ask, usePOST {API_BASE}/perps/quotes:
Cancel
Pull quotes on shutdown, on feed loss, or as a risk kill-switch.- Cancel all
- Cancel one
POST {API_BASE}/perps/orders/cancel-all — Auth: session or API key.Cancel all your resting orders, optionally scoped by marketId, quoteId,
clientOrderId, or marginMode. Omit the body to cancel everything.The typical re-quote cycle is a single
quotes/bulk call with cancelAll: true —
you rarely need standalone cancels except as an emergency stop. Wire
cancel-all to your dead-man switch (see
Best practices).Options quoting
The options CLOB exposes an equivalent bulk path atPOST {API_BASE}/options/quotes/bulk
(with POST {API_BASE}/quotes/bulk as an alias), accepting a session or API key.
The single-quote form is POST {API_BASE}/options/quotes. The ladder shape and
cancelAll replace semantics match the perp path above.