GateTrace — funds trace from public sources
Observed transfers 1–3 hops around one transaction, from public RPC and Blockscout only — no attribution.
On this page
What it does
GateTrace shows the observed transfers around one transaction, one to three hops backward, forward or both, using public RPC and Blockscout only. The result is a small graph: nodes, edges with explorer links, amount-weighted paths, and the reason each path stopped — a label, the hop limit, the budget, or dust.
Your own registered wallets appear as labels. Nothing else is labelled. Every result carries caveats, and they are meant to be shown to the reviewer, not hidden in a tooltip.
Why a broker needs it
A reviewer looking at a REVIEW case wants to see where the funds came from before deciding. Commercial tracing tools answer that with attribution the broker cannot verify; a trace built from public data answers it with facts the reviewer can click through to an explorer. That is a weaker claim, but it is one you can put in the file.
How it works
GET /api/v1/trace?chain=ethereum&txHash=0x…&hops=1..3&direction=backward|forward|both. Transfers are read from the chain and from Blockscout's transfer index, followed hop by hop within a fixed budget, and de-duplicated into nodes and edges. Paths stop at a labelled wallet, at the hop limit, when the budget is spent, or when the amount falls below the dust threshold; each stop reason is returned.
What it does not do
No exchange, mixer or entity attribution, because public data cannot support it honestly. GateTrace does not follow funds across chains or through bridges, does not score the graph, and does not run on every screening — it is called on demand for the transaction a reviewer is looking at.
API
GET /api/v1/trace?chain=ethereum&txHash=0x…&hops=2&direction=backward
{
"root": { "txHash": "0x…", "from": "0x…", "to": "0x…", "token": "…", "amount": "…", "amountUsd": … },
"nodes": [ { "id": "0x…", "kind": "address", "label": "…", "expanded": true, "truncated": false }, … ],
"edges": [ { "from": "0x…", "to": "0x…", "txHash": "0x…", "symbol": "USDT", "amount": "…", "hop": 1, "explorerUrl": "https://…" }, … ],
"paths": [ { "addresses": ["0x…", "0x…"], "hops": 2, "endsAt": "label" | "hopLimit" | "budget" | "dust" } ],
"stats": { "rpcCalls": 41, "budgetExceeded": false, "dustDropped": 3, "fanOutTruncated": 0, "durationMs": … },
"caveats": [ "…" ]
}Full reference: /docs#trace · OpenAPI 3.1