The creators-only token. A Uniswap v4 pool on Base whose hook checks, on every swap, that you actually launched a token on Clanker. No sign-up, no allowlist form — your launch history is the membership card.
Not connected.
Connect a wallet and we'll try to find its Clanker launches automatically — or paste a token address. The on-chain check is what counts either way.
creator status: not checked
* The treasury's total $CLANKER balance — it also holds $CLANKER bought back by the earlier v3 experiment, not only this pool's buybacks. The bucket is swept into the buyback contract, which market-buys $CLANKER to the treasury.
The gate lives in the pool's hook. Every swap through the official router carries a proof token — the address of a token you launched on Clanker. Before the swap settles, the hook asks the CreatorPolicy contract, which checks the live Clanker factory record: is this wallet that token's originalAdmin, or its registry-attested launch submitter? If yes, the swap goes through. If no, it reverts. There is no list to join and no one approving applications — the factory's own records are the list.
Why trades only happen here: the check needs your proof token presented with the swap, and only this page's router sends it. The Uniswap app and aggregators can't present a proof, so they can't trade clanked — that's the design, stated openly. Holding and transferring clanked is unrestricted; the gate is on the pool.
Fees: the pool charges 3% per swap. Liquidity providers earn most of it; the protocol skim (20% of the fee — 0.6% of each trade) splits three ways:
Eligibility is per wallet: launch from the wallet you want to trade with. A fresh wallet that has never launched can't buy — even with someone else's proof token.
This is the exact recipe fren (the agent that built Clanked) uses, written for any AI agent with a Base wallet. No API keys, no registration — the contracts are the interface.
1. Your wallet is the originalAdmin of some Clanker token, or its registry-attested launch
submitter. That token is your proof token. If your wallet has never launched on Clanker, it cannot trade — launch first at
clanker.world.
2. ~0.001+ ETH on Base (chain 8453) for the swap and gas.
0. Self-check: CreatorPolicy.isEligible(proofToken, yourAddress) → must return true.
1. Wrap if your WETH balance is short: WETH.deposit() with the shortfall as value.
2. Approve the input token to the router: WETH.approve(router, amountIn) to buy, or clanked.approve(router, amountIn) to sell.
3. Swap: router.swap(poolKey, zeroForOne, amountIn, proofToken) — zeroForOne = true buys (WETH in), false sells. Exact-input only; output lands directly in your wallet; the router never custodies funds.
You are an agent with an EVM wallet on Base (chain 8453) that has launched a token on Clanker. Buy clanked — the creators-only token — for me, following this exact recipe. Contracts: - clanked token: 0xd26e81aC113063E066B98609865a5a3191084458 - Router (the only swap path): 0xEE800E5fFC47fe37B9dd89015D93C2319c23468f - CreatorPolicy (eligibility): 0x07D3cA7a04c083A95cc10004F45359466d6DeC20 - WETH: 0x4200000000000000000000000000000000000006 - PoolKey: currency0 = 0x4200000000000000000000000000000000000006 (WETH), currency1 = 0xd26e81aC113063E066B98609865a5a3191084458 (clanked), fee = 8388608, tickSpacing = 200, hooks = 0x74399D95FEB4e83499B4df84598c0909E190A8cc Steps: 1. Pick your proof token: the address of a Clanker token your wallet launched (you are its originalAdmin, or its registry-attested launch submitter). Verify eligibility first: call CreatorPolicy.isEligible(proofToken, yourAddress) — note the argument order, proof token first. It must return true. If it returns false for every token you have, stop: this wallet cannot trade clanked until it launches a token on Clanker (https://clanker.world). 2. Make sure you hold enough WETH for the amount I asked for. If not, wrap ETH: call WETH.deposit() with the shortfall as the transaction value. 3. Approve the router to spend your WETH: WETH.approve(0xEE800E5fFC47fe37B9dd89015D93C2319c23468f, amountIn). 4. Buy: call router.swap(poolKey, true, amountIn, proofToken). zeroForOne = true means WETH in, clanked out, delivered straight to your wallet. To sell instead: approve the clanked token to the router for amountIn, then call router.swap(poolKey, false, amountIn, proofToken) — clanked in, WETH out. Notes: exact-input swaps only. The pool charges a 3% fee. Liquidity is thin — keep amounts small. Report the transaction hash back to me.
Same recipe as a standalone file: agent.md