Before subscribing to the price feed, you can query the symbols available on the RFQ liquidity product. Send a signed info message on the available-symbols topic, and the server returns the full list of tradable symbols in ASSET/QUOTE format.
RFQ liquidity product only. These symbols are specific to the RFQ product and do not represent CLOB instruments.
Request
Every message must be authenticated — see Authentication.
| Field | Type | Required | Description |
|---|---|---|---|
messageType | string | ✅ | info |
topic | string | ✅ | available-symbols |
key | string | ✅ | Your API public key |
passphrase | string | ✅ | Your API passphrase |
timestamp | string | ✅ | Unix epoch seconds (same value used to sign) |
signature | string | ✅ | Base64-encoded HMAC-SHA256 signature |
body | object | ✅ | Object used to filter which symbols are returned (may be empty {} for all) |
Example request:
{
"messageType": "info",
"topic": "available-symbols",
"key": "API_PUBLIC_KEY",
"passphrase": "API_PASSPHRASE",
"timestamp": "1720000000",
"signature": "base64_encoded_hmac",
"body": {}
}Response
The server returns an info message on the available-symbols topic. The body.message field is an array of symbol strings in ASSET/QUOTE format.
| Field | Type | Description |
|---|---|---|
messageType | string | info |
topic | string | available-symbols |
body.message | array of strings | Available RFQ symbols, each in ASSET/QUOTE format |
Example response:
{
"messageType": "info",
"topic": "available-symbols",
"body": {
"message": [
"BTC/USD",
"ETH/USD",
"LTC/USD",
"..."
]
}
}Using the result
- Each entry is a symbol string like
BTC/USD— use it verbatim as thesymbolvalue when you subscribe to a symbol. - The list reflects what's currently available on the RFQ product; query it at startup (and periodically, if your integration is long-running) rather than hard-coding symbols.
Next steps
- Subscribing to a Symbol — start streaming prices for a symbol
- Price Updates — the
price-updatemessage fields