OVERVIEW / STATUS

Status and scope

DEPLOYED

The contracts are live on Robinhood Chain and launching is open to the public. Verify every address in the Addresses section against the explorer before interacting, and rebuild the source with the pinned compiler settings to check the deployed bytecode yourself.

The AGI Launchpad is two independent sets of contracts for launching a fixed-supply ERC-20 into liquidity that nobody can pull back out. Model V1 opens a Uniswap V3 pool and locks the position forever. Model V2 runs a bonding curve and graduates into a Uniswap V4 pool governed by a hook. The contracts are deployed on Robinhood Chain and open to the public; the Addresses section is filled from config.js. Every number below was read out of the Solidity in contracts/launchpad-v1/src and contracts/launchpad-v2/src/v2.

A token marked Listed in the hub was not launched here. It was launched on another launchpad on Robinhood Chain and trades on its own Uniswap V4 pool behind that launchpad's hook; buying or selling it from our pages sends the swap to that pool, and its fees go to that launchpad and to the token's creator, not to us. $AGI itself is one. The hub shows its trades, chart and holders read from the chain like any other launch.

What exists today

  • contracts/launchpad-v1 — the no-curve model. Three contracts: AgiLaunchFactory, AgiLaunchLocker, AgiLauncherToken. The factory deploys a token, creates a Uniswap V3 pool and mints the liquidity position, which the locker then holds forever.
  • contracts/launchpad-v2 — the bonding-curve model. Eleven contracts: AgiV2LaunchFactory, AgiV2BondingCurve, AgiV2LaunchDeployer, AgiV2MemeHook, AgiV2GraduationExecutor, AgiV2GraduationGuard, AgiV2BuybackVault, AgiV2FeeEscrow, AgiV2LaunchLocker, AgiV2LauncherToken, AgiV2LaunchAndBuy. A token trades on a curve and graduates into a Uniswap V4 pool governed by a hook.
  • A pinned build. Each tree fixes its compiler version, optimizer setting, EVM version and IR pipeline in its own foundry.toml, so the bytecode is reproducible byte for byte by anyone who builds it. See Building the contracts.
  • ABIs generated from the compiled artifacts into contracts/abi/*.json, one file per contract.
  • The $AGI token itself has been live on Robinhood Chain since 2026-09-01. It was launched on a third-party launchpad on the same chain, not through these contracts, and now trades in a Uniswap V4 pool — its curve no longer operates. It is not part of this protocol.

What does not exist yet

  • Any address outside config.js. The contracts are on chain and the Addresses section prints exactly what config.js carries. A factory, locker, hook, escrow or vault at any other address is not ours, whatever it is called. Verify us lists the only places we exist.
  • Any audit or independent review. Nobody independent has reviewed these contracts, the deployment parameters, the owner key or this front end. 695 Solidity tests (kept in packages apart from the source, so they cannot move the bytecode) and 1,014 backend tests exist; no external audit does. Read Risks before you decide what that is worth.
  • A launch configuration on this page. The live LaunchConfig entries are state on the factory (getLaunchConfig), and the values in Fees are what the chain reported when this page was last reviewed, not a promise that they still hold. Read the chain, not this page, for the current ones.
  • A multisig owner. owner() on the deployed contracts is the address listed under Roles; this page makes no claim about what kind of key holds it — check it on the explorer. As Owner powers sets out, that is not a ceremonial role.
  • An indexer you must trust. The Cloudflare Worker behind the API is a cache: it reads the chain and serves what it indexed, anything it shows can be re-derived from the contracts, and the pages read the chain directly when it fails. See Operations.
How to read this page

Every number below was read out of the Solidity in contracts/launchpad-v1/src and contracts/launchpad-v2/src/v2, not from a summary. Where a value is a ceiling the owner configures under, it says so, because the ceiling and the setting are different promises. Where something is a constructor default rather than a guarantee, it says that too.