Work / Payment indexer
Payment indexer
Rebuilds stablecoin card-payment volume from self-indexed chain data, issuer by issuer, with an evidence trail behind each figure.
- TypeScript
- ClickHouse
- Postgres
- EVM adapters
- Solana adapters
The problem
Crypto debit cards settle in stablecoins across many chains, and the public dashboards that report their volume do not publish how they count it. I wanted the same numbers rebuilt from my own index of chain data, broken down by issuer, card program, chain and asset, with a trail behind every figure that anyone could check.
How it is built
TypeScript, with chain adapters for EVM networks and Solana. Raw data lands in ClickHouse in its native shape; a Postgres control plane holds the registry. Only flows that have been attributed by decoding a call or an event enter the unified table, and the public benchmark is a reconciliation target, never an input.
Where it stands
- 22 of 24card programs
Issuance paths traced
Twenty-two card programs have their on-chain path registered. The other two were checked and confirmed to settle off chain.
- ±0.6%on five EVM mainnets
Reconciled, not estimated
Volumes on Ethereum, Base, Optimism, Arbitrum and Polygon land within 0.6% of the public benchmark.
- 413addresses, 164 evidence rows
A registry that shows its work
Every attributed address keeps the evidence that put it there, across 778 deployments.
- 262tests passing
Commits that argue with themselves
Investigations are written up one document each, and more than one commit message records a measurement that refuted my own earlier claim.
What's next
A second ledger on a top-up basis, reconciled issuer by issuer.