← PRODUCT
PRODUCT · SCREEN

GateTracefunds trace from public sources

Observed transfers 1–3 hops around one transaction, from public RPC and Blockscout only — no attribution.

HOP 1ROOT TRANSACTION0x6c3d2d…21dd56sender of 3 transfers4000 USDT · blk 25911925500 USDT · blk 2590114017644 USDT · blk 258754870x13fd88…5d8678from4000 USDT0x0ad31c…d64052customer C-1042 (verified)edges carry explorer links; each path records why it stoppedobserved transfers only — no entity 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

Try the sandboxRead the API docsRequest early access