Every panel
What each panel reads, what it answers, and which ones are still waiting on a module.
Every panel on the terminal is named after what it is rather than how good it is. There is no panel called Proof and there is no panel called Insights. If a label makes a claim, the data behind it has to be able to back that claim, and one of the entries below is here because it could not.
The rail
These do not follow your selection. They describe the chain and our reading of it, and they move once a second regardless of what you have clicked.
| Panel | Answers |
|---|---|
| Chain | Sequence number, confirmation lag, tokens tracked |
| Feed | Is the sequencer relay connected, how many gaps, how many decode failures |
| Market | Totals and breadth, summed from the same snapshot the board came from |
| Movers | Biggest moves in both directions, chain wide |
| ETH | The chain's native price series |
Market and Movers are summed from the same object the board reads, so they cannot disagree with the table beside them. That is not a small property. Two panels computing the same total from different sources will eventually print different numbers and there is no good way to explain it.
Movers is the one panel that never follows your selection. It stays chain wide on purpose, so there is always something on screen telling you what the rest of the market is doing while you look at one wallet.
The ETH panel used to be lying
It was labelled ETH and it was fed the trend of the busiest token in the book. Since the engine stopped keying its book by pool, quote currencies never enter that book at all, so the series under that label could never have been ETH. It went unnoticed until it drew a memecoin going from twelve cents to eight hundred and thirty nine dollars with ETH written above it.
It now reads the engine's own persisted ETH price series, and its meta names the span it actually holds. The general rule this bought is worth more than the fix. A panel label is a claim, and the claim has to be checkable from the data's own provenance.
The wallet column
Four panels, and each answers a different question about the wallet you clicked. They are not four views of one summary.
Wallet is the identity and the totals. Realized PnL, the win fraction, closes, and whether this row is a cluster.
Activity answers whether it is moving right now. The engine keeps a ring of the most recent resolved trades, roughly thirty to forty minutes of them at this chain's rate. The stream ships the newest slice each second and the browser accumulates them without loss, so the panel deepens the longer you leave the tab open. Opening a fresh tab seeds it from the engine's ring rather than starting empty.
The panel names its own window, something like this wallet · last 34m. That
sentence is what lets an empty panel read as quiet rather than broken.
History answers what it did last, and it is the one that works when Activity does not. It reads that wallet's last dozen trades from disk, so it fills the moment you pick a wallet no matter how old the last move was. A wallet that has not traded for a day shows nothing in Activity and a full card here.
PnL is the equity curve, cumulative realized profit per active hour. It is the only series on the screen that cannot be pointing at the wrong thing, since it is derived from the wallet rather than looked up for it. There is no chain top fallback here and there cannot be one.
The token side
Favourite token leads with the symbol and names its own provenance in the
meta line. wallet means this is the token that wallet trades most. chain top in the warn colour means the wallet had nothing drawable and you are
looking at the chain's busiest token instead.
Chart draws that token's price series. It needs at least two price buckets
to exist, which is a stricter question than whether a token can be described at
all. A token traded once can be described and cannot be plotted, and conflating
the two is what used to produce a chart panel reporting NO SIGNAL / 1 PTS
under a perfectly healthy looking row.
The tape
Across the bottom, scrolling, with no label band above it. A ticker names itself by scrolling and a label over one is redundant furniture.
Beside it sit DATA SINCE and UPDATED. The first is the oldest row the
ledger still holds and it grows as the engine accumulates history. The second
is the snapshot clock, ticking every second. Both are UTC and both are wire
values rather than anything the browser computed.
Waiting on a module
Two panels are in place and honest about being empty.
Nose is the contract scanner. It shows the checks the real scanner will
fill, as null dashes in the neutral colour with a soon marker, rather than
sample verdicts that look like findings.
There is one check deliberately not in that list. Liquidity lock cannot be
answered honestly on this chain, because V3 and V4 positions are per position
NFTs rather than a pool balance somebody can burn. A Locked verdict computed
the usual way would be wrong often enough to be dangerous, and a scanner that
is wrong about safety is worse than no scanner. It is absent rather than
pending.
Trade shows the routing that would execute. The buttons are visibly
disabled because no route is connected behind them. On a collection it says
no NFT route, which is a different sentence from a disabled button and means
a different thing.
When the engine is unreachable
The screen renders in full, with every panel in its honest empty state, and the
header names the condition. A live dot while things are fine, reconnecting
with a spinner while there is hope, and a red SERVER DOWN when there is
nothing left to show.
It deliberately does not collapse into a single error box. A screen that disappears when the backend hiccups teaches you nothing about which part failed, and the layout you learned is the thing you want back fastest.