Nest

Documentation

How Nest works

Nest launches coins on Pons V2 and nothing else — there is no Nest curve, no Nest token standard and no custom AMM. What Nest adds is where the creator's fees go: to a per-coin vault that converts them into a weighted basket of Robinhood Chain Stock Tokens. That vault is deployed and a launch here creates one; the contracts are unaudited. Everything on this page separates what runs from what is merely intended.

Overview

A launch is one transaction against the Pons factory at 0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e. It deploys an ERC-20 and a PonsV2BondingCurve, mints the whole supply to the curve, and starts trading immediately. The curve is quoted in exactly one asset — native ETH, or one ERC-20 the factory owner has approved. The coin has no slug and no registry entry; its address is its identity, which is why every coin page here is /coin/0x….

Every trade pays a fee, and the majority of that fee is booked to an address the creator names at launch: creatorFeeRecipient. Pons treats it as an arbitrary address, so it can be a contract. That is the whole of Nest's integration surface — no fork, no permission, nothing about Pons needs to change.

What is live, and what is not

This build reads Robinhood Chain directly. Nothing on any page is simulated. But several things a launchpad normally shows have no honest source on this chain yet, and they are marked absent rather than filled in.

Launching a coin on Pons V2A real transaction against the real factory.
Curve trading, quotes and slippageQuoted off getReserves() with the exact contract arithmetic.
Live price, reserves, market cap, progressOne multicall per coin.
Trades, holders, chain-wide activityCurveBuy / CurveSell logs and Blockscout.
Stock Token pricesRobinhood's own asset API, with Chainlink where a feed exists (35 of 194 tokens).
Coin price historyOnly from the moment our indexer started. This chain's RPC keeps no archive state, so history cannot be reconstructed after the fact — every chart states the window it really covers.
Stock 24h / 7d changeOnly where a Chainlink feed exists, and labelled with the real gap between rounds — equity feeds go quiet at weekends. The other 159 tokens have no change source at all.
BasketVault: fee conversion and redemptionDeployed and wired into the launch flow. Unaudited, and no coin has launched with one yet, so no vault holds anything today.
Comment threads on a coinThere is no on-chain source and no database. The tab was removed rather than faked.

Launching

Pons offers exactly one launch configuration today, and these are its parameters. They are read from the factory when this page renders.

Launch fee0.0005 ETHfactory.launchFee() — paid to Pons, on top of gas
Total supply1,000,000,000 tokensMinted to the curve at launch. No creator allocation beyond a dev buy at the public price.
Base trade fee1.00%Charged on the quote leg of every buy AND every sell
Creator tax ceiling10.00%factory.maxCreatorTaxBps(). The curve additionally caps base + tax at 20%.
Virtual quote reserve1.68 ETHThe curve's phantom reserve: never held, never withdrawable. Sets the opening price.
Graduation threshold4.2 ETHReal quote the curve must take in before it graduates. Per pair token — never assume this figure for a non-ETH launch.
Pool tick spacing200The Uniswap V4 pool created at graduation
Pool static LP fee0getLaunchConfig(0).poolFee. Zero by design — the Pons hook is the graduated pool's fee policy.

Read from 0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e at block 53644199.

The first 3 seconds

Every launch carries an anti-snipe tax that decays by 14 successive halvings across a 3-second window: bps = startBps >> (elapsed × 14 / window). The start rate and the window are read live (9900 bps over 3 s at block 53,644,199); the 14 halvings are a constant in the curve's own bytecode with no getter, verified bit-exact against six real SnipeTaxCharged events. With the live configuration that is:

0s 99.00%1s 6.18%2s 0.19%3s 0.00%

It is charged against the including block's timestamp, not your clock, so a quote made during those three seconds can be one second stale. Addresses the factory exempts — including a creator-fee recipient that is not the deployer — pay none of it.

Pair tokens and the allowlist

A curve is quoted in one asset, fixed at launch. address(0) means native ETH and is always accepted. Any other quote asset must be on the factory's approvedPairTokens list, which only the factory owner can change — Nest cannot add to it and neither can a creator.

  • 40 of the 194 verified Stock Tokens are approved as pair tokens, checked on chain at block 53279343. The rest can still be basket constituents; they simply cannot quote a curve.
  • Economics are per pair token. factory.pairTokenEconomics(token) returns that asset's own virtual reserve and graduation threshold — NVDA is 16.64 / 41.6, USDG is 3,236 / 8,090 — sized so a launch is worth roughly the same in dollars whichever asset quotes it. The threshold carried in the launch event is the authoritative one for that coin.
  • Decimals are not always 18. USDG is 6 and CBBTC is 8. Every amount on a curve page is scaled by the quote asset's own decimals, read from the token.
  • An ERC-20-quoted buy needs an approval first and must send zero ETH; a native buy must send msg.value exactly equal to the amount in. Getting either wrong reverts.

The bonding curve

PonsV2BondingCurve is a constant-product curve against a virtual quote reserve. It is not upgradeable, is not a proxy, and has no receive(), so a native-quoted curve physically cannot be donated ETH.

The whole model
quoteReserve = phantomQuote + realQuoteReserve      (exact, verified on live curves)
k            = quoteReserve × tokenReserve          (invariant across every trade)
price        = quoteReserve / tokenReserve          (quote asset per whole token)
progress     = realQuoteReserve / graduationThreshold
  • Fees come off the quote leg, in both directions. They are subtracted before the swap, which is why k is preserved exactly — measured after 660 buys and 180 sells on one curve, it had grown only by integer rounding.
  • There is no on-chain quote function. No getAmountOut, no quoteBuy. Every price you are shown before a trade is computed off getReserves() with the contract's exact integer arithmetic, including the fee, the creator tax and the snipe tax, and is checked against a simulation of the real call before you sign.
  • A buy that overshoots is partially filled and refunded, not reverted. Slippage is then enforced as a price bound rather than a quantity, so a minimum-out set for the full amount still holds on the graduating trade.
  • Selling closes before graduation does. The curve reverts a sell the moment the sellable allocation is exhausted — before the graduated flag is even set.
  • Progress in quote is not progress in tokens. Both hit 0% and 100% together, but in between they diverge sharply because the curve is a hyperbola: 9.27% raised was 26.34% sold on one live curve. Nest shows the quote figure, because that is the one the protocol thresholds on.

Graduation

The curve never sells its whole supply. reservedTokens 28.5714% of supply with the live configuration, which is exactly supply × phantomQuote / (phantomQuote + threshold) — is a floor it will not go below. So 71.4286% of supply is what the curve can ever sell, and it sells out at the same instant the raised amount reaches 4.2 ETH.

At that point the factory takes the reserved allocation and splits it, permanently:

71.43%
sold on the curve

held by whoever bought it

20.41%
seeds the Uniswap V4 pool

paired with the full 4.2 ETH raised

8.16%
permanently locked

sent to the Pons locker and never returns

The pool is a Uniswap V4 position on the PoolManager at 0x8366a39CC670B4001A1121B8F6A443A643e40951, behind the Pons hook at 0xE5e702641Ea86F4ae6cC3cDaeD2B886f976Be044, at tick spacing 200. The position is not owned by the creator and not by Nest: nobody can withdraw it, and there is no timelock to wait out because there is no unlock. The static LP fee on the pool is zero — the hook is what charges post-graduation trades.

A graduated curve is empty: token reserve zero, quote reserve back to the virtual amount alone. It stops being a price source entirely at that moment, which is why a graduated coin's page shows no curve and no price. Nest does not read Uniswap V4 pool state, so the price of a graduated coin renders as “—” with that reason, not as a stale last-curve price. Reading it would mean querying the V4 StateView and converting a tick, which this deployment has not built; until it does, the honest output is the dash.

Fees

FeeRateGoes to
Base trade fee1.00%30% Pons · 70% the creator-fee recipient
Creator tax0 – 10.00%The creator-fee recipient, in full
Buyback split (optional)50% of the creator legBuys the coin back into the vault at 0x42df2a798f82289E177311362e8f5ccC45c1219c, on a long vest. Only when the creator enabled it at launch.
Anti-snipe tax99% → 0Decays to zero over 3 seconds. Stays in the curve.
Launch fee0.0005 ETH + gasPons
Basket mint / redeemNot charged: the vault takes no fee on redemption, and mints nothing.

Read from getLaunchFeePolicy() on the 5 most recent Pons launches, which all record the same split. There is no factory-level getter for it: the policy is snapshotted per launch at creation, so the split your coin gets is fixed when it launches and is not readable before then.

Fees are never transferred to the recipient. They accrue as a claimable balance in the V2FeeEscrow at 0xd3AFEB2a57f70eF218Aa82451c51B2fb0416Ac9e, and claim() pays whoever calls it. A contract named as the creator-fee recipient can therefore pull its own fees with no operator and no permission — which is exactly how the basket vault is designed to be funded.

The basket vault

Deployed and unaudited. The factory is live on Robinhood Chain and a launch through Nest creates a vault in the same transaction. These contracts have had no audit and no owner, pause or upgrade path — nothing can be fixed or recovered after the fact. No coin has launched with one yet, so no vault holds anything today.

The design, and the reason it needs no cooperation from Pons:

  1. 01
    Named at launch

    The vault's address is passed as creatorFeeRecipient in the launch parameters. Pons accepts any address, contract or not.

  2. 02
    Funded by the escrow

    Fees accrue to that address in the V2FeeEscrow as a claimable balance. The vault calls claim() itself — no operator, no signature.

  3. 03
    Untaxed

    Because the recipient is not the deployer, the factory exempts it from the anti-snipe tax automatically.

  4. 04
    Converted to the basket

    Claimed ETH or pair tokens are swapped into the constituents at their chosen weights, and held.

  5. 05
    Redeemable pro-rata

    Coin holders burn to claim their share of the constituents. No admin key, no rebalancing, no discretion.

  6. 06
    Weights are set once

    There is no mechanism to change them afterwards, so a name that runs simply becomes a larger share of the vault.

Nest's own basket rules — 2 to 8 constituents, each between 2% and 75% — are product rules in this interface. No contract enforces them.

Risks

  • Most launches go to zero. Pons launches land at a rate of hundreds per hour on this chain and the overwhelming majority never reach the graduation threshold. You can lose everything.
  • The first 3 seconds are taxed at up to 99%. Buying into a launch that is seconds old can cost almost the entire input.
  • A creator tax of up to 10.00% applies to both legs, on top of the 1.00% base fee. Check the coin's own figures before a round trip — they are per launch and immutable.
  • Tokenized stocks are not stocks. They carry issuer, custody and transfer-restriction risk on top of ordinary market risk, and may not be available in your jurisdiction.
  • A basket concentrates you in whatever its weights say. A 75% single-name basket behaves like that single name.
  • The vault does not exist. Any coin launched through Nest today is a plain Pons coin. Do not price one as though a basket were backing it.
  • Smart-contract risk applies to Pons V2, to Uniswap V4 and its hook, to the Stock Token contracts, and — when it ships — to the vault.
  • Price history here starts when our indexer did. This chain's public RPC keeps no archive state, so no chart on this site can show more than we have recorded. Every chart says what window it covers; none of them extrapolate.

FAQ

Is the coin quoted in the basket?
No. Pons quotes a curve in exactly one asset — native ETH or a single approved ERC-20 — and a basket cannot be a pair token. The basket is what the creator's fees are meant to be converted into, which is a completely separate flow from trading the coin.
Can I redeem a coin for the stocks today?
Only for a coin launched through Nest, and only once its vault has harvested some fees. redeem() sends your coin to the vault and returns that exact fraction of everything it holds. A coin launched anywhere else on Pons has no vault and nothing to redeem.
Why do some coins show no price change?
Because there is nothing honest to show. A change needs two prices separated by a known interval, and this chain's RPC cannot be queried for a past price. The chart and the change figures only go back as far as our own indexer has been running, and each says so.
Why does a Stock Token show a change over 28 hours instead of 24?
Chainlink equity feeds publish on a heartbeat and go quiet outside market hours, so two consecutive rounds are almost never exactly a day apart — measured live, AAPL spanned 27.95 h, MSFT 29.38 h and SPY 42.13 h in a single reading. Every one of those is printed with the hours it really covers. Nothing in this app rounds a window to '24h' to make it look tidier.
Is the total supply always 1 billion?
Yes for launch configuration 0, which is the only one Pons offers today: 1,000,000,000 tokens mint to the curve at creation. The token is burnable, so the live total supply can drift below it — the curve's own launchSupply is the figure that matters for pricing.
Can the creator pull the liquidity after graduation?
No. The position is created by the factory and locked through the Pons hook and locker. Neither the creator nor Nest holds it, and there is no unlock date.
Where do the coin logos come from?
A coin's mark is the creator's own on-chain logo() value, through an IPFS gateway when it is an ipfs:// URI. A Stock Token's mark is looked up by TICKER, not by address: the official address-keyed Robinhood CDN answers 200 for all 194 tokens but serves one byte-identical generic feather for every one of them, so it sits last in the chain as a real-but-generic image. Ticker lookup is why the chain is pinned rather than open-ended — a stale ticker map can name the wrong company, which is worse than no logo — and anything unresolved falls back to a monogram derived from the address.
Ready to launch one?

A real Pons V2 launch for 0.0005 ETH plus gas. Drafts save locally.

Launch a coin

Built on Pons V2, Robinhood Chain (chain 4663), and Uniswap V4. Not investment advice.