Address Rollup

Paste a Base Sepolia address, get its flow summary — USDC/ETH totals, tx count, top-10 counterparties, first/last activity — with each counterparty flagged against the public x402 payer/payTo list. The per-address question base-usdc-facts can't answer: who paid this wallet, and is it a known x402 payer? Computed per call from public RPC reads + the public x402 surfaces; the page below renders the pinned capture offline.

Target

USDC net (window)

ETH net (trailing window)

Activity

Windows

Top-10 counterparties

AddressUSDC inUSDC outETH inETH outTxsKnown x402

Known-x402 list (flag source)

Flow rules (dedup + self-transfers)

Settlements emit the TransferWithAuthorization event AND the Transfer event for the same movement in the same tx; within a tx, Transfer flows matching a TWA on (direction, counterparty, value) are counted once — the double-count trap, rejected by the guard's N1 bars. Self-transfers (counterparty == the address) move nothing for the wallet: excluded from totals and the table, recorded verbatim in self_transfers.

Live mode (CLI)

python3 address_rollup.py <0x…> [--window N] [--eth-window N] — computed per call from public Base Sepolia RPCs (default USDC window ≈ 4.6 d, max ≈ 116 d; ETH trailing ≈ 48 min). --replay rebuilds the pinned fixture offline (canonical report body identical). Bad address → exit 4; RPC fatal → exit 2.
Machine-only: full pinned report (JSON)

    
Method. Four eth_getLogs shape queries (Transfer × in/out + TransferWithAuthorization × in/out) over the USDC deploy, chunked at 49999 blocks (publicnode's measured cap; sepolia.base.org caps at 200, drpc is recent-only — measured 2026-10-23), plus a trailing eth_getBlockReceipts scan for native ETH (public RPCs expose no per-address ETH history — no logs, no keyless indexer found). Known-payer flags are derived at build time from the public /receipts ledger (payers) + the catalog payTo — never hardcoded. The guard (check_rollup.py --self-test) byte-replays the fixture, re-derives the whole rollup from the raw transcript with its own parsers, cross-checks per-tx values against the public ledger, and rejects the poisoned cases — counterparty double-count, totals off, known-payer false positive — each on its own bar, plus a doctored-fixture control. Pin: .