ranked by measured on-chain movement — 1H transfer sweep across each token's charted pools
the universe here is the charted set, not the market — these are every token we
chart, ordered by what moved. movement is read from the chain at open; rank never comes from a feed.
market columns are the DexScreener feed, labeled below.
featured
curated scope, alphabetical — every figure on a map is read live when you open it
vol 24H = Σ pair volume · mcap / price / 24h% = deepest pair —
all four from the DexScreener feed (founder-ruled onto this surface, 2026-08-06).
depth on the map itself is always chain-read, in token units.
—
taking soundings…
up closescroll to dive · drag to drift
—
now
sell — into a poolbuy — out of a poolcrossing — pool to poolburncounterparty — top 12 by txsanchored (≥99% LP burned)chord ∝ crossings · dot area ∝ depthpinch to dive · drag to drift · tap a pool to read it
pool ledger — depths live, token units
—
· every number's recipe
depth
depth(pool) = token units held by the pool contract at the charted block,
via balanceOf(pool). Dot area is linear in depth, one scale per unit.
The Uniswap V4 node is an aggregate: balanceOf(token, PoolManager) —
every V4 pool on the chain, summed by the singleton that holds them.
locked share
Pair-style pools: (LP at burn addresses + LP held by a named, verified
locker) ÷ LP total supply, live. It is a lower bound — it measures
evidence of locking, so a figure under the threshold reads
not evidenced, never "unlocked": the LP may sit in a locker this map
does not know. ≥99% wears the dashed anchored ring, and the pool says which
locker earned it and when it unlocks. Where the locker's terms cannot be
read the term shows n/e — locked is never rendered as permanent
without the date. Gauge-staked LP is not counted: it is withdrawable
at will. V3 positions are NFTs and V4 has no LP token — both show
n/e, never 0%.
the flow tape
eth_getLogs over the token's own Transfer topic, walked
backward in chunks. Netting Transfer deltas per pool per transaction is the
net reserve delta of the mapped token for that pool. Wallet-to-wallet
transfers touch no pool and are not drawn.
dots
One dot is one transaction's movement. Pool→pool in one tx is a
crossing — the mechanical signature of arbitrage; pools netted per tx
first, so multi-leg fills count once. Pool→outward is a buy, outward→pool
a sell — the far endpoint is the measured counterparty when the tx
names exactly one (see counterparties, below); otherwise it is holders in
aggregate on the dim arc — true of the population, and never guessed further.
Pool→burn-sink is a burn. Dot size is rank-based in amount (top decile
of the window). The chain shows movement, not intent — this surface never
says who or why.
counterparties
A small hollow node outside the ring is a measured counterparty: the
address the pool paid (buy) or was paid by (sell), read straight off the
Transfer log. A flow pins to a node only when every leg of that pool's
per-tx net names the same single non-pool address; anything less
establishable flies to the aggregate arc, not attributed. The top
12 by tx count in the scanned window are drawn — rank is measured
on-chain movement, never feed volume. Node size is rank-based in count on
its own scale (a count is not a token unit; it never shares the depth
scale). Position is layout — a node sits near its busiest pool — not data.
A router that received is drawn as the payee it is. Movement, not
identity: this surface never claims who is behind an address.
chords
A standing chord marks a pool pair with crossings in the window; width is
rank-based in count. Amount is attributed only when a tx had exactly one
source and one sink ("arrived"); anything else is reported joint, not guessed.
windows & coverage
24H / 3D / 7D ask; the sweep reports the contiguous span it actually
scanned from the newest block backward, and the label follows. A refused
deep read shrinks the claim, never the honesty.
replay
The timelapse is a stated uniform compression — one factor for the
whole window, shown while it runs. Quiet hours pass proportionally quiet;
time is never edited, eased, or skipped. The timeline cursor is yours —
pause and drag move where you watch; the pace chips (×½–×4) pick
the factor, which rescales the whole clock at once, never a
segment, and is shown while it runs. The track's span is the coverage
actually scanned, not the window asked for. At rest the cursor sits at
"now" and the map is live.
unavailable ≠ zero
Failed reads dim and say why. Nothing is simulated, remembered, or stamped —
what you see is what the chain says right now, or a stated absence.
the streaming line
Each token in the top strip carries movements — entries in a
1H transfer sweep over that token's charted pools, read from the
chain. It is the same measure the harbor's trending list is ranked
by, so the two can never disagree; it is not the feed, and it is not
a price. Movements are not crossings — a crossing is pool-to-pool
in one transaction, counted separately on the map. A sweep that could
not finish states the span it did cover ("18min", not "1H"); one
that was refused reads n/e, never 0.
watch-only
No wallet, no signing, no execution. There is nothing to connect.