Skip to main content

Protocol Overview

Runner Protocol is a fair token launch platform on Solana, built around the Continuous Clearing Auction (CCA) mechanism originally designed by Uniswap Research. It provides trustless, on-chain price discovery that eliminates the timing games, front-running, and MEV extraction that plague existing token launch methods.

Architecture

Runner Protocol is composed of two on-chain programs that work together, plus an off-chain indexer for frontend data:

┌──────────────────────────────────────────────────────────┐
│ Launchpad Orchestrator │
│ 8zfW4iLA7JagfotwCn8FT3SpdzUyGQ7CRSzjMwmJyK6F │
│ │
│ Token-2022 mint ─► Escrow setup ─► CCA auction CPI │
│ Settlement pipeline ─► Raydium pool ─► Enable claims │
└────────────────────────┬─────────────────────────────────┘
│ CPI (Cross-Program Invocation)

┌──────────────────────────────────────────────────────────┐
│ CCA V2 Engine │
│ F5DdorN9nawhpQJZkfLYx2SpcWxSTZnwh3ZRyNtXP5do │
│ │
│ Bidding ─► Tick linked list ─► Checkpoint clearing │
│ Settlement math ─► Exit bids ─► Claim tokens │
└────────────────────────┬─────────────────────────────────┘
│ CPI

┌──────────────────────────────────────────────────────────┐
│ Raydium CPMM │
│ Permanent liquidity pool creation │
└──────────────────────────────────────────────────────────┘

Launchpad Orchestrator

The Launchpad program manages the full token launch lifecycle: creating Token-2022 mints with on-chain metadata, setting up escrow accounts, orchestrating the CCA auction via CPI, and executing the post-auction settlement pipeline (finalize, sweep proceeds, create Raydium pool, enable claims). It enforces protocol-level constraints like minimum auction duration, allowed quote mints, and token allocation bounds.

CCA V2 Engine

The CCA V2 program is the core auction engine. It implements the continuous clearing auction mechanism with Q96 fixed-point price math, a tick-based linked list for demand aggregation, checkpoint-based clearing price discovery, and lazy settlement using cumulative accumulators. It handles 13 instruction entry points covering auction initialization, bidding, checkpoint creation, bid exit, token claims, and currency/token sweeps.

Raydium CPMM

After a successful auction, the Launchpad creates a permanent Raydium CPMM liquidity pool seeded at the auction-discovered clearing price. LP tokens are burned on creation, making the liquidity irremovable.

On-Chain Account Types

CCA V2 Accounts

AccountPDA SeedsPurpose
AuctionConfig["cca_auction", authority, auction_id]Immutable auction parameters (supply, prices, timing)
AuctionState["cca_state", auction_config]Mutable live state (clearing price, demand, raised currency)
SupplySchedule["cca_supply", auction_config]Step-based token release schedule (MPS rates per block)
Checkpoint["cca_checkpoint", auction_config, block]Epoch snapshot with clearing price and settlement accumulators
Tick["cca_tick", auction_config, price]Price-level node in the demand linked list
Bid["cca_bid", auction_config, bid_id]Individual bid receipt tracking position and settlement

Launchpad Accounts

AccountPDA SeedsPurpose
ProtocolConfig["cca_protocol"]Global protocol settings (fees, limits, allowed mints)
LaunchConfig["cca_launch", creator, launch_id]Per-launch configuration and settlement state machine
Token Mint["cca_token_mint", launch_config]Token-2022 mint with MetadataPointer
Escrows["escrow", launch_config, type]Five escrow accounts (auction, LP, team, proceeds, fee)

Key Properties

PropertyDescription
Fair pricingClearing price is the highest price where all released tokens can sell
Early participation rewardedBids placed earlier get exposure to more auction blocks at potentially lower prices
Non-withdrawable in-range bidsBids above the clearing price cannot be withdrawn, preventing strategic manipulation
Mandatory mint authority renunciationAfter settlement, no one can mint additional tokens
Permanent liquidityLP tokens are burned, making the Raydium liquidity pool irremovable
Permissionless settlementEvery settlement step can be triggered by anyone (keeper bots, bidders, team)
PDA custodyAll tokens and currency are held in program-derived accounts, not external wallets

Current Status

Pre-Launch

Runner Protocol is currently deployed on Solana Devnet for testing and verification. It has not yet launched on mainnet. A professional security audit is planned but has not yet been completed.

ComponentStatusDetails
CCA V2DevnetProgram ID: F5DdorN9nawhpQJZkfLYx2SpcWxSTZnwh3ZRyNtXP5do
LaunchpadDevnetProgram ID: 8zfW4iLA7JagfotwCn8FT3SpdzUyGQ7CRSzjMwmJyK6F
IndexerLiveRailway deployment indexing both programs
Unit tests211 passingCCA V2 Rust tests including 48 property-based (proptest)
Integration tests95 passingCCA V2 (29) + Launchpad (29) + Indexer (36)
E2E lifecycle26 passingFull auction lifecycle on local validator
Fuzz tests6 targets7.2M+ iterations, 0 crashes
Security reviewInternal onlyMultiple adversarial review rounds; professional audit pending

Tech Stack

  • Framework: Anchor 0.29.0
  • Solana: solana-program 1.18, CLI 3.0.13
  • Token standard: Token-2022 with MetadataPointer extension
  • Math: Q96 fixed-point (2^96 scaling), U256 as [u8; 32] little-endian
  • DEX integration: Raydium CPMM via raw invoke_signed