Skip to main content
Glama
publicaml

PublicAML MCP Server

Official
by publicaml

Trace where an address's money came from or went

trace_funds

Trace blockchain funds to identify who funded an address or where money went, following incoming/outgoing flows until exchanges, mixers, or labelled services across bitcoin, ethereum, bsc, and tron.

Instructions

Follows the money one direction at a time.

incoming walks funding backwards: who paid this wallet. The trail stops at labelled entities (it reports the exchange rather than walking into its other customers) and at unlabelled addresses whose degree makes them a service.

outgoing follows the largest outgoing flows forward to where the money left the anonymous part of the chain (exchange, OTC, mixer) and what is still sitting in unlabelled dead ends. Outgoing tracing needs an API key.

This is a lead-generating tool, not exhaustive accounting: the walk is bounded by wall clock, so a partial answer is returned rather than a timeout, and 'nothing found' can mean 'the budget ran out'. The answer says which one it was; report that honestly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainNoRequired unless the address format identifies exactly one chain. A 0x address is ambiguous between ethereum and bsc and must name its chain.
addressYesThe address to trace.
max_hopsNoDefault 5, 8 on bitcoin. On bitcoin one hop is HALF an economic step: the graph runs address -> transaction -> address.
directionYesincoming = who funded this address (works without an API key). outgoing = where its money went (requires an API key).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses that the trail stops at labelled entities and high-degree service addresses, that the walk is bounded by wall clock so partial results are returned instead of a timeout, and that 'nothing found' can mean the budget ran out. These are non-obvious behaviors an agent must report honestly and could not infer from the schema.

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?

Front-loaded with the one-direction-at-a-time rule, then per-mode paragraphs, then the caveat paragraph. Slightly repetitive with the schema's direction description, but nearly every sentence carries information an agent needs.

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?

No output schema exists, so the description must explain returns, and it does: it describes what the trail reports (exchange vs. dead end), that partial answers occur, and that the answer itself indicates which case it was. Complete for a 4-param tracing tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents chain ambiguity, max_hops defaults and the bitcoin half-step, and the direction enum. The description restates direction semantics rather than adding syntax or constraints beyond the schema, so it sits at the baseline.

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

Purpose4/5

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

States a concrete verb-and-resource (trace an address's funding flows) and sharply separates its own two modes, incoming and outgoing. It never references the sibling tools (screen_address, list_counterparties), so an agent gets no help distinguishing this from them, which keeps it just below the top band.

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?

Explicitly says when each direction applies ('incoming walks funding backwards', 'outgoing follows the largest outgoing flows forward'), and adds the gating condition that outgoing requires an API key. It also frames the tool as lead-generating rather than exhaustive, telling the agent how to weigh the output.

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