Live
Every Swap event the 8 tracked tickers emitted in the last 6,000 blocks — about 10 min of chain time — decoded straight from the log. The price on each line is what that trade really paid: amount in over amount out, not a mid anyone was shown beforehand.
USDG supply 713,463,689 on chain.
| Ticker | Swaps | Buys | Sells | USDG | Fill dispersion | Chain mid |
|---|---|---|---|---|---|---|
| NVDA | 170 | 83 | 87 | 50k | 4.9 bps | $219.13 |
| TSLA | 101 | 45 | 56 | 15k | 18.5 bps | $368.01 |
| GLD | 92 | 55 | 37 | 35k | 22.3 bps | $398.55 |
| QQQ | 78 | 39 | 39 | 11k | 5.0 bps | $715.00 |
| AAPL | 56 | 42 | 14 | 23k | 2.9 bps | $333.26 |
| GME | 31 | 22 | 9 | 6k | 22.7 bps | $21.03 |
| SPY | 16 | 9 | 7 | 2k | 4.9 bps | $765.52 |
| MSTR | 4 | 1 | 3 | 2k | 12.8 bps | $131.36 |
Fill dispersion is how far the trades in this window landed from their own average price. A wide number on a quiet ticker usually means two or three fills at very different sizes, not a market moving.
Nothing on this page comes from a data provider. A Uniswap v3 pool emits one event per swap, and that event is the only record there is. Almight asks the chain for those events by their signature hash and takes the numbers apart itself.
// the event, and the hash the chain indexes it under Swap(address,address,int256,int256,uint160,uint128,int24) 0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67 // five 32-byte words of data, in order amount0 signed — negative means the pool paid it out amount1 signed — the other side of the same swap sqrtPriceX96 the price after the trade liquidity tick // what the trader actually paid price = |USDG amount| / |share amount| side = share amount < 0 ? buy : sell
Every other number on this site is a price someone could have got. These are prices someone did get, signed and permanent. When the two disagree, the log is right.
A pool never says “buy” or “sell”. It reports two amounts, and whichever one is negative is the token that left the pool. That is the whole of how the side column is derived.
The vs mid column compares a fill to the mid now, so it mixes execution cost with whatever the price has done since. Comparing each fill to the best quote reachable at its own block is the realized-cost reading, and it is not built yet.