00 — Overview
Where the tokens go
Every sale on aeX402 Launchpad runs the same fixed-supply bonding curve, graduates into a real AMM pool at a fixed target, and pays trading fees to the people who hold and provide. Nothing below is tunable per project. The numbers are computed from the protocol constants this app builds its transactions from, so what you read here is what the calldata does.
01 — The sale
Fixed supply, fixed opening price, fixed graduation target.
Total supply
1,000,000,000
Opening price
0.0001 quote
the quote token on Solana
Graduates at
10,000 raised
Per-wallet cap
2.5%
25,000,000 tokens, at most
The cap is what stops one address cornering a launch before anyone else sees it. It is enforced by the contract on every buy, not by this interface.
A sale created here runs for 1 hour from its launch time, the protocol default; other clients may choose up to 30 days, and each sale page shows its own deadline. If the target is not reached by the deadline, anyone can expire the sale: everything buyers paid goes to the protocol treasury, no token is minted, and holdings not sold back by then are lost. Selling back along the curve returns your quote, less the fee, until then.
02 — Graduation
At the target, the sale becomes a pool. The UNSOLD supply is what gets split.
This is the part most explanations get wrong, including ours until now. The split below applies to whatever did not sell on the curve. Tokens that sold already belong to their buyers and vest separately — they are not re-allocated.
| Goes to | Share of unsold | Tokens |
|---|---|---|
| Buyers, already sold | — | 600,000,000 |
| Liquidity — seeds the AMM pool, and is locked | 70% | 280,000,000 |
| Competitive farming — paid out to traders over 90 days | 20% | 80,000,000 |
| Creator | 5% | 20,000,000 |
| DAO | 5% | 20,000,000 |
The liquidity a sale graduates with is locked in the protocol itself, not held by the creator: no function on the contract can withdraw it, so the pool cannot be drained by whoever launched the token. The creator's reward is the pool's admin share of trading fees instead.
03 — What a buyer can claim, and when
Vesting is a staircase in whole hours, not a smooth curve.
After graduation a holder’s tokens unlock on claimable = amount × (1 − 0.95hours), and hours is an integer. The contract computes (now − graduatedAt) / 3600, so nothing at all accrues between hour 1 and hour 2. Everyone unlocks on the same schedule at the same time — there is no cliff and no insider tranche.
| Hours after graduation | Claimable | |
|---|---|---|
| 1 | 5.00% | |
| 6 | 26.49% | |
| 14 | 51.23% | |
| 24 | 70.80% | |
| 48 | 91.47% | |
| 59 | 95.15% | |
| 96 | 99.27% |
These are the contract’s own figures, not a rounded power: the facet squares and truncates at each step, so a percentage computed the obvious way is slightly too high and asking for it reverts.
04 — What a trade costs
Two different fees, and which one you pay depends on the phase.
Before graduation you are trading against a bonding curve, not a pool. It charges its own fee, it is more than three times the pool’s, and it is the one most buyers on a launchpad actually pay.
On the curve, before graduation — 1.00%
10.00
of a 1,000 trade. A hard constant with no setter, charged on the quote side both ways — off what you put in when buying, off what you get back when selling.
The two directions go to different places. A buy’s fee accrues to the creator, who withdraws it separately. A sell’s stays in the raised pot — it pays nobody, and strengthens the liquidity the sale graduates with.
In the pool, after graduation — 0.30%
3.00
of the same trade. The default; a pool may be created with another. Taken off the OUTPUT, so the fee is in the token you receive.
Where the pool’s 3.00 goes
Pool admin — the creator, on a graduated launch
adminFeeBps defaults to 50% OF THE FEE, not of the trade. At graduation the contract sets the pool's admin to the sale's creator, so this is what launching earns. Withdrawn on /fees.
1.50
Liquidity providers, and veToken lockers
Stays in the pool, less a governed share routed to lockers. That share is veFeeShareBps, a value on the Robinhood Chain diamond — select that chain above to see today's split of this figure.
1.50
The pool figures are defaults, not promises. A pool’s feeBps and adminFeeBps are set per pool and the diamond publishes no getter for either — so no interface, including this one, can state a given pool’s fee as fact. What the swap page shows is the contract’s own quote for your exact trade, which is the only honest answer available. The curve’s 1.00% is not a default — it is a constant in the facet and cannot be changed for a single sale.
05 — Competitive farming
You do not stake to earn it. You trade, and the top of each window splits the window's reward.
The farming allocation from section 02 pays out over 90 days in 5-minute windows. Each window ranks the top 10 buyers by volume; anyone may crank a closed window by committing a secret and revealing it, which draws up to 3 winners from that board.
“3 winners at 30% each” is a consequence, not a rule. The cranker takes 10% off the top and the rest splits evenly across min(entrants, 3), where entrants excludes the cranker — so a thin board pays each winner more:
1 entrant on the board
1 winner drawn
90.0% each
2 entrants on the board
2 winners drawn
45.0% each
3 entrants on the board
3 winners drawn
30.0% each
10 entrants on the board
3 winners drawn
30.0% each
On an empty board the cranker earns nothing and the window’s reward rolls forward — paying the cut regardless would let one address skim 10% per window for distributing nothing. An address may also hold the cranker slot at most twice in a row. The contest page shows the live and settled boards.
06 — Locking
Lock the token, take a share of every pool's fees.
A lock runs 14–90 days and its weight is amount × duration ÷ 90 days. The weight is frozen, not decaying: a 90-day lock is worth its full amount for the whole term rather than bleeding away. Principal is withdrawable 24 hours after expiry; earning stops at expiry itself.
14 days
16%
of the amount, as weight
30 days
33%
of the amount, as weight
60 days
67%
of the amount, as weight
90 days
100%
of the amount, as weight
The contract snaps every unlock time down to a whole week before checking the minimum, so the weight you get is computed from the snapped duration and is never more than the one you asked for. The lock page quotes the snapped figure rather than the clicked one.
07 — What this page cannot tell you
The gaps, named rather than papered over.
- A specific pool’s trading fee.
feeBpsandadminFeeBpsare per-pool storage with no getter on the diamond. The figures in section 04 are the documented default. - A token’s holder count or distribution. Neither chain exposes it, and there is no index behind this interface — so a holder chart would be invented rather than read.
- Historical price. The on-chain oracle keeps one running cumulative and no past observations, so a price chart cannot be read off the contract at any number of calls.