Request for Quote (RFQ)
Get RFQ
Read one request for quote and the quotes attached to it
GET
/
orderbooks
/
stocks
/
api
/
rfq
/
{id}
curl "https://api.trusset.org/orderbooks/stocks/api/rfq/clx_rfq_0091" \
-H "X-API-Key: trusset_your_key_here"
const res = await fetch(
`https://api.trusset.org/orderbooks/stocks/api/rfq/${rfqId}`,
{ headers: { 'X-API-Key': 'trusset_your_key_here' } }
);
const { data } = await res.json();
const live = data.quotes.filter((q: any) => q.status === 'ACTIVE');
{
"success": true,
"data": {
"id": "clx_rfq_0091",
"instanceId": "inst_abc123",
"requesterAddress": "0xabc7f1093d5e26b804a1c3f78de025916b47c0d3",
"baseToken": "0x51f2b9d0e77c4a1b83ce6d4a9271e5f3a0c8b912",
"quoteToken": "0x98ad0ca091552e23c564b41c74282e5343d03e8a",
"custodyContract": "0x98c33b10823172e62a31d6048773df1054c4f821",
"side": "BUY",
"baseAmount": "250000000",
"status": "QUOTED",
"expiresAt": "2025-06-15T12:00:30.000Z",
"createdAt": "2025-06-15T12:00:00.000Z",
"updatedAt": "2025-06-15T12:00:08.000Z",
"quotes": [
{
"id": "clx_quote_441",
"quoteRequestId": "clx_rfq_0091",
"lpAddress": "0x9f8c1d4b2e7a3056c1b8f4d29e0a7c3518b6d24f",
"lpAccountId": "clx_acct_31",
"price": "182410000",
"validUntil": "2025-06-15T12:00:28.000Z",
"lockId": "clx_lock_91",
"status": "ACTIVE",
"createdAt": "2025-06-15T12:00:08.000Z",
"updatedAt": "2025-06-15T12:00:08.000Z"
}
]
}
}
Returns an RFQ with every quote that has been submitted against it, in whatever state each is in. Only RFQs opened by your own instance resolve; anything else reads as not found.
Status tells you what is still possible.
PENDING and QUOTED accept an acceptance or a cancellation. ACCEPTED, CANCELLED and EXPIRED are terminal.
Path Parameters
string
required
RFQ ID.
Response Fields
object
Show child attributes
Show child attributes
string
RFQ ID.
string
Your instance.
string
Requesting wallet.
string
Base token.
string
Quote token.
string
Custody contract.
string
BUY or SELL.string
Requested size in order book units.
string
PENDING, QUOTED, ACCEPTED, CANCELLED or EXPIRED.string
ISO 8601 deadline.
string
ISO 8601 timestamp.
string
ISO 8601 timestamp.
array
Show child attributes
Show child attributes
string
Quote ID. Pass it to Accept Quote.
string
RFQ this quote answers.
string
Liquidity provider’s wallet.
string
Provider’s trading account, or
null.string
Quoted price in order book units.
string
When the quote stops being executable.
string
Balance lock committing the provider’s funds, or
null.string
ACTIVE, ACCEPTED, EXPIRED or WITHDRAWN.string
ISO 8601 timestamp.
string
ISO 8601 timestamp.
A quote’s
validUntil is capped at the RFQ’s own expiresAt, so a quote never outlives the request it answers.curl "https://api.trusset.org/orderbooks/stocks/api/rfq/clx_rfq_0091" \
-H "X-API-Key: trusset_your_key_here"
const res = await fetch(
`https://api.trusset.org/orderbooks/stocks/api/rfq/${rfqId}`,
{ headers: { 'X-API-Key': 'trusset_your_key_here' } }
);
const { data } = await res.json();
const live = data.quotes.filter((q: any) => q.status === 'ACTIVE');
{
"success": true,
"data": {
"id": "clx_rfq_0091",
"instanceId": "inst_abc123",
"requesterAddress": "0xabc7f1093d5e26b804a1c3f78de025916b47c0d3",
"baseToken": "0x51f2b9d0e77c4a1b83ce6d4a9271e5f3a0c8b912",
"quoteToken": "0x98ad0ca091552e23c564b41c74282e5343d03e8a",
"custodyContract": "0x98c33b10823172e62a31d6048773df1054c4f821",
"side": "BUY",
"baseAmount": "250000000",
"status": "QUOTED",
"expiresAt": "2025-06-15T12:00:30.000Z",
"createdAt": "2025-06-15T12:00:00.000Z",
"updatedAt": "2025-06-15T12:00:08.000Z",
"quotes": [
{
"id": "clx_quote_441",
"quoteRequestId": "clx_rfq_0091",
"lpAddress": "0x9f8c1d4b2e7a3056c1b8f4d29e0a7c3518b6d24f",
"lpAccountId": "clx_acct_31",
"price": "182410000",
"validUntil": "2025-06-15T12:00:28.000Z",
"lockId": "clx_lock_91",
"status": "ACTIVE",
"createdAt": "2025-06-15T12:00:08.000Z",
"updatedAt": "2025-06-15T12:00:08.000Z"
}
]
}
}
Error Codes
| Code | HTTP | Cause |
|---|---|---|
INVALID_PARAM | 400 | id is missing or longer than 100 characters |
NOT_FOUND | 404 | No RFQ with that ID on your instance |
SERVICE_NOT_ENABLED | 403 | The Trading service is not enabled on this instance |
⌘I
curl "https://api.trusset.org/orderbooks/stocks/api/rfq/clx_rfq_0091" \
-H "X-API-Key: trusset_your_key_here"
const res = await fetch(
`https://api.trusset.org/orderbooks/stocks/api/rfq/${rfqId}`,
{ headers: { 'X-API-Key': 'trusset_your_key_here' } }
);
const { data } = await res.json();
const live = data.quotes.filter((q: any) => q.status === 'ACTIVE');
{
"success": true,
"data": {
"id": "clx_rfq_0091",
"instanceId": "inst_abc123",
"requesterAddress": "0xabc7f1093d5e26b804a1c3f78de025916b47c0d3",
"baseToken": "0x51f2b9d0e77c4a1b83ce6d4a9271e5f3a0c8b912",
"quoteToken": "0x98ad0ca091552e23c564b41c74282e5343d03e8a",
"custodyContract": "0x98c33b10823172e62a31d6048773df1054c4f821",
"side": "BUY",
"baseAmount": "250000000",
"status": "QUOTED",
"expiresAt": "2025-06-15T12:00:30.000Z",
"createdAt": "2025-06-15T12:00:00.000Z",
"updatedAt": "2025-06-15T12:00:08.000Z",
"quotes": [
{
"id": "clx_quote_441",
"quoteRequestId": "clx_rfq_0091",
"lpAddress": "0x9f8c1d4b2e7a3056c1b8f4d29e0a7c3518b6d24f",
"lpAccountId": "clx_acct_31",
"price": "182410000",
"validUntil": "2025-06-15T12:00:28.000Z",
"lockId": "clx_lock_91",
"status": "ACTIVE",
"createdAt": "2025-06-15T12:00:08.000Z",
"updatedAt": "2025-06-15T12:00:08.000Z"
}
]
}
}
