A deterministic path from address list to day-cut report.
Every stage is rebuildable from the layer below. Providers are swappable. Spend is visible before you commit.
- 01
Import
Import
CSV, XLSX, or paste addresses. Network detection and validation before anything runs.
- 02
Load
Load
Pull full on-chain history through provider adapters with budgets, checkpoints, and retries.
- 03
Clean
Clean
Spam and noise rules mark junk without deleting evidence. Balance-affecting events stay.
- 04
Archive
Archive
Daily netting and balances in your timezone — the ledger slice finance already expects.
- 05
Report
Report
Portfolio, movement, and point-in-time exports in CSV, JSONL, or XLSX.
01
Bring wallets in
Upload a spreadsheet or paste addresses. Map columns to ownership, venue, counterparty — or any dimension you need. Invalid and ambiguous rows surface before spend.
02
Confirm cost & run
See an estimate for initial backfill and ongoing refresh. Set a budget ceiling. Jobs checkpoint so restarts don’t re-bill the same page twice.
03
Process in layers
Raw provider payloads stay hashed and intact. Cleaning rules flag dust spam and noise. Archiving nets intra-day offsets and stores balances in your archive timezone.
04
Operate the registry
Track each wallet through loaded → cleaned → archived → export-ready. Build slices, share URL state, and export only what the period requires.
What “clean” and “archive” actually mean
Spam is classified, not deleted — every hidden event keeps a reason code. Archiving nets offsetting transfers inside your day boundary, then stores balances you can reopen later without calling the provider again.
Raw layer
Immutable provider payloads with request hash and schema version — rebuild anything above from here.
Clean layer
Balance-affecting events stay; dust and noise are flagged with provenance for audit.
Archive layer
Daily netting in the tenant timezone, aggregates, and retention tiers (warm → cold).
Quality layer
Coverage %, unexplained balance deltas, and a discrepancy queue instead of silent #REF! errors.
Ready to run this on your wallets?
We’ll map networks, history depth, and refresh — then send a custom quote.