“Robinhood” here means Robinhood Chain, an EVM Layer 2 (Arbitrum Orbit) with chain ID
4663 and ETH as the native gas token. It is a separate chain from Solana and from BNB Chain.What you can do
- Launch a token through the
BagsFactory(with an optional atomic initial buy). See Launch a Token. - Trade a token against its bonding curve before graduation, and against a Uniswap v4 pool after graduation. See Trade Tokens.
- Read state and discover tokens through
BagsLensand the factory registry. See Read State & Discover Tokens. - Claim creator fees from a token’s
BagsFeeShare. See Claim Creator Fees.
Token lifecycle
Every Bags token moves through two trading phases. It is created on a bonding curve; once enough ETH has been raised it graduates (migrates) into a Uniswap v4 pool with permanently locked liquidity.- Creation —
BagsFactory.create(orcreateAndBuy) deploys a per-tokenBagsToken,BagsBondingCurve, andBagsFeeShare, mints the fixed supply to the curve, and registers the token. - Bonding curve — trades run against the token’s
BagsBondingCurveusing a virtualx * y = kAMM. Buys send native ETH; sells return native ETH. - Graduation — when the curve’s real ETH reserves reach
thresholdQuote, the next buy triggers migration: liquidity is deposited into a Uniswap v4 pool (with the Bags hook), the LP is locked, and the curve is paused. The curve emits aMigratedevent. - Uniswap v4 — after graduation, trades route through the Robinhood-modified UniversalRouter against the token/WETH pool.
Determine the current phase by reading the token’s
migrated flag from BagsLens.getTokenState, and route trades accordingly. Never assume a phase.Fee model
A flat 2% fee is charged on the ETH/WETH leg of every trade, in both phases:| Portion | Rate | Destination |
|---|---|---|
| Platform | 1% (50% of the fee) | BagsVault (native ETH) |
| Creator side | 1% (50% of the fee) | The token’s BagsFeeShare (accrues in WETH) |
- On buys, the fee is taken from the ETH input before it enters the curve/pool.
- On sells, the fee is taken from the ETH output.
- The creator side is split among the token’s fee claimers (and an optional partner) by the basis points set at launch. Claim it with
BagsFeeShare.claim.
creationFee, currently 0 ETH) paid to the vault when a token is created.
Chain facts
| Fact | Value |
|---|---|
| Network | Robinhood Chain (Arbitrum Orbit L2) |
| Chain ID | 4663 (0x1237) |
| Native currency | ETH (18 decimals) |
| RPC (public) | https://rpc.mainnet.chain.robinhood.com (rate-limited) |
| Explorer | robinhoodchain.blockscout.com (Blockscout) |
| Block time | ~100 ms, first-come-first-served sequencer |
| Protocol deploy block | 6191492 (lower bound for any log scan) |
Contract address book
These are the protocol singletons and shared infrastructure on Robinhood Chain mainnet.| Contract | Address | Role |
|---|---|---|
BagsFactory | 0x46aD6f53A3C26C8027826e2104cF0595b7b24D40 | Launch entry point + on-chain registry |
BagsLens | 0xcF8DA63Dd1cb58daDd2c1B350ac756ffA43EF2d4 | Batched read aggregator (state, claimable) |
BagsV4Hook | 0x208378dDc05eD5De1833624a30EB9C1d26f86EcC | Singleton Uniswap v4 hook; takes the 2% post-migration fee |
BagsVault | 0x26e421917aeA64B615A3127A2BA3AC3051C3ab80 | Platform treasury (native ETH) |
| UniversalRouter | 0x8876789976dEcBfCbBbe364623C63652db8C0904 | Robinhood-modified fork — post-migration swaps |
| V4Quoter | 0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94 | Off-chain quotes for pool swaps |
| StateView | 0xF3334192D15450CdD385c8B70e03f9A6bD9E673b | Pool state reads (getSlot0, getLiquidity) |
| PoolManager | 0x8366a39CC670B4001A1121B8F6A443A643e40951 | Uniswap v4 singleton (Swap logs) |
| Permit2 | 0x000000000022D473030F116dDEE9F6B43aC78BA3 | Canonical Permit2 (router spending route) |
| WETH | 0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73 | aeWETH proxy (WETH9-compatible interface) |
| Multicall3 | 0xcA11bde05977b3631167028862bE2a173976CA11 | Canonical multicall |
Per-token contracts
BagsToken, BagsBondingCurve, and BagsFeeShare are deployed per launch as EIP-1167 minimal proxy clones with no salt, so their addresses are not predictable before launch.
Always resolve them from:
- The
TokenCreatedevent in the launch receipt (returnstoken,curve,feeShare,poolId), or - The factory registry:
factory.curveForToken(token)andfactory.feeShareForToken(token), or BagsLens.getTokenState(token)(returnscurve,feeShare,poolId, and more).
Token supply
Every Bags token has a fixed supply of 1,000,000,000 (1e9) tokens, each with 18 decimals (1_000_000_000 * 1e18 base units). Fully diluted valuation (FDV) equals the spot price in ETH per token multiplied by 1e9.
Next steps
Environment Setup
Configure your viem clients and ABIs for Robinhood Chain.
Launch a Token
Create a token through the BagsFactory.
Trade Tokens
Buy and sell across the bonding curve and Uniswap v4.
Contracts Reference
Functions, events, errors, and ABIs.
