Read live from Robinhood Chain

The dashboard

Every number on this page is read from the chain by your own browser, seconds ago, straight from the public RPC endpoint — there is no server of ours in the path, and nothing here is copied out of a database we keep. This page shows distance, not direction: how far the curve has come, who holds the token, what the fees have earned. It contains no price, no market cap and no forecast of any kind.

Starting the chain read…

Reading the chain…

This page is asking rpc.mainnet.chain.robinhood.com for the project's launch record and the curve's own numbers. On a slow connection this text stays here and the numbers appear as they arrive.

Where every number comes from — and nothing else

Every row names the contract and the exact read behind it. Nothing on this page comes from a private index, a third-party price feed or a screenshot. If a read fails, the page says so instead of printing a number.

Number shownRead on-chain fromUnits
USDG raised on the curvePonsV2BondingCurve.realQuoteReserve() — the physically held tradeable quote asset, with virtual liquidity and pending fees already excludedUSDG (6 dp)
Graduation linePonsV2BondingCurve.graduationThreshold(), cross-checked against PonsV2LaunchFactory.pairTokenEconomics(pairToken)USDG (6 dp)
Progress as a percentagethis page's own division of those two reads. The contract's own test is readyToGraduate(), true when sellableTokens() reaches zero%
Tokens sold out of the curvelaunchSupply() − tokenReserve(); the allocation still buyable is sellableTokens() against launchSupply() − reservedTokens()BOBBY (18 dp)
Holdersevery Transfer(address,address,uint256) the token contract has emitted since its launch block — unique addresses, each one then confirmed with balanceOf(address) > 0. The burn address and the launch's own contracts (the curve, and the pool manager after graduation) are excludedaddresses
Fees accrued, still in the curvePonsV2BondingCurve.quoteFeeBalance() and creatorTaxBalance(); the split is read from protocolFeeShareBps() and the charged rate from feeBps()USDG (6 dp)
Fees swept and waitingPonsV2FeeEscrow.balanceOfToken(creatorFeeRecipient, pairToken)USDG (6 dp)
Fees already claimedthe sum of the ClaimedToken(address,address,uint256) events of PonsV2FeeEscrow that name the fee wallet — never a wallet balance, which would mix fees with everything elseUSDG (6 dp)
The opening buybalanceOf(projectWallet) on the token contract itselfBOBBY (18 dp)
The pool at graduationthe factory's PoolGraduated(address,uint256,uint256,uint256) and GraduationTokensPermanentlyLocked(address,uint256) events, plus the graduation phase inside getLaunchedToken(address)BOBBY / USDG

Addresses this page reads: factory 0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e · fee escrow 0xd3AFEB2a57f70eF218Aa82451c51B2fb0416Ac9e · USDG 0x5fc5360d0400a0fd4f2af552add042d716f1d168. The token and the curve do not exist until the launch transaction, so this page discovers them from the launch event rather than being told them.