POOL
Docs

How POOL works

One transaction, pools paired with anything, liquidity locked from block one. The whole model on one page, with the real numbers.

Overview

A launchpad where the liquidity is locked before the first trade, and the pool can be denominated in anything.

POOL is a token launchpad on Robinhood Chain (chain id 4663). One transaction deploys a fixed-supply token and opens one to 5 Uniswap v4 pools with the entire supply inside them, in positions that are locked for good. There is no curve to fill first, no second pool to move to later, and no way for anyone to pull the liquidity out: the contract that owns the positions has no withdraw function and no admin.

Most launchpads pair every new coin with the chain’s gas token. On POOL a pool can be denominated in ETH, a tokenized stock, USDG, a meme, or any ERC-20 the on-chain pricer can value. One token can have up to 5 such pools, opened together, and an aggregator routes each trade across them at the best price.

Supply
1B
fixed, no mint
Opens at
$4,000
market cap, every launch
Pools
1–5
per token, all locked
Base fee
1%
per trade, to POOL
Creator tax
0–10%
per trade, frozen forever
Launch fee
0.0005 ETH
one-time

Words you will see

Pair
What a pool is denominated in: the asset buyers pay with and sellers receive. ETH, a stock, USDG, a meme, anything the pricer can value.
Pool
Where a token trades. Each pool is the token against one pair. A token has one to five.
Locked liquidity
The pair assets sitting in the pools. It is measured in dollars and it can never be withdrawn by anyone.
Tax
The creator's cut of every trade, on top of the base fee. Chosen at launch and frozen.
Policy
What the tax does: paid to the creator, used to buy back and burn, or shared with holders.
Milestone
A flag that flips when locked liquidity reaches a target. Informational. Nothing changes.

How a launch works

You fill in a form. One transaction does the rest, and trading starts in the same block.

  1. 01

    You choose

    Name, ticker, logo, banner and links. One to 5 pairs. A creator tax from 0% to 10% and what it does (the fee policy). Optionally a dev buy, paid in ETH even for pools that are not ETH.

  2. 02

    One transaction runs

    PoolLaunchFactory.launchToken runs with the 0.0005 ETH launch fee (plus your dev buy) as value. In order:

    1. aThe pricer values every pair. If any pair has no qualifying route, the launch reverts with a clear error and nothing is deployed.
    2. bThe token is deployed with CREATE2: 1,000,000,000 supply, 18 decimals, no mint function, no owner, metadata that can never change.
    3. cThe supply is split equally across your pools. Each pool is initialised (hookless, tick spacing 10, LP fee = 1% base + your tax) at the price that makes the whole launch worth $4,000, and a single-sided position holding that pool’s share is minted straight to PoolLocker. If any pool key already exists, the whole launch reverts.
    4. dYour dev buy executes through the aggregator, split across the pools.
    5. eTokenLaunched is emitted with the full terms: creator, pairs, pool ids, position ids, tax, policy, milestone target.

    Single-sidedA position that holds only your token. The pool starts with token on one side and fills with the pair as people buy. “Hookless” means no custom code is attached to the pool, which is also why its fee can never change.

  3. 03

    Trading starts

    In the same block. A short protection window (a same-block multi-buy guard) blunts sniping bots.

Launch a token0.0005 ETH plus gas. Every term is shown before you sign.

Pairs & the pricer

A pair is what a pool is denominated in. The pricer decides which assets can be one.

A pair is the asset buyers pay with and sellers receive. Your token can have up to 5 pools, each with a different pair, so the same coin can be bought with ETH, tokenized Tesla and dollars at once. The pair is a decision, not a detail: a token paired with NVDA rises and falls in dollar terms with NVIDIA, a token paired with USDG moves only when the token itself does.

  • ETH

    The chain's native asset · ETH

  • NVDASPYStocks

    Tokenized equities & ETFs on Robinhood Chain · NVDA, SPY

  • CATMemes

    Culture coins with real liquidity · CASHCAT

  • $Stables

    USDG and dollar-pegged assets · USDG

  • 0x…Any token

    Paste an address. If it routes to ETH, it works

The pricer

PoolQuotePricer values any asset in ETH from the spot state of Uniswap v3 and v4 pools on Robinhood Chain. Routes are at most two hops: asset to ETH, or asset to USDG to ETH. Each hop needs at least 5 ETH of in-range depth (the USDG leg clears the same floor in USDG). The deepest qualifying route wins. POOL’s own launches are routable without registration, and anyone can register a hookless (or allowed-hook) v4 pool with registerV4Pool.

  • NVDANVDA$USDGETH2 hops · 108 ETH of depth
  • CATCASHCATETH1 hop · 2,106 ETH of depth

Floor: 5 ETH of in-range depth on every hop. An asset with no route that clears it cannot be a pair, and the launch form says so as “can’t be priced”.

Honest bounds

It is spot pricing, so it is manipulable within the depth floor. There is no TWAP on purpose: stale prices on low-activity pools are a worse failure mode than bounded manipulation. A token quoted in a bad asset inherits that asset’s risk in full.

Spot vs TWAPA spot price is the price right now. A TWAP averages it over a window, which hides manipulation but also hides real moves on quiet pools.

Fees

Two fees on every trade, one fee to launch. All of them are shown before you sign.

Base fee
1% per trade
100% to the protocol wallet. Fees earned in the pair transfer directly; fees earned in the token go to the same wallet, and the protocol can opt to burn those per token.
Creator tax
0–10% per trade
Chosen at launch, 100% creator-side, frozen forever. Uniswap v4 hookless pools have static fees, so a change after launch is architecturally impossible.
Launch fee
0.0005 ETH
One-time, paid in the launch transaction. Owner-adjustable for future launches only.
Collection
every 2 min
PoolLocker.collectFees(token) is permissionless: a keeper calls it every 2 minutes, and anyone can. Collected fees go to PoolPolicyVault, which pays the protocol share and runs the launch’s policy.

Example: a 2% tax means every trade pays 3% in total, 1% to the protocol and 2% to whatever the policy says. Buyers can rely on the tax never rising, because the number is baked into the pool itself.

Fee policies

The tax has to go somewhere. The creator picks one of three policies at launch, and like the tax it is frozen.

  • Pay me

    CREATOR

    Your tax accrues to a claim balance. Claim any time, in the quote assets your pools earn.

    Tax proceeds credit PoolFeeEscrow. The creator, or the recipient set at launch, claims any time.

  • Buy back & burn

    BURN

    Your tax buys the token back through its own pools and burns it. Supply only goes down.

    Pair-side proceeds buy the token through its own pools via the aggregator and burn it. Token-side proceeds burn directly.

  • Reward holders

    HOLDERS

    Your tax accrues per epoch and holders claim their share against a posted snapshot.

    Proceeds accrue per epoch. The keeper snapshots holders, posts a Merkle root, and holders claim their share from the vault. Claims are pull-based, because push transfers are a gas trap.

Merkle rootA compact proof of who held what at the snapshot. Each holder proves their own share and claims it, so the contract never has to pay everyone at once.

Trading

One buy or sell is split across a token's pools at the best price. You see the route and the fees before you sign.

All trades in the app go through PoolAggregator, an exact-input router that splits one trade across a token’s pools and converts through USDG or ETH where a leg needs it. It is an execution contract, not a quote endpoint: the app quotes with the Uniswap v4 quoter and StateView, builds validated legs, and sets per-leg and aggregate minimums plus a short deadline.

  • Every leg is checked against the canonical launch record.
  • The aggregate minimum is enforced from the recipient's actual balance change.
  • The contract never retains funds.
  • Expired or far-future deadlines are rejected.

What you see before you sign

Route
Which pools the trade is split across, for example “Best price across 3 pools”.
Slippage
How far the price may move before the trade refuses to go through.
Minimum received
The least you will get. Below it, the trade reverts.
Fee breakdown
1% base plus the creator's tax, shown as separate lines.

Pools of one token drift apart between aggregator trades; direct-pool arbitrage closes the gap. That is accepted: arb is volume and volume is fees.

Milestones

A flag, not an event. When locked liquidity reaches the target, the token is marked and nothing else changes.

Each launch records a milestone target, by default 4.2 ETH of pair principal locked across its pools. PoolGraduationRegistry.syncGraduation(token) is permissionless and flags the token graduated once the target is met.

It is informational only: nothing moves, no new pool opens, and there is no ceiling. A token can keep growing past it, and a token below it trades exactly the same way. The badge on a card is the whole effect.

Locked liquidityThe pair assets that buyers have paid into the pools, measured in dollars. This is what the milestone counts, and it is what nobody can withdraw.

Contracts

Eight contracts, each with one job. None of them can move locked liquidity.

Robinhood Chain · chain id 4663
PoolLaunchFactory
Entry point. Deploys the token, prices the pairs, opens the pools, mints the locked positions, records the terms. 0xd5F6…ad65
PoolToken
Fixed supply, no mint, no owner, immutable metadata, launch protection window.
PoolQuotePricer
Values any asset in ETH. Route discovery, depth floors, registries. 0x9E4c…5811
PoolLocker
Holds every position NFT. Can only collect fees. 0xAE19…89c4
PoolPolicyVault
Fee accounting and policy execution. Merkle claims for holders. 0xf79A…c07c
PoolFeeEscrow
Pull-payment claim balances. 0x62e7…F48C
PoolAggregator
Multi-pool exact-input execution. 0x2bbd…d67a
PoolGraduationRegistry
Informational milestones. 0xD59e…A183
Third-party
  • Uniswap v4 PoolManager0x8366…0951
  • PositionManager0x58da…4fa7
  • StateView0xf333…673b
  • V4Quoter0x8dc1…8f94
  • Permit20x0000…8BA3
  • WETH90x0000…df5d
  • USDG · 6 decimals0x5fc5…d168

POOL contract addresses are published in contracts/deployments/robinhood.json after deployment and verified on Blockscout and Sourcify. Explorer

Owner powers

What the protocol owner can adjust, and the much longer list of what nobody can.

Can change

future launches only
  • Launch fee amount
  • Protocol fee wallet
  • Opening market cap default
  • Milestone default
  • Pricer parameters: depth floor, allowed hooks, registries
  • A pause switch on new launches

Can never touch

not the owner, not anyone
  • Any live launch, retroactively
  • Locked liquidity: no admin function can move it
  • A launch's tax or policy
  • Trading: it can never be paused
  • Fee collection: it can never be paused
  • Claims: they can never be paused

Nothing can touch live launches retroactively. No admin function can move locked liquidity. Trading, collection and claims can never be paused.

API

A self-hosted indexer. Every response is JSON and CORS-open.

  • GET/tokens

    List tokens, sorted, filtered and paged.

    sort = newest · market_cap · volume · progress · creator_fees · holders · change — quote, policy, graduated, creator, since, search — limit, offset

  • GET/tokens/:address

    One token with its pools, fee terms and milestone progress.

  • GET/tokens/:address/trades

    Recent trades.

    limit, before (unix)

  • GET/tokens/:address/candles

    OHLCV in USD.

    res = 1m · 5m · 15m · 1h · 4h · 1d — limit, up to 500

  • GET/tokens/:address/holders

    Top holders.

    limit

  • GET/tokens/:address/fees

    Fee events and finalized epochs.

  • GET/quotes

    The pair registry with ETH and USD prices.

  • GET/wallets/:address

    A wallet's launches, holdings, trades, claimables and creator fees.

  • GET/claimable/:address

    What a wallet can claim right now.

  • GET/stats

    Platform totals.

  • GET/token-info/4663/:address

    DexScreener token-info document, immutable cache.

  • GET/tradesIndexer

    The newest trades across every token, with token and quote metadata (the explore tape).

  • GET/proofs/:token/:epoch/:accountKeeper

    Merkle proof for a holders-policy claim.

  • GET/rewards/:accountKeeper

    Every holder-reward leaf a wallet can claim, across all epochs (the portfolio page claims from these).

Base URL: the indexer service. Addresses are checksummed or lowercase hex; timestamps are unix seconds.

Risk

Plain language, no cope. Read this before you use the app.

  • Unaudited. The contracts are new and have not been audited. Use amounts you can afford to lose.
  • Spot pricing is manipulable within bounds. The depth floor limits, but does not remove, launch-price manipulation.
  • Pair risk passes through. A token paired with a thin or bad asset inherits its problems in full.
  • Tokenized stocks are what Robinhood Chain says they are. POOL does not custody or issue them.
  • Multi-pool prices drift between trades. You may get a different price on a direct pool than through the aggregator.
  • The creator tax is real and permanent. Read the tax before you buy. It cannot go up, and it also cannot go down.
  • Nothing here is financial advice. Tokens are created by their communities, not by POOL.

Questions

The eight things people ask first.

Can the creator increase the tax later?
No. The tax is part of the pool’s fee, and Uniswap v4 pools without hooks have a fee that is set once at creation and can never be changed. There is no function to call, not for the creator and not for POOL. The tax cannot go down either.
What happens at the milestone?
A flag flips, and that is all. Once the pools hold 4.2 ETH of locked pair principal, anyone can call syncGraduation and the token shows as past its milestone. Nothing moves, no new pool opens, and trading continues exactly as before. There is no ceiling either.
Can I pair with a stock?
Yes. Robinhood Chain has tokenized stocks and ETFs. The launchpad offers NVDA and SPY today, and any other can be pasted in by address as long as the pricer can route it to ETH. A pool denominated in NVDA moves with Tesla even on a day nobody trades your token. POOL does not issue or custody the stocks.
Why USDG?
USDG is the dollar stablecoin on Robinhood Chain, and it is the one asset besides ETH the pricer will route through. The opening market cap is set in dollars, so every launch price is computed through it; a pool denominated in USDG gives you a chart that reads in dollars; and the aggregator converts through it when a trade leg needs to.
Is this audited?
No. The contracts are new and have not been audited. That is the single biggest risk on this page. Use amounts you can afford to lose.
Can the team pause trading?
Never. The owner can pause new launches, and nothing else. Trading, fee collection and claims have no pause switch, and no admin function can move locked liquidity or change a live launch.
What is the launch fee?
0.0005 ETH, paid once in the launch transaction, plus gas. A dev buy goes in the same transaction. The owner can change the fee for future launches only, never for one that has already happened.
Where do my fees go?
On every trade, 1% goes to the protocol wallet and the creator’s tax goes to the policy chosen at launch. A keeper collects from the pools every 2 minutes, anyone can trigger it, and the vault runs the policy: Pay me credits the creator’s claim balance, Buy back & burn buys and burns, Reward holders posts an epoch that holders claim from.

About POOL

POOL is a small team building on Robinhood Chain. We think the pair of a token matters as much as the token, and that liquidity locked from block one should be the default rather than a feature. POOL does not create tokens. Communities do, and every pool on the platform is theirs.

Brand

The POOL mark is two rings sharing a lens: one token, pooled against anything. Use it in brand blue or white on dark backgrounds, keep clear space of one ring’s width around it, and set the wordmark in Montserrat. Do not recolour, rotate, outline or add effects.

POOLBlue#4f8cffSoft#9dbcffInk#04050a

Terms

POOL is non-custodial software. Tokens launched on POOL are created and controlled by their communities, not by POOL, and nothing on this site is financial advice. The contracts are unaudited. By using the app you accept that transactions on Robinhood Chain are final, that token prices can go to zero, and that you are responsible for complying with the laws that apply to you.

Privacy

POOL does not require an account and does not collect personal information. Wallet addresses and transactions are public on Robinhood Chain by design. The site keeps one preference in your browser, the wallet you last connected, and nothing else.