Only the tradeable float is on chain. The rest is locked, and you can see it.
Every tokenised stock claims a backing. Almost none publish how much of that backing is actually free to trade. Float fixes the denominator.
The gap
Sweeping every token on the board turns up eighteen whose description names tokenised equities — a credit layer, a money market, an ETF builder, vaults, trading bots, a read-only desk, and a row of games that mine or stack shares. Every one of them competes on what you can do with a wrapped share.
Not one competes on whether the wrapper is honest. Search the same descriptions for a share register and you get a single hit, on a token with no market to speak of. The supply question — how many shares are really behind this, and how many of them are actually free to trade — is unoccupied.
Every wrapper answers what is it worth. None of them answers how much of it can move. That second number is the one a price is quoted against.
A wrapped share with an unstated float is a price with an unstated denominator. It can be diluted without a disclosure, because there was never a disclosed ceiling to breach. Float is the ceiling, written where it cannot be edited.
A price is a ratio. The numerator gets quoted every second; the denominator gets quoted once, in a document, if at all. The needle cannot settle on an unpinned denominator.
How it works
A stock's free float is the part of it that can actually change hands — shares outstanding, less what is locked, restricted, or sitting with insiders. Float attests that number for each wrapped equity and makes it the hard ceiling on what a wrapper can mint.
A wrapped share is a claim in a shell. The shell is what trades. The register is what is actually in there — and it is the part nobody publishes.
Each wrapped stock posts its register on chain: shares outstanding, restricted, insider-held, and the free float that falls out of them. Signed and timestamped, so the claim has an author and a date rather than being a number in a document nobody reads.
The wrapper contract can only mint up to the attested float. Supply above the line is not discouraged by policy, it is rejected by the contract. The denominator every price is quoted against stops being a matter of trust.
Lockups expire, insiders sell, buybacks retire stock. Every change to the float is an on-chain event with its release date public from block one — so dilution arrives as a scheduled, visible thing instead of a surprise in the supply chart.
The register, cut at the float line. Above it the plates are free and tradeable; below it they are locked — still on chain, still countable, not mintable.
The register splits at the float line. Everything above it is mintable and trades; everything below it is locked, stays on chain, and stays visible. Dilution becomes an event with a date on it rather than a discovery.
Supply stacks up to the line and stops. The unit that tries to pass it is not warned or flagged — the transaction reverts. The ceiling is enforced by the contract, not by a policy someone can revise.
Guarantees
A supply-integrity layer is only worth the guarantees it can actually keep. These are stated as narrowly as they hold — an attestation is a signed claim about a register, not an audit of the custodian behind it.
An attestation is a sheet of the register, signed and sealed into a block. It has an author and a date, not just a value.
Lockups expire on a schedule that is readable from block one. The line steps up on the date it always said it would, and the release is an event with a block number rather than a change in a supply chart nobody was watching.
Every attestation is kept. The float is a history that can be replayed, not a value that can only be read at the moment you happen to look.
Integrate
The attested float is a public value returned by a public view function. Any wallet, indexer, or competing interface can read it without asking us, and any of them can catch us if the number on this page ever stops matching the number on chain.
/// The register a wrapper is bound to. Views only: nothing on this /// interface can move supply, and nothing on it takes an owner. interface IFloatRegister { // Free float attested for `asset`, in that asset's decimals. function floatOf(address asset) external view returns (uint256); // Supply the wrapper may not exceed. Always <= floatOf(asset). function ceilingOf(address asset) external view returns (uint256); // Block the current attestation landed in, so a reader can tell // a fresh float from a stale one without trusting a timestamp. function attestedAt(address asset) external view returns (uint64); // Locked supply and the block it is scheduled to release in. function lockedOf(address asset) external view returns (uint256, uint64); event Attested(address indexed asset, uint256 float, uint64 atBlock); event Released(address indexed asset, uint256 amount, uint64 dueAt); }
# the free float, straight off the node — no indexer in the path cast call $REGISTER "floatOf(address)(uint256)" $ASSET \ --rpc-url https://rpc.mainnet.chain.robinhood.com # and the ceiling it pins. If these two ever disagree, the # wrapper is minting against a number it was not given. cast call $REGISTER "ceilingOf(address)(uint256)" $ASSET \ --rpc-url https://rpc.mainnet.chain.robinhood.com
The contract is deployed and its address is published above. Most of the rest of this table is still empty, and publishing it empty is the point: every row gets a real value as it lands, and this page is where the before and after can be compared.
Settlement
Robinhood Chain is a USDG-native Arbitrum Orbit L2, chain id 4663, fully EVM equivalent. Attestations, mints and lockup releases are ordinary transactions on it — no custom opcodes, no sidecar, no trusted relayer standing between the register and the token.
Robinhood Chain held $726.9M in TVL on roughly 0.1s blocks when measured on chain by hoodwindow.xyz, 31 Aug 2026, 12:00 UTC. Block time matters here for one reason: an attestation and the mint it authorises should land close enough together that nothing can be squeezed between them.
Adds the network with the values in this table, using your wallet's own confirmation dialog. Nothing is signed and no account is requested. The token button adds $FLOAT at the contract address published on this page.
Supply as a volume rather than a stack. Above the line the units drift and trade; below it they are frozen on the grid — still counted, still visible, unable to move.
Attestations, mints and lockup releases are ordinary transactions on an EVM-equivalent L2 — no custom opcodes, no sidecar, no trusted relayer standing between the register and the token.