Institutional Client Migration Guide
Dates, eligibility, account mapping, and non-API cutover details.
Pre-migration
Read-only applies to trading, not setup. If you have n International Exchange portfolios, Deribit provisions one main account for the first portfolio and n−1 subaccounts for the rest. Create keys and run sessions on the account that will hold each migrated book.private/get_subaccounts returns the subaccount mapping.
1
Create API keys
Create the first Deribit key in the UI on the target account (the main account for the first portfolio, or the matching subaccount for each of the others). Further keys can be created with
private/create_api_key. Set IP allowlists on the Deribit key; International Exchange allowlists do not copy across.Authenticate with public/auth. On WebSocket, send access_token in params; on HTTP, use Authorization: Bearer. A main-account session can switch to a subaccount with public/exchange_token and subject_id.Creating an API key
UI and API key creation, scopes, IP allowlists
Authentication
public/auth, tokens, exchange_token2
Update endpoints
Point clients at Deribit before 1 October. Testnet (
test.deribit.com) and production use separate accounts and keys. JSON-RPC uses named parameters only, and prices and sizes are JSON numbers, not decimal strings.On FIX,
Username(553) is the Deribit Client ID and Password(554) is derived from the Client Secret. See JSON-RPC and FIX overview. Starbase is a separate stack with separate keys; see Starbase.3
Map instruments
Symbols such as Perpetuals are
BTC-PERP-INTX become Deribit linear perpetuals such as BTC_USDC-PERPETUAL. Discover names at runtime rather than maintaining a static map:kind: "future" with settlement_period: "perpetual". International Exchange-style books are instrument_type: "linear". On linear instruments, amount is in the base coin, not USD. Inverse instruments use USD amount. public/get_instruments is rate-limited (1 req/s); keep the cache current with instrument.state.{kind}.{currency}.Read price_index from the instrument. Many linear perps use the Coinbase Index; BTC, ETH, SOL, XRP, HYPE, AVAX, and TRX names with listed Deribit options keep the Deribit index. Use public/get_index_price for a snapshot and deribit_price_index.{index_name} for the stream.4
Adapt orders
Types and time-in-force are lowercase. Deribit has no timestamp GTT;
good_til_day lasts until session end. Combined take profit / stop loss is not a single order — use linked OCO/OTO instead. A stop-limit has two ids (trigger_order_id after trigger). Iceberg size is display_amount; hidden quantity always takes.Open International Exchange orders are cancelled at the halt and do not migrate. Keep a snapshot of the working book so you can rebuild it on Deribit.
5
Wallet allowlists and rate limits
The deposit address is unchanged. Generate it with
private/create_deposit_address; Coinbase-custodied accounts also pass network (Coinbase Wallet API). International Exchange withdrawal addresses are imported onto Deribit with no waiting period. Additional addresses can still be added with private/add_to_address_book; those new entries follow Deribit’s usual delay (default 3 days).Rate limits are a credit pool per main account and per subaccount and do not inherit from International Exchange. When credits are exhausted the API returns too_many_requests (10028) and drops the WebSocket (unlike a typical HTTP 429). If you need more throughput on day one, request it during pre-migration. See Rate limits.International Exchange margin loans do not migrate, so they need to be closed before cutover. International Exchange trade, order, and fill history does not appear on Deribit; those historical APIs remain available for about 12 months.6
Verify on testnet
Production trading stays blocked until cutover. Use testnet (separate account and keys) to confirm authentication,
public/set_heartbeat, a small order, and a cancel before the window.Migration day
public/status reflects the halt. You cannot trade or change positions for about 30 minutes.
Positions are settled at the International Exchange mark and recreated on Deribit as block trades tagged Migration at that price. They appear in Deribit trade history with block_trade_id set. They are a booking artifact, not new trading activity, and they incur no trading or settlement fees. Average entry on Deribit is the recreation price. Any gap versus the Deribit mark at reopen is unrealized PnL, not a fee.
You can list those trades with private/get_user_trades_by_currency or private/get_transaction_log (query: block_trade).
After trading resumes
1
Confirm balances and positions
On the main account and every mapped subaccount, use
private/get_account_summary and private/get_positions (currency: "USDC" for linear books). If you already had a Deribit account, the INTX book lands on this new main account and its subaccounts, separate from any existing book.2
Restore order flow
Confirm authentication, heartbeats, and a small order plus cancel before restoring size. Open orders from International Exchange are gone, so the book needs to be rebuilt. Configure MMP with
private/set_mmp_config. Migrated accounts default to cross_sm; preview a change with private/change_margin_model and dry_run: true.Settlement, funding, and margin
Settlement, funding, and margin
Session PnL on open perps is realized daily at 08:00 UTC, not every 5 minutes. Funding accrues in RSPL and is cash-settled at that same settlement; the published rate is an 8-hour rate. Use
public/ticker, public/get_funding_rate_value, and private/get_settlement_history_by_currency for the current values. Margin models are cross_sm, cross_pm, segregated_sm, and segregated_pm.