Skip to content

Respond to an RFQ with a Quote

Once the Last Look period expires without acceptance, the quote is automatically discarded. Only quotes in PENDING status are eligible for acceptance.

POST /rfq/quote

Server: https://api.openfish.me

Authentication: L2 (HMAC) required


Content-Type: application/json

FieldTypeRequiredDescription
rfqIdstring (UUID)YesID of the RFQ to quote on
pricestringYesQuoted price
{
"rfqId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"price": "0.55"
}

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

Terminal window
curl -X POST "https://api.openfish.me/rfq/quote" \
-H "Content-Type: application/json" \
-H "OPENFISH_ADDRESS: 0x8c892c7a1a9f4f2d8cb13d2a4f7f13891c7a3693" \
-H "OPENFISH_API_KEY: 2f4d12f4-20f9-4a7f-9a5d-5d0dfe5f0101" \
-H "OPENFISH_PASSPHRASE: your-passphrase" \
-H "OPENFISH_TIMESTAMP: 1770000000" \
-H "OPENFISH_SIGNATURE: base64url-hmac-signature" \
-d '{
"rfqId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"price": "0.55"
}'
{
"quoteId": "f1e2d3c4-b5a6-7890-fedc-ba0987654321",
"rfqId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"price": "0.55",
"status": "PENDING",
"lastLookSeconds": 10
}

FieldTypeDescription
quoteIdstringUUID of the quote
rfqIdstringUUID of the RFQ
pricestringQuoted price
statusstring"PENDING"
lastLookSecondsintegerLast Look window duration (10s)
{
"quoteId": "f1e2d3c4-b5a6-7890-fedc-ba0987654321",
"rfqId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"price": "0.55",
"status": "PENDING",
"lastLookSeconds": 10
}
{ "error": "RFQ not found, expired, or already filled" }
{ "error": "invalid authorization" }