Skip to main content
kind
type:enum
required

Instrument kind

Allowed values: future, option, spot, future_combo, option_combo

Available options: future, option, spot, future_combo, option_combo
currency
type:enum
required

Currency code or any for all

Allowed values: BTC, ETH, USDC, USDT, EURR, any

Available options: BTC, ETH, USDC, USDT, EURR, any
interval
type:enum
required

Frequency of notifications. Events will be aggregated over this interval. The value raw selects the finest granularity - events are aggregated over a 1 millisecond interval (Please note that raw interval is only available to authorized users)

Allowed values: raw, 100ms, agg2

Available options: raw, 100ms, agg2
Subscription Request
type:object

Client sends subscription request to subscribe to notification channel. Please refer to Notification page for more information.

Subscription Notification Data
type:object

Server sends subscription notification data

data
type:object
required
trade_id
type:string
required

Unique (per currency) trade identifier

trade_seq
type:integer
required

The sequence number of the trade within instrument

instrument_name
type:string
required

Unique instrument identifier

timestamp
type:integer
required

The timestamp of the trade (milliseconds since the UNIX epoch)

starbase_timestamp
type:integer

The Starbase causal timestamp of the trade (nanoseconds since the Unix epoch)

starbase_order_id
type:integer

Raw Starbase order id of the user's order, in Starbase's own (non currency-prefixed) id namespace (present only for trades matched in Starbase)

starbase_client_order_id
type:string

Client order id of the user's own order (maker or taker side) submitted directly to Starbase via direct access; not returned for orders placed through the Deribit API; for self-trades this is the taker order's client order id

order_type
type:enum

Order type: "limit", "market", or "liquidation"

Available options: limit, market, liquidation
original_order_type
type:enum

Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use "limit" as order_type with "market" in this optional field.

Available options: market, market_limit
advanced
type:enum

Advanced type of user order: "usd" or "implv" (only for options; omitted if not applicable)

Available options: usd, implv
order_id
type:string
required

Id of the user order (maker or taker), i.e. subscriber's order id that took part in the trade

matching_id
type:string
required

Always null

direction
type:enum
required

Direction: buy, or sell

Available options: buy, sell
tick_direction
type:enum
required

Direction of the "tick" (0 = Plus Tick, 1 = Zero-Plus Tick, 2 = Minus Tick, 3 = Zero-Minus Tick).

Available options: 0, 1, 2, 3
index_price
type:number
required

Index Price at the moment of trade

price
type:number
required

Price in base currency

amount
type:number
required

Trade amount. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin.

contracts
type:number

Trade size in contract units (optional, may be absent in historical trades)

iv
type:number

Option implied volatility for the price (Option only)

underlying_price
type:number

Underlying price for implied volatility calculations (Options only)

liquidation
type:enum

Optional field (only for trades caused by liquidation): "M" when maker side of trade was under liquidation, "T" when taker side was under liquidation, "MT" when both sides of trade were under liquidation

Available options: M, T, MT
liquidity
type:enum

Describes what was role of users order: "M" when it was maker order, "T" when it was taker order

Available options: M, T
fee
type:number
required

User's fee in units of the specified fee_currency

fee_currency
type:enum
required

Currency, i.e "BTC", "ETH", "USDC"

Available options: BTC, ETH, USDC, USDT, EURR
label
type:string

User defined label (presented only when previously set for order by user)

state
type:enum
required

Order state: "open", "filled", "rejected", "cancelled", "untriggered" or "archive" (if order was archived)

Available options: open, filled, rejected, cancelled, untriggered, archive
block_trade_id
type:string

Block trade id - when trade was part of a block trade

block_trade_leg_count
type:integer

Block trade leg count - when trade was part of a block trade

block_rfq_id
type:integer

ID of the Block RFQ - when trade was part of the Block RFQ

block_rfq_quote_id
type:integer

ID of the Block RFQ quote - when trade was part of the Block RFQ

reduce_only
type:string

true if user order is reduce-only

post_only
type:string

true if user order is post-only

mmp
type:boolean

true if user order is MMP

risk_reducing
type:boolean

true if user order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users)

api
type:boolean

true if user order was created with API

profit_loss
type:number

Profit and loss in base currency.

mark_price
type:number
required

Mark Price at the moment of trade

legs
type:array

Optional field containing leg trades if trade is a combo trade (present when querying for only combo trades and in combo_trades events). Each leg trade has the same fields as a top-level user trade, including starbase_match_id, starbase_order_id, and starbase_timestamp when matched in Starbase, and starbase_client_order_id for orders submitted via Starbase direct access.

combo_id
type:string

Optional field containing combo instrument name if the trade is a combo trade

combo_trade_id
type:string

Optional field containing combo trade identifier if the trade is a combo trade

starbase_match_id
type:integer

Optional field containing the Starbase match identifier (present only for trades matched via Starbase)

quote_set_id
type:string

QuoteSet of the user order (optional, present only for orders placed with private/mass_quote)

quote_id
type:string

QuoteID of the user order (optional, present only for orders placed with private/mass_quote)

trade_allocations
type:object

List of allocations for Block RFQ pre-allocation. Each allocation specifies user_id, amount, and fee for the allocated part of the trade. For broker client allocations, a client_info object will be included.

user_id
type:integer

User ID to which part of the trade is allocated. For brokers the User ID is obstructed.

amount
type:number
required

Amount allocated to this user.

fee
type:number
required

Fee for the allocated part of the trade.

client_info
type:object

Optional client allocation info for brokers.

client_id
type:integer

ID of a client; available to broker. Represents a group of users under a common name.

client_link_id
type:integer

ID assigned to a single user in a client; available to broker.

name
type:string

Name of the linked user within the client; available to broker.