Collections
NFT collections on the board, and why they are not tokens with missing fields.
The board ranks NFT collections as well as wallets. The engine reads them from the same log stream it already had, and the terminal renders them with different components rather than the same ones half empty.
Why the panels swap out
A collection is not a token with some fields missing. It is a different object, and the difference shows up immediately in the one thing a trading screen wants most.
A fungible token has one price per unit. Every unit is the same, so a series of trades is a price history and drawing a line through it means something.
Two sales from one NFT collection in the same minute can differ by a factor of ten, because they are different objects. One is a rare trait, one is not. A line through those two points looks exactly like a price history and is not one, which makes it worse than no chart at all.
No sparkline ever goes near a collection
This is a hard rule in the codebase rather than a styling preference. Any chart drawn through NFT sale prices is a claim about a market that does not exist in that shape.
So when the board holds collections, the panels that would draw a price and a chart are replaced by ones that describe activity instead. The screen does not render a token panel with dashes where the price should be.
What a collection panel shows
Floor is the cheapest settled sale, and the panel says so on its own face rather than leaving you to assume. It is not a listing price. Nobody's ask is in this data. It is the lowest price something in that collection actually changed hands for inside the window.
Secondary volume is what the board ranks on. Sales between wallets, priced at what the buyer gave up.
Mint spend is kept separate from it. A collection that only ever sold at mint has no secondary market, and folding the two together would hide exactly that. The column exists to show the difference.
Activity replaces the chart. One large figure for the secondary share, some meters under it, and a sentence explaining why there is no line.
What is deliberately absent
There is no NFT realized PnL. The wallet ledger covers tokens only, and the
collection detail panel prints REALIZED PNL no NFT ledger yet rather than
omitting the row. A reader who just switched boards is owed the reason the PnL
block disappeared.
This is the most valuable thing missing from the product, and the reason is worth stating because it is the opposite of a limitation. A tokenId identifies exactly which item was bought and which was sold. No cost basis has to be averaged across units the way it does for a fungible token. An NFT PnL number would be more exact than the token one, not less.
There is no route to trade one. The trade panel says no NFT route rather
than showing a disabled Buy button that implies one is coming.
A collection row does not retarget a chart, because there is no chart to retarget. The explorer link lives on the address in the detail panel.
How the data gets here
The short version, because it is genuinely surprising.
ERC721 signs its transfer event Transfer(address,address,uint256), which is
character for character the string ERC20 signs. The two share a topic0 and
arrive in the same log query. They differ only in shape, since ERC20 indexes
two arguments and puts the amount in the data while ERC721 indexes three and
leaves the data empty.
Those logs had been arriving and being discarded for months. Reading them cost no new upstream connection, no new request and no new bandwidth. The trade detector filters the four topic form out on correct grounds, because netting a tokenId as though it were an amount is nonsense, and the NFT reader picks up what falls through.
NFT pricing covers how a sale gets a number attached, including the two gates that stop it guessing.