
Launch a token that trades immediately
Bonding-curve token launchpad
One EVM call mints a fixed-supply token and opens a constant-product market on virtual reserves.
Call createMarket once and you mint a fixed-supply token, deploy its ERC20 pointer and open a market priced against virtual reserves, so trading starts before anyone deposits liquidity. Buys and sells run on the curve at a fee recomputed per swap from pool age and volatility. Each buy fee splits between the treasury and the market's fee-rights holder, who picks whether the accrued share is claimed, burned, airdropped or returned to the curve. Set the quote denom before markets trade.
What it does
One EVM call mints a fixed-supply token, deploys its ERC20 pointer and opens a constant-product market priced against virtual reserves, so the market is tradable without anyone depositing liquidity first. Buys and sells run against that curve, and the fee is charged in the input token at a rate that moves with the pool's age and its recent price volatility. The launchpad module account escrows the whole token supply, every market's real quote balance and its undistributed fees; a registered invariant checks that account against those liabilities. Each buy fee is split between the protocol treasury and the market's fee-rights holder, who chooses what the accrued share does.
Key capabilities
- Creates a fixed-supply token, its metadata and its ERC20 pointer in one call, with the creator as guardian.
- Prices swaps on a constant-product curve seeded with virtual reserves, so trading opens with no deposited liquidity.
- Charges a dynamic fee that starts at the cap, decays as the pool ages and rises with price volatility.
- Splits every buy fee: a protocol share to the treasury, the remainder to the market's fee-rights holder.
- Routes accrued fees by chosen strategy: claim, burn, per-epoch airdrop pro rata to holders, or back to the curve.
- Enforces a minimum output and a deadline on each swap, and lets the guardian pause a market.
Who it's for
Token creators and EVM developers building trading front ends on the Paxeer chain.
Why it matters
A creator pays one creation fee and gets a market that trades straight away, because the virtual quote reserve prices the curve while only real quote is ever paid out. A sell that would pay more quote than the market actually holds is rejected rather than settled, so the curve cannot be drained past its real balance, and the solvency invariant recomputes every market's claim on the escrow account whenever it runs.
Differentiators
The virtual quote reserve sets the opening price but never pays out: a sell is refused the moment it would exceed the real quote balance. The fee is not a fixed rate; it is recomputed per swap from the pool's age and the standard deviation of price changes across an eight-slot snapshot ring. The fee-rights holder picks among four destinations for accrued buy fees, one of which is an epoch airdrop each holder claims once, in proportion to its balance. The module's arithmetic is an integer port of the Solidity libraries, with every intermediate checked against 2^256-1, so an input that reverts in Solidity returns an error here instead of a different number.
Outcomes
- Open a tradable market without depositing liquidity first.
- A sell above the real quote balance is rejected, not settled.
- Create, trade and read markets through one EVM precompile.
Technical notes
- Governance sets the params: quote denom, virtual quote reserve 10,000,000,000, virtual token reserve and total supply 1,000,000,000,000,000 base units, fees 10 bps minimum / 30 bps base / 300 bps maximum, protocol share 1,000 bps (hard cap 5,000), creation fee 100,000,000 quote base units. The default quote denom
uusdlis defined only as this module's default and is not issued anywhere else in the repository, so a deployment must provide the quote denom before markets can trade. - Launched tokens carry six decimals; a name is at most 64 bytes and a symbol at most 16, both non-blank UTF-8 without control characters or surrounding space.
- The fee's concentration input is hard-wired to zero on chain, so the concentration weight has no effect on the rate; only pool age and volatility move it. With the default decay, a new market opens at the 300 bps cap and falls towards the base as the pool ages.
createMarketdeploys an ERC20 pointer and so costs at least 9,000,000 gas. Precompile gas is charged before execution as 3,000 plus 16 per calldata byte plus 5,000 per declared state write.- The module exposes no message service, no gRPC query service, no CLI and no proto package: markets are created, traded and read only through the launchpad precompile at
0x0000000000000000000000000000000000001017, plus genesis import and export. The precompile is non-payable, rejects delegatecall, and rejects state changes from staticcall. - The Giga executor replaces custom precompiles with a fail-fast contract that aborts the call; the launchpad address is absent from that list, so launchpad calls are not covered on that execution path.
layerx-sdkbuilds the calldata and sends the calls, in TypeScript and Python. Runtime floors are Node.js 22 or newer and Python 3.11 or newer.
import { sendLaunchpadBuy, sendLaunchpadCreateMarket } from "layerx-sdk";
await sendLaunchpadCreateMarket(wallet, creator, "Kindle", "KNDL", 0);
await sendLaunchpadBuy(wallet, trader, {
token: marketPointer,
amountIn: 100_000_000n,
minOut: 9_500_000_000_000n,
recipient: trader,
deadline: BigInt(Math.floor(Date.now() / 1000) + 60),
});More in Paxeer chain
Autobahn lane consensus with sharded sequencing
Consensus that splits data from agreement
ExploreCheckpoint anchoring and challenges
Settle LayerX batches on the chain
ExploreCustody vault for LayerX funds
The chain holds the money
ExploreExchange intents and margin
On-chain intents, matching in LayerX
ExploreBuild on Paxeer.
Give your agent a wallet, set its policy, and settle your first call on LayerX.