{"protocolVersion":"2025-06-18","capabilities":{"tools":{"listChanged":false}},"agentGuidance":{"description":"General guidance for external AI agents using this MCP server. Read before selecting a project endpoint, requesting tool schemas, or calling protocol tools.","skillUrl":"https://erc8004.heyanon.ai/mcp/skill.md"},"serverInfo":{"name":"heyanon-erc8004-binance","version":"1.0.0"},"tools":[{"name":"createSimpleOrder","description":"Create an order that is activated immediately, without a trigger attached to it.  The order will execute at the current market price or a specified limit price.","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Symbol of the market to trade, e.g. \"BTC/USDT\".  The FIRST (base) currency is the asset you are actually buying (side = \"buy\") or selling (side = \"sell\").  For a request like \"sell USDT for BTC\" you must use market \"BTC/USDT\" with side = \"buy\"."},"side":{"type":"string","enum":["buy","sell"],"description":"Side of the order, either \"buy\" or \"sell\".  Buy and sell are ALWAYS relative to the FIRST (base) currency in the market symbol.  Examples to avoid confusion (especially when the user speaks in terms of the quote currency): • Market \"BTC/USDT\":     – side = \"buy\" → you are BUYING BTC and paying with USDT.     – side = \"sell\" → you are SELLING BTC and receiving USDT.     – Natural-language request: \"Sell all my USDT for BTC\" → side = \"buy\" on market \"BTC/USDT\" (because you are ultimately buying BTC).     – Natural-language request: \"Buy USDT with BTC\" → side = \"sell\" on market \"BTC/USDT\" (because you are ultimately selling BTC).  When in doubt, rewrite the user sentence so the first currency is the one being bought (side = \"buy\") or sold (side = \"sell\")."},"amount":{"type":"number","description":"Amount is the FINAL trade size to transact; do NOT scale, prorate, or recalc it by price. User always provides the final size. You must pass it as-is using the correct \"amountCurrency\" value. amountCurrency: • BASE — the first currency of the market symbol (e.g., BTC in BTC/USDT). If the user gives a BASE amount, use it directly as the trade size in BASE. • QUOTE — the second currency of the market symbol (e.g., USDT in BTC/USDT). If the user gives a QUOTE amount, use it directly as the trade size in QUOTE notional. For QUOTE, USD / $ / USDT / USDC are treated the same (USD = USDT/USDC). Do NOT convert between BASE and QUOTE."},"amountCurrency":{"type":"string","enum":["BASE","QUOTE"],"description":"Specifies whether the amount is denominated in base currency or quote currency"},"limitPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Price at which the order will be executed.  Include only if explicitly specified by the user.  Pass null for a market order."}},"required":["market","side","amount","amountCurrency","limitPrice"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"createTriggerOrder","description":"Create an order that is activated only after the given price condition is met. Once activated, the order will be executed at either the current market price or a specified limit price.","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Symbol of the market to trade, e.g. \"BTC/USDT\".  The FIRST (base) currency is the asset you are actually buying (side = \"buy\") or selling (side = \"sell\").  For a request like \"sell USDT for BTC\" you must use market \"BTC/USDT\" with side = \"buy\"."},"side":{"type":"string","enum":["buy","sell"],"description":"Side of the order, either \"buy\" or \"sell\".  Buy and sell are ALWAYS relative to the FIRST (base) currency in the market symbol.  Examples to avoid confusion (especially when the user speaks in terms of the quote currency): • Market \"BTC/USDT\":     – side = \"buy\" → you are BUYING BTC and paying with USDT.     – side = \"sell\" → you are SELLING BTC and receiving USDT.     – Natural-language request: \"Sell all my USDT for BTC\" → side = \"buy\" on market \"BTC/USDT\" (because you are ultimately buying BTC).     – Natural-language request: \"Buy USDT with BTC\" → side = \"sell\" on market \"BTC/USDT\" (because you are ultimately selling BTC).  When in doubt, rewrite the user sentence so the first currency is the one being bought (side = \"buy\") or sold (side = \"sell\")."},"amount":{"type":"number","description":"Amount is the FINAL trade size to transact; do NOT scale, prorate, or recalc it by price. User always provides the final size. You must pass it as-is using the correct \"amountCurrency\" value. amountCurrency: • BASE — the first currency of the market symbol (e.g., BTC in BTC/USDT). If the user gives a BASE amount, use it directly as the trade size in BASE. • QUOTE — the second currency of the market symbol (e.g., USDT in BTC/USDT). If the user gives a QUOTE amount, use it directly as the trade size in QUOTE notional. For QUOTE, USD / $ / USDT / USDC are treated the same (USD = USDT/USDC). Do NOT convert between BASE and QUOTE."},"amountCurrency":{"type":"string","enum":["BASE","QUOTE"],"description":"Specifies whether the amount is denominated in base currency or quote currency"},"limitPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Price at which the order will be executed.  Include only if explicitly specified by the user.  Pass null for a market order."},"triggerPrice":{"type":"number","description":"Price at which the order will be activated"}},"required":["market","side","amount","amountCurrency","limitPrice","triggerPrice"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"createTakeProfitStopLossOrder","description":"Create take profit and/or stop loss orders.  If both are provided, they will be created as an OCO (one-cancels-the-other) order.","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Symbol of the market to trade, e.g. \"BTC/USDT\".  The FIRST (base) currency is the asset you are actually buying (side = \"buy\") or selling (side = \"sell\").  For a request like \"sell USDT for BTC\" you must use market \"BTC/USDT\" with side = \"buy\"."},"side":{"type":"string","enum":["buy","sell"],"description":"Side of the order, either \"buy\" or \"sell\".  Buy and sell are ALWAYS relative to the FIRST (base) currency in the market symbol.  Examples to avoid confusion (especially when the user speaks in terms of the quote currency): • Market \"BTC/USDT\":     – side = \"buy\" → you are BUYING BTC and paying with USDT.     – side = \"sell\" → you are SELLING BTC and receiving USDT.     – Natural-language request: \"Sell all my USDT for BTC\" → side = \"buy\" on market \"BTC/USDT\" (because you are ultimately buying BTC).     – Natural-language request: \"Buy USDT with BTC\" → side = \"sell\" on market \"BTC/USDT\" (because you are ultimately selling BTC).  When in doubt, rewrite the user sentence so the first currency is the one being bought (side = \"buy\") or sold (side = \"sell\")."},"amount":{"type":"number","description":"Amount is the FINAL trade size to transact; do NOT scale, prorate, or recalc it by price. User always provides the final size. You must pass it as-is using the correct \"amountCurrency\" value. amountCurrency: • BASE — the first currency of the market symbol (e.g., BTC in BTC/USDT). If the user gives a BASE amount, use it directly as the trade size in BASE. • QUOTE — the second currency of the market symbol (e.g., USDT in BTC/USDT). If the user gives a QUOTE amount, use it directly as the trade size in QUOTE notional. For QUOTE, USD / $ / USDT / USDC are treated the same (USD = USDT/USDC). Do NOT convert between BASE and QUOTE."},"amountCurrency":{"type":"string","enum":["BASE","QUOTE"],"description":"Specifies whether the amount is denominated in base currency or quote currency"},"takeProfitTriggerPrice":{"description":"Price at which the take profit order will be activated.  For sell orders, must be higher than stop loss trigger price.  For buy orders, must be lower than stop loss trigger price.  If not specified, the take profit order will not be created.","type":"number"},"takeProfitLimitPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Price at which the take profit order will be executed.  Set to null for a market order."},"stopLossTriggerPrice":{"description":"Price at which the stop loss order will be activated.  If not specified, the stop loss order will not be created.","type":"number"},"stopLossLimitPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Price at which the stop loss order will be executed.  Set to null for a market order."}},"required":["market","side","amount","amountCurrency","takeProfitLimitPrice","stopLossLimitPrice"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"createTrailingStopOrder","description":"Create a trailing stop order.  The order can be either a stop loss or take profit.","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Symbol of the market to trade, e.g. \"BTC/USDT\".  The FIRST (base) currency is the asset you are actually buying (side = \"buy\") or selling (side = \"sell\").  For a request like \"sell USDT for BTC\" you must use market \"BTC/USDT\" with side = \"buy\"."},"side":{"type":"string","enum":["buy","sell"],"description":"Side of the order, either \"buy\" or \"sell\".  Buy and sell are ALWAYS relative to the FIRST (base) currency in the market symbol.  Examples to avoid confusion (especially when the user speaks in terms of the quote currency): • Market \"BTC/USDT\":     – side = \"buy\" → you are BUYING BTC and paying with USDT.     – side = \"sell\" → you are SELLING BTC and receiving USDT.     – Natural-language request: \"Sell all my USDT for BTC\" → side = \"buy\" on market \"BTC/USDT\" (because you are ultimately buying BTC).     – Natural-language request: \"Buy USDT with BTC\" → side = \"sell\" on market \"BTC/USDT\" (because you are ultimately selling BTC).  When in doubt, rewrite the user sentence so the first currency is the one being bought (side = \"buy\") or sold (side = \"sell\")."},"amount":{"type":"number","description":"Amount is the FINAL trade size to transact; do NOT scale, prorate, or recalc it by price. User always provides the final size. You must pass it as-is using the correct \"amountCurrency\" value. amountCurrency: • BASE — the first currency of the market symbol (e.g., BTC in BTC/USDT). If the user gives a BASE amount, use it directly as the trade size in BASE. • QUOTE — the second currency of the market symbol (e.g., USDT in BTC/USDT). If the user gives a QUOTE amount, use it directly as the trade size in QUOTE notional. For QUOTE, USD / $ / USDT / USDC are treated the same (USD = USDT/USDC). Do NOT convert between BASE and QUOTE.The amount for this order (trailing stop order) is always specified in the base currency."},"amountCurrency":{"type":"string","enum":["BASE","QUOTE"],"description":"Specifies whether the amount is denominated in base currency or quote currency"},"stopLossOrTakeProfit":{"type":"string","enum":["STOP_LOSS","TAKE_PROFIT","NOT_SPECIFIED"],"description":"Whether to create a STOP LOSS or TAKE PROFIT order.  If it is not 100% clear what the user wants, leave blank."},"trailingDelta":{"type":"number","description":"Percentage change in price required to trigger order entry, expressed in BIPS (100 BIPS = 1%).  Must be between 10 and 2000."},"limitPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Price at which the order will be executed, after the trailing stop is triggered.  Include only if explicitly specified by the user.  Pass null for a market order."}},"required":["market","side","amount","amountCurrency","stopLossOrTakeProfit","trailingDelta","limitPrice"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"cancelOrderByIdAndMarket","description":"Cancel a specific order by ID and market symbol.  If you only have the order ID, use getOpenOrders to get the market symbol.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Order ID to cancel"},"market":{"type":"string","description":"Symbol of the market the order belongs to, e.g. \"BTC/USDT\""}},"required":["id","market"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"cancelAllOrdersOnMarket","description":"Cancel all open orders on a given market","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Symbol of the market to cancel orders on, e.g. \"BTC/USDT\""}},"required":["market"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"transferFunds","description":"Transfer funds between accounts of the same user, e.g. from spot to future account","inputSchema":{"type":"object","properties":{"currency":{"type":"string","description":"Currency to transfer, e.g. \"USDT\""},"amount":{"type":"number","description":"Amount to transfer"},"from":{"description":"Account to transfer from. e.g. \"spot\" or \"future\". If not specified, defaults to the opposite of \"to\".","type":"string","enum":["main","spot","funding","margin","cross","future","delivery","linear","swap","inverse","option"]},"to":{"type":"string","enum":["main","spot","funding","margin","cross","future","delivery","linear","swap","inverse","option"],"description":"Account to transfer to.  e.g. \"spot\" or \"future\""}},"required":["currency","amount","to"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getOpenOrders","description":"Show the most recent 25 open orders","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getOrdersById","description":"Get information about multiple orders by their IDs and market symbols","inputSchema":{"type":"object","properties":{"orderIdsWithMarket":{"type":"array","items":{"type":"object","properties":{"orderId":{"type":"string","description":"Order ID to get information for"},"market":{"type":"string","description":"Symbol of the market the order belongs to, e.g. \"BTC/USDT\""}},"required":["orderId","market"],"additionalProperties":false},"description":"Array of orders with their respective market information."}},"required":["orderIdsWithMarket"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getBalance","description":"Get user balances for one or more Binance account types.","inputSchema":{"type":"object","properties":{"types":{"type":"array","items":{"type":"string","enum":["main","spot","funding","margin","cross","future","linear","swap"],"description":"Supported values are spot/main, funding, margin/cross, and USD-M futures (future/linear/swap)."},"description":"Array of Binance account types to fetch balances for."}},"required":["types"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getCurrencyMarkets","description":"Get a list of all active markets (also called trading pairs) that include the given currencies or tokens.  Returns a list of market symbols.","inputSchema":{"type":"object","properties":{"currencies":{"type":"array","items":{"type":"string"},"description":"Array of currencies to get markets for, e.g. [\"BTC\", \"ETH\"]"}},"required":["currencies"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","description":"Normalized currency code"},"markets":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string","description":"Market symbol, e.g. \"BTC/USDT\""},"base":{"type":"string","description":"Base currency of the market"},"quote":{"type":"string","description":"Quote currency of the market"},"type":{"description":"Market type, e.g. \"spot\"","type":"string"},"active":{"description":"Whether the market is active","type":"boolean"}},"required":["symbol","base","quote"],"additionalProperties":false},"description":"Active spot markets containing the given currency"}},"required":["currency","markets"],"additionalProperties":false}}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getMarketsInfo","description":"Get price and volume information about multiple markets (also called trading pairs).  Prices are in quote currency.  Always use this function to get up-to-date prices.","inputSchema":{"type":"object","properties":{"markets":{"type":"array","items":{"type":"string"},"description":"Array of market symbols to get information for, for example [\"BTC/USDT\", \"ETH/USDT\"]"}},"required":["markets"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"market":{"description":"Market metadata (symbol, base, quote, precision, limits)"},"ticker":{"description":"Market ticker data with prices and volumes"}},"required":["market","ticker"],"additionalProperties":false}}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getOrderBook","description":"Get the order book (bids and asks) for multiple spot markets. Shows current buy and sell orders with prices and amounts.","inputSchema":{"type":"object","properties":{"marketsWithLimit":{"type":"array","items":{"type":"object","properties":{"market":{"type":"string","description":"Symbol of the spot market to get order book for, e.g. \"BTC/USDT\""},"limit":{"description":"Limit on number of bids/asks to return. Defaults to 10 if not specified.","type":"number"}},"required":["market"],"additionalProperties":false},"description":"Array of markets with their respective limits to get order books for."}},"required":["marketsWithLimit"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"market":{"type":"string","description":"Market symbol"},"orderBook":{"description":"Order book with bids and asks"}},"required":["market","orderBook"],"additionalProperties":false}}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getTrades","description":"Get the user's trade history for multiple spot markets. Shows executed trades with prices, amounts, fees, and timestamps.","inputSchema":{"type":"object","properties":{"marketsWithLimitAndSince":{"type":"array","items":{"type":"object","properties":{"market":{"type":"string","description":"Market symbol to get trades for, e.g. \"BTC/USDT\""},"limit":{"description":"Limit on number of trades to return. Defaults to 50 if not specified.","type":"number"},"since":{"description":"Timestamp (in milliseconds) to get trades from. If not specified, recent trades are returned.","type":"number"}},"required":["market"],"additionalProperties":false},"description":"Array of markets with their respective limits and since parameters to get trades for."}},"required":["marketsWithLimitAndSince"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getNetworksByCurrency","description":"Get all deposit and withdrawal networks currently available for multiple currencies. Use this before fetching a deposit address or making a withdrawal when the network is not explicitly known.","inputSchema":{"type":"object","properties":{"codes":{"type":"array","items":{"type":"string"},"description":"Array of unified currency codes, e.g. [\"BTC\", \"USDT\"]"}},"required":["codes"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getDepositAddresses","description":"Get deposit addresses for multiple currencies and networks. If the network is null and Binance has only one active deposit network, or one matching the currency code, it will be used automatically.","inputSchema":{"type":"object","properties":{"codesWithNetwork":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Unified currency code, e.g. \"BTC\" or \"USDT\""},"network":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Deposit network, e.g. \"BTC\", \"ERC20\", \"TRC20\". Use getNetworksByCurrency first if unclear. Leave null to auto-detect when possible."}},"required":["code","network"],"additionalProperties":false},"description":"Array of currencies with their target deposit networks."}},"required":["codesWithNetwork"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getDeposits","description":"Get deposit history for multiple currencies.","inputSchema":{"type":"object","properties":{"codesWithLimit":{"type":"array","items":{"type":"object","properties":{"code":{"description":"Unified currency code. If not specified, deposits for all currencies are returned.","type":"string"},"limit":{"description":"Maximum number of deposits to return. If not specified, the Binance default is used.","type":"number"}},"additionalProperties":false},"description":"Array of currencies with their limits to get deposit history for."}},"required":["codesWithLimit"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getWithdrawals","description":"Get withdrawal history for multiple currencies.","inputSchema":{"type":"object","properties":{"codesWithLimit":{"type":"array","items":{"type":"object","properties":{"code":{"description":"Unified currency code. If not specified, withdrawals for all currencies are returned.","type":"string"},"limit":{"description":"Maximum number of withdrawals to return. If not specified, the Binance default is used.","type":"number"}},"additionalProperties":false},"description":"Array of currencies with their limits to get withdrawal history for."}},"required":["codesWithLimit"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"withdraw","description":"Withdraw funds from Binance spot to an external wallet address. NEVER use \"common\" or \"transfer\" tools such as \"common-resolveTokenAddresses\" or \"transfer-getAddressWhitelist\" for this flow, because they are unrelated to CEX withdrawals.","inputSchema":{"type":"object","properties":{"code":{"type":"string","description":"Unified currency code to withdraw, e.g. \"BTC\" or \"USDT\""},"amount":{"type":"number","description":"Amount to withdraw. Full-balance withdrawals are not supported in action-building mode; pass an explicit amount."},"network":{"description":"Withdrawal network, e.g. \"BTC\", \"ERC20\", \"TRC20\". Use getNetworksByCurrency first if unclear. If not specified, Binance picks the default network for the currency.","type":"string"},"address":{"type":"string","description":"Destination wallet address to withdraw to."},"tag":{"description":"Tag / memo / payment ID. Required for some networks such as XRP, XLM, or TON. Omit when the network does not require one.","type":"string"}},"required":["code","amount","address"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"createSimpleOrderFutures","description":"Create an order that is activated immediately, without a trigger attached to it. The order will execute at the current market price or a specified limit price. The leverage and margin mode for the order are the user-configured leverage and margin mode for the market.","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Symbol of the market to trade, e.g. \"BTC/USDT:USDT\".  The FIRST (base) currency is the asset you are actually longing (side = \"long\") or shorting (side = \"short\")"},"side":{"type":"string","enum":["long","short"],"description":"Side of the order, either \"long\" or \"short\".  Long and short are ALWAYS relative to the FIRST (base) currency in the market symbol."},"amount":{"type":"number","description":"Amount is the FINAL trade size after leverage (total notional to transact), not margin. Do NOT scale, prorate, or recalc it by leverage or price.\nUser always provides the final size. You must pass it as-is using the correct \"amountCurrency\" value.\namountCurrency:\n• BASE — the first currency of the market symbol (e.g., BTC in BTC/USDT). If the user gives a BASE amount, use it directly as the trade size in BASE.\n• QUOTE — the second currency of the market symbol (e.g., USDT in BTC/USDT). If the user gives a QUOTE amount, use it directly as the trade size in QUOTE notional. For QUOTE, USD / $ / USDT / USDC are treated the same (USD = USDT/USDC).\nDo NOT convert between BASE and QUOTE."},"amountCurrency":{"type":"string","enum":["BASE","QUOTE"],"description":"Specifies whether the amount is denominated in base currency or quote currency"},"limitPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Price at which the order will be executed.  Include only if explicitly specified by the user.  Pass null for a market order."}},"required":["market","side","amount","amountCurrency","limitPrice"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"createTriggerOrderFutures","description":"Create an order that is activated only after the given price condition is met. Once activated, the order will be executed at either the current market price or a specified limit price. The leverage and margin mode for the order are the user-configured leverage and margin mode for the market.","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Symbol of the market to trade, e.g. \"BTC/USDT:USDT\".  The FIRST (base) currency is the asset you are actually longing (side = \"long\") or shorting (side = \"short\")"},"side":{"type":"string","enum":["long","short"],"description":"Side of the order, either \"long\" or \"short\".  Long and short are ALWAYS relative to the FIRST (base) currency in the market symbol."},"amount":{"type":"number","description":"Amount is the FINAL trade size after leverage (total notional to transact), not margin. Do NOT scale, prorate, or recalc it by leverage or price.\nUser always provides the final size. You must pass it as-is using the correct \"amountCurrency\" value.\namountCurrency:\n• BASE — the first currency of the market symbol (e.g., BTC in BTC/USDT). If the user gives a BASE amount, use it directly as the trade size in BASE.\n• QUOTE — the second currency of the market symbol (e.g., USDT in BTC/USDT). If the user gives a QUOTE amount, use it directly as the trade size in QUOTE notional. For QUOTE, USD / $ / USDT / USDC are treated the same (USD = USDT/USDC).\nDo NOT convert between BASE and QUOTE."},"amountCurrency":{"type":"string","enum":["BASE","QUOTE"],"description":"Specifies whether the amount is denominated in base currency or quote currency"},"limitPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Price at which the order will be executed.  Include only if explicitly specified by the user.  Pass null for a market order."},"triggerPrice":{"type":"number","description":"Price at which the order will be activated"},"reduceOnly":{"description":"If true, the order will either close a position or reduce its size.  Defaults to false if not specified.","type":"boolean"}},"required":["market","side","amount","amountCurrency","limitPrice","triggerPrice"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"createTrailingStopOrderFutures","description":"Create a trailing stop order, that is, an order that is executed only when the price moves a certain percentage away from the entry price. The order will execute immediately as a market order when triggered.","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Symbol of the market to trade, e.g. \"BTC/USDT:USDT\".  The FIRST (base) currency is the asset you are actually longing (side = \"long\") or shorting (side = \"short\")"},"side":{"type":"string","enum":["long","short"],"description":"Side of the order, either \"long\" or \"short\".  Long and short are ALWAYS relative to the FIRST (base) currency in the market symbol."},"amount":{"type":"number","description":"Amount is the FINAL trade size after leverage (total notional to transact), not margin. Do NOT scale, prorate, or recalc it by leverage or price.\nUser always provides the final size. You must pass it as-is using the correct \"amountCurrency\" value.\namountCurrency:\n• BASE — the first currency of the market symbol (e.g., BTC in BTC/USDT). If the user gives a BASE amount, use it directly as the trade size in BASE.\n• QUOTE — the second currency of the market symbol (e.g., USDT in BTC/USDT). If the user gives a QUOTE amount, use it directly as the trade size in QUOTE notional. For QUOTE, USD / $ / USDT / USDC are treated the same (USD = USDT/USDC).\nDo NOT convert between BASE and QUOTE.The amount for this order (trailing stop order) is always specified in the base currency."},"amountCurrency":{"type":"string","enum":["BASE","QUOTE"],"description":"Specifies whether the amount is denominated in base currency or quote currency"},"trailingPercent":{"type":"number","description":"Percentage change in price required to trigger order entry, expressed as a number between 0 and 100."},"limitPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Price at which the order will be executed.  Include only if explicitly specified by the user.  Pass null for a market order."},"triggerPrice":{"description":"Price at which the order will be activated. If not specified, the current market price is used.","type":"number"},"reduceOnly":{"description":"If true, the order will either close a position or reduce its size.  Defaults to false if not specified.","type":"boolean"}},"required":["market","side","amount","amountCurrency","trailingPercent","limitPrice"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"closePosition","description":"Close an open Binance USD-M futures position on a specific market. Requires the current position side and amount so the reduce-only close order can be built without account prechecks.","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Market symbol, e.g. \"BTC/USDT:USDT\""},"side":{"type":"string","enum":["long","short"],"description":"Current side of the position being closed. Use \"long\" to close a long position and \"short\" to close a short position."},"amount":{"type":"number","description":"Amount of base currency to close."}},"required":["market","side","amount"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"setLeverage","description":"Set the user configured leverage for a specific market","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Market symbol, e.g. \"BTC/USDT:USDT\""},"leverage":{"type":"number","description":"Leverage to set, e.g. 10 for 10x, 50 for 50x, etc."}},"required":["market","leverage"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"setMarginMode","description":"Set the user configured margin mode for a specific market","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Market symbol, e.g. \"BTC/USDT:USDT\""},"marginMode":{"type":"string","enum":["isolated","cross"],"description":"Margin mode to set, either \"isolated\" or \"cross\""}},"required":["market","marginMode"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"addMarginToIsolatedPosition","description":"Add margin to an isolated margin position","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Market symbol, e.g. \"BTC/USDT:USDT\""},"amount":{"type":"number","description":"Amount to add"}},"required":["market","amount"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"reduceMarginFromIsolatedPosition","description":"Reduce margin from an isolated margin position","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Market symbol, e.g. \"BTC/USDT:USDT\""},"amount":{"type":"number","description":"Amount to reduce"}},"required":["market","amount"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"cancelOrderByIdAndMarketFutures","description":"Cancel a specific order by ID and market symbol.  If you only have the order ID, use getOpenOrders to get the market symbol.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Order ID to cancel"},"market":{"type":"string","description":"Symbol of the market the order belongs to, e.g. \"BTC/USDT:USDT\""}},"required":["id","market"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"cancelAllOrdersOnMarketFutures","description":"Cancel all open orders on a given market","inputSchema":{"type":"object","properties":{"market":{"type":"string","description":"Symbol of the market to cancel orders on, e.g. \"BTC/USDT:USDT\""}},"required":["market"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getPositions","description":"Show the user's most recent 25 open positions, including notional, margin, and PnL.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getPositionOnMarkets","description":"Show information on the positions held by the user on the given markets, including notional, margin, and PnL.  If you only have the currency, use getPositions and filter by currency.","inputSchema":{"type":"object","properties":{"markets":{"type":"array","items":{"type":"string"},"description":"Array of market symbols to get positions for, e.g. [\"BTC/USDT:USDT\", \"ETH/USDT:USDT\"]"}},"required":["markets"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getOpenOrdersFutures","description":"Show the user's most recent 25 open orders","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getOrdersByIdFutures","description":"Show information about multiple orders by their IDs and market symbols.  If the market is not specified, fetch all orders and filter by ID, without asking for confirmation.","inputSchema":{"type":"object","properties":{"orderIdsWithMarket":{"type":"array","items":{"type":"object","properties":{"orderId":{"type":"string","description":"Order ID to get information for"},"market":{"type":"string","description":"Symbol of the market the order belongs to, e.g. \"BTC/USDT:USDT\""}},"required":["orderId","market"],"additionalProperties":false},"description":"Array of orders with their respective market information."}},"required":["orderIdsWithMarket"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getCurrencyMarketsFutures","description":"Show active markets (also called trading pairs) with the given currencies or tokens.  For each market, show the maximum leverage allowed.  Show only the first 50 markets.","inputSchema":{"type":"object","properties":{"currencies":{"type":"array","items":{"type":"string"},"description":"Array of currencies to get markets for, e.g. [\"BTC\", \"ETH\"]"}},"required":["currencies"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","description":"Normalized currency code"},"markets":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string","description":"Futures market symbol, e.g. \"BTC/USDT:USDT\""},"base":{"type":"string","description":"Base currency of the market"},"quote":{"type":"string","description":"Quote currency of the market"},"settle":{"description":"Settlement currency","type":"string"},"type":{"description":"Market type, e.g. \"swap\"","type":"string"},"expiryDatetime":{"description":"Expiry datetime for dated futures","type":"string"},"active":{"description":"Whether the market is active","type":"boolean"}},"required":["symbol","base","quote"],"additionalProperties":false},"description":"Active USD-M futures markets containing the given currency"}},"required":["currency","markets"],"additionalProperties":false}}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getMarketsInfoFutures","description":"Get price, volume and max leverage information about multiple markets (also called trading pairs).  Prices are in quote currency.  Always use this function to get up-to-date prices.","inputSchema":{"type":"object","properties":{"markets":{"type":"array","items":{"type":"string"},"description":"Array of market symbols to get information for, for example [\"BTC/USDT:USDT\", \"ETH/USDT:USDT\"]"}},"required":["markets"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"market":{"description":"Futures market metadata (symbol, base, quote, settle, precision, limits)"},"ticker":{"description":"Market ticker data with prices and volumes"}},"required":["market","ticker"],"additionalProperties":false}}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getUserLeverageAndMarginModeOnMarkets","description":"Get the user configured leverage (10x, 50x, etc) and margin mode (isolated, cross) for multiple markets","inputSchema":{"type":"object","properties":{"markets":{"type":"array","items":{"type":"string"},"description":"Array of market symbols, e.g. [\"BTC/USDT:USDT\", \"ETH/USDT:USDT\"]"}},"required":["markets"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getOrderBookFutures","description":"Get the order book (bids and asks) for multiple futures markets. Shows current buy and sell orders with prices and amounts.","inputSchema":{"type":"object","properties":{"marketsWithLimit":{"type":"array","items":{"type":"object","properties":{"market":{"type":"string","description":"Symbol of the futures market to get order book for, e.g. \"BTC/USDT:USDT\""},"limit":{"description":"Limit on number of bids/asks to return. Defaults to 10 if not specified.","type":"number"}},"required":["market"],"additionalProperties":false},"description":"Array of markets with their respective limits to get order books for."}},"required":["marketsWithLimit"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"market":{"type":"string","description":"Futures market symbol"},"orderBook":{"description":"Order book with bids and asks"}},"required":["market","orderBook"],"additionalProperties":false}}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getTradesFutures","description":"Get the user's trade history for multiple futures markets. Shows executed trades with prices, amounts, fees, and timestamps.","inputSchema":{"type":"object","properties":{"marketsWithLimitAndSince":{"type":"array","items":{"type":"object","properties":{"market":{"type":"string","description":"Futures market symbol to get trades for, e.g. \"BTC/USDT:USDT\""},"limit":{"description":"Limit on number of trades to return. Defaults to 50 if not specified.","type":"number"},"since":{"description":"Timestamp (in milliseconds) to get trades from. If not specified, recent trades are returned.","type":"number"}},"required":["market"],"additionalProperties":false},"description":"Array of markets with their respective limits and since parameters to get trades for."}},"required":["marketsWithLimitAndSince"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"cexApiRequestActions":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the CEX API request"},"method":{"type":"string","enum":["POST","GET","PUT","DELETE"],"description":"HTTP method"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Request headers"},"body":{"description":"Request body as JSON string","type":"string"},"toSign":{"type":"string","description":"Raw bytes (hex) to sign/HMAC for auth header"}},"required":["url","method","headers","toSign"],"additionalProperties":false},"description":"Unsigned API requests to sign and send sequentially"}},"required":["project","operation","cexApiRequestActions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}}]}