{
"jsonrpc": "2.0",
"method": "public/subscribe",
"id": 42,
"params": {
"channels": [
"instrument.creation.future.BTC"
]
}
}{
"data": {
"tick_size": 0.0005,
"tick_size_steps": [
{
"above_price": 120,
"tick_size": 0.001
}
],
"taker_commission": 0.0003,
"strike": 16000,
"settlement_period": "week",
"settlement_currency": "BTC",
"quote_currency": "BTC",
"price_index": "btc_usd",
"index_id": 1000033,
"product_group": "BTC",
"option_type": "put",
"min_trade_amount": 0.1,
"maker_commission": 0.0003,
"kind": "option",
"is_active": true,
"instrument_name": "BTC-13JAN23-16000-P",
"instrument_id": 144613,
"expiration_timestamp": 1673596800000,
"creation_timestamp": 1671696002000,
"timestamp": 1671696002000,
"counter_currency": "USD",
"contract_size": 1,
"lot_size": 1,
"block_trade_tick_size": 0.0001,
"block_trade_min_trade_amount": 25,
"block_trade_commission": 0.00015,
"base_currency": "BTC",
"state": "open"
}
}instrument.creation.(kind).(currency)
Notification published once when an instrument is created, carrying full instrument data in the same format as public/get_instruments.
The notification fires exactly once at creation time, regardless of the instrument’s initial state.
Subscription examples:
| Channel | Description |
|---|---|
instrument.creation.any.any | All instruments |
instrument.creation.future.BTC | BTC futures only |
instrument.creation.option.any | All options |
📖 Related Article: Options Data Collection Best Practices
{
"jsonrpc": "2.0",
"method": "public/subscribe",
"id": 42,
"params": {
"channels": [
"instrument.creation.future.BTC"
]
}
}{
"data": {
"tick_size": 0.0005,
"tick_size_steps": [
{
"above_price": 120,
"tick_size": 0.001
}
],
"taker_commission": 0.0003,
"strike": 16000,
"settlement_period": "week",
"settlement_currency": "BTC",
"quote_currency": "BTC",
"price_index": "btc_usd",
"index_id": 1000033,
"product_group": "BTC",
"option_type": "put",
"min_trade_amount": 0.1,
"maker_commission": 0.0003,
"kind": "option",
"is_active": true,
"instrument_name": "BTC-13JAN23-16000-P",
"instrument_id": 144613,
"expiration_timestamp": 1673596800000,
"creation_timestamp": 1671696002000,
"timestamp": 1671696002000,
"counter_currency": "USD",
"contract_size": 1,
"lot_size": 1,
"block_trade_tick_size": 0.0001,
"block_trade_min_trade_amount": 25,
"block_trade_commission": 0.00015,
"base_currency": "BTC",
"state": "open"
}
}Instrument kind or "any" for all
future, option, spot, future_combo, option_combo, anyThe currency symbol or "any" for all.
📖 Related Article: Using the currency Parameter
BTC, ETH, USDC, USDT, EURR, anyClient sends subscription request to subscribe to notification channel. Please refer to Notification page for more information.
2.0
public/subscribe, private/subscribeServer sends subscription notification data
Instrument kind: "future", "option", "spot", "future_combo", "option_combo"
future, option, spot, future_combo, option_comboOptional (omitted for spot). Settlement currency for the instrument. For inverse (reversed) contracts this is the base coin (e.g. BTC); for linear contracts it is typically the quote currency (e.g. USDC).
Counter currency of the instrument's currency pair (e.g. USD or USDC).
The underlying currency being traded. Not limited to BTC/ETH — altcoins, RWAs, and other listed bases are returned as their currency symbol.
The currency in which the instrument prices are quoted. Inverse options and futures are typically quoted in USD; linear and spot instruments are typically quoted in USDC or the quote coin.
Minimum amount for trading and the quantity increment (step size) for order amounts. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin.
This is the JSON-RPC name for the Starbase quantity increment (qty_tick_size on Starbase REST, SBE minOrderQuantity × 10^quantityExponent). JSON-RPC does not return a qty_tick_size field. Distinct from contract_size; do not assume the two values are equal.
Unique instrument identifier
Instrument ID
true while the order book is visible (open, settlement, locked, or halted). false for delivered, inactive, and archivized.
This is not the same as tradable. Only state open accepts new orders; locked allows cancels only, and settlement / halted reject new orders even when is_active is true.
Optional (omitted for spot). Calendar unit of the instrument's settlement/expiration period (minute, hour, day, week, month, or perpetual). Biweekly contracts still report week.
minute, hour, day, week, month, perpetualThe time when the instrument was first created (milliseconds since the UNIX epoch).
Specifies minimal price change and, as follows, the number of decimal places for instrument prices.
The price from which the increased tick size applies
Tick size to be used above the price. It must be multiple of the minimum tick size.
The time when the instrument will expire (milliseconds since the UNIX epoch). Present for perpetuals as well (a far-future timestamp); do not treat a non-zero value as proof the instrument is dated.
The strike value (only for options).
The option type (only for options).
call, putFuture type (only for futures)(field is deprecated and will be removed in the future, instrument_type should be used instead).
linear, reversedType of the instrument. linear or reversed. Present for options and spots as well as futures; do not assume it is futures-only.
Contract size for the instrument, expressed in the same unit as the order amount. For inverse (reversed) futures and perpetuals this is USD — BTC-PERPETUAL has a contract size of 10 USD. For options, spots, and for linear futures and perpetuals it is the base currency coin — BTC_USDC-PERPETUAL has a contract size of 0.0001 BTC. Note that on an inverse instrument base_currency identifies the underlying and settlement coin and does not indicate the unit of contract_size.
Distinct from min_trade_amount. contract_size converts between amount and contracts. Starbase matching uses the quantity increment, which JSON-RPC exposes as min_trade_amount (Starbase REST name: qty_tick_size). The two values may currently coincide on some instruments, but that is not a guarantee.
Lot size for instrument, used as the unit for fee lot counting. Omitted when the instrument has no configured lot size.
Maker commission for instrument.
Taker commission for instrument.
Maximal liquidation trade commission for instrument (only for futures).
Optional. Maximum maker commission. Returned only when extended=true on public/get_instruments.
Optional. Maximum taker commission. Returned only when extended=true on public/get_instruments.
Optional. Maximum liquidation commission. Returned only when extended=true on public/get_instruments. Distinct from max_liquidation_commission, which is present on futures without extended.
Optional. Maximum settlement commission. Returned only when extended=true on public/get_instruments.
Optional (futures only). Trading bandwidth fraction used in mark-price logic. Returned only when extended=true on public/get_instruments.
Optional (perpetual futures only). Perpetual funding dampener. Returned only when extended=true on public/get_instruments. The JSON field name is spelled dempener.
Optional (perpetual futures only). Maximum funding rate. Returned only when extended=true on public/get_instruments.
Block Trade commission for instrument. Omitted for spot routed to Coinbase Exchange (CSR), which does not support block trades.
Specifies minimal price change for block trading.
Minimum amount for block trading.
Maximal leverage for the default risk profile (futures). For spot, present only on cross pairs when spot margin loans are enabled: derived from the loan initial-margin rate for borrowable USDC-quoted pairs, otherwise 1. Omitted on other spots and options.
Maximal leverage for the non-default risk profile (futures only). Omitted on options and spots.
Name of price index that is used for this instrument
The type of the underlying asset.
crypto, equity, commodity, preipo, equity_etf, crypto_index, adr, foreign_equity, equity_index, commodity_index, commodity_etf, otcThe state of the order book. Represents the current lifecycle stage of the instrument.
State Lifecycle and Meanings:
open: Default state for running books. In this state book is accepting new orders, edits, cancels; prices should be updated, trading is live.settlement: Books enters to this state during settlement/delivery. New orders, edits, cancels are not accepted. After this state normally next state should beopenif it was settlement, ordeliveredif it was delivery. On enter to this state good till day orders in book are canceled.delivered: Final state of book that has been delivered. New orders, edits, cancels are not accepted. After some time book process will be terminated and, instrument moved toexpired_instrumentsand itsinstrument_statewill become archivized. On enter to this all open orders in book are canceled.inactive: After a book is deactivated, this state is set on book. New orders, edits, cancels are not accepted. On enter to this all open orders in book are canceled. Book in this state is not considered as open. This can be also final state for book.locked: New orders, edits, are not accepted, only cancels ARE accepted. In some cases when configured books can start as locked or it may become locked on admin request. Settlement is possible on locked books.halted: The state that books enter as a result of an error. Settlement is not possible when there is at least one book in this state.archivized: Set when instrument is moved toexpired_instrumentstable, final state.
open, settlement, delivered, inactive, locked, halted, archivizedInternal identifier for the base currency. Absent if the base currency does not have an assigned identifier.
Internal identifier for the quote currency. Absent if the quote currency does not have an assigned identifier.
Numeric identifier of the price index used by this instrument. Derived from the index currency pair, so all instruments sharing the same price_index also share the same index_id.
Product group classification of the instrument's base currency. Determines gateway and multicast channel assignment — see Underlying Tiers.
BTC, ETH, TIER_2, TIER_3, RWAOptional (only for spot routed to Coinbase Exchange). When present it is always true, meaning orders on this instrument are routed to Coinbase Exchange (CBE) for matching instead of the native Deribit matching engine. The field is omitted for every other instrument, so test for its presence rather than for a false value.
Optional (only for spot routed to Coinbase Exchange). Alias of is_csr added by public/get_instrument and public/get_instruments; other surfaces that return instrument metadata, such as the instrument.creation.{kind}.{currency} notification, carry is_csr only. When present it is always true and is omitted for every other instrument, so test for its presence rather than for a false value.
The time when the instrument was created (milliseconds since the UNIX epoch).
Was this page helpful?