skills/moltrade/binance/spot/SKILL.md
Binance Spot request using the Binance API. Authentication requires API key and secret key. Supports testnet and mainnet.
npx skillsauth add ai-chen2050/moltrade spotInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Spot request on Binance using authenticated API endpoints. Requires API key and secret key for certain endpoints. Return the result in JSON format.
| 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 |
permissionSets field is populated or not. Defaults to true (e.g., true)60000. Supports up to three decimal places of precision (e.g., 6000.346) so that microseconds may be specified. (e.g., 5000)newClientOrderID can be accepted only when the previous one is filled, otherwise the order will be rejected.1000000. (e.g., 1)STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders. (e.g., 1)LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order. (e.g., 1)newQty must be greater than 0 and less than the order's quantity. (e.g., 1)cancelOrderId or cancelOrigClientOrderId must be sent. </br> If both cancelOrderId and cancelOrigClientOrderId parameters are provided, the cancelOrderId is searched first, then the cancelOrigClientOrderId from that result is checked against that order. </br> If both conditions are not met the request will be rejected.cancelOrderId or cancelOrigClientOrderId must be sent. </br>If both cancelOrderId and cancelOrigClientOrderId parameters are provided, the cancelOrderId is searched first, then the cancelOrigClientOrderId from that result is checked against that order. </br>If both conditions are not met the request will be rejected. (e.g., 1)1000000. (e.g., 1)LIMIT_MAKER leg an iceberg order. (e.g., 1)1000000. (e.g., 1)stopLimitTimeInForce is required. (e.g., 1)STOP_LOSS_LIMIT leg to make an iceberg order. (e.g., 1)false See Commissions FAQ to learn more.orderListId or listClientOrderId must be provided (e.g., 1)aboveTimeInForce is GTC. (e.g., 1)aboveType is STOP_LOSS_LIMIT , LIMIT_MAKER, or TAKE_PROFIT_LIMIT to specify the limit price. (e.g., 1)aboveType is STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT. Either aboveStopPrice or aboveTrailingDelta or both, must be specified. (e.g., 1)belowTimeInForce is GTC. (e.g., 1)belowType is STOP_LOSS_LIMIT, LIMIT_MAKER, or TAKE_PROFIT_LIMIT to specify the limit price. (e.g., 1)belowType is STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT or TAKE_PROFIT_LIMIT Either belowStopPrice or belowTrailingDelta or both, must be specified. (e.g., 1)workingTimeInForce is GTC, or if workingType is LIMIT_MAKER. (e.g., 1)pendingTimeInForce is GTC or if pendingType is LIMIT_MAKER. (e.g., 1)pendingAboveType is STOP_LOSS_LIMIT , LIMIT_MAKER, or TAKE_PROFIT_LIMIT to specify the limit price. (e.g., 1)pendingAboveType is STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT (e.g., 1)pendingAboveTimeInForce is GTC or if pendingAboveType is LIMIT_MAKER. (e.g., 1)pendingBelowType is STOP_LOSS_LIMIT or TAKE_PROFIT_LIMIT to specify limit price (e.g., 1)pendingBelowType is STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT or TAKE_PROFIT_LIMIT. Either pendingBelowStopPrice or pendingBelowTrailingDelta or both, must be specified. (e.g., 1)pendingBelowTimeInForce is GTC, or if pendingBelowType is LIMIT_MAKER. (e.g., 1)true, emits only the non-zero balances of an account. Default value: falseFor endpoints that require authentication, you will need to provide Binance API credentials. Required credentials:
Base URLs:
Users must provide Binance API credentials securely via their environment. Do not request users to paste keys directly into the chat or save them to any files within the repository.
When showing credentials to users:
su1Qc...8akf***...aws1Example response when asked for credentials: Account: main API Key: su1Qc...8akf Secret: ***...aws1 Environment: Mainnet
When listing accounts, show names and environment only — never keys: Binance Accounts:
When performing transactions in mainnet, always confirm with the user before proceeding by asking them to write "CONFIRM" to proceed.
Configure your execution environment by setting the following environment variables. Do not save keys directly to source files.
Mainnet:
export BINANCE_API_KEY="your_mainnet_api_key"
export BINANCE_SECRET="your_mainnet_secret"
Testnet:
export BINANCE_TESTNET_API_KEY="your_testnet_api_key"
export BINANCE_TESTNET_SECRET="your_testnet_secret"
TOOLS.md or SKILL.md to store keys.All trading endpoints require HMAC SHA256 signature:
X-MBX-APIKEY headerInclude User-Agent header with the following string: binance-spot/1.0.1 (Skill)
See references/authentication.md for implementation details.
testing
Post content to Binance Square (Binance social platform for sharing trading insights). Auto-run on messages like 'post to square', 'square post'. Supports pure text posts.
testing
Operate the Moltrade trading bot (config, backtest, test-mode runs, Nostr signal broadcast, exchange adapters, strategy integration) in OpenClaw.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.