Docs

Nobody can pull the liquidity.

Everything else on this page is a detail. A token launched here puts its whole supply into a Uniswap v4 pool, and the position that holds it goes to a contract with no function that returns it — not to the creator, not to us, not to anyone.

You should not take that on trust, and you do not have to. Every claim below is printed above the command that would catch it lying.

Prove us wrong

Fees are collected by withdrawing zero liquidity. Read the position after any claim: if the launchpad could drain a pool, this number would fall.

Run it
cast call 0xee1327A78909067566d133e2CeE31086660dB8BE \
  "PROTOCOL_BPS()(uint16)" \
  --rpc-url https://rpc.mainnet.chain.robinhood.com
2500

2500 basis points is the 25% protocol share. It is a constant, so this answer cannot change for as long as the contract exists.

Start here

What this is

VladLaunch is a launchpad on Robinhood Chain (chain id 4663). It is built on Uniswap's LiquidityLauncher — the same entry contract pools.trade uses.

That matters more than any feature list. The token contract is Uniswap's UERC20, created by Uniswap's factory, trading in a Uniswap v4 pool. Only the distribution step is ours. A token launched here is the same kind of object as one launched anywhere else on this chain, and it shows up on third-party front-ends for the same reason.

Three things are different:

Pool fee

An official launch is 0.25%, hardcoded. Here you choose it, once, at launch.

0.25% – 5%
Opening buy

Official flow: launch, then buy in a second transaction, with a gap for a sniper to sit in.

same transaction
Fee recipient

Official flow sends the fee claim to the creator. Here it splits: 75% creator, 25% protocol.

75 / 25

And one thing is not different: the liquidity is locked either way. What changes is how much of the fee survives the trip — see the split.

For creators

Launching a token

One billion supply, eighteen decimals, priced in ETH. Steps 1 and 2 are a single transaction, simulated before your wallet ever opens.

01
The token is deployed

Your name, ticker, and image are written on-chain in the token's own metadata. The address is known before the token exists, because it is derived from your wallet and a salt.

02
The whole supply goes into a curve

A single-sided Uniswap v4 position at the fee you chose. Every buy moves the price up the curve; every sell moves it back down. There is no team allocation to sell into you, because there is no allocation at all — all of it is in the pool.

03
Your opening buy lands in the same transaction

Optional. If you set one, the router launches and buys atomically, so no bot can get between the two. If the buy fails its slippage check, the whole transaction reverts and the token is never created.

04
It climbs, or it does not

At $50,000 fully-diluted value the curve ends and the liquidity migrates into a normal pool. Most tokens never get there.

Check your own launch
cast logs --from-block <launch-block> \
  --address 0x0256b6Cf22487B1C2076fF1565F1368DFFa39743 \
  --rpc-url https://rpc.mainnet.chain.robinhood.com

Every launch emits TokenLaunched from the strategy address. One query returns the complete catalogue and nothing else — that address is the registry.

Economics

The pool fee

You choose the swap fee at launch and it is fixed for the life of the pool. A v4 pool charges its fee on the input side of each swap, so buyers pay in ETH and sellers pay in the token.

0.25%

What every official launch charges.

0.50% round trip
1%

Four times the standard rate.

2.00% round trip
3%

Twelve times standard — 5.9% to buy and sell once.

6.00% round trip
5%

The ceiling here — 9.75% round trip.

10.00% round trip

This interface caps the fee at 5%. The underlying Uniswap library allows far more, so a token launched through some other front-end can charge more than anything you can pick here — which is why every token page on this site prints the pool's real fee rather than assuming it.

A high fee is not free money. It is a tax your own buyers pay, and at 5% a round trip costs them 9.75% before the price has moved at all.

Economics

Fees and the split

Every payout is split in the same transaction: 75% to the launch's creator, 25% to the treasury. Both sides — the ETH the buyers paid and the tokens the sellers paid — split the same way.

Claiming is permissionless. Anyone may call it, and it always pays the same two addresses, so there is nothing to gate and no one to ask. /claim does it for a creator's own launches; /admin does it across all of them. Neither page has an ability the chain does not already give every wallet.

Where the position ends up decides how much fee survives:

Held by the pools.trade splitter

That splitter forwards the remainder upstream. It is their behaviour, not a bug here.

40% ETH · 0% token
Held by VladFeeSplit

Measured on a mainnet fork, not assumed.

100% · 100%
Check it
cast call 0xee1327A78909067566d133e2CeE31086660dB8BE \
  "treasury()(address)" \
  --rpc-url https://rpc.mainnet.chain.robinhood.com
0x01Fa31abb46d5750F68AE7F9a60c1691aA5DE614

Set once in the constructor and declared immutable. There is no setter, so this address cannot be changed for the life of the contract.

The guarantee

Liquidity

The LP position is never in a person's wallet. It is held by a contract that exposes no call which removes principal, and fees are collected by decreasing liquidity by zero — so the principal has no route out at all. Not for the creator, not for us.

Backed by a test
test_liquidityCannotBePulled

Runs against live Robinhood Chain state: after repeated fee claims the position's liquidity is unchanged, it still belongs to the splitter, and no approval exists on it. Add a withdrawal path later and this test fails.

Stated at its real strength, not stronger:

Owner, admin, pause, upgrade, proxy

No such function exists in any of the three contracts. Every privileged address is immutable and fixed at deployment.

none
Access control

Not a role system, but real: register() is callable only by the strategy, and unlockCallback() only by the PoolManager. Both are immutable-address checks.

exists
Contracts outside this repo

A launch that locks its position with pools.trade's vault hands custody to their contracts. Their admin and upgrade properties are theirs, not ours, and this guarantee says nothing about them.

not covered

Every token page on this site classifies its own custody from the chain and says which of these cases it is in — including telling you when it cannot prove it.

Mechanics

Graduation

A curve ends at $50,000 fully-diluted value. At that point trading moves into a normal pool and the token is out of the curve for good.

The launchpad API reports this as graduationProgress, and it is a multiple of the threshold, not a percentage of it: 1.0 is the line, 0.84 is 84% of the way, and 20 means the token graduated a long time ago.

Why we are sure
graduationProgress === fdvUsd / graduationTargetUsd   # 100 of 100 rows
graduationTargetUsd === 50000                        # every row

liquidity / fdv, below 1.0x  →  median 1.008   (81 rows)
liquidity / fdv, above 1.0x  →  median 0.377   (19 rows)

Liquidity roughly equal to FDV is the signature of a whole supply sitting in one single-sided curve position; a fraction of FDV is a migrated pool. That break is a regime change, not a gradient, and it lands exactly on 1.0. The API's own status field disagreed on 17 of those rows, so the ratio is what this site trusts.

Verify

Contracts

All three are source-verified on Blockscout. Read them there rather than taking this page's word for what they do.

VladStrategy

Opens the pool at your chosen fee and mints the position. Also the registry — every launch emits TokenLaunched from here.

VladFeeSplit

Holds the fee claim and splits every payout 75/25. No owner, no withdrawal.

VladLaunchRouter

Launch plus opening buy in one transaction.

Confirm they are live
cast code 0x0256b6Cf22487B1C2076fF1565F1368DFFa39743 \
  --rpc-url https://rpc.mainnet.chain.robinhood.com | head -c 20

Empty output means no contract at that address. Deployed is not the same as used — the board tells you which tokens actually came through it.

Read this part

What this cannot do

The contracts are unaudited. The fork suite passes against real mainnet state, which proves the flow works. It does not prove the code is safe. Launch small first.

Pool fee cannot always be proven

This site recovers a pool's fee by brute-forcing its PoolKey from the pool id. That is impossible when a pool uses a hook, and most do. Where it cannot be proven, the token page says unknown rather than guessing.

hooks
Market data is second-hand

Prices, volume, and holder counts are read from the public pools.trade API. When it is unreachable the site shows a degraded state rather than something stale. Custody and contract facts come from the chain and are unaffected.

pools.trade
The feed is capped

Totals shown on the front page are computed over the launches the feed returns, not over every token that has ever existed on this chain.

100 rows
A locked pool is not a safe token

Locked liquidity stops one specific attack. It does nothing about a token nobody wants to buy.

Bonding-curve tokens can go to zero, and most do. Nothing here is advice.

Read the source instead

Every claim above is a sentence. The contracts are the actual answer.

GitHub