Base URL
Request Endpoints
Create Request
POST /rfq/request
Creates an RFQ Request to buy or sell outcome tokens. This initiates the RFQ flow.
Request Body
| Field | Type | Description |
|---|---|---|
assetIn | string | Token ID the Requester wants to receive. "0" indicates USDC |
assetOut | string | Token ID the Requester wants to give. "0" indicates USDC |
amountIn | string | Amount of asset to receive (in base units) |
amountOut | string | Amount of asset to give (in base units) |
userType | number | 0 = EOA, 1 = POLY_PROXY, 2 = POLY_GNOSIS_SAFE |
Cancel Request
DELETE /rfq/request
Cancels a request. The Request must be in STATE_ACCEPTING_QUOTES.
Request Body
Get Requests
GET /rfq/data/requests
Gets RFQ Requests. Requesters can only view their own requests.
Quoters can only see their own quotes and requests that they quoted.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
offset | string | Pagination cursor (base64-encoded integer). Default "MA==" (0) |
limit | number | Max requests to return. Default 50, max 100 |
state | string | Optional: active or inactive. If omitted: no state filter. Invalid values return 400 |
requestIds | string[] | Repeatable RFQ request IDs (UUIDs). Invalid UUIDs are dropped |
markets | string[] | Repeatable condition IDs (must be 0x + 64 hex chars) |
sizeMin | number | Minimum size in tokens |
sizeMax | number | Maximum size in tokens |
sizeUsdcMin | number | Minimum size in USDC |
sizeUsdcMax | number | Maximum size in USDC |
priceMin | number | Minimum price |
priceMax | number | Maximum price |
sortBy | string | price, expiry, size, or created (default created) |
sortDir | string | asc (default) or desc |
Quote Endpoints
Create Quote
POST /rfq/quote
Creates an RFQ Quote in response to a Request.
Request Body
| Field | Type | Description |
|---|---|---|
requestId | string | ID of the Request to quote |
assetIn | string | Token ID the Quoter wants to receive. "0" indicates USDC |
assetOut | string | Token ID the Quoter wants to give. "0" indicates USDC |
amountIn | string | Amount of asset to receive (in base units) |
amountOut | string | Amount of asset to give (in base units) |
userType | number | 0 = EOA, 1 = POLY_PROXY, 2 = POLY_GNOSIS_SAFE |
Cancel Quote
DELETE /rfq/quote
Cancels an RFQ Quote.
Request Body
Get Quotes
RFQ quotes are exposed via separate endpoints depending on which “view” you need:- Requester view:
GET /rfq/data/requester/quotes(quotes on requests created by the authenticated user) - Quoter view:
GET /rfq/data/quoter/quotes(quotes created by the authenticated user)
| Parameter | Type | Description |
|---|---|---|
offset | string | Pagination cursor (base64-encoded integer). Default "MA==" (0) |
limit | number | Max quotes to return. Default 50, max 100 |
state | string | Optional: active or inactive. If omitted: no state filter. Invalid values return 400 |
quoteIds | string[] | Repeatable RFQ quote IDs (UUIDs). Invalid UUIDs are dropped |
requestIds | string[] | Repeatable RFQ request IDs (UUIDs). Invalid UUIDs are dropped |
markets | string[] | Repeatable condition IDs (must be 0x + 64 hex chars) |
sizeMin | number | Minimum size in tokens |
sizeMax | number | Maximum size in tokens |
sizeUsdcMin | number | Minimum size in USDC |
sizeUsdcMax | number | Maximum size in USDC |
priceMin | number | Minimum price |
priceMax | number | Maximum price |
sortBy | string | price, expiry, or created (default created) |
sortDir | string | asc (default) or desc |
Get Best Quote
GET /rfq/data/best-quote
Gets the best (most competitive) quote for a given RFQ request.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
requestId | string | The RFQ request ID |
Execution Endpoints
Accept Quote
POST /rfq/request/accept
Requester accepts an RFQ Quote. This creates an Order that the Requester must sign.
Request Body
| Field | Type | Description |
|---|---|---|
requestId | string | ID of the Request |
quoteId | string | ID of the Quote being accepted |
makerAmount | string | Maker’s amount in base units |
takerAmount | string | Taker’s amount in base units |
tokenId | string | Outcome token ID |
maker | string | Maker’s address |
signer | string | Signer’s address |
taker | string | Taker’s address |
nonce | string | Order nonce |
expiration | number | Unix timestamp for order expiration |
side | string | BUY or SELL |
feeRateBps | string | Fee rate in basis points |
signature | string | EIP-712 signature |
signatureType | number | Signature type (0 = EOA, 1 = POLY_PROXY, 2 = POLY_GNOSIS_SAFE) |
salt | number | Random salt for order uniqueness |
owner | string | Owner identifier |
Approve Order
POST /rfq/quote/approve
Quoter approves an RFQ order during the last look window. This queues the order for onchain execution.
Request Body
See Also
RFQ Overview
Concepts, lifecycle, and state transitions
CLOB Authentication
Set up L2 API credentials