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.
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 |
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 |
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</symbol> or <underlyingAsset>@trade</underlyingAsset> | 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 | <underlyingAsset>@ticker@,<expirationDate></expirationDate></underlyingAsset> | 24-hour ticker info by underlying asset and expiration date. e.g., ETH@ticker@220930 | 1,000ms |
Open Interest | <underlyingAsset>@openInterest@,<expirationDate></expirationDate></underlyingAsset> | 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></levels></symbol> or <symbol>@depth,<levels>@100ms or ,<symbol>@depth,<levels>@1000ms</levels></symbol></levels></symbol> | 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 |
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:
| 50ms | |
Order Update | Update under the following conditions:
| 50ms |
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. |