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.
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.
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 shown | Read on-chain from | Units |
|---|---|---|
| USDG raised on the curve | PonsV2BondingCurve.realQuoteReserve() — the physically held tradeable quote asset, with virtual liquidity and pending fees already excluded | USDG (6 dp) |
| Graduation line | PonsV2BondingCurve.graduationThreshold(), cross-checked against PonsV2LaunchFactory.pairTokenEconomics(pairToken) | USDG (6 dp) |
| Progress as a percentage | this 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 curve | launchSupply() − tokenReserve(); the allocation still buyable is sellableTokens() against launchSupply() − reservedTokens() | BOBBY (18 dp) |
| Holders | every 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 excluded | addresses |
| Fees accrued, still in the curve | PonsV2BondingCurve.quoteFeeBalance() and creatorTaxBalance(); the split is read from protocolFeeShareBps() and the charged rate from feeBps() | USDG (6 dp) |
| Fees swept and waiting | PonsV2FeeEscrow.balanceOfToken(creatorFeeRecipient, pairToken) | USDG (6 dp) |
| Fees already claimed | the 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 else | USDG (6 dp) |
| The opening buy | balanceOf(projectWallet) on the token contract itself | BOBBY (18 dp) |
| The pool at graduation | the 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.