docs.

how 2020.family works, what it costs, and what happens when you launch a token on base.

on this page

what is 2020.family

An open launchpad for b20 tokens on base. Anyone can launch - no allowlist, no gate. Each launch mints a fresh b20 token, seeds a single-sided Uniswap V3 pool against WETH, and hands the token admin to the launcher.

The terminal is a live feed of every token launched through the factory, with in-app buy via Uniswap V3.

how a launch works

One transaction to launch(LaunchConfig) does all of this atomically:

  1. Validates inputs (fee tier ∈ {0.3%, 1%}, opening tick > 0, name/symbol non-empty, msg.value ≥ 0.001 ETH).
  2. Calls the b20 factory precompile at 0xB20f…000 to deploy the token at a deterministic 0xB200… address. Launcher becomes DEFAULT_ADMIN from block 0.
  3. In the bootstrap window, grants the factory MINT_ROLE and sets the supply cap to 1B.
  4. Factory mints the full 1B supply to itself.
  5. Creates + initializes the Uniswap V3 pool at your chosen opening tick.
  6. Mints a single-sided LP position: all 1B on the b20 side, tick range [MIN_TICK, openTick − spacing]. LP NFT sent to the 2020.family treasury.
  7. Factory renounces its MINT_ROLE - no further supply can ever be minted.
  8. Forwards 0.001 ETH to the treasury, refunds any excess to the launcher.
  9. Emits LaunchDeployed event for the terminal to pick up in real time.

If any step fails, the whole transaction reverts. No half-launched state.

tokenomics per launch

parametervaluenotes
standardb20 (native)address prefix 0xB200…
supply1,000,000,000fixed at the contract level
decimals18fixed
lp venueuniswap v3single-sided, weth pair
lp fee tier0.3% or 1%launcher chooses per launch
lp position[MIN_TICK, openTick − spacing]range extends far below current tick so it never runs out
token adminto launchercan update name/symbol/metadata via b20 admin functions
mint role after launchrenouncedsupply permanently fixed - no future dilution

setting the opening price

Opening price is set by a signed integer called the opening tick. Since b20 addresses always sort above WETH (0xB200… > 0x4200…), b20 is always token1, so higher openTick = lower starting token price = lower FDV.

App presets, assuming 1B supply @ $1,900 ETH:

presetopenTickstarting fdv
20/20 fair (default)206,600~$2,020
medium195,600~$6,060
ape mode160,600~$202,020

Or pick a custom tick. Math: FDV ≈ supply × 1.0001^openTick × ETH_USD / 10^decimals. Every ~23,030 ticks halves/doubles the FDV.

fees & revenue

how to buy a launched token

  1. Open the terminal. All launches show newest-first.
  2. Click a token row to open its detail page.
  3. Use the buy panel - sends you to Uniswap swap with the correct token pre-filled.
  4. Any wallet on base works. No account needed here.

terminal roadmap

Fully-built terminal shipping soon. A speedy, in-app trading terminal - one-click swaps, live charts, per-wallet P&L, holder distribution - is coming. Today's terminal deep-links out to Uniswap and Basescan; the next version bakes trading straight in.

live today:

shipping next:

addresses (base mainnet)

whataddress
b20 factory precompile0xB20f000000000000000000000000000000000000
WETH0x4200000000000000000000000000000000000006
Uniswap V3 NPM0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1
Uniswap V3 SwapRouter020x2626664c2603336E57B271c5C0b26F421741e481
2020.family factory0x6C8B31937D507257265a5d465fBf4328C8bcE210
2020.family treasury0xAeA6041E93e6729535398F67F49dc3DB12050EcE