Skip to main content
Glama
trustxai

amazing-binance-mcp

by trustxai

binance_get_convert_history

Read-onlyIdempotent

Retrieve past Binance conversions for any date range, automatically walking 30-day windows to cover older periods and locate order IDs.

Instructions

List past conversions, either for one <=30-day window or across a walked range.

Calls GET /sapi/v1/convert/tradeFlow (SIGNED, UID weight 3000 per call of a 180,000/min budget — 60 calls a minute at most, and the default budget here spends 72,000 of it).

Binance requires both startTime and endTime and caps the span at 30 days, and the endpoint has no cursor/offset/page parameter of any kind. The only continuation it offers is the moreData flag: when it is true, the same window is re-asked with endTime = min(createTime) (inclusive — an exclusive - 1 would drop rows tied on that instant but cut off by limit; the re-read duplicates are deduped by orderId) until it comes back false. Both modes below automate that.

  • Single window (default): start_time / end_time. Give one and the other is filled locally by the 30-day rule; give neither and the last 30 days are used.

  • Walk: since (plus optional until / resume_before) slices the range into <=29-day windows, newest-first, until since is reached or max_calls runs out.

The two sets are mutually exclusive — mixing them is rejected locally.

When to Use:

  • To reconcile conversions for a period, or to find the orderId of a past conversion.

  • To pull more than 30 days of history without hand-rolling the windowing (walk mode).

When NOT to Use:

  • To check one conversion you just made — binance_get_convert_order_status is UID 100 against this endpoint's 3000.

  • For resting limit orders, which are not conversions yet — binance_get_convert_open_limit_orders.

Returns: Conversions newest-first (time, from → to amounts, ratio, status, orderId), deduped by orderId within the call, the number of API calls spent, and — when the walk stopped early — a resume_before cursor marking the boundary of the next unfetched range. A failure mid-walk returns the rows collected so far plus that cursor and the error, never the error alone. Markdown display caps at 50 rows; response_format="json" carries every fetched row.

Pagination/Windows: start_time/end_time/since/until/resume_before all accept epoch ms, a

=12-digit epoch-ms string, or ISO-8601. A single-window span over 30 days is rejected here with a clear message rather than sent on to become a Binance error. limit is <= 1000 (the endpoint's own max). resume_before is always the endTime the next request would have used, so resuming never leaves a gap; overlapping rows are deduped.

Examples: params = {} # the last 30 days, one window params = {"start_time": "2026-08-01", "end_time": "2026-08-20"} params = {"since": "2026-01-01", "max_calls": 12} params = {"since": "2026-01-01", "resume_before": 1756000000000}

Error Handling: -1127 means the span exceeded Binance's cap (this tool validates first, so it should not appear); 429 on /sapi means the UID weight budget is gone — lower max_calls and wait; -2015 means the key lacks permission or the IP is not allowlisted.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and idempotentHint annotations, the description discloses critical execution behavior: no cursor/offset parameter, the moreData continuation mechanism, orderId-based deduplication, UID weight and rate budget, return-before-error behavior on mid-walk failures, the 50-row markdown cap, and specific Binance error codes. This is far more than the annotations alone provide and contains no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Although long, the description is tightly organized into clear sections: mode summary, when to use, returns, pagination, examples, and error handling. It front-loads the core purpose and every section earns its place, given the tool's intricate pagination and two-mode parameterization. The examples compactly illustrate the valid parameter shapes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for an agent to call the tool correctly: it covers both modes, parameter interactions, continuation and resume semantics, response contents, failure behavior, rate-limit implications, and error interpretation. With an output schema also present, the description goes beyond what is strictly required without leaving meaningful gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The top-level schema has only one required 'params' property with 0% description coverage, so the description carries the full burden, and it delivers: start_time/end_time defaults and the 30-day rule, walk-mode semantics for since/until/resume_before, mutual exclusivity, accepted time formats, max_calls as a UID-weight budget, and limit behavior. It adds meaning well beyond the schema's property names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening line, 'List past conversions, either for one <=30-day window or across a walked range,' names the exact verb, resource, and the two operational modes. The 'When NOT to Use' section further distinguishes it from binance_get_convert_order_status and binance_get_convert_open_limit_orders, so an agent can select it correctly without opening sibling schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'When to Use' and 'When NOT to Use' sections with concrete conditions: reconciliation, finding an orderId, pulling more than 30 days via walk mode, and alternatives for checking a single recent conversion or resting limit orders. It also states that single-window and walk parameters are mutually exclusive and rejected locally, leaving no ambiguity about invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools