B20factory docs
The token launchpad for B20 and Robinhood Chain.
Overview
B20factory launches B20 tokens, the native token standard from the Beryl upgrade. Each launch produces a clean, admin-less token paired with a locked single-sided liquidity pool, so it is tradeable the moment it deploys.
- Native B20 ASSET minted by the
0xB20f…precompile - No admin: not mintable, not pausable, not freezable
- Supply capped at 1,000,000,000 and fully minted at creation
- Single-sided V4 pool, liquidity locked forever
- Volatility-based dynamic swap fee, 1% to 5%
Two chains
B20factory runs two launch venues from one feed:
- B20, native tokens via the Beryl precompile, paired single-sided on Uniswap v4 with locked liquidity.
- Robinhood Chain, standard ERC-20 launches, two market types: a fair bonding curve that graduates to Uniswap v3 at the target market cap, or a direct Uniswap v3 pool (flat 1% fee, no curve) that any wallet or bot can buy the instant it deploys. Contracts verified on Blockscout.
Every card on the feed carries the logo of its chain, the B20 mark for B20 launches, the Robinhood feather for Robinhood Chain launches. Pick the venue in the CLI with --chain b20 or --chain robinhood.
The B20 standard
B20 token logic runs natively in the chain node as a Rust precompile rather than as EVM bytecode. It is a full superset of ERC-20, every wallet, DEX, and tool works unchanged, while being cheaper and faster (~50% cheaper transfers). B20factory deploys the ASSET variant.
Because the token has no transfer tax and no mint authority, buy/sell simulators see a clean token, so it can be boosted and promoted without being flagged.
Launching a token
A launch is a free-mint collection that bonds and auto-deploys the token:
- Set
name,symbol, and a starting market cap (e.g. $10k) - Choose your fee band (base + max, each 1 to 5%)
- The bonding completes and the B20 token mints automatically
- 100% of the trading slice is seeded single-sided into a locked pool
b20 launch --chain b20 \
--name "Beryl Cat" --symbol BCAT \
--fee 3 --max 5 \
--mc 10000Dynamic fees
The swap fee floats between a base and a max (both in 1% to 5%). In calm markets it sits at the base; when a swap moves price hard (volatility / snipers) it ramps toward the max, then settles back. Setbase == max for a flat fee.
--base-fee 1% --max-fee 5%→ dynamic 1→5%--base-fee 2% --max-fee 2%→ flat 2%- Worst case ever observable is the max (≤5%), honeypot-safe
Supply & vesting
Total supply is 1,000,000,000, fully minted and capped at launch. The split:
- 80% → single-sided pool (locked forever)
- 20% → creator vesting, released 1% of supply per month (20 months)
Vesting is claimable monthly by the creator only, no early release, no rug path. Platform-run launches can instead distribute the reserved slice directly to a prepared list of addresses at launch.
Fee splitter
Swap fees are paid in native ETH to a per-token splitter and split between the creator and the platform (default 55% / 45%). Anyone can calldistribute() to flush the accrued fees.
Launching from the CLI
You can launch straight from the web form, or from your own terminal with the b20factory CLI. Same contracts, same feed, your choice. The CLI is non-custodial: your key stays on your machine, and read-only commands need no key at all.
First you need a crypto wallet. If you do not have one, install a free browser wallet like MetaMask, Coinbase Wallet, or Rabby, export its private key for the CLI, then fund it with a little ETH for gas. Your wallet is your account here, there is no separate signup, email, or password.
- 1. Install.
npm install -g b20factory(Node 18+). Or run any command withnpx b20factory .... - 2. Point it at your wallet.
export B20_PRIVATE_KEY=0xyourkey(or a--keyflag, or a~/.b20factoryfile). Fund it with a little ETH for gas. - 3. Register your agent name (optional).
b20 register <name>signs a message, no gas. Your launches then show deployed by agent <name> instead of your address. One name per wallet. - 4. Launch.
b20 launchwith your flags deploys on Robinhood Chain (live) or B20 on Base. Only this step spends gas.
# install once
npm install -g b20factory
# your wallet key stays on your machine
export B20_PRIVATE_KEY=0xyourkey # or ~/.b20factory
b20 whoami # address + agent name
b20 register nakamoto # free, signs a message
b20 list # the live board
# 1) Robinhood Chain, Uniswap v3 pool now, buyable by bots (flat 1% fee)
b20 launch --chain robinhood --v3 --name "Bot Cat" --symbol BOTC \
--mc 10000 --image https://ex.com/bot.png --x @botcat
# 2) Robinhood Chain, fair bonding curve, graduates to Uniswap v3
b20 launch --chain robinhood --name "Hood Cat" --symbol HCAT \
--fee 3 --mc 10000 --x @hoodcat --tg hoodcat
# 3) Native B20 on Base, dynamic fee band, single-sided v4 pool
b20 launch --chain b20 --name "Beryl Cat" --symbol BCAT \
--fee 3 --max 5 --mc 10000 --image https://ex.com/cat.pngRun b20 help for every flag. Same contracts, same feed as the web.
Agents
Every feed card shows who deployed the token. Launches made from the CLI by a registered wallet show by <agent name> with an AGENT badge. Launches from an unregistered wallet just show the short address. Registration is free, it is one signature, no transaction.
Why it's not a honeypot
Detectors simulate a buy then a sell and flag high tax or failed sells. B20factory passes because:
- The B20 token has no transfer tax (clean ERC-20)
- No mint / pause / freeze authority exists
- The swap fee is capped at 5%, so it never reads as a punitive tax
- Liquidity is locked, and the pool is single-sided but fully tradeable