RamsesLaunchpad docs
Protocol

Architecture

The contracts, the indexer, and the frontend — and how they fit together.

System diagram

Creator ──▶ TokenFactory.createLaunch() ──▶ LaunchToken + BondingCurve
Users   ──▶ BondingCurve.buy/sell ──▶ curve fills ──▶ auto-sweep
        └─▶ TokenFactory.createGraduatedPool() ──▶ RamsesGraduationBridge
              ├─ creates Ramses V3 pool + mints full-range LP
              ├─ locks LP NFT in RamsesLpLocker (permanent)
              └─ returns RamsesPoolWrapper (the curve's graduated pool)

RamsesLpLocker.collectFees() ──▶ RamsesPoolWrapper.forwardFees()
  ──▶ BondingCurve.handleGraduatedPoolFee() ──▶ 30/70 split ──▶ FeeEscrow

Ponder indexer ──▶ GraphQL ──▶ Next.js frontend

Contracts

ContractRole
TokenFactoryLaunch entry point; pins economics, deploys token + curve, drives graduation, owns admin levers.
LaunchTokenFixed-supply ERC-20 with on-chain metadata (logo, description, socials) set at construction.
BondingCurvePer-launch trading venue: constant-product pricing, fees, snipe tax, holder sharing, graduation sweep.
LaunchAndBuyRouterAtomic launch-and-buy, so a creator's opening buy can't be front-run by their own launch.
RamsesGraduationBridgeIGraduationExecutor: creates the Ramses V3 pool, mints the full-range LP, locks it.
RamsesPoolWrapperMinimal pool interface for the curve; forwards swaps to Ramses and auto-collects fees.
RamsesLpLockerPermanent custody of the LP NFT; permissionless fee collection only.
FeeEscrowShared pull-based escrow all fees are claimed from.
BuybackVault5-year linear vesting for creator buybacks.
RamsBuybackVaultReceives 10% of protocol fees; a keeper buys and permanently locks RAMS.

Indexer

A Ponder indexer watches the factory and bridge, then dynamically discovers every curve, token, and pool wrapper from their events. It maintains:

  • pools — one row per curve or graduated pool, with a venue column (curve / amm) so charts are continuous across graduation.
  • trades — one immutable row per CurveBuy / CurveSell / Swap, with a normalized 1e18 fixed-point price.
  • candles — rollup-on-write OHLC data.
  • holders — per-token balances derived from Transfer logs.

The frontend queries it over GraphQL (NEXT_PUBLIC_INDEXER_URL, default http://localhost:42069/graphql in development).

Frontend

A Next.js app (this site): launch form, markets board, token pages with live charts and trade panels, analytics, claims, and portfolio. Wallet interaction uses wagmi/viem against Robinhood Chain.

Trust model

  • Permanent: LP lock, escrow accounting, curve economics (immutable per launch), the 5-year buyback vesting.
  • Owner-gated: adding launch configs, launch fee, pausing new launches, the buy-only trading pause, proposing (not executing) community takeovers.
  • Permissionless: trading, sweeping fees, claiming, executing matured takeovers, retrying graduation, collecting pool fees.