Docs

How PONKI works

PONKI ($PONKI) is a stock-paired meme token on Robinhood Chain. This page explains the launch, the treasury contract and the limits of both, in plain words. Short answers live in the FAQ on the home page.

What it is

A meme token usually trades against a dollar coin, so its whole value is whatever the crowd feels that day. PONKI trades against NVDA instead, the official NVIDIA stock token on Robinhood Chain. Price quotes for $PONKI are in NVDA, and the fees its trades pay are kept in NVDA.

That does not make $PONKI a share or a claim on one. It makes it a meme with a public stock pile next to it: a treasury anyone can read, that grows with trading and that no one can empty.

The launch

$PONKI is planned as a Pons V2 launch with NVDA as the pair asset. Pons mints the full supply of 1,000,000,000 tokens to a bonding curve, with no mint function afterwards. Each curve trade pays a 1% fee; Pons keeps 30% and credits 70% to the launch's creator fee recipient in the pair asset, so in NVDA. After the curve fills, the token moves to a Uniswap v4 pool run by Pons' hook, which credits fees the same way.

The creator fee recipient will be PonkiStockHoard, deployed before the launch. Pons' own buyback option stays off, so nothing on the fee path needs a swap that could be front-run.

The treasury contract

PonkiStockHoard. No owner, no admin key, no pause, no proxy, no setter. Every address and limit is fixed in the constructor. The compiled code contains no call to transfer, approve or transferFrom, which the test suite checks byte by byte.

Functions

FunctionWhoWhat it does
gather()anyoneClaims every NVDA and all ETH the Pons fee escrow holds for the treasury. NVDA is counted by balance difference and added to stockFromFees; ETH waits for convert.
sweepCurve(token)anyoneAsks a bonding curve to move its accrued creator fees into the escrow. Only for a launch whose fee recipient is this treasury, whose pair asset is NVDA and whose Pons buyback is off.
convert(minOut)anyoneSwaps every wei of ETH held for NVDA through the WETH/NVDA 0.05% pool. The output must reach the Chainlink floor (and your own minOut if higher).
receive()anyoneAccepts plain ETH. It can only ever become NVDA.
floorFor(ethIn)viewThe lowest NVDA output convert accepts right now: ETH value in shares at Chainlink prices, divided by the share multiplier, less maxSlipBps. Reverts when a feed is stale.
held() · heldShares() · pending()viewRaw NVDA held, the shares that represents, and NVDA + ETH waiting in the escrow.
stockFromFees · stockFromSwaps · ethConverted · gathers · conversionsviewRunning totals since deployment.

Events

  • EthReceived(from, amount) : Plain ETH arrived.
  • Gathered(caller, stockIn, ethIn) : Fees pulled from the escrow.
  • CurveSwept(caller, launchToken, curve) : A curve's fees were moved into the escrow.
  • Converted(caller, ethIn, stockOut, minOut, ethPrice, stockPrice) : ETH became NVDA, with the floor and both prices used.

Constructor values

stock
0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC (NVDA, official stock token)
weth
0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73
router
0xCaf681a66D020601342297493863E78C959E5cb2 (Uniswap SwapRouter02)
factory
0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e (Pons V2; escrow read from it: 0xd3AFEB2a57f70eF218Aa82451c51B2fb0416Ac9e)
stockFeed
0x379EC4f7C378F34a1B47E4F3cbeBCbAC3E8E9F15 (Chainlink NVDA / USD)
ethFeed
0x78F3556b67E17Df817D51Ef5a990cDaF09E8d3A9 (Chainlink ETH / USD)
poolFee
500
maxSlipBps
300 (3%; the constructor refuses more than 500)
maxStockFeedAge
345600 s (four days, so a weekend price still counts)
maxEthFeedAge
86400 s (one day)

Checking a deployment

The repository ships npm run verify-deployment -- --hoard <address> --hoard-tx <hash>. It compares the deployed code with this build byte for byte, decodes every constructor value and checks it against the list above, and confirms the creation transaction. It prints MATCH or exits with an error. Source verification on Blockscout follows the same build settings (solc 0.8.28, 200 runs, paris, no metadata hash).

Where the numbers come from

Every figure on this site is read live: block and gas from the Robinhood Chain RPC, NVDA and ETH prices from Chainlink feeds on the chain, pool depth from the balances of the WETH/NVDA pool, treasury totals from the contract's own views. After launch, $PONKI price, market cap and liquidity come from Dexscreener's public API, matched by contract address. When a source cannot be reached the site shows a dash, never a made-up value.

Before the treasury is deployed, the treasury desk runs in practice mode: it uses the contract's arithmetic and today's live prices, keeps everything in your browser and sends nothing to the chain.

Risks

  • $PONKI is a meme token. Its price can fall to almost nothing, and the treasury does not support it: holders cannot redeem anything from it.
  • The NVDA token is run by its issuer, who can pause transfers and block or burn balances at any address, the treasury's included.
  • Pons' owner can reassign a launch's fee recipient after a three-day timelock. That power belongs to Pons and applies to every launch there.
  • Stock feeds only update in market hours. Outside them convert may refuse a stale price and simply wait; gather never depends on prices.
  • Tokens other than NVDA and ETH sent to the treasury stay there for good. There is no rescue function, by design.