Request and Execute Quotes
zerohash provides two straightforward endpoints to request and execute quotes. Quotes can be configured with an expiration time of 5 or 30 seconds, though this can be adjusted to fit your use case.
Request a Quote
Endpoint:
POST /liquidity/rfq
- Platforms can request a quote specifying trading instrument, side, notional/quantity and any optional parameters (e.g., custom spread).
- The response includes:
- A unique
quote_id
. - Quoted price with fees included.
- Quote expiration timestamp.
- A unique
Sample Request
{
"side": "buy",
"participant_code": "CUST01",
"account_label": "general",
"underlying": "USDC.ETH",
"quoted_currency": "USD",
"quantity": 500,
"spread": "25",
}
Sample Response
{
"message": {
"request_id": "42684912-6107-4547-9999-977b2f847bfd",
"participant_code": "ZBGFHV",
"quoted_currency": "USD",
"side": "buy",
"quantity": "500",
"price": "1.0025",
"quote_id": "2888c933-4766-4a35-aba7-a3d3c3c8e3cc",
"expire_ts": 1755539666435,
"account_group": "00SCXM",
"account_label": "general",
"obo_participant": {
"participant_code": "X58PGA",
"account_group": "ZBGFHV",
"account_label": "general"
},
"total_notional": "501.25",
"settlement_type": null,
"issuer_fee_rate": null,
"issuer_fee_amount": null,
"issuer_fee_payor_type": null,
"underlying": "USDC.ETH",
"asset_cost_notional": "501.25",
"spread_notional": "1.25",
"spread_bps": "25"
}
}
Credit checks on participants balances are not performed on the RFQ request.
Execute a Quote
Endpoint
POST /liquidity/execute
- To execute the quote, the platform must pass the
quote_id
from the active quote. - The following validations occur:
- The quote expiration must still be valid.
- The customer account is checked to ensure sufficient balance to cover the trade.
- Trade details will be returned to the platform on successful execution of a quote.
Sample Request
{
"quote_id": "1f998343-d9f1-4b1d-bed7-df3aa8265bdb"
}
Sample Response
{
"message": {
"request_id": "ca2d7948-4468-4691-9b63-c306179ffae7",
"quote": {
"request_id": "9ec9921d-f8d6-49d7-89db-cdd67f1d6e11",
"participant_code": "ZBGFHV",
"quoted_currency": "USD",
"side": "buy",
"quantity": "500",
"price": "1.0025",
"quote_id": "1f998343-d9f1-4b1d-bed7-df3aa8265bdb",
"expire_ts": 1755542139137,
"account_group": "00SCXM",
"account_label": "general",
"obo_participant": {
"participant_code": "X58PGA",
"account_group": "ZBGFHV",
"account_label": "general"
},
"total_notional": "501.25",
"settlement_type": null,
"issuer_fee_rate": null,
"issuer_fee_amount": null,
"issuer_fee_payor_type": null,
"underlying": "USDC.ETH",
"asset_cost_notional": "501.25",
"spread_notional": "1.25",
"spread_bps": "25",
"transaction_timestamp": 1755542134538
},
"trade_id": "a2b4bed4-9723-4f22-9692-8efc53e4ef7f",
"status": "Completed",
"trade_ids_list": [
"a2b4bed4-9723-4f22-9692-8efc53e4ef7f"
]
}
}
Credit checks are perform on quote execution to ensure the platform can cover the trade.
Retrieve Trade Information
Endpoint:
GET /trades
- After quote execution, the trade details can be retrieved using the
trade_id
returned in step 2. - The
/trades
endpoint also supports filter parameters (e.g., by instrument, date range, or trade_id) for retrieving historical activity.
Quoting Controls
- Platforms can define minimum and maximum quote notional values when responding to an RFQ. All limits defined by the platform should remain inside the ZeroHash limits defined in the supported instruments (RFQ) page
- Platforms defined limits must fall within the constraints listed in the RFQ Supported Assets page.
- Platforms can set a default quote validity periods (e.g., 5s, 30s) to suit their workflow, while having the ability request other expiration windows on request.
Updated about 4 hours ago