broker_name and broker_code fields in each client’s trade history.
Broker accounts must be enabled by Deribit staff. Authentication is required for all private methods — see the Authentication Guide.
Key Concepts
- Broker Code — a unique string identifying a broker client (counterparty group). Multiple users from the same client group can link using the same code. Trades carry this code, allowing clients to filter their history by broker.
- Client / Client Link — the broker identifies each side of a trade by
client_id(counterparty group) andclient_link_id(specific linked user). - Trade Confirmations — each client link has a
confirmations_requiredflag. Whentrue(the default), the trade is held pending until the client approves it via API. The window is 10 minutes; expiry or rejection cancels the trade.
Broker: List Clients
private/get_broker_clients — Scope: block_trade:read
Returns all clients registered under the broker account. Use this endpoint to look up the client_id and client_link_id values required by other broker methods such as private/execute_broker_trade.
Each client record contains:
client_id— numeric identifier grouping one or more linked users under a single client name.links— array of individual user connections within that client. Each entry includes aclient_link_idthat uniquely identifies a single linked user.
connected— user has accepted the broker invitation and is ready to trade.pending— invitation not yet accepted.rejected— link is inactive.
client_id from the top-level object and client_link_id from the relevant entry in links.
Broker: Execute a Trade
private/execute_broker_trade — Scope: block_trade:read_write
Submits both sides in one call. direction is always from the maker’s perspective.
If no confirmations are required, the response is a completed block trade with
id, timestamp, trades[], and maker/taker objects containing client_id, client_link_id, client_name, client_link_name, confirmations_required, and an obscured user_id (e.g. ***123).
If confirmations are required, the response is a pending trade request:
state.value: initial → approved / rejected. The trade executes once all required approvals are received.
Broker: Cancel a Pending Trade
private/cancel_broker_trade_request — Scope: block_trade:read_write
Cancels a pending trade using the nonce and timestamp from the execute response.
Broker: Monitor Pending Requests
private/get_broker_trade_requests — Scope: block_trade:read
Returns an array of all pending (and recently settled) broker trade requests with current per-side states. Takes no parameters.
WebSocket: subscribe to broker.trade_requests.{currency} for real-time updates on every state change.
Broker: Trade History
private/get_broker_trades — Scope: block_trade:read
Response:
{ "history": [...], "next_start_id": 41 }. Pass next_start_id as start_id for the next page (null = no more results). Each entry includes id, timestamp, trades[], and maker/taker with client info and obscured user_id.
Client: Approve or Reject a Pending Trade
Whenconfirmations_required = true, the client is notified and must act within 10 minutes.
Subscribe to block_trade_confirmations for real-time notifications. The notification data includes timestamp, nonce, role (maker or taker), broker_name, broker_code, trades[], and state.
Poll pending trades with private/get_block_trade_requests — pass broker_code to filter broker-only requests.
Approve
Reject
confirmations_shared = true on the client link, any sub-account in the same client group may approve or reject — not just the originally linked user.
Client: Trade History
Broker trades appear in regular block trade history. Filter by broker using thebroker_code parameter on private/get_block_trades. Each broker trade includes broker_name and broker_code fields.
Notes
- Obscured user IDs — brokers see only the last 3 digits of a client’s user ID (e.g.
***123). - Self-trading — the same Deribit user cannot be both maker and taker.
- KYC — both clients must be verified for block trading.
- Account locks / settlement proximity — trades fail if a client account is locked for the traded currency, or if the instrument is too close to expiry.
Common Errors
Related Methods
Brokerprivate/get_broker_clients— List registered clients and their link IDsprivate/execute_broker_trade— Submit a block trade on behalf of two clientsprivate/cancel_broker_trade_request— Cancel a pending trade requestprivate/get_broker_trade_requests— List pending and recently settled trade requestsprivate/get_broker_trades— Broker’s completed trade history
private/get_block_trade_requests— List pending block trade requests (filter bybroker_codefor broker trades)private/approve_block_trade— Approve a pending tradeprivate/reject_block_trade— Reject a pending tradeprivate/get_block_trades— Client’s block trade history (filter bybroker_code)
block_trade_confirmations— Real-time notifications for trade confirmation requestsbroker.trade_requests.{currency}— Real-time updates for broker trade request state changes