5 August 2025

  • Updated

⚠️ Expected downtime: 15 - 30 minutes 

Client impact: Maintenance 9 AM UTC - The system will be down for around 15 - 30 minutes. Client systems will not be able to communicate with Deribit during this time.

Block RFQ

Block RFQ pre-allocation
block_rfq_allocation.png

The method private/create_block_rfq now supports pre-allocation. The taker can use the trade_allocations parameter to split the total Block RFQ amount between their main account, sub-accounts, or broker-linked clients. Each allocation must specify either user_id (for direct allocation) or client_info object (for broker allocation), and amount.

Pre-allocation is supported both via the API and on the Deribit webpage interface.

Important

This functionality is available only when creating an Block RFQ from the main account. 

Example for user_id

{
  "method": "private/create_block_rfq",
  "params": {
    "legs": [
      {
        "instrument_name": "BTC-25JUL25",
        "amount": 200000,
        "direction": "buy"
      }
    ],
    "trade_allocations": [
      {
        "user_id": 1354,
        "amount": 100000
      },
      {
        "user_id": 1464,
        "amount": 100000
      }
    ],
    "label": "test",
    "makers": [],
    "disclosed": true
  },
  "jsonrpc": "2.0",
  "id": 6
}

Example for client_info and user_id

{
  "method": "private/create_block_rfq",
  "params": {
    "legs": [
      {
        "instrument_name": "BTC-PERPETUAL",
        "amount": 200000,
        "direction": "buy"
      }
    ],
    "trade_allocations": [
      {
        "client_info" : {
                "client_id" : 1,
                "client_link_id" : 1
        },
        "amount": 100000
      },
        {
        "user_id" : 7,
        "amount" : 100000
        }
    ],
    "label": "test",
    "makers": [],
    "disclosed": true
  },
  "jsonrpc": "2.0",
  "id": 6
}

Key requirements: 

  • Allocated sizes must align to the minimum trade amount of the underlying instruments (as with quotes)

  • The sum of all allocations must equal the total RFQ size

  • Allocations may be below the minimum block size, as long as the total meets the requirement

  • Allocations are immutable once the RFQ is created

Margin Checks
  • Margin is validated per allocated account at the time of RFQ creation.

  • The creator doesn’t need funds if not allocating to himself.

  • In case of a failed check, the broker will be informed which allocation failed.

RFQ Lifecycle & Visibility
  • Publicly, the creator is still marked as taker.

  • Allocations are only visible to the creator and the individual recipients (each sees only their own).

  • Users allocated in the RFQ cannot quote on it to prevent self-trading.

  • RFQs respect the SMP (Self-Match Prevention) config: quoting is disallowed if any allocated user has the same RFQ identity as the maker.

Trade Behavior & Post-Trade Allocation
  • Only the creator sees the full breakdown of allocations.

  • Allocated users:

    • See only their share of the trade

    • Can see the total traded size (since the RFQ is public)

  • Fees are paid by the allocated users, but the fee rate is based on the RFQ creator, not individual accounts.

  • Allocated accounts can see their respective trades in their transaction log, just like with regular trades. This includes fee details, timestamps, and trade metadata.

Trade Visibility in API & Subscriptions

Allocated trades will appear in:

Index prices in Block RFQ public trade tape

Added index_prices of underlying instruments at the time of the trade to /public/get_block_rfq_trades.

Warning

Deprecation Reminder

If your integration is still using the deprecated method private/trade_block_rfq, please update your systems to utilize /private/accept_block_rfq instead. The deprecated method will be removed in the next release.

API

The following API updates will be included in this release:

Breaking Changes
Restriction on Viewing API Key Secrets
  • API keys with the account:read scope can no longer view secrets of other API keys, even if those keys share the same scope.

  • Only API keys with the account:read_write scope are now permitted to view API key secrets.

Non-Breaking Changes
Information regarding all allowed linear option combos

The public/get_index_price_names method now provides information regarding the potential creation of future/option combinations for the specified index.

Block Trade expiration is returned in the API

Added expires_at to private/verify_block_trade response.

FIX

Breaking Changes

FIX Order Cancel Replace(G) message will now support DisplayQty(1138) tag instead of MaxShow(210)