Skip to main content
Glama

Bitquery: Crypto & Blockchain Data

Tron Trace Dominant Path

tron_trace_dominant_path
Read-only

AUTO-WALK the dominant (largest-total-amount) OUTGOING edge of ONE token from a Tron (trx, TRX, TRON) address, hop by hop, up to 5 hops — collapses ~5 manual tron_trace_next_hop calls into one. Every hop returns Hop*_To (the address that received), Hop*_Token (the contract of the token that moved) and Hop*_Edge_Total, plus Hops_Found (how many hops resolved) and Path_Status for the walk itself. Hop*_Edge_Total is NOT the amount that travelled along the path: it is the ALL-TIME total of EVERY transfer of that token between that hop's sender and receiver, so it can be orders of magnitude larger than the sum you are tracing and the hop totals are not comparable with each other. To break one edge down — its transfer count (Transfers), first/last seen, and the full ranking of that address's edges — call tron_trace_next_hop on the hop's sender. The walk NEVER goes back to an address it has already visited (the seed included), so it cannot bounce back and forth between the same two wallets — each hop is the largest edge to a NEW address. READ Path_Status FIRST — NO_MATCH means the token filter matched nothing (wrong symbol, or that symbol belongs to a different token — pass contract), PATH_END means the trail really ran out, DEPTH_LIMIT means it may continue past hop 5. All-NULL hops with NO_MATCH are a filter problem, not a dead end. Pass the hop addresses to labels_for_addresses and read down to the FIRST labeled address (CEX / service) — that's the destination. Pin the token with contract whenever you know it — a SYMBOL is not unique, clone tokens reuse popular symbols, and with a symbol alone the hops can drift between look-alike tokens; compare the per-hop token contract to spot that. LIMITS: follows only the single biggest edge per hop (misses splits / fan-outs), fixed depth 5, and transfers to the burn address are not followed. For branching / adaptive tracing call tron_trace_next_hop hop by hop, identify each hop with labels_for_addresses and choose the next address yourself (prompt_playbook with playbook=money_flow returns the full step-by-step procedure); for one hop's full ranking use tron_trace_next_hop. Heavy multi-hop walk — can time out on a very busy address; retry, or narrow it with contract / a less-busy token.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "address": "<address>",
      "currency": "<currency>"
    },
    "name": "tron_trace_dominant_path"
  }
}

Input Schema

NameRequiredDescriptionDefault
formatNoShape of the returned data. "rows" (the default) returns one item per row. "columnar" returns a single item, {"columns":[...],"rows":[[value,...],...]}, naming the columns once and listing each row's values in that order; it is more compact for large results and carries the same values.rows
addressYesSeed Tron base58 address (T...).
contractNoRestrict the walk to ONE exact token by its contract address (base58, starts with T) — the reliable way to pin a token, since a symbol also matches clone tokens. Overrides `currency` when both are given. Empty = follow `currency` instead.
currencyYesToken symbol to follow, e.g. "USDT", "TRX". Ignored when `contract` is given. A symbol is NOT unique — clone tokens reuse popular symbols, so prefer `contract` when you have it. No backslashes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / format
      Added value: +{
      +  "default": "rows",
      +  "description": "Shape of the returned data. \"rows\" (the default) returns one item per row. \"columnar\" returns a single item, {\"columns\":[...],\"rows\":[[value,...],...]}, naming the columns once and listing each row's values in that order; it is more compact for large results and carries the same values.",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond readOnlyHint/destructiveHint: discloses the no-revisit rule (cannot bounce between two wallets), the fixed depth-5 cap, burn-address exclusion, timeout risk on busy addresses with retry/narrow advice, and how to read Path_Status (NO_MATCH vs PATH_END vs DEPTH_LIMIT). It also warns that Hop*_Edge_Total is an all-time edge total, not the amount that travelled — a major misinterpretation trap.

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

Conciseness4/5

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

Long but dense and front-loaded: the purpose and mechanism come first, then output semantics, then status handling, then limits/alternatives. Some repetition (tron_trace_next_hop appears three times, the contract-pinning advice twice) and heavy ALL-CAPS emphasis cost it a point, but little is filler.

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?

There is no output schema, so the description carries the return contract itself — it names Hop*_To, Hop*_Token, Hop*_Edge_Total, Hops_Found and Path_Status and explains how to interpret each. For a 4-param, multi-hop walk tool with known failure modes, nothing an agent needs to call and interpret it is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description adds operational meaning by explaining why `contract` should be preferred over `currency` (clone tokens reuse symbols, hops can drift between look-alike tokens) and by telling the agent to compare per-hop token contracts. Much of this restates the schema's own contract/currency notes, which keeps it from a 5.

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?

States a specific verb (auto-walk), a specific resource (dominant outgoing edge of one token), scope (from a Tron address, up to 5 hops) and even the efficiency win ('collapses ~5 manual tron_trace_next_hop calls into one'). It names the sibling it replaces, so an agent can distinguish it from tron_trace_next_hop without opening either schema.

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?

Explicit routing: use this for a linear dominant-path walk; use tron_trace_next_hop for branching/adaptive tracing or one hop's full ranking; use labels_for_addresses to identify the destination; use prompt_playbook with playbook=money_flow for the manual procedure. It also states exclusions (splits/fan-outs, burn address, fixed depth 5).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.