Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

Request a quote

POST /v1/quote-request
A request for quote in the style of a central limit order book: it asks the market for a price. The exchange sequences it, publishes it to every participant on the contract's book channels without your address, and holds nothing else. What answers it is ordinary orders on the book: makers who want to trade post firm limit orders, which anyone may take, you included. There are no private quotes and no last look.
Request
{ "maker": "0x1111…", "underlyingKey": 7, "optionSpecifier": 859008923130267914, "side": 0, "size": 20, "nonce": 44, "signature": "0x…" }
body makeraddressrequired
The account asking.
body underlyingKeyuint64required
The contract's underlying.
body optionSpecifieruint64required
The contract, as the instruments name it.
body sideuint8required
0 to buy, 1 to sell, 2 to name no side. Naming a side tells every participant which way you want to trade; a request naming none asks for a two-sided market, which costs a maker collateral on both sides, so a one-sided request draws the tighter answer.
body sizeuint64required
Contracts wanted, 1 to the contract's maximum order size.
body nonceuint64required
A nonce from the same space as your orders and cancels: a request spends it.
body signaturestringrequired
The EIP-712 QuoteRequest(address maker, uint64 underlyingKey, uint64 optionSpecifier, uint8 side, uint64 size, uint64 nonce), by the maker or a key it registered.
200 OK
{ "status": "requested" }
status is requested once the engine has published it, unknown when the gateway's wait closed first (the request may still be published), or the engine's refusal code: NONCE_USED for a replay, or a refusal of an inactive account or contract. A refused request still spends its nonce. A signature that does not verify, an unlisted contract or a size out of range is a 422 with error.
Requests are limited per address separately from your other messages (one a second, bursting to five, on the public gateways); over it, 429.

Seeing requests

Every participant subscribed to a contract's book channel receives each request as a quoteRequest event with the contract, side, sided and size, and no account or nonce. Your own arrives in full on your account: channel too. See the WebSocket page. Requests are not stored: a client that subscribes later never sees earlier ones.

Answering

Post a limit order on the contract, on the side the requester wants to trade against, with a short expiry (expiresAt). It is an ordinary order with no tag and no priority: the requester takes it with a market order, and so may anyone else.