FAQ
Home
Support Center
FAQ
Crypto Derivatives
Options
Binance Options
Binance Options API Interface and WebSocket

Binance Options API Interface and WebSocket

2022-09-08 09:41
Binance Options trading is available via the Binance Futures API connectivity suite and is open to users who have enabled the Binance API trading interface.

1. Market Data Endpoints

The Github link for each query will provide access to the corresponding Endpoints Weights, Parameters, and Responses.
Query
Description
Endpoint and Details
Test Connectivity
Test connectivity to the Rest API
GET /eapi/v1/ping
Check Server Time
Test connectivity to the Rest API and get the current server time
Exchange Information
Current exchange trading rules and symbol information
GET /eapi/v1/exchangeInfo
Order Book
Get order book data
Recent Trades List
Get recent market trades
Old Trades Lookup (MARKET_DATA)
Get older market historical trades
Kline/Candlestick Data
Kline/candlestick bars for an option symbol. Klines are uniquely identified by their open time
Options Mark Price
Options mark price and greek info
24hr Ticker Price Change Statistics
24-hour rolling window price change statistics
Symbol Price Ticker
Get Spot Index price for the option’s underlying asset
Historical Exercise Records
Get historical exercise records
Open Interest
Get open interest for an underlying asset on a specific expiration date

2. Account/Trades Endpoints

The Github link for each query will provide access to the corresponding Endpoints Weights, Parameters, and Responses.
Query
Description
Endpoint and Details
Option Account Information (TRADE)
Get current account information
GET /eapi/v1/account (HMAC SHA256)
Funds Transfer (TRADE)
View more details here
New Order (TRADE)
Send a new order
POST /eapi/v1/order (HMAC SHA256)
Place Multiple Orders (TRADE)
Send multiple Options orders
Query Single Order (TRADE)
Check an order’s status
Cancel Options Order (TRADE)
Cancel an active order
Cancel Multiple Options Orders (TRADE)
Cancel multiple active orders
Cancel all Options orders on a specific symbol (TRADE)
Cancel all active orders on a symbol
Cancel All Options Orders by Underlying (TRADE)
Cancel all active orders on a specified underlying asset
Query Current Open Options Orders (USER_DATA)
Query current all open orders, status: ACCEPTED PARTIALLY_FILLED
Query Options Order History (TRADE)
Query all finished orders within 5 days. Order status: CANCELLED, FILLED, REJECTED
Options Position Information (USER_DATA)
Get current position information
Account Trade List (USER_DATA)
Get trades for a specific account and symbol
User Exercise Record (USER_DATA)
Get account exercise records
Account Funding Flow (USER_DATA)
Query account funding flows

3. WebSocket Market Streams

You can subscribe or unsubscribe to any stream listed below by using the requests listed in the WebSocket section.
Stream
Stream Name
Description
Update Speed
Trade Streams
<symbol>@trade or <underlyingAsset>@trade
The Trade Streams push raw trade information for a specific symbol or an underlying asset. e.g., ETH@trade
50ms
Index Stream
The underlying (e.g., ETHUSDT) index stream
1,000ms
Mark Price
The mark price for all option symbols on a specific underlying asset. e.g., ETH@markPrice
1,000ms
Kline/Candlestick Streams
The Kline/Candlestick Stream push updates to the current kline/candlestick every 1,000 milliseconds (if existing)
1,000ms
24-hour Ticker
24-hour ticker info for all symbols. Only symbols whose ticker info changed will be sent
1,000ms
24-hour Ticker by underlying asset and expiration date
24-hour ticker info by underlying asset and expiration date. e.g., ETH@ticker@220930
1,000ms
Open Interest
Option open interest for an underlying asset on a specific expiration date. e.g. ETH@openInterest@221125
60s
New Symbol Info
New symbol listing stream
50ms
Partial Book Depth Streams
<symbol>@depth<levels> or <symbol>@depth<levels>@100ms or <symbol>@depth<levels>@1000ms
Top bids and asks. Valid levels are 10, 20, 50, 100
100ms, 500ms, or 1,000ms, (default when update speed isn't used)
Diff. Book Depth Streams
When the depth level is set to 1,000, the stream returns different book depth pushes every 50ms. Please follow the subsequent instructions on how to manage a local order book correctly
50ms

4. WebSocket User Data Streams

You can access user data streams via a listenKey. Please refer to the WebSocket User Data Streams Section.
Event
Event Type
Description
Update Speed
Account Data
Update under the following conditions:
  • Account deposit or withdrawal
  • Position info change. Includes a P attribute if there are changes, otherwise does not include a P attribute.
  • Greek update
50ms
Order Update
Update under the following conditions:
  • Order fills
  • Order placed
  • Order canceled
50ms

5. Market Maker Endpoints

The following API endpoints are only available to market makers. The Github link for each query will provide access to the corresponding Endpoints Weights, Parameters, and Responses.
Query
Description
Endpoint and Details
Option Margin Account Information (USER_DATA)
Get current account information
GET /eapi/v1/marginAccount (HMAC SHA256)
Set Market Maker Protection Config (TRADE)
Set config for MMP. Market Maker Protection (MMP) is a set of protection mechanisms for option market makers. This mechanism can prevent mass trading in a short period of time. Once a market maker's account breaches the threshold, MMP will be triggered. All current MMP orders will be canceled, and all new MMP orders will be rejected. Market makers can use this gap to re-evaluate the market and modify order prices.
Get Market Maker Protection Config (TRADE)
Get config for MMP
Reset Market Maker Protection Config (TRADE)
Reset MMP and start MMP orders again
Set Auto-Cancel All Open Orders (Kill-Switch) Config (TRADE)
This endpoint sets the parameters of the auto-cancel feature. If no heartbeat message is sent, it will cancel all open orders (MMP and non-MMP orders) of the underlying symbol at the end of the specified countdown period. After the countdown period, all open orders will be canceled. New orders will be rejected with the error code -2010 until either a heartbeat message is sent or the auto-cancel feature is turned off by setting the countdownTime to 0.
Get Auto-Cancel All Open Orders (Kill-Switch) Config (TRADE)
This endpoint returns the auto-cancel parameters for each underlying symbol. Please note that only active auto-cancel parameters will be returned. If the countdownTime is set to 0 (i.e., countdownTime has been turned off), the response won’t return the underlying symbol, and the corresponding countdownTime parameter won’t be returned in the response.
Auto-Cancel All Open Orders (Kill-Switch) Heartbeat (TRADE)
This endpoint resets the time from which the countdown will begin to the time this message is received. It should be called repeatedly as heartbeats. Multiple heartbeats can be updated at once by specifying the underlying symbols as a list (except BTCUSDT and ETHUSDT) in the underlying parameter.