Skip to content

Open a Request for Quote

RFQs let you broadcast your trading intent so that market makers can compete to fill it. After creation, any authenticated participant can respond with a quote through POST /rfq/quote.

POST /rfq/request

Server: https://api.openfish.me

Authentication: L2 (HMAC) required


Content-Type: application/json

FieldTypeRequiredDescription
tokenIdstringYesToken ID (asset ID) to trade
sidestringYes"BUY" or "SELL"
sizestringYesRequested size
{
"tokenId": "52114319501245915516055106046884209969926127482827954674443846427813813222426",
"side": "BUY",
"size": "100"
}

The JSON body must be included in the L2 HMAC message exactly as sent.

Terminal window
curl -X POST "https://api.openfish.me/rfq/request" \
-H "Content-Type: application/json" \
-H "OPENFISH_ADDRESS: 0x56687bf447db6ffa42ffe2204a05edaa20f55839" \
-H "OPENFISH_API_KEY: 9180014b-33c8-9240-a14b-bdca11c0a465" \
-H "OPENFISH_PASSPHRASE: your-passphrase" \
-H "OPENFISH_TIMESTAMP: 1770000000" \
-H "OPENFISH_SIGNATURE: base64url-hmac-signature" \
-d '{
"tokenId": "52114319501245915516055106046884209969926127482827954674443846427813813222426",
"side": "BUY",
"size": "100"
}'
{
"rfqId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "OPEN",
"tokenId": "52114319501245915516055106046884209969926127482827954674443846427813813222426",
"side": "BUY",
"size": "100",
"ttlMinutes": 10
}

FieldTypeDescription
rfqIdstringUUID of the created RFQ
statusstring"OPEN"
tokenIdstringToken ID
sidestring"BUY" or "SELL"
sizestringRequested size
ttlMinutesintegerTime to live (10 minutes)
{
"rfqId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "OPEN",
"tokenId": "52114319...",
"side": "BUY",
"size": "100",
"ttlMinutes": 10
}
{ "error": "tokenId and size required" }
{ "error": "invalid authorization" }