Apex Family documentation

Everything about launching and trading coins on Robinhood Chain: how launches are seeded, how trading and routing work, where every unit of fee goes, and what the contracts can and cannot do.

Overview

Apex Family is a coin launchpad on Robinhood Chain (chain id 4663) built directly on Uniswap V4. There is no bonding curve and no "graduation": the moment a coin is created, its entire supply sits in a real Uniswap V4 pool and it is tradeable.

  • Every coin is paired with an asset the creator chooses: ETH, USDG, one of the 194 official Robinhood stock tokens (AAPL, NVDA, TSLA, SPY, …), or any ERC-20 on the chain.
  • Buyers do not need the paired asset. They pay with ETH and the router converts through the official stock pools in the same transaction.
  • Each coin has a trade fee of 1–5% chosen at launch. 0.3% of volume goes to the platform; the rest goes to one of three fee models: Cashback to holders, Buyback & burn, or Direct to a wallet.
  • Liquidity is owned by a contract with no withdraw function. No admin keys, no pause, no upgrade.

Quick start

For creators

  1. Connect a wallet on Robinhood Chain with a little ETH for gas (a launch costs roughly 0.0003 ETH).
  2. Open Create. Upload a logo, fill in name, ticker, description and links.
  3. Pick the paired asset and the trade fee (1–5%) and the fee model. These three are permanent.
  4. Optionally enter an amount to buy in the same transaction — nobody can front-run it.
  5. Confirm one transaction. Then sign one message (no gas) to attach your logo and links. You land on the trading terminal within seconds.

For traders

  1. Open Trade, pick a coin on the left.
  2. Enter an ETH amount (or a % of your balance when selling). The quote, price, route and minimum received update live.
  3. Press Buy / Sell. Selling an ERC-20 needs a one-time approval first.

How a launch works

A launch is one transaction to LaunchFactory.createLaunch. Inside it:

  1. A new LaunchToken (standard ERC-20, 18 decimals) is deployed with a fixed supply of 1,000,000,000. The supply is the same for every coin and cannot be changed or minted later.
  2. A Uniswap V4 pool is initialised for coin / paired asset with the launchpad hook attached, dynamic fee flag and tick spacing 60.
  3. The entire supply is deposited as single-sided, full-range liquidity. The position is owned by the hook contract, which has no function to remove it.
  4. If the creator entered an initial buy, it is executed in the same transaction through the router, so no bot can buy before the creator.

Starting price

The creator does not set a price. Every coin starts at the same market cap, ≈ $2,000, converted into the paired asset using live prices (ETH from the on-chain ETH/USDG pool, stocks from Robinhood's official price feed, USDG = $1). From the first trade the price is driven purely by Uniswap's constant-product curve over the full range. With 1,000,000,000 tokens and a $2,000 cap the starting price is about $0.000002 per token, which is why prices are displayed with subscript zeros (e.g. 0.0₅2010).

What is immutable

  • Name, ticker, supply.
  • Paired asset and pool parameters.
  • Trade fee (bps) and fee model, plus the fee recipient wallet and buyback threshold where applicable.
  • The liquidity position. There is no code path that withdraws it.

Logo, description and social links are off-chain metadata stored by the API; only the creator wallet can change them (each update is a signed message).

Paired assets

The paired asset is what the pool holds on the other side of the coin. It determines the currency in which fees are collected and paid out.

PairNotes
ETHNative gas token. Simplest: buyers trade directly against the pool.
USDGGlobal Dollar stablecoin (6 decimals). Fees and cashback are paid in USDG.
194 official stock tokensIssued by Robinhood; 18 decimals; logos and prices come from Robinhood's public API. Buyers pay with ETH and are routed through the official stock pools automatically.
Any ERC-20Paste an address on the create page. The token must have a USD price source for the start-price derivation, otherwise the create button stays disabled.

Stocks that have no liquid pool against ETH, WETH or USDG on Uniswap V4 can still be used as a pair, but buyers would have to hold the stock themselves — the terminal shows "No ETH route" in that case. The routing graph is refreshed from chain data (currently 174 pools covering 71 stocks).

Trading

Two router contracts exist. The terminal picks the right one automatically.

RouterUsed whenWhat it does
LaunchRouterThe coin is paired with ETHOne swap in the coin's pool. Sends exact ETH in, enforces minimum out and deadline.
ZapRouterThe coin is paired with anything elseMulti-hop: ETH → (official pools) → paired asset → coin, all inside one Uniswap V4 unlock. Reverse for selling, ending in ETH.

Quotes, slippage and deadlines

  • Quotes are computed on-chain by ZapRouter.quoteExactIn (an eth_call that executes the swap and reverts with the result), so they reflect the exact pool state at that moment, including hook fees on the route.
  • The quote is taken again the instant you press Buy/Sell; Min received = quote × (1 − slippage). Default slippage is 1% for ETH pairs and 3% for routed pairs, because the official stock pools track an oracle and can move between quote and confirmation.
  • Every swap carries a 10-minute deadline. A transaction that mines later than that reverts with Expired.
  • If any pool on the route cannot absorb the full amount, the router reverts with PartialFill instead of leaving funds inside the contract. The terminal then shows "Not enough liquidity for this size".

Approvals

Buying with ETH needs no approval. Selling requires a one-time ERC-20 approval of the coin to the router that will be used (LaunchRouter for ETH pairs, ZapRouter otherwise). The panel asks for it automatically.

Pay with ETH or any stock

A coin paired with NVDA is still bought with ETH. The frontend builds candidate routes of up to three hops from the on-chain pool graph, simulates each one through quoteExactIn, and picks the best output — preferring the shorter route when it is within 3% of the best.

  • Pools with a fee above 3% are excluded. Pools whose hook rejects third-party callers (for example hook 0x9a8A…4880 used by some WETH/stock pools) are excluded as well.
  • ETH and WETH are interchangeable on a route: the router wraps ETH when the first pool needs WETH and can unwrap on the way out.
  • The launch pool is always the last hop when buying and the first when selling, so the coin's own trade fee applies exactly as with a direct trade.
  • Selling always ends in ETH in your wallet — you never receive the intermediate stock.

The same contract also accepts any ERC-20 as input (approve it to ZapRouter and build the path from that asset), which is what integrations can use to pay with a stock directly.

Trade fee & collection

The trade fee is implemented as Uniswap V4's dynamic LP fee: the hook's beforeSwap returns an override equal to the coin's fee (100 bps × taxBps), so the fee is charged by Uniswap itself on every swap in the pool — buy or sell, through any router. The fee accrues to the liquidity position, which the hook owns.

Collection

Anyone can call LaunchHook.collectAndRouteFees(poolKey). A keeper does it automatically every five minutes; the terminal also has a "Collect pending fees" button. The call:

  1. Collects accrued fees from the position in both currencies.
  2. Converts the coin-side fees into the paired asset with a swap that is limited to 5% price impact per call; anything beyond that waits as pendingTokenFees for the next collection.
  3. Sends the platform its share: platformCut = collected × 30 / taxBps, i.e. exactly 0.3% of volume whatever the coin's fee is.
  4. Hands the remainder (the "feature amount") to the coin contract, which applies the fee model.

All amounts are public: the Fee flow tab on every coin lists collections, distributions, claims, buybacks and creator payouts with transaction links.

Fee models

Cashback (holders)

The feature amount is distributed to holders pro-rata using a dividend accumulator (magnifiedDividendPerShare). The denominator is the circulating supply — the pool and the hook are excluded, so holders are not diluted by tokens still sitting in liquidity.

  • Cashback accrues continuously; balances transferred later carry their already-accrued amount with them.
  • withdrawableDividendOf(you) shows what you can claim; claimDividend() pays it in the paired asset. The terminal shows the claim button only to wallets that actually have something to claim.
  • Nothing to distribute to (no circulating holders) is kept as undistributedDividend and released on the next distribution.

Buyback & burn

The feature amount accumulates in buybackReserve. Once it reaches the buybackThreshold set at launch, anyone can call triggerBuyback():

  • The caller receives 0.1% of the reserve as an incentive (the keeper does this automatically, but anyone may race it).
  • The rest is swapped for the coin through the pool by the hook itself — this internal swap is exempt from the trade fee — and the purchased coins are burned, reducing supply permanently.
  • If the pool cannot absorb the whole amount, only the filled part is spent; the remainder stays in the reserve.

Direct to creator

The feature amount is sent immediately to the fee recipient wallet fixed at launch (DirectFeeSent event). Nothing is held by the contract.

Worked example

Coin paired with ETH, fee 3%, model Cashback. Over a day the pool sees 1 ETH of volume.

ItemAmountWhere
Trade fee charged by the pool0.03 ETHaccrues to the hook's position
Platform (0.3% of volume = 0.03 × 30/300)0.003 ETHplatform treasury
Feature amount0.027 ETHdistributed to holders pro-rata
A wallet holding 10% of circulating supply0.0027 ETHclaimable any time

With a 5% fee the platform share is still 0.3% of volume (0.05 × 30/500) and holders receive 4.7%.

Guarantees & security

  • No admin. The factory's only owner function (setHook) was called once at deployment and cannot be called again. No pause, no upgrade, no allowlist.
  • Liquidity cannot be withdrawn. The hook owns the position and exposes no removal function; its Uniswap permissions are limited to beforeSwap.
  • Fees are deterministic. The split (0.3% platform, remainder to the model) is arithmetic in the contract, not a setting.
  • No tax on the way in for the creator. Create-and-buy uses the same pool and pays the same fee as everyone else — the only privilege is ordering.
  • Router safety. Both routers enforce minimum output and deadline, refund nothing silently, and hold no balances between transactions.
  • Testing. The contracts are covered by 107 tests run against a fork of Robinhood Chain mainnet, including all pair types (ETH, USDG, stocks, token/token), every fee model, buyback atomicity and partial fills, and multi-hop routing through the official stock pools.

Known limits: the official stock pools are operated by third parties with their own hooks; their prices follow off-chain oracles and can move between a quote and its confirmation, which is why routed trades default to 3% slippage. A trade that reverts costs only gas — no funds leave your wallet.

Contracts & addresses

ContractAddressPurpose
LaunchFactory0x522935E20ab782Da861e12f9F875C17B0f69BF38Creates coins, initialises and seeds pools
LaunchHook0xeCBAD2f2c011FA7BA907201dBdFa7c6AF5C68080Uniswap V4 hook: dynamic fee, fee collection, liquidity owner
LaunchRouter0x5B6D3DC633ca649205AC8f4373493bdA9B3AcE8DDirect buy/sell for ETH-paired coins, creator initial buy
ZapRouter0x09c9Af6318fA912D5a29E3B1e0cdD93Bd818814CMulti-hop buy/sell with ETH or any asset
PoolManager (Uniswap V4)0x8366a39CC670B4001A1121B8F6A443A643e40951Uniswap V4 singleton
USDG0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168Global Dollar (6 decimals)
WETH0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73Wrapped ETH
Platform treasury0x3e9eDA13e92ACEaDDE5FB6b32aDE16a87Ed2F5edReceives the 0.3%
ConstantValue
Supply per coin1,000,000,000
Starting market cap≈ $2,000
Trade fee range1% – 5%
Platform share0.3% of volume
Buyback caller incentive0.1% of the reserve
Pool tick spacing60
Fee models0 = Direct, 1 = Cashback, 2 = Buyback

Events worth indexing: LaunchCreated, InitialBuy (factory); FeesCollected (hook); DividendAdded, DividendClaimed, DirectFeeSent, BuybackReserveAdded, BuybackExecuted (coin); QuickBuy, QuickSell (LaunchRouter); Zap (ZapRouter); and Uniswap's Swap on the PoolManager filtered by pool id.

Developer API

The public read API that powers this site (base URL is configured per deployment):

EndpointReturns
GET /api/statscoins launched, 24h volume, trades, cashback paid
GET /api/tokens?sort=fdv|volume|newest&pair=eth|usdg|stock|custom&q=coin list with price, market cap, volume, holders, sparkline
GET /api/tokens/:addressfull coin detail incl. pool id, fee settings, metadata
GET /api/tokens/:address/candles?interval=60OHLCV candles (only buckets with trades)
GET /api/tokens/:address/tradesrecent trades with trader address and tx hash
GET /api/tokens/:address/holderstop holders and share of circulating supply
GET /api/tokens/:address/feesfee flow totals and recent fee events
GET /api/pricesUSD prices for ETH, USDG and every official stock token
GET /api/paired-assetsthe paired-asset registry with logos
POST /api/tokens/:address/metadatacreator-signed logo / description / links update

ABIs and addresses are published as a single JSON bundle (launchpad.json) in the repository's frontend/ folder, together with the paired-asset registry and the routing pool graph.

Custom pairs & routing

Any ERC-20 on Robinhood Chain can be a paired asset, not only ETH, USDG and the official stocks. Two pieces make that work end to end:

Prices for any token

  • The starting market cap of a new coin needs a USD price for the paired asset. Order of sources: the on-chain ETH/USDG pool (ETH), Robinhood's official price feed (stock tokens), USDG = $1, and finally GeckoTerminal for any other token that has a tracked pool on Robinhood Chain.
  • Prices are cached for one to two minutes and exposed via GET /api/prices (all known assets) and GET /api/prices/:address (single token lookup used by the create page).
  • If no source knows the token, the create button stays disabled with an explanation — a coin cannot start at an unknown price.

Routing through any Uniswap V4 pool

  • The indexer records every Uniswap V4 pool initialised on Robinhood Chain (about 150,000 at the time of writing) and keeps the list current block by block.
  • GET /api/pools/:token returns the pools of a token that currently hold liquidity, read on chain in one batched call and cached for five minutes.
  • The trade panel merges those pools into the routing graph, so a coin paired with a custom token still gets an ETH route (for example ETH → USDG → PONS → coin). Every candidate is simulated and the best output wins; shorter routes are preferred when within 3%.
  • Pools with fees above 10% and pools whose hook rejects third-party callers are excluded.

Logos

Stock token logos are served from the site itself (one PNG per ticker); the official Robinhood CDN returns a generic icon for every token. Coin logos are uploaded by creators; pair badges open a popover with the asset's name, decimals, ISIN and explorer link.

Analytics

The Analytics page shows protocol-wide totals in USD, refreshed every few seconds from GET /api/analytics: total and 24h volume, coins launched, trades, unique holders, and where the fees went — cashback distributed and claimed, buybacks executed, creator payouts and platform revenue (0.3% of volume). It also breaks volume down by paired asset and by fee model, plots hourly volume for the last 48 hours and lists the top coins by 24h volume. Amounts in different paired assets are converted with the same price sources as the rest of the site.

$APEX token

  • $APEX is the official token of Apex Family. It launches on Pons; the contract address is published on the $APEX page and on X before launch — anything else claiming to be $APEX is not official.
  • Revenue flywheel: 50% of platform revenue (the 0.3% of volume collected from every coin) is used to buy $APEX on the open market from a public wallet; the other 50% funds development, infrastructure and growth. The buyback budget is computed from the same on-chain numbers shown on Analytics.
  • What happens to bought-back tokens is published before launch.

Airdrop program

Creators can distribute part of their coin to $APEX holders. Confirmed rules so far — see the Airdrop page for updates:

RuleValue
Minimum airdrop size (creators)3% of supply — 30,000,000 tokens
Minimum $APEX held (holders)$10 worth of $APEX at the snapshot
Additional criteriaTo be announced before the first airdrop
StatusOpens after the $APEX launch

Eligibility is read from the chain — no registration and no claim fees. Apex Family never asks you to connect to an external site or sign a message to "verify" an airdrop.

Profiles & portfolio

  • Every wallet has a public page at /profile/<address>: avatar, display name, bio and links, plus Portfolio (coins held, share of supply, USD value), Coins created and a full Activity feed (launches, buys, sells, cashback claims, buybacks triggered, creator fees received) with transaction links.
  • Connect a wallet and open Profile in the navbar to set up your own. Changes are saved with one wallet signature (no gas) via PUT /api/creators/:address; only that wallet can edit them.
  • The creator of every coin is shown in the terminal header and under the trade panel, linking to their profile. Data comes from GET /api/profile/:address.

FAQ

Why did my swap fail?+

Almost always slippage: on routed pairs the official stock pools follow an oracle and moved between your quote and the confirmation. The panel re-quotes at send time and defaults to 3% on routed pairs; raise it to 5–10% during volatile moments. A reverted swap costs only gas.

Why is the price so small?+

Every coin has 1,000,000,000 tokens and starts at about $2,000 market cap, so one token is worth a fraction of a cent. Watch market cap rather than unit price.

Can the creator change the fee or the model later?+

No. Fee, model, recipient and threshold are constructor parameters of the coin and have no setters.

Can the creator or the platform pull liquidity?+

No. The position is owned by the hook contract, which has no function to remove liquidity. The platform only receives the 0.3% fee share.

What happens to stock-paired coins when markets are closed?+

Robinhood stock tokens trade 24/7 on chain, but the official pools widen their spread when the underlying market is closed, so routed quotes can be less favourable at weekends. The coin's own pool is unaffected.

I created a coin but the page said 'Indexing'.+

The data feed follows the chain by a few seconds. The page polls and opens automatically; if it does not appear within two minutes the transaction most likely failed — check the explorer link.

Two coins have the same ticker.+

Tickers are not unique on chain. Always check the contract address, the creator and the age; the logo and links are attached only by the real creator's signature.

Do I get cashback if my coins are in a liquidity pool or a contract?+

Only wallet balances count. The launch pool and the hook are excluded from the circulating supply on purpose; any other contract holding the coin accrues cashback like a wallet and would need to call claimDividend itself.

Glossary

TermMeaning
Paired asset / quoteThe asset on the other side of the coin's pool; fees are paid in it.
Feature amountTrade fee minus the platform's 0.3% of volume; goes to the fee model.
Circulating supplyTotal supply minus what the pool and the hook hold.
HookA Uniswap V4 contract attached to a pool that customises fees; here it also owns the liquidity.
ZapA multi-hop swap that converts your ETH (or any asset) into the paired asset and then into the coin in one transaction.
Partial fillA pool could not absorb the whole trade; the router reverts rather than leave funds behind.
Min receivedQuote × (1 − slippage): the transaction reverts if the output would be lower.

Explorer: https://robinhoodchain.blockscout.com