Skip to content

Reading results

Every answer is one JSON object with _meta as its first key.

Field Meaning
request_id 16 hex characters. Quote it in reports and when you contact us.
api_version, chain, command What ran.
dataset.max_block The last block the answer covers. Transfers after it are absent, not zero.
dataset.generation The dataset version that answered. It changes when the data is refreshed.
labels {"snapshot": "<name>", "tier": "server"}, or null when labels were not loaded.
defaults_overridden Options the server filled in for you, as name=value.
elapsed_ms Query time charged to your budget.
budget used_ms_today and remaining_ms_today for the current UTC day.

If dataset.generation changes in the middle of an investigation, re-run the queries your conclusion rests on.

Check these before quoting any total. When one is set, the total is a lower bound.

Command Flag Meaning
Tron and Ethereum trace truncated Something was cut; totals are a lower bound.
Tron and Ethereum trace truncations[] Each cut as {reason, node}: hub_degree, max_scan, max_edges or max_nodes.
Tron and Ethereum trace scan_truncated An address’s expansion stopped at max-scan.
Tron and Ethereum trace rolling_fallback_nodes Above 0: those addresses were split with haircut instead of rolling.
Tron and Ethereum trace accounting Where the traced amount ended up (see Tracing funds).
Bitcoin and Zcash trace accounting_btc Where the traced amount ended up.
Bitcoin and Zcash trace truncated The edges list was cut for size. Totals still cover everything.
Bitcoin and Zcash topk, neighbors partial More rows exist than were returned.
Bitcoin and Zcash topk, neighbors truncated A transaction was skipped as too wide (max-fanout) or max-legs was reached; see excluded.
reach truncated A frontier, node or contact cap was reached.
Any batch n_errors How many inputs failed. Read every row’s error.
  • Transfer rows (Tron and Ethereum neighbors, Tron annotate; Bitcoin and Zcash addr, tx, neighbors, topk) carry an amount object: base_units (exact integer), decimals, str (exact decimal), f64 and symbol. Quote str; use f64 only for sorting.
  • Tron topk rows carry sum_base_units (exact), sum_f64, count, first_ts, last_ts and symbol.
  • Tron trace and reach amounts are floats in whole token units. Bitcoin trace reports taint_btc in BTC and edge taint in satoshi; Zcash uses the same fields for ZEC and zatoshi.
  • Ethereum topk and trace amounts are base units (wei for ETH, 10^-decimals of a token, with decimals in the row’s asset). Divide before you quote. Ethereum neighbors rows also carry str in whole units, and reach answers in whole units.
  • Times are Unix seconds, UTC. On Tron, time: 0 means the block time is unknown.
  • Never add different Tron tokens (USDT, TRX, USDD, USDDOLD, jUSDT), nor ETH and an Ethereum token. Each Tron and Ethereum query covers one asset.
  • Never add trace amounts to topk, neighbors or reach amounts. A trace reports the share of the traced funds under a method. The others report gross flows between addresses.
  • Never add reach contact amounts together. Each is the whole flow between two addresses, not the share that came from your seed.

Write addresses, transaction hashes, edge ids and cluster ids in full in every table and finding: TQtaugi3vfFuqxp8KCQUTyXDc6Smk1pYDJ, never TQtaugi.... An abbreviated address cannot be pasted into an explorer or matched against a case file.

With every conclusion, record:

  • the chain, command and options;
  • _meta.dataset.max_block and _meta.dataset.generation;
  • _meta.labels.snapshot;
  • the query time in UTC;
  • _meta.request_id.

For example: tron trace, method rolling, hops 4, max_block 87001325, labels label_261010.csv, 2026-10-11 05:12 UTC, request 041643766c574a19.

hodlflow answers are an analysis aid, not evidence. Before a finding goes into a legal document, confirm the transactions on chain (see Investigation workflow) and the attributions at their sources. Do not redistribute raw answers; quote the rows a finding needs.

© 2026 Hansung Onchain Data LabTermsPrivacyGet access