POST /v1/quote-request123456789{ "maker": "0x1111…", "underlyingKey": 7, "optionSpecifier": 859008923130267914, "side": 0, "size": 20, "nonce": 44, "signature": "0x…" }
body makeraddressrequiredbody underlyingKeyuint64requiredbody optionSpecifieruint64requiredbody sideuint8required0 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 sizeuint64requiredbody nonceuint64requiredbody signaturestringrequiredQuoteRequest(address maker, uint64 underlyingKey, uint64 optionSpecifier, uint8 side, uint64 size, uint64 nonce),
by the maker or a key it registered.1{ "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.429.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.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.