spot
Binance Spot Skill
Spot request on Binance using authenticated API endpoints. Requires API key and secret key for certain endpoints. Return the result in JSON format.
Quick Reference
| Endpoint | Description | Required | Optional | Authentication |
|---|---|---|---|---|
/api/v3/exchangeInfo (GET) |
Exchange information | None | symbol, symbols, permissions, showPermissionSets, symbolStatus | No |
/api/v3/ping (GET) |
Test connectivity | None | None | No |
/api/v3/time (GET) |
Check server time | None | None | No |
/api/v3/aggTrades (GET) |
Compressed/Aggregate trades list | symbol | fromId, startTime, endTime, limit | No |
/api/v3/avgPrice (GET) |
Current average price | symbol | None | No |
/api/v3/depth (GET) |
Order book | symbol | limit, symbolStatus | No |
/api/v3/historicalTrades (GET) |
Old trade lookup | symbol | limit, fromId | No |
/api/v3/klines (GET) |
Kline/Candlestick data | symbol, interval | startTime, endTime, timeZone, limit | No |
/api/v3/ticker (GET) |
Rolling window price change statistics | None | symbol, symbols, windowSize, type, symbolStatus | No |
/api/v3/ticker/24hr (GET) |
24hr ticker price change statistics | None | symbol, symbols, type, symbolStatus | No |
/api/v3/ticker/bookTicker (GET) |
Symbol order book ticker | None | symbol, symbols, symbolStatus | No |
/api/v3/ticker/price (GET) |
Symbol price ticker | None | symbol, symbols, symbolStatus | No |
/api/v3/ticker/tradingDay (GET) |
Trading Day Ticker | None | symbol, symbols, timeZone, type, symbolStatus | No |
/api/v3/trades (GET) |
Recent trades list | symbol | limit | No |
/api/v3/uiKlines (GET) |
UIKlines | symbol, interval | startTime, endTime, timeZone, limit | No |
/api/v3/openOrders (DELETE) |
Cancel All Open Orders on a Symbol | symbol | recvWindow | Yes |
/api/v3/openOrders (GET) |
Current open orders | None | symbol, recvWindow | Yes |
/api/v3/order (POST) |
New order | symbol, side, type | timeInForce, quantity, quoteOrderQty, price, newClientOrderId, strategyId, strategyType, stopPrice, trailingDelta, icebergQty, newOrderRespType, selfTradePreventionMode, pegPriceType, pegOffsetValue, pegOffsetType, recvWindow | Yes |
/api/v3/order (DELETE) |
Cancel order | symbol | orderId, origClientOrderId, newClientOrderId, cancelRestrictions, recvWindow | Yes |
/api/v3/order (GET) |
Query order | symbol | orderId, origClientOrderId, recvWindow | Yes |
/api/v3/order/amend/keepPriority (PUT) |
Order Amend Keep Priority | symbol, newQty | orderId, origClientOrderId, newClientOrderId, recvWindow | Yes |
/api/v3/order/cancelReplace (POST) |
Cancel an Existing Order and Send a New Order | symbol, side, type, cancelReplaceMode | timeInForce, quantity, quoteOrderQty, price, cancelNewClientOrderId, cancelOrigClientOrderId, cancelOrderId, newClientOrderId, strategyId, strategyType, stopPrice, trailingDelta, icebergQty, newOrderRespType, selfTradePreventionMode, cancelRestrictions, orderRateLimitExceededMode, pegPriceType, pegOffsetValue, pegOffsetType, recvWindow | Yes |
/api/v3/order/oco (POST) |
New OCO - Deprecated | symbol, side, quantity, price, stopPrice | listClientOrderId, limitClientOrderId, limitStrategyId, limitStrategyType, limitIcebergQty, trailingDelta, stopClientOrderId, stopStrategyId, stopStrategyType, stopLimitPrice, stopIcebergQty, stopLimitTimeInForce, newOrderRespType, selfTradePreventionMode, recvWindow | Yes |
/api/v3/order/test (POST) |
Test new order | symbol, side, type | computeCommissionRates, timeInForce, quantity, quoteOrderQty, price, newClientOrderId, strategyId, strategyType, stopPrice, trailingDelta, icebergQty, newOrderRespType, selfTradePreventionMode, pegPriceType, pegOffsetValue, pegOffsetType, recvWindow | Yes |
/api/v3/orderList (DELETE) |
Cancel Order list | symbol | orderListId, listClientOrderId, newClientOrderId, recvWindow | Yes |
/api/v3/orderList (GET) |
Query Order list | None | orderListId, origClientOrderId, recvWindow | Yes |
/api/v3/orderList/oco (POST) |
New Order list - OCO | symbol, side, quantity, aboveType, belowType | listClientOrderId, aboveClientOrderId, aboveIcebergQty, abovePrice, aboveStopPrice, aboveTrailingDelta, aboveTimeInForce, aboveStrategyId, aboveStrategyType, abovePegPriceType, abovePegOffsetType, abovePegOffsetValue, belowClientOrderId, belowIcebergQty, belowPrice, belowStopPrice, belowTrailingDelta, belowTimeInForce, belowStrategyId, belowStrategyType, belowPegPriceType, belowPegOffsetType, belowPegOffsetValue, newOrderRespType, selfTradePreventionMode, recvWindow | Yes |
/api/v3/orderList/opo (POST) |
New Order List - OPO | symbol, workingType, workingSide, workingPrice, workingQuantity, pendingType, pendingSide | listClientOrderId, newOrderRespType, selfTradePreventionMode, workingClientOrderId, workingIcebergQty, workingTimeInForce, workingStrategyId, workingStrategyType, workingPegPriceType, workingPegOffsetType, workingPegOffsetValue, pendingClientOrderId, pendingPrice, pendingStopPrice, pendingTrailingDelta, pendingIcebergQty, pendingTimeInForce, pendingStrategyId, pendingStrategyType, pendingPegPriceType, pendingPegOffsetType, pendingPegOffsetValue, recvWindow | Yes |
/api/v3/orderList/opoco (POST) |
New Order List - OPOCO | symbol, workingType, workingSide, workingPrice, workingQuantity, pendingSide, pendingAboveType | listClientOrderId, newOrderRespType, selfTradePreventionMode, workingClientOrderId, workingIcebergQty, workingTimeInForce, workingStrategyId, workingStrategyType, workingPegPriceType, workingPegOffsetType, workingPegOffsetValue, pendingAboveClientOrderId, pendingAbovePrice, pendingAboveStopPrice, pendingAboveTrailingDelta, pendingAboveIcebergQty, pendingAboveTimeInForce, pendingAboveStrategyId, pendingAboveStrategyType, pendingAbovePegPriceType, pendingAbovePegOffsetType, pendingAbovePegOffsetValue, pendingBelowType, pendingBelowClientOrderId, pendingBelowPrice, pendingBelowStopPrice, pendingBelowTrailingDelta, pendingBelowIcebergQty, pendingBelowTimeInForce, pendingBelowStrategyId, pendingBelowStrategyType, pendingBelowPegPriceType, pendingBelowPegOffsetType, pendingBelowPegOffsetValue, recvWindow | Yes |
/api/v3/orderList/oto (POST) |
New Order list - OTO | symbol, workingType, workingSide, workingPrice, workingQuantity, pendingType, pendingSide, pendingQuantity | listClientOrderId, newOrderRespType, selfTradePreventionMode, workingClientOrderId, workingIcebergQty, workingTimeInForce, workingStrategyId, workingStrategyType, workingPegPriceType, workingPegOffsetType, workingPegOffsetValue, pendingClientOrderId, pendingPrice, pendingStopPrice, pendingTrailingDelta, pendingIcebergQty, pendingTimeInForce, pendingStrategyId, pendingStrategyType, pendingPegPriceType, pendingPegOffsetType, pendingPegOffsetValue, recvWindow | Yes |
/api/v3/orderList/otoco (POST) |
New Order list - OTOCO | symbol, workingType, workingSide, workingPrice, workingQuantity, pendingSide, pendingQuantity, pendingAboveType | listClientOrderId, newOrderRespType, selfTradePreventionMode, workingClientOrderId, workingIcebergQty, workingTimeInForce, workingStrategyId, workingStrategyType, workingPegPriceType, workingPegOffsetType, workingPegOffsetValue, pendingAboveClientOrderId, pendingAbovePrice, pendingAboveStopPrice, pendingAboveTrailingDelta, pendingAboveIcebergQty, pendingAboveTimeInForce, pendingAboveStrategyId, pendingAboveStrategyType, pendingAbovePegPriceType, pendingAbovePegOffsetType, pendingAbovePegOffsetValue, pendingBelowType, pendingBelowClientOrderId, pendingBelowPrice, pendingBelowStopPrice, pendingBelowTrailingDelta, pendingBelowIcebergQty, pendingBelowTimeInForce, pendingBelowStrategyId, pendingBelowStrategyType, pendingBelowPegPriceType, pendingBelowPegOffsetType, pendingBelowPegOffsetValue, recvWindow | Yes |
/api/v3/sor/order (POST) |
New order using SOR | symbol, side, type, quantity | timeInForce, price, newClientOrderId, strategyId, strategyType, icebergQty, newOrderRespType, selfTradePreventionMode, recvWindow | Yes |
/api/v3/sor/order/test (POST) |
Test new order using SOR | symbol, side, type, quantity | computeCommissionRates, timeInForce, price, newClientOrderId, strategyId, strategyType, icebergQty, newOrderRespType, selfTradePreventionMode, recvWindow | Yes |
/api/v3/account (GET) |
Account information | None | omitZeroBalances, recvWindow | Yes |
/api/v3/account/commission (GET) |
Query Commission Rates | symbol | None | Yes |
/api/v3/allOrderList (GET) |
Query all Order lists | None | fromId, startTime, endTime, limit, recvWindow | Yes |
/api/v3/allOrders (GET) |
All orders | symbol | orderId, startTime, endTime, limit, recvWindow | Yes |
/api/v3/myAllocations (GET) |
Query Allocations | symbol | startTime, endTime, fromAllocationId, limit, orderId, recvWindow | Yes |
/api/v3/myFilters (GET) |
Query relevant filters | symbol | recvWindow | Yes |
/api/v3/myPreventedMatches (GET) |
Query Prevented Matches | symbol | preventedMatchId, orderId, fromPreventedMatchId, limit, recvWindow | Yes |
/api/v3/myTrades (GET) |
Account trade list | symbol | orderId, startTime, endTime, fromId, limit, recvWindow | Yes |
/api/v3/openOrderList (GET) |
Query Open Order lists | None | recvWindow | Yes |
/api/v3/order/amendments (GET) |
Query Order Amendments | symbol, orderId | fromExecutionId, limit, recvWindow | Yes |
/api/v3/rateLimit/order (GET) |
Query Unfilled Order Count | None | recvWindow | Yes |
Parameters
Common Parameters
- symbol: Symbol to query (e.g., BNBUSDT)
- symbols: List of symbols to query
- permissions: List of permissions to query
- showPermissionSets: Controls whether the content of the
permissionSetsfield is populated or not. Defaults totrue(e.g., true) - symbol: (e.g., BNBUSDT)
- fromId: ID to get aggregate trades from INCLUSIVE. (e.g., 1)
- startTime: Timestamp in ms to get aggregate trades from INCLUSIVE. (e.g., 1735693200000)
- endTime: Timestamp in ms to get aggregate trades until INCLUSIVE. (e.g., 1735693200000)
- limit: Default: 500; Maximum: 1000. (e.g., 500)
- timeZone: Default: 0 (UTC)
- recvWindow: The value cannot be greater than
60000. Supports up to three decimal places of precision (e.g., 6000.346) so that microseconds may be specified. (e.g., 5000) - timestamp: (e.g., 1)
- quantity: (e.g., 1)
- quoteOrderQty: (e.g., 1)
- price: (e.g., 400)
- newClientOrderId: A unique id among open orders. Automatically generated if not sent. Orders with the same
newClientOrderIDcan be accepted only when the previous one is filled, otherwise the order will be rejected. - strategyId: (e.g., 1)
- strategyType: The value cannot be less than
1000000. (e.g., 1) - stopPrice: Used with
STOP_LOSS,STOP_LOSS_LIMIT,TAKE_PROFIT, andTAKE_PROFIT_LIMITorders. (e.g., 1) - trailingDelta: See Trailing Stop order FAQ. (e.g., 1)
- icebergQty: Used with
LIMIT,STOP_LOSS_LIMIT, andTAKE_PROFIT_LIMITto create an iceberg order. (e.g., 1) - pegOffsetValue: Priceleveltopegthepriceto(max:100). SeePeggedOrdersInfo (e.g., 1)
- orderId: (e.g., 1)
- origClientOrderId:
- newQty:
newQtymust be greater than 0 and less than the order's quantity. (e.g., 1) - cancelNewClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.
- cancelOrigClientOrderId: Either
cancelOrderIdorcancelOrigClientOrderIdmust be sent. If bothcancelOrderIdandcancelOrigClientOrderIdparameters are provided, thecancelOrderIdis searched first, then thecancelOrigClientOrderIdfrom that result is checked against that order. If both conditions are not met the request will be rejected. - cancelOrderId: Either
cancelOrderIdorcancelOrigClientOrderIdmust be sent. If bothcancelOrderIdandcancelOrigClientOrderIdparameters are provided, thecancelOrderIdis searched first, then thecancelOrigClientOrderIdfrom that result is checked against that order. If both conditions are not met the request will be rejected. (e.g., 1) - listClientOrderId: A unique Id for the entire orderList
- quantity: (e.g., 1)
- limitClientOrderId: A unique Id for the limit order
- price: (e.g., 1)
- limitStrategyId: (e.g., 1)
- limitStrategyType: The value cannot be less than
1000000. (e.g., 1) - limitIcebergQty: Used to make the
LIMIT_MAKERleg an iceberg order. (e.g., 1) - stopClientOrderId: A unique Id for the stop loss/stop loss limit leg
- stopPrice: (e.g., 1)
- stopStrategyId: (e.g., 1)
- stopStrategyType: The value cannot be less than
1000000. (e.g., 1) - stopLimitPrice: If provided,
stopLimitTimeInForceis required. (e.g., 1) - stopIcebergQty: Used with
STOP_LOSS_LIMITleg to make an iceberg order. (e.g., 1) - computeCommissionRates: Default:
falseSee Commissions FAQ to learn more. - orderListId: Either
orderListIdorlistClientOrderIdmust be provided (e.g., 1) - aboveClientOrderId: Arbitrary unique ID among open orders for the above order. Automatically generated if not sent
- aboveIcebergQty: Note that this can only be used if
aboveTimeInForceisGTC. (e.g., 1) - abovePrice: Can be used if
aboveTypeisSTOP_LOSS_LIMIT,LIMIT_MAKER, orTAKE_PROFIT_LIMITto specify the limit price. (e.g., 1) - aboveStopPrice: Can be used if
aboveTypeisSTOP_LOSS,STOP_LOSS_LIMIT,TAKE_PROFIT,TAKE_PROFIT_LIMIT. EitheraboveStopPriceoraboveTrailingDeltaor both, must be specified. (e.g., 1) - aboveTrailingDelta: See Trailing Stop order FAQ. (e.g., 1)
- aboveStrategyId: Arbitrary numeric value identifying the above order within an order strategy. (e.g., 1)
- aboveStrategyType: Arbitrary numeric value identifying the above order strategy. Values smaller than 1000000 are reserved and cannot be used. (e.g., 1)
- abovePegOffsetValue: (e.g., 1)
- belowClientOrderId: Arbitrary unique ID among open orders for the below order. Automatically generated if not sent
- belowIcebergQty: Note that this can only be used if
belowTimeInForceisGTC. (e.g., 1) - belowPrice: Can be used if
belowTypeisSTOP_LOSS_LIMIT,LIMIT_MAKER, orTAKE_PROFIT_LIMITto specify the limit price. (e.g., 1) - belowStopPrice: Can be used if
belowTypeisSTOP_LOSS,STOP_LOSS_LIMIT, TAKE_PROFITorTAKE_PROFIT_LIMITEither belowStopPrice or belowTrailingDelta or both, must be specified. (e.g., 1) - belowTrailingDelta: See Trailing Stop order FAQ. (e.g., 1)
- belowStrategyId: Arbitrary numeric value identifying the below order within an order strategy. (e.g., 1)
- belowStrategyType: Arbitrary numeric value identifying the below order strategy. Values smaller than 1000000 are reserved and cannot be used. (e.g., 1)
- belowPegOffsetValue: (e.g., 1)
- workingClientOrderId: Arbitrary unique ID among open orders for the working order. Automatically generated if not sent.
- workingPrice: (e.g., 1)
- workingQuantity: Sets the quantity for the working order. (e.g., 1)
- workingIcebergQty: This can only be used if
workingTimeInForceisGTC, or ifworkingTypeisLIMIT_MAKER. (e.g., 1) - workingStrategyId: Arbitrary numeric value identifying the working order within an order strategy. (e.g., 1)
- workingStrategyType: Arbitrary numeric value identifying the working order strategy. Values smaller than 1000000 are reserved and cannot be used. (e.g., 1)
- workingPegOffsetValue: (e.g., 1)
- pendingClientOrderId: Arbitrary unique ID among open orders for the pending order. Automatically generated if not sent.
- pendingPrice: (e.g., 1)
- pendingStopPrice: (e.g., 1)
- pendingTrailingDelta: (e.g., 1)
- pendingIcebergQty: This can only be used if
pendingTimeInForceisGTCor ifpendingTypeisLIMIT_MAKER. (e.g., 1) - pendingStrategyId: Arbitrary numeric value identifying the pending order within an order strategy. (e.g., 1)
- pendingStrategyType: Arbitrary numeric value identifying the pending order strategy. Values smaller than 1000000 are reserved and cannot be used. (e.g., 1)
- pendingPegOffsetValue: (e.g., 1)
- pendingAboveClientOrderId: Arbitrary unique ID among open orders for the pending above order. Automatically generated if not sent.
- pendingAbovePrice: Can be used if
pendingAboveTypeisSTOP_LOSS_LIMIT,LIMIT_MAKER, orTAKE_PROFIT_LIMITto specify the limit price. (e.g., 1) - pendingAboveStopPrice: Can be used if
pendingAboveTypeisSTOP_LOSS,STOP_LOSS_LIMIT,TAKE_PROFIT,TAKE_PROFIT_LIMIT(e.g., 1) - pendingAboveTrailingDelta: See Trailing Stop FAQ (e.g., 1)
- pendingAboveIcebergQty: This can only be used if
pendingAboveTimeInForceisGTCor ifpendingAboveTypeisLIMIT_MAKER. (e.g., 1) - pendingAboveStrategyId: Arbitrary numeric value identifying the pending above order within an order strategy. (e.g., 1)
- pendingAboveStrategyType: Arbitrary numeric value identifying the pending above order strategy. Values smaller than 1000000 are reserved and cannot be used. (e.g., 1)
- pendingAbovePegOffsetValue: (e.g., 1)
- pendingBelowClientOrderId: Arbitrary unique ID among open orders for the pending below order. Automatically generated if not sent.
- pendingBelowPrice: Can be used if
pendingBelowTypeisSTOP_LOSS_LIMITorTAKE_PROFIT_LIMITto specify limit price (e.g., 1) - pendingBelowStopPrice: Can be used if
pendingBelowTypeisSTOP_LOSS,STOP_LOSS_LIMIT, TAKE_PROFIT or TAKE_PROFIT_LIMIT. EitherpendingBelowStopPriceorpendingBelowTrailingDeltaor both, must be specified. (e.g., 1) - pendingBelowTrailingDelta: (e.g., 1)
- pendingBelowIcebergQty: This can only be used if
pendingBelowTimeInForceisGTC, or ifpendingBelowTypeisLIMIT_MAKER. (e.g., 1) - pendingBelowStrategyId: Arbitrary numeric value identifying the pending below order within an order strategy. (e.g., 1)
- pendingBelowStrategyType: Arbitrary numeric value identifying the pending below order strategy. Values smaller than 1000000 are reserved and cannot be used. (e.g., 1)
- pendingBelowPegOffsetValue: (e.g., 1)
- pendingQuantity: Sets the quantity for the pending order. (e.g., 1)
- omitZeroBalances: When set to
true, emits only the non-zero balances of an account. Default value:false - fromAllocationId: (e.g., 1)
- timestamp: (e.g., 1)
- preventedMatchId: (e.g., 1)
- fromPreventedMatchId: (e.g., 1)
- orderId: (e.g., 1)
- fromExecutionId: (e.g., 1)
- limit: Default:500; Maximum: 1000 (e.g., 500)
Enums
- interval: 1s | 1m | 3m | 5m | 15m | 30m | 1h | 2h | 4h | 6h | 8h | 12h | 1d | 3d | 1w | 1M
- windowSize: 1m | 2m | 3m | 4m | 5m | 6m | 7m | 8m | 9m | 10m | 11m | 12m | 13m | 14m | 15m | 16m | 17m | 18m | 19m | 20m | 21m | 22m | 23m | 24m | 25m | 26m | 27m | 28m | 29m | 30m | 31m | 32m | 33m | 34m | 35m | 36m | 37m | 38m | 39m | 40m | 41m | 42m | 43m | 44m | 45m | 46m | 47m | 48m | 49m | 50m | 51m | 52m | 53m | 54m | 55m | 56m | 57m | 58m | 59m | 1h | 2h | 3h | 4h | 5h | 6h | 7h | 8h | 9h | 10h | 11h | 12h | 13h | 14h | 15h | 16h | 17h | 18h | 19h | 20h | 21h | 22h | 23h | 1d | 2d | 3d | 4d | 5d | 6d
- type: FULL | MINI
- type: MARKET | LIMIT | STOP_LOSS | STOP_LOSS_LIMIT | TAKE_PROFIT | TAKE_PROFIT_LIMIT | LIMIT_MAKER | NON_REPRESENTABLE
- selfTradePreventionMode: NONE | EXPIRE_TAKER | EXPIRE_MAKER | EXPIRE_BOTH | DECREMENT | NON_REPRESENTABLE
- symbolStatus: TRADING | END_OF_DAY | HALT | BREAK | NON_REPRESENTABLE
- timeInForce: GTC | IOC | FOK | NON_REPRESENTABLE
- pegPriceType: PRIMARY_PEG | MARKET_PEG | NON_REPRESENTABLE
- pegOffsetType: PRICE_LEVEL | NON_REPRESENTABLE
- newOrderRespType: ACK | RESULT | FULL | MARKET | LIMIT
- cancelRestrictions: ONLY_NEW | NEW | ONLY_PARTIALLY_FILLED | PARTIALLY_FILLED
- cancelReplaceMode: STOP_ON_FAILURE | ALLOW_FAILURE
- orderRateLimitExceededMode: DO_NOTHING | CANCEL_ONLY
- stopLimitTimeInForce: GTC | IOC | FOK
- side: BUY | SELL
- aboveType: STOP_LOSS_LIMIT | STOP_LOSS | LIMIT_MAKER | TAKE_PROFIT | TAKE_PROFIT_LIMIT
- aboveTimeInForce: GTC | IOC | FOK
- abovePegPriceType: PRIMARY_PEG | MARKET_PEG
- abovePegOffsetType: PRICE_LEVEL
- belowType: STOP_LOSS | STOP_LOSS_LIMIT | TAKE_PROFIT | TAKE_PROFIT_LIMIT
- belowTimeInForce: GTC | IOC | FOK
- belowPegPriceType: PRIMARY_PEG | MARKET_PEG
- belowPegOffsetType: PRICE_LEVEL
- workingType: LIMIT | LIMIT_MAKER
- workingPegPriceType: PRIMARY_PEG | MARKET_PEG
- workingPegOffsetType: PRICE_LEVEL
- pendingPegPriceType: PRIMARY_PEG | MARKET_PEG
- pendingPegOffsetType: PRICE_LEVEL
- pendingAboveType: STOP_LOSS_LIMIT | STOP_LOSS | LIMIT_MAKER | TAKE_PROFIT | TAKE_PROFIT_LIMIT
- pendingAbovePegPriceType: PRIMARY_PEG | MARKET_PEG
- pendingAbovePegOffsetType: PRICE_LEVEL
- pendingBelowType: STOP_LOSS | STOP_LOSS_LIMIT | TAKE_PROFIT | TAKE_PROFIT_LIMIT
- pendingBelowPegPriceType: PRIMARY_PEG | MARKET_PEG
- pendingBelowPegOffsetType: PRICE_LEVEL
- workingSide: BUY | SELL
- workingTimeInForce: GTC | IOC | FOK
- pendingType: LIMIT | MARKET | STOP_LOSS | STOP_LOSS_LIMIT | TAKE_PROFIT | TAKE_PROFIT_LIMIT | LIMIT_MAKER
- pendingSide: BUY | SELL
- pendingTimeInForce: GTC | IOC | FOK
- pendingAboveTimeInForce: GTC | IOC | FOK
- pendingBelowTimeInForce: GTC | IOC | FOK
Authentication
For endpoints that require authentication, you will need to provide Binance API credentials. Required credentials:
- apiKey: Your Binance API key (for header)
- secretKey: Your Binance API secret (for signing)
Base URLs:
- Mainnet: https://api.binance.com
- Testnet: https://testnet.binance.vision
- Demo: https://demo-api.binance.com
Shift Agent Secrets v1 note:
binance/spotis not compatible with Shift Agent Secrets v1. This skill requires request signing support (apiKey + secretKey, and potentially RSA or Ed25519), while v1 only supports HTTP secret injection through the Shift gateway. Keep using this skill outside Agent Secrets until Shift ships a signing adapter.
Security
Share Credentials
Users can provide Binance API credentials by sending a file where the content is in the following format:
abc123...xyz
secret123...key
Never Display Full Secrets
When showing credentials to users:
- API Key: Show first 5 + last 4 characters:
su1Qc...8akf - Secret Key: Always mask, show only last 5:
***...aws1
Example response when asked for credentials: Account: main API Key: su1Qc...8akf Secret: ***...aws1 Environment: Mainnet
Listing Accounts
When listing accounts, show names and environment only — never keys: Binance Accounts:
- main (Mainnet/Testnet)
- testnet-dev (Testnet)
- futures-keys (Mainnet)
Transactions in Mainnet
When performing transactions in mainnet, always confirm with the user before proceeding by asking them to write "CONFIRM" to proceed.
Binance Accounts
main
- API Key: your_mainnet_api_key
- Secret: your_mainnet_secret
- Testnet: false
testnet-dev
- API Key: your_testnet_api_key
- Secret: your_testnet_secret
- Testnet: true
TOOLS.md Structure
## Binance Accounts
### main
- API Key: abc123...xyz
- Secret: secret123...key
- Testnet: false
- Description: Primary trading account
### testnet-dev
- API Key: test456...abc
- Secret: testsecret...xyz
- Testnet: true
- Description: Development/testing
### futures-keys
- API Key: futures789...def
- Secret: futuressecret...uvw
- Testnet: false
- Description: Futures trading account
Agent Behavior
- Credentials requested: Mask secrets (show last 5 chars only)
- Listing accounts: Show names and environment, never keys
- Account selection: Ask if ambiguous, default to main
- When doing a transaction in mainnet, confirm with user before by asking to write "CONFIRM" to proceed
- New credentials: Prompt for name, environment, signing mode
Adding New Accounts
When user provides new credentials:
- Ask for account name
- Ask: Mainnet, Testnet or Demo
- Store in
TOOLS.mdwith masked display confirmation
Signing Requests
All trading endpoints require HMAC SHA256 signature:
- Build query string with all params + timestamp (Unix ms)
- Sign query string with secretKey using HMAC SHA256, RSA, or Ed25519 (depending on account config)
- Append signature to query string
- Include
X-MBX-APIKEYheader
User Agent Header
Include User-Agent header with the following string: binance-spot/1.0.1 (Skill)
See references/authentication.md for implementation details.