Pre-launch. The protocol is not publicly live yet. This documentation describes the contracts as implemented; deployed addresses are published at launch.

LP24 Protocol Documentation

Complete developer reference for integrating with the LP24 bonding-curve protocol. Deploy tokens, trade on bonding curves, and interact with graduated DEX pools — all permissionlessly, directly from smart contracts.

Trustless and Permissionless

There is no official trading frontend. Every function documented here is called directly on-chain, and this documentation is the integration path — not a supplement to a web app. The contracts have no owner, no admin key, and no upgrade mechanism.

The per-chain sites at <chain>.lp24.tech are read-only token explorers and charts. They serve an indexed database fed by the event stream, with no wallet connection and no way to transact. Nothing in the protocol depends on them being online.

Trust attaches at exactly one surface: launch-time state — the constructor arguments, the patched constants, and the seed liquidity. Everything after deployment is verifiable on-chain.

What is LP24?

LP24 is a permissionless token launch protocol deployed across 5 chains. It combines a bonding curve for initial price discovery with automatic graduation into permanent, protocol-owned DEX liquidity. The entire lifecycle — from token creation to fully-traded pair — happens without any manual intervention.

All contracts are written in Vyper 0.4.3. Every chain runs the same economic design; only the DEX integration layer differs.

ChainNativeDEX venuePool structure
Base ETH Uniswap V4 Dual — primary + secondary
BSC BNB PancakeSwap Infinity Dual — primary + secondary
Polygon POL Uniswap V4 Dual — primary + secondary
Robinhood ETH Uniswap V4 Dual — primary + secondary
Gnosis xDAI Uniswap V3 Single pool

Protocol at a Glance

1
Deploy Token + Bonding Curve
Call Factory.deploy_pair() with a name, symbol, mined vanity salt, and packed socials. Pays the deployment fee. Creates a minimal-proxy token and bonding curve in one transaction and registers the token under your address.
2
Trade on the Bonding Curve
Anyone can buy and sell lots. Price rises quadratically with supply. A dynamic tax falls from 1,200 (12%) to 120 (1.2%) as supply grows. Deployer tokens are locked and cannot be sold.
3
Graduation
When all 800,000 lots are sold, the curve graduates atomically inside the final buy. It mints 400,000,000 × 10⁹ (400M) liquidity tokens, creates the DEX pool, and unlocks transfers. The deployer receives 90% of accumulated curve fees.
4
Dual Pools
On V4-family chains the graduation envelope splits 90/10: 90% mints the primary native↔token pool, 10% is pushed to the SecondaryHook to build a token↔$LP24 pool. Gnosis runs a single V3 pool instead.
5
Post-Graduation Trading
The token trades with dynamic hook fees (120 bps (1.2%) / 80 bps (0.8%) / 40 bps (0.4%)). Fees split 30% deployer, 10% protocol, 60% reinvested as permanent liquidity. Every fee operation is permissionless.
6
Community Takeover (Optional)
Holders can initiate a CTO vote to replace the deployer. Requires the 60,000,000 × 10⁹ (60M, 5% of supply) stake plus the chain's fee, 40% YES of circulating, at least 10 distinct voters, and a YES ≥ 1.1 × NO margin over a 3-day window.

Code Examples

Every guide shows the same operation in two languages; the tabs on each block switch between them, and your choice is remembered across pages.

LanguageLibraryNotes
JavaScriptethers v6Runs in Node and the browser unchanged. If you use viem, the contract calls map across directly — only the provider and signer setup differ.
Pythonweb3.py v7 or v8Examples stick to the core contract API, which has been stable since v6, and sign transactions explicitly rather than using signing middleware.
One difference worth knowing up front

ethers accepts human-readable ABI fragments, so its examples declare the few functions they need inline. web3.py requires a JSON ABI, so the Python examples load one from the compiler output. That is the only structural difference between the two sets — everything else is a direct translation.