Concepts

Token Launch

Launch your token on the cc0strategy launchpad (Uniswap V4) — on Base, Ethereum or Robinhood Chain. Keep 75% of every trade's fees, a split the contracts themselves enforce.

The cc0strategy launchpad

cc0strategy is our own launchpad, built on Uniswap V4 and live on three chains: Base (8453), Ethereum (1) and Robinhood Chain (4663, an Arbitrum Orbit L2 — explorer robinhoodchain.blockscout.com). Pick the chain in the first step of the wizard.

Deploying takes one transaction: the factory creates your token, seeds the liquidity pool, locks the LP, and wires the fee split — atomically. Each chain has its own independent suite (factory, hooks, locker, extensions); deploying through one never touches another.

Two pool shapes, two enforced splits

Standard launch — pool quoted in WETH

  • 75% — you, the creator. Paid in ETH and your token. Redirect it to any wallet, or split it across up to 5 wallets at launch (the slices must sum to exactly 7500 bps).
  • 15% — $cc0company stakers. Every launch feeds the staking pool, in WETH.
  • 10% — platform treasury.

Paired launch — pool quoted in any other ERC-20

  • 80% creator / 20% treasury. There is no staker slice: the staking contract's reward token is immutably WETH, so a paired-token slice could never be paid out — it would strand in the fee locker.
  • Paired launches run on a separate dual-mode suite with its own factory. The standard suites are untouched by it.
  • Available on Base and Robinhood Chain. Not deployed on Ethereum — selecting Ethereum hides the paired option.

Enforced onchain

Neither split is a frontend convention — the factory validates it at deploy time. A config that drops or resizes the protocol slices reverts (Cc0InvalidProtocolSplit), even on a raw contract call. Only you control your creator slice; nobody — including us — can touch it.

Community Coins — fees to NFT holders

Instead of taking the creator slice yourself, you can route it to the holders of an NFT collection. The launch deploys a per-token Cc0NftFeeDistributor, wires it as the sole creator-side recipient, and freezes it there — you cannot re-point it afterwards. Claims are permissionless and pay each holder directly.

  • Live on Base, Ethereum and Robinhood Chain.
  • Same-chain rule. The NFT collection must live on the same chain as the token — the distributor calls ownerOf locally and cannot read another chain.
  • Standard (WETH) launches only. The distributor's claimable assets are (WETH, your token), so a paired launch is refused.

Launch options

  • Fee tier — static 1%, 2%, 3% or 6.9% LP fee, or a dynamic fee that rises with volatility.
  • Liquidity — every launch opens thin. There is no longer a classic/deep choice; the starting tick is derived from the launch supply so the preset's starting FDV holds constant at any supply.
  • Sniper protection — optional descending tax (80% → 5% over your chosen window), or the default 2-block MEV delay.
  • Vault — lock a % of supply for yourself (lockup ≥ 7 days, optional linear vesting).
  • Airdrop — merkle-tree airdrop of a % of supply (lockup ≥ 1 day), claimable from the token page.
  • Dev buy — spend ETH on your own token inside the launch transaction. Not available on paired launches.

Born renounced

Every launch sets tokenAdmin = address(0) inside the same deploy transaction, so scanners read “ownership renounced” from block one. Your fee slice, vault and airdrop are separate contracts and are unaffected.

Deploy

The wizard lives at /deploy/token: pick the chain, set name, symbol and artwork (image + description are stored onchain), pick your fee setup and options, sign, done. Your token page at /token/{address} goes live immediately — chart, swap, holders, and your claimable rewards.

Launching from your own site, app or agent? Use the Launchpad SDK.

Claim your fees

Your slice accrues in that chain's fee locker as trades happen. The token page shows both balances — the pool's quote asset and your token — with one-tap claim buttons. The claim is permissionless: anyone can trigger it, the funds always go to the registered recipient.

  • Base: 0xC04bdF721FA5CEc839819864FA86F3D48B89Fcee
  • Ethereum: 0x0De94068195C5d85e31406804357F44E0D20E255
  • Robinhood Chain: 0x343d77D94A119D5cEA495aeE8336A3a7Aa5CD385

Agents can read and build the same claim over HTTP — GET /api/store/agents/me/claim-rewards lists what is claimable, POST returns the calldata to sign.

Factories

ERC-20 — standard suite (WETH pools, 75/15/10)

ChainFactory
Base (8453)0xf9007657b627c5421d6eBD5D71F86CDfCdc7dA8D
Ethereum (1)0x70baFfe8783396142385Ece53f2cDF8D1cf9872C
Robinhood Chain (4663)0x79F331d3d7977062d5c78Ad122851fC57Ee3DC1a

ERC-20 — paired suite (arbitrary ERC-20 pools, 80/20)

ChainFactory
Base (8453)0x6097FD2e8773cA8ED342aA8d9a999e05397e2705
Robinhood Chain (4663)0x65D667870E7B5b4b7113e5BaB255efE052cf3B36
Ethereum (1)Not deployed

Full catalog — hooks, lockers, extensions, MEV modules, per chain — on Smart Contracts.

Pairing against Robinhood's tokenized stocks

Robinhood Chain carries over 200 official tokenized stocks (AAPL, TSLA, NVDA…), all minted by the issuer 0x4783C67b63dE2B358Ac5951a7D41F47A38F3C046. The paired picker on chain 4663 offers exactly those, so a launch can be quoted in a stock instead of ether.

B20 launches — Base only

B20 is a Base-native token standard implemented by protocol precompiles, so B20 launches exist on Base and nowhere else. The wizard is the same; the differences:

  • Custom supply. B20 launches may set a supply other than the 100B default; the starting tick shifts with it so the starting FDV is unchanged.
  • Vanity address. The salt is mined off-chain so the token address ends in cc0. No contract change — the B20 address is a deterministic function of deployer + salt.
  • Same two splits: 75/15/10 standard, 80/20 paired.
ContractAddress (Base)
B20 launchpad — standard0x826a2b79aBD77269fc861a36B88979daabe80C8B
B20 launchpad — paired0x55ee7660b1253bFdeCAfD4f79cA8f9A4addB7979
B20 protocol factory (precompile)0xB20f000000000000000000000000000000000000
B20 policy registry (precompile)0x8453000000000000000000000000000000000002

$CC0COMPANY and staking

The platform token lives on Base: $CC0COMPANY:0x67c5F00491c09cbCF6359f95690574E6106bb3CF. Staking is a single Base pool — 0x38cE743b88c54eD1aF84816Ff596E518d16DFF95 — paying rewards in WETH, with a 48-hour unbonding cooldown.

The other two chains feed that same pool. Ethereum's enforced 15% recipient is a forwarder (0xF84D22728E7f4DdD56Fd3BE7Cb30148e727A8a1a) that bridges to Base. Robinhood Chain collects its 15% in an escrow (0xE4542b52Ed212bDcFb10f3C9F8A12f2cEeeF35b2), which a Relay-based adapter moves across to the same Base pool. Net effect: stake on Base, earn from launches on all three chains. See /staking.

Registry

Every launched token gets a row in token_launch regardless of chain or suite. Read via GET /api/store/token-launches; query parameters are forwarded to the registry unchanged. A row carries chain (base | ethereum | robinhood) and split_type (standard | paired), plus paired_token / paired_symbol / paired_decimals on a paired launch.