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
| POST /eapi/v1/batchOrders (HMAC SHA256)
|
Query Single Order (TRADE)
| Check an order’s status
| GET /eapi/v1/order (HMAC SHA256)
|
Cancel Options Order (TRADE)
| Cancel an active order
| DELETE /eapi/v1/order (HMAC SHA256)
|
Cancel Multiple Options Orders (TRADE)
| Cancel multiple active orders
| DELETE /eapi/v1/batchOrders (HMAC SHA256)
|
Cancel all Options orders on a specific symbol (TRADE)
| Cancel all active orders on a symbol
| DELETE /eapi/v1/allOpenOrders (HMAC SHA256)
|
Cancel All Options Orders by Underlying (TRADE)
| Cancel all active orders on a specified underlying asset
| DELETE /eapi/v1/allOpenOrdersByUnderlying (HMAC SHA256)
|
Query Current Open Options Orders (USER_DATA)
| Query current all open orders, status: ACCEPTED PARTIALLY_FILLED
| GET /eapi/v1/openOrders (HMAC SHA256)
|
Query Options Order History (TRADE)
| Query all finished orders within 5 days. Order status: CANCELLED, FILLED, REJECTED
| GET /eapi/v1/historyOrders (HMAC SHA256)
|
Options Position Information (USER_DATA)
| Get current position information
| GET /eapi/v1/position (HMAC SHA256)
|
Account Trade List (USER_DATA)
| Get trades for a specific account and symbol
| GET /eapi/v1/userTrades (HMAC SHA256)
|
User Exercise Record (USER_DATA)
| Get account exercise records
| GET /eapi/v1/exerciseRecord (HMAC SHA256)
|
Account Funding Flow (USER_DATA)
| Query account funding flows
| GET /eapi/v1/bill (HMAC SHA256)
|
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
| <underlyingAsset>@ticker@<expirationDate>
| 24-hour ticker info by underlying asset and expiration date. e.g., ETH@ticker@220930
| 1,000ms |
Open Interest
| <underlyingAsset>@openInterest@<expirationDate>
| 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 |
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.
| POST /eapi/v1/mmpSet (HMAC SHA256)
|
Get Market Maker Protection Config (TRADE)
| Get config for MMP
| Get /eapi/v1/mmp (HMAC SHA256)
|
Reset Market Maker Protection Config (TRADE)
| Reset MMP and start MMP orders again
| POST /eapi/v1/mmpReset (HMAC SHA256)
|
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.
| POST /eapi/v1/countdownCancelAll (HMAC SHA256)
|
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.
| GET /eapi/v1/countdownCancelAll (HMAC SHA256)
|
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.
| POST /eapi/v1/countdownCancelAllHeartBeat (HMAC SHA256)
|