whitepaper

The aio whitepaper

How every launch type on aio works, where each fee goes, what the platform does with its own revenue, and how far each part has been tested.

aio whitepaper · v0.7 · 2026-11-10 · [this deployment: devnet]

Figures are the code's defaults; an operator can change some of them.

aio is an all-in-one launchpad for Solana coins. One form launches a coin on a bonding curve, and the person launching decides who earns its creator fee: an X account, a GitHub user or any Solana wallet. Recipients sign in to claim; nobody has to set anything up beforehand.

Around that core sit the launch styles traders asked for, each a switch on the same launch form rather than a separate product: clean launches that can't be bundled with the creator's own buys, deeper curves, an anti-snipe curve, pairings against tokens other than SOL, stock coins that pay their holders, coins with transfer rules, and coins drafted by an AI model. A launch can also send part of its creator fee to a charity or back to the coin's traders. Trading tools (a trade panel, charts, a portfolio, wallet cleanup), a social hub with callouts and leaderboards, livestreams on coin pages and an API for agents are built next to it, so a coin can be launched, traded, discussed and tracked in one place.

“Powered by traders, for traders” describes how the platform is funded and run: it is designed to earn small fees on launches and trades, publish them in a public revenue ledger, and spend most of that revenue buying back and burning the platform token. Nothing on aio runs on mainnet yet: the platform token hasn't launched there and the mainnet buyback is off. This paper describes mechanisms, not an investment. This deployment runs on Solana devnet; every status below says how far a part has actually been checked.

Every coin starts as a clean launch on a bonding curve. The options below combine on the same form, within a few rules the server enforces: tiers, quote pairings, stock coins and holders mode are LaunchLab only; hooked coins are Meteora DBC only; Floor Fund, charity and cashback shares are for SOL-quoted coins.

typeenginewhat changesstatus
clean launchbothaio creates the coin; mint hidden until live; early-buy scandevnet-tested
curve tiersLaunchLabdeep start: every new coin starts at about $20k market cap; optional locked dev allocationdevnet-tested
anti-snipe curveMeteora DBC99% in the creation slot, falling linearly to 1.5% from slot +3devnet-tested, off
quote pairingsLaunchLabraise and fees in dUSDC, USDC, EURC, a pre-IPO token, a third-party basket token or a crypto tokendevnet-tested (dUSDC), off
stock coinsLaunchLabpool quoted in a tokenized stock; a 1.5% transfer tax and the creator fee paid to holders in that stockdevnet-tested with the dUSDC stand-in, off; real stocks are mainnet only and not launched yet
fee modesLaunchLab for holders modecreator fee to a named recipient, or a 1.5% transfer tax plus the creator fee to holdersdevnet-tested, off
reward coins (legacy)LaunchLabthe older 1% or 3% transfer tax paid back to holders in the coin itself; replaced by holders modedevnet-tested, off
hooked coinsMeteora DBCper-account balance cap, transfer cap, cooldown, launch lockdevnet-tested, off, unaudited
AI-drafted coinsbothan AI model drafts the coin and chats on its page; it has no walletbuilt, needs setup
Floor FundSOL coinspart of the creator share buys an NFT collection's floordevnet-tested, off
charitySOL coinssome or all creator fees to a charitydevnet-tested, off
cashbackSOL coinspart of the creator fee back to tradersdevnet-tested, off
creator strategySOL coinspart of the creator fee buys and burns the coin, or funds a holder dropdevnet-tested, off
holder dropsholders mode, or a strategy in drop modethe payout engine: holders paid in SOL, a stock, basket or Ondo token, or a basket of 2–5devnet-tested, off, mainnet assets need setup
launch type

Clean launch

devnet-testedsite flow needs sign-in setup

Every coin on aio is a clean launch; it isn't an option you pick. On many launchpads the creator signs the transaction that creates their coin, so they can put their own buys in the same block, even the same bundle, and hold a large share of supply before anyone else can see the coin exists. aio removes that step.

what it is
The launcher pays a flat launch fee of 0.05 SOL (default) to the treasury. aio then builds, signs and pays for the create transaction itself, and keeps the new coin's address private until the pool is live and checked on-chain.
who it's for
Everyone. Traders get a coin whose first block wasn't reserved for its creator; creators get a launch nobody can accuse of a block-zero snipe.
curve
The deep start curve, on whichever engine is picked. The clean-launch flow is shared by both engines.
fees
The launch fee covers the roughly 0.03 SOL of rent the treasury pays for each create (the fee can't be set below that) plus a margin. Trading fees are those of the chosen engine.
what's different
The creator never holds the coin's address or a signed create before it is public, so buys can't be put in the same transaction as the create. Once the create lands, the launcher can buy as fast as anyone else. After launch, an early-buy scan checks who bought first.
status
Seven LaunchLab coins launched on devnet through the fee, create and pool checks, with the address hidden; a replayed fee payment was refused.

The early-buy scan (sniper watch)

Hiding the address stops bundling, not fast buying. So after each launch aio's server reads the blocks of the first 64 slots after the create (about 26 seconds) and records every buyer. A buyer is linked to the launcher when it is the launcher's wallet or was funded by it in SOL within two hops. The scan traces at most 15 early buyers, and a wallet with more than 3,000 transactions can't be traced back far enough; those are recorded as not traced.

This is a check over those 64 slots, not a guarantee. A launcher who buys after the window is not seen, and a coin with no early buyers at all also scans clean. Each coin records its scan window; older rows without one show 32 slots; the window was raised because aio's own devnet tests saw launchers buy 11 to 47 slots after the address was revealed. The clean-launch mark on a coin page means only that the scan found no linked buyer in the slots it read.

resultmeaningfees
cleanevery buyer in the first 64 slots was traced and none is linked (or nobody bought)claimable
partialnone linked, but some buyers weren't tracedclaimable
flaggeda buyer is the launcher or funded by itwithheld
unverifiablethe blocks couldn't be read after 5 tries and a dayclaimable
uncheckedscan hasn't finished yetclaims wait until the scan concludes (bounded: after enough failed attempts it becomes unverifiable)

Other launch limits: launching needs a profile, each wallet may make 5 paid launches per 24 hours (default), and each wallet can have at most 5 unpaid launches started in the last hour. If the fee lands but the create keeps failing, the launcher retries from the form; the fee is never charged twice, and there is no automatic refund.

launch type

Curve tiers

devnet-testedenforced by aio's serveron-chain rule not switched ondev allocation not run

A bonding curve sells a fixed number of tokens at a price that rises with each buy. When the curve has raised its target, the coin graduates: the raised SOL and the remaining tokens move into a regular pool. Every new coin on aio launches on one curve shape on Raydium LaunchLab, deep start, which begins at about $20,000 market cap. The older tiers all started far lower and were retired for new launches on 2026-11-03; coins launched on them keep their curves.

tiersupplysold on curveraise to graduatestart (at $92 SOL)new launches
deep start1B700Mabout $32.7k of the quote, priced at launch (~355 SOL)$20k → ~$109kthe only tier
standard1B793.1M85 SOL~$2.6kretired
steady600M420M85 SOL~$4.8kretired
deep1B793.1M300 SOL~$9.1kretired
what it is
One curve shape for every new coin: deep start begins at about $20k market cap with a deep curve. A request for another tier is refused with a message saying why, on the site, the API, MCP and the CLI; it is never quietly swapped.
why
People complained about coins launching at $7k market cap or lower, so every tier that started under about $20k was retired for new launches.
deep start
The raise is worked out from the quote token's USD price when the launch is prepared and again just before the coin is created (Pyth for SOL, at most 90 seconds old; $1 for USDC), so the start is within 0.5% of $20,000 at the price read then, whatever SOL is worth. If no fresh price is available the launch is refused (try again shortly) rather than starting at a wrong or lower price. Quote tokens with no independent price check (EURC, crypto, pre-IPO and basket tokens) use their market price alone, at most two minutes old, and the launch form says so. A dev allocation lowers the graduation target instead of raising the start (5%: ~$94k; 10%: ~$80k).
price impact
At the start, a $1,000 buy moves a deep-start coin's price about +8%, against about +86% on standard (curve only, fees on top). The depth comes from the curve's virtual reserve (~$24.5k); nobody deposits it, and aio seeds no liquidity.
the trade-off
Graduating a deep-start coin takes about 4.2× the net buying of standard ($32.7k against $7.8k), so more coins stay on the curve or never graduate, and the price rises 5.4× from launch to graduation instead of 14.7×. The pool after graduation is about 4× deeper.
curve & graduation
The curve graduates once its raise is reached and migrates to a Raydium CPMM pool. The locked LP from graduation is split 10% to the platform (as a Fee Key NFT) and 90% burned, so that liquidity is permanent.
fees
On the curve every trade pays a 0.5% creator fee to the coin's fee wallet and a 0.25% platform fee (aio's LaunchLab platform settings), on top of Raydium's own trade fee.
what's different
aio checks the curve against the live on-chain config before the launcher pays, so a curve that can't launch is refused up front. A higher starting valuation is not more liquidity, and the form says so.
status
Deep start launched on devnet (SOL and dUSDC coins started at $20.0k, 2026-11-02), and in a read-only check passed Raydium's parameter checks at about $20k against 153 of the 155 live mainnet quote configs (the other two had no market price). The dev allocation hasn't launched on devnet yet.
who enforces it
Today aio's server does: it is the only signer of the create, it refuses retired tiers and it checks the $20k start when the launch is prepared and again at create. An on-chain platform rule is written but not switched on. Once on, Raydium's program would refuse any pool on aio's platform whose supply, curve split, vesting or token program differ from deep start. It would not pin the $20k start: the rule admits every raise for a SOL price from $36 to $270, so the dollar start stays a server check.

Locked dev allocation

Instead of a dev buy, a launcher can reserve 0–10% of supply through LaunchLab's built-in vesting: a 30-day cliff after graduation, then a 90-day linear unlock to the launching wallet. It comes out of the tokens sold on the curve, so the amount that migrates to the pool doesn't change.

The locked amount and both periods are set in the create transaction. Naming the launching wallet as the one that receives it is a second transaction that aio's server sends afterwards and retries until it lands; until then the allocation is locked but assigned to nobody. LaunchLab only. No coin with a dev allocation has been launched on devnet yet.

launch type

Engines: LaunchLab and the anti-snipe curve

devnet-testedDBC off by defaultDBC fees after graduation not collected

aio launches on two on-chain launchpads behind one interface. While a coin is on its curve, claims, pushes, sweeps and the early-buy scan work the same on both. After graduation they differ: a LaunchLab coin's pool keeps paying its creator fee, and an anti-snipe coin's recipient earns nothing more for now (see below).

Raydium LaunchLabMeteora DBC (anti-snipe curve)
defaultyesoff unless DBC_ENABLED
trading feeflat from the first trade: 0.5% creator + 0.25% platformstarts at 99% in the create slot, falls every slot to 1.5% from slot +3
fee splitcreator fee to the fee wallet, platform fee to aioMeteora 20%; of the rest, 50% to the creator and the remainder to aio
curvedeep start (above)the same deep-start shape: 1B supply, 30% of supply to the pool, about a $20k start. A DBC config fixes its raise in SOL, so aio keeps a ladder of configs for SOL prices 2.5% apart and uses the one nearest $20k. When SOL moves off the ladder, anti-snipe launches are refused until new configs are made. The older 85 SOL config (about a $2.5k start) is refused
after graduationRaydium CPMM pool; LP 10% platform, 90% burned; the pool's creator fee is collected with each claimMeteora DAMM v2 pool; LP permanently locked, 90% to the coin's fee wallet / 10% aio. aio does not collect the fee wallet's pool fees or its share of the curve surplus yet, so the recipient is paid nothing after graduation
who migratesRaydium, once the curve has reached its raise. aio sends nothingMeteora's keeper on mainnet for the tokens it lists. aio also has its own migrator, off by default, that the scheduled job runs once a day unless a faster scheduler calls it
optionsdev allocation, quote pairings, stock coins, holders modehooked coins; a pasted token with no LaunchLab config

The anti-snipe schedule is linear and enforced by Meteora's program on every buy and sell: 99% in the creation slot, 66.5% at slot +1, 34% at slot +2 and 1.5% from slot +3. A bot that buys in block zero pays almost all of its buy in fees. The option that would let a buy bundled with the create skip the schedule is switched off, and aio refuses a config that turns it on.

Status: on devnet the partner configs were remade on the deep-start shape on 2026-11-04, and one coin went through aio's paid launch flow on the anti-snipe curve (10 of 10 checks). Earlier, a buy just after a create paid about 25% in fees and one after the schedule under 1%, and a creator payout and the treasury's partner-fee claim landed. Not run: a graduation, aio's migrator, and the early-fee rule on a real payout. There are no mainnet configs. The engine stays off until the operator sets DBC_ENABLED.

launch type

aio curve

builtdevnet-testedoff by defaulteach payout has its own switch

The third engine is aio's own launch program. A coin starts on a curve run by that program and moves to a Raydium pool when the curve has reached its raise. Its fee is not the LaunchLab fee above: every trade pays at least 1.5%, and the program splits each fee into fixed slices.

Launch

The launch form reads the current raise target, steady fee range, opening reservation limits and relaunch fee from the server. Opening fees start at 99% and fall to the chosen steady fee, never below 1.5%. This counts slots, not seconds. The launcher may reserve an opening buy at the steady fee and fill it from the coin page before the reservation closes.

A ticker can be launched once per rolling 24 hours. Relaunching within that window requires explicit acceptance of the configured fee. The launching wallet signs and pays for the create, rent and relaunch fee in the same transaction as the launch fee. The reservation buy is separate.

After graduation

The published total fee tiers are 1.5%, 1.2%, 0.9%, 0.6% and 0.3%. At the configured 0.25% pool rate, the coin fee makes up the rest and can only step down. Each SOL market-cap milestone is fixed at launch. The coin's average price over 10 minutes must be above the milestone (and the current price too), then the lower fee takes effect about two epochs later. The coin page shows the actual mint fee schedule, including any pending fee and its activation epoch. Quotes use the live pool fee and compound both fees with integer rounding.

New liquidity is kept, not burned, and locked in a separate permissionless step right after graduation. The coin page shows the live state and says not locked yet until the lock transaction lands. Old curves used burning. Coins with a transfer fee also pay it on wallet-to-wallet transfers, initially 1.25%; legacy coins without it pay none. After graduation the coin fee is collected in the coin itself.

Where the fee goes

Every trade on an aio curve pays a fee of at least 1.5%. The program splits each fee into fixed slices.

SliceShare of the fee
Buyback35%
Trader rewards30%
Holder rewards15%
aio platform10%
Launcher5%
Liquidity5%

After graduation the total fee falls in steps as the market cap grows: 1.5%, 1.2%, 0.9%, 0.6%, 0.3%. It never goes back up. The same split applies.

Styles and builders

A style is a reviewed set of launch settings: the steady fee and the opening buy. Launchers can pick one on the launch form. Anyone can propose a style, and aio reviews it before it is listed.

Curve rules

A launcher can add trading rules to a curve. Rules apply only inside a time box of at most 7 days from launch. They are fixed once the coin is live.

After the box ends, or when the aio admin releases the coin, the curve trades with no rules. The coin page shows the deadline and the current state.

Status: launches, trades and a graduation were run on devnet. The fee payouts are built and covered by offline tests. Each payout (buyback, trader rewards, holder payouts, launcher collection, liquidity) has its own switch, and a part that is off here is not described above. The full page is aio curve in the docs.

launch type

Quote pairings

devnet-tested (dUSDC)off by defaultstock, pre-IPO and basket quotes: mainnet only, sample simulated, none launched

Most coins trade against SOL. A quote pairing makes a LaunchLab coin trade against another token instead: the curve raises that token, and creator fees build up and are paid out in it. A pool has exactly one quote token, so a coin pairs with one token at a time. A coin paired with a tokenized stock is a stock coin, which has its own section below.

quotekindnetworkold tiers' raiseissuer can
SOLnativeboth85 SOL—
dUSDCtest dollardevnet8,000worth nothing (Raydium test token)
113stock tokens: 24 xStocks (Backed), 89 Backpack Securitiesmainnetabout $8,000 eachmint more, move or burn from any account (permanent delegate), pause, freeze, scale balances, add a transfer hook later
10pre-IPO tokens (not shares)mainnetabout $8,000 eachcharge a transfer fee on every transfer (0.2–5%), freeze; PreStocks also move, burn and pause
7basket tokens issued by DiversiFi, a third partymainnetabout $8,000 eachrun minting and redemption through a keeper; upgradeable vault program and an admin key; five vaults record a 0.2–0.4% fee setting; CRAMER and PRIVACY instead charge a 0.5% transfer fee
4leveraged tokensmainnetabout $8,000 eachpowers vary by mint; leverage and rebalancing can increase losses
2tokenized collectiblesmainnetabout $8,000 eachcustody and redemption depend on the issuer; powers are read from the mint
3currency tokens including USDC, EURC and USDTmainnetsized from the token pricepowers vary by mint and are shown before launch
221crypto tokens, including native and wrapped tokensmainnetabout $8,000 eachvaries; the mint authority (often a bridge or custodian, not the original project) can mint more; most can't touch balances
what it is
A LaunchLab pool whose quote side is a token other than SOL. Every mainnet quote above has a LaunchLab config at the standard address, and the config itself isn't tied to a platform; a platform that restricts curve parameters still refuses a curve its rules don't match, which is why aio needs its own mainnet platform. aio's list is generated from the chain (scripts/gen-quotes.ts): each token's name, decimals, config and issuer powers are read from its mint, and each basket's holdings and weights from its vault. A new coin's raise is priced in USD at launch from the quote's own price, so a paired coin also starts at about $20k; the fixed raises in the table only applied to the retired tiers.
who it's for
Communities that think in dollars or euros, and coins that want to trade against a tokenized stock, a pre-IPO token or a basket.
picking one
The launch form groups the 150+ quotes into stocks, pre-IPO, baskets, crypto and currencies, with a search by ticker or name. A basket row shows what it holds and the weights. Before you pick, the form lists what the issuer can do to every balance.
baskets
A basket token (MUSK4, FRONTIER and others) is a single token issued by DiversiFi, not by aio. Its vault holds the listed stocks, pre-IPO tokens and crypto at fixed weights that DiversiFi can change. Minting and redeeming are started by the holder and finished later by DiversiFi's keeper, so they aren't atomic.
fees
Creator fees accrue in the quote token and are paid in it, with no unwrap. The smallest claim is 0.0001 of a stock or basket token and 0.01 of a dollar token. Quotes with a transfer fee deliver that much less on every transfer, fee payouts included. When the recipient has no token account for the quote yet, aio's treasury pays to open one, so the payout waits until the fees are worth 1 times that account's rent. Platform fees in other tokens stay in the treasury and are not part of the SOL buyback split.
no bundled first buy
aio always creates the coin in its own transaction, with no buy in it. The launcher's first buy is an ordinary trade after the coin is live, and another buyer can land before it.
what's different
Issuers control every balance, including the pool's. The form shows each issuer's powers and a not-for-US-persons notice that the launcher must confirm. The server also refuses stock, pre-IPO and basket quotes from blocked countries: by default every country the token issuers refuse (US, UK, Canada, sanctioned and unserved countries), set by STOCK_PAIRING_BLOCKED_COUNTRIES. The country comes from the host, so the check is incomplete.
status
On devnet, a dUSDC coin was launched, traded and paid its creator fees in dUSDC. Stock, pre-IPO and basket quotes exist on mainnet only. Every quote's config was read on chain. aio's create step was simulated read-only, with nothing signed, for 12 quotes: four xStocks, four Backpack stocks, the ANTHROPIC and OPENAI pre-IPO tokens and two baskets, all without error on Raydium's unrestricted platform (the same creates fail on a platform that restricts curve parameters). First buys on live TSLAx and MUSK4 curves were simulated too. None of these quotes has been launched for real. Pairings are off unless the operator turns them on. Ondo stocks can't be a pairing, because no LaunchLab config exists for them; they can only be a reward (holder drops).

Pasted tokens. Where the operator turns it on, the launch form also takes any token's address (or a pick from a "popular" list), not only the listed quotes above. aio checks the token when it is pasted, again when the launch is prepared and again just before the coin is created, and shows the result in the server's own words. A pasted token is never one of aio's listed pairs, and the coin page says so.

engine
LaunchLab, when Raydium already runs a config for the token (aio can't create one). Without one, the anti-snipe curve with a config made for that launch, behind a separate switch and aio's own migrator; its rent (about 0.006 SOL) is part of the launch fee. Otherwise the token can't launch yet.
refused
Wrapped SOL (that is the SOL pairing), the coin itself or another aio coin still on its curve, blocked tokens, unlisted tokenized stocks, yield receipts, tokens Jupiter doesn't list or flags as suspicious, tokens whose first pool is under 24 hours old, unverified tokens that keep a mint or freeze authority, and any Token-2022 extension beyond metadata. A transfer fee is allowed only at 0% with no fee authority; a taxed token is refused with its rate.
priced
Only with at least $50k of liquidity and at least twice the raise, a recent trade and a 24-hour move of at most 25%; at prepare and create a buy and a sell through Jupiter must both work. If the price at create is more than 10% off the price at prepare, the create waits for a retry. Otherwise the token shows as not priceable right now.
warned
Verified tokens that keep a mint authority (they can mint more) or a freeze authority (they can freeze any account, the louder warning), thin markets, low organic scores, concentrated holders and tickers that copy a listed one. The launcher ticks that the token isn't a listed pair before paying.
buying
Buyers pay in the pasted token, not SOL, and the trade box doesn't swap SOL into it: it says so and links a swap. Holder rewards default to SOL; paying holders in the token itself is an opt-in.
status
Off by default on both engines. Not yet launched on devnet or mainnet.
launch type

Stock coins

devnet-tested with the dUSDC stand-inoff by defaultreal stock quotes: mainnet only, simulated, none launchedgraduation not run

A stock coin is a coin whose pool is quoted in a tokenized stock. Buyers pay in that stock token, the curve raises it, and the coin graduates into a Raydium pool against it. It starts in holders mode: a 1.5% tax on every transfer and the creator fee are paid to the coin's holders, in the paired stock. A stock coin is not a share and holds no stock for you; it is a coin priced in one.

the pool
A Raydium LaunchLab pool whose quote side is the stock token's mint. aio lists 113 stock tokens on mainnet (24 xStocks, 89 Backpack Securities), each with a LaunchLab config read from the chain. A pool has one quote token, so a coin pairs with one stock. Pre-IPO and basket tokens work the same way and follow the same rules.
curve
Deep start, like every new coin: the raise is priced from the stock token's USD price at launch so the coin starts at about $20k market cap. See curve tiers.
graduation
The pool is created with LaunchLab's migrate-to-CPMM setting. When the raise is reached, Raydium moves the raised stock tokens and the remaining coins into a Raydium CPMM pool of the coin against that stock. The locked liquidity is split 10% to aio as a Fee Key NFT and 90% burned. aio sends nothing at graduation. This step has not been run with a stock quote yet (see status).
fees to holders
The coin is a Token-2022 mint with a 1.5% transfer tax, set at launch. aio keeps 0.25 percentage points as revenue. The other 1.25 points, and the whole creator fee, go to holders in the paired stock. The launcher can switch to creator mode on the form, or pick another reward asset. The full split is under fee modes.
on chain
The chain enforces the tax on every transfer, buys and sells included, and that only aio's treasury can withdraw the withheld tax. aio and the launcher can't change the rate: on the devnet coins checked, the mint's rate authority is an address of Raydium's LaunchLab program.
done by aio's server
Everything after that. A scheduled job withdraws the tax, sells the taxed coins on the coin's own pool for the stock token, claims the creator fee, and sends holders their share. The job runs once a day unless a faster scheduler is set up; with one, it is called every 5 minutes and handles 8 holders coins per call, least recently paid first. Until a run, the tax sits withheld on chain and the creator fee sits in its vault.
who is paid
Wallets seen in two holder snapshots at least 24 hours apart, weighted by the smaller balance, holding at least $0 of the coin. One wallet gets at most 100% of a round. Amounts under $0 wait for a later round, and a holder owed under $0 keeps adding up. The launcher, the named creator, pools and aio's own wallets are left out. Details under holder drops.
after graduation
The tax keeps applying to every transfer. The Raydium pool pays its own creator fee in the stock token, at the rate of the pool setting aio's platform picked, and aio collects it in the same claim, so holders keep receiving it.
buying
Buyers pay in the stock token. On mainnet the trade box can also take SOL and swap it into the stock token through Jupiter in the same transaction; that needs a Jupiter API key.
issuer powers
The stock token's issuer controls every balance of it, including the pool's and the holders' payouts: it can mint more, freeze an account, pause all transfers and, with a permanent delegate, move or burn tokens from any account. The launch form and the coin page list each issuer's powers, read from the mint.
geo-block
Not for US persons. The launcher ticks a not-for-US-persons notice, and the server refuses launching, trading and picking stock rewards from blocked countries: by default every country the issuers refuse (US, UK, Canada, sanctioned and unserved countries), set by STOCK_PAIRING_BLOCKED_COUNTRIES. The country comes from the host, so the check is incomplete, and aio can't check where a holder who is paid in a stock token lives.
this network
This deployment runs on devnet, which has no tokenized stocks. Raydium's test dollar, dUSDC, stands in: it is worth nothing and is not a stock. A dUSDC-paired coin starts in holders mode and pays holders in dUSDC, which shows the mechanics and nothing else. Real stock coins exist on mainnet only.
mainnet needs
aio's own mainnet LaunchLab platform, created with npm run setup:platform so that the treasury is its transfer-tax withdraw authority (transferFeeExtensionAuth). That is written once when the platform is created and can't be changed later; the launch route reads it from the chain and refuses holders mode without it. Then a curve rule that admits a taxed coin for each offered stock (setup:curve-rules -- --taxed), the switches for pairings, fee modes, holder drops and strategies, a Jupiter key and a Pyth key. The operator runbook lists the steps under “Stock coins on mainnet”.
status
On devnet (2026-11-02) a dUSDC-paired holders coin was launched, traded, taxed and paid its holders in dUSDC, in a run of 165 checks that also covered a SOL holders coin. Not run: any graduation of a holders coin or of a coin quoted in something other than SOL, and any real stock quote. On mainnet aio's create step was only simulated read-only for a sample of stock tokens. Raydium's devnet CPMM refuses a test mint with the same extensions as a stock token, so graduation against a real stock token can only be proven on mainnet, with one small real launch before the feature is announced.
not a stock coin
Older coins that carry only a stock ticker tag are not stock coins. The tag is a label and a price panel on a coin paired with SOL: nothing on chain ties that coin to the stock.
launch type

Fee modes

devnet-tested (SOL and dUSDC coins)off by defaultgraduation not runholders mode: devnet only

Every new coin picks where its fees go.

creator
The 0.5% creator fee on every curve trade goes to the creator's X, GitHub, wallet or charity. The coin has no tax.
holders
The coin is a Token-2022 coin with a 1.5% transfer tax. aio keeps 0.25 percentage points as protocol revenue, which counts toward the 80/20 buyback split like other SOL revenue once the buyback is switched on. The other 1.25 points, and the whole 0.5% creator fee, are paid to holders pro-rata to their balance, in an asset the creator picked at launch: SOL, the coin's pairing token, a tokenized stock, or a basket. The named creator is shown on the coin and is paid nothing.
how the split works
aio sells the collected tax on the coin's own pool and splits what the sale returns 1/6 to aio, 5/6 to holders: in the same transaction as the sale when it fits, otherwise (a stock pairing's conversion to SOL) in a second transaction right after it. The chain enforces the tax and who may withdraw it; the split is aio's payout code, published in the drop history of each coin. aio's share is computed on the sale's guaranteed minimum, so anything the sale returns above it stays with holders and aio's share comes to a little under 1/6. When aio's share can't be converted to SOL it stays in the treasury in the pairing token and is not part of the buyback split.
when holders are paid
Nothing moves without aio's scheduled job. It runs once a day unless a faster scheduler is set up; with one it is called every 5 minutes and handles 8 holders coins per call. A wallet is paid once it shows in two holder snapshots at least 24 hours apart, so the first payout comes a day or more after buying. Holdings under $0 don't count, one wallet gets at most 100% of a round, amounts under $0 wait for a later round and a holder owed under $0 keeps adding up (defaults). The creator-fee part is also capped per run and per day (0.5 SOL and 2 SOL in value, defaults); anything above stays held for the next run.
fees
Raydium's 0.25% and aio's 0.25% platform fee apply to curve trades in both modes. A curve buy of a holders coin therefore costs about 1% in fees plus the 1.5% tax. Selling the collected tax on the curve is a trade too: it pays Raydium's 0.25% and aio's 0.25% platform fee out of the holders' pot.
after graduation
The tax keeps applying to every transfer. The curve's 0.5% creator fee ends with the curve, and the Raydium pool pays its own creator fee instead, at the rate of the pool setting aio's platform picked. aio collects it in the same claim, so on a holders coin it keeps going to holders. A graduated holders coin has not been run on chain yet.
not a yield
Rewards come only from trading: they depend on volume, can be zero, and are not guaranteed.
pairing
Either mode can be paired with SOL or, where available, with a tokenized stock. Stocks are not available to US persons or in blocked countries. The launcher's country is checked when the coin launches; holders paid in a stock token are any eligible wallet, and aio can't check where a holder is.
defaults
A stock coin (paired with a tokenized stock, a pre-IPO token or a basket; on devnet, Raydium's test dollar stands in for a stock pairing) starts in holders mode, and its holders are paid in the token it is paired with: a stock coin in that stock, a basket coin in that basket token. The creator can switch to creator mode to send the fees to a builder instead, or pick another reward asset. Every other coin starts with no mode picked on the form, and as creator mode through the API. A holders coin that doesn't name a reward asset is paid in its pairing token when that token can be a reward asset, otherwise in SOL, and in SOL whenever rewards in other tokens are switched off. Picked values always win; a default never adds a refusal: a stock coin that can't be a holders coin here stays in creator mode, and a default reward token that fails its audit or market check at launch pays in SOL instead. When aio can't run a check at that moment (the chain or Jupiter is busy), the launch asks to be retried rather than fixing a fallback for the coin's life. A stock reward asset needs the same not-for-US-persons confirmation and keeps the same country block as a stock pairing; a dollar token or SOL needs neither.
fixed at launch
The mode, the tax, aio's share and the reward asset are fixed when the coin launches. Changing aio's settings later never changes a live coin.
status
Built behind FEE_MODES_ENABLED (off by default). Holders mode is LaunchLab only, and devnet only until aio's mainnet LaunchLab platform holds the transfer-tax authority.

Holders mode, holder drops and reward coins

Three names on aio are about paying holders. They are one fee mode, the engine that pays it out, and an older coin type.

namewhat it ispaid inuse it?
holders modeThe fee mode above: a choice made at launch. A 1.5% transfer tax plus the whole creator fee go to holders.SOL, the pairing token, a stock or a basketYes. It is what a stock coin starts in, paid in its paired stock.
holder dropsThe payout engine: holder snapshots, a per-coin vault, eligibility rules and the payout itself. A holders-mode coin is paid through it. A creator-mode coin can also fund it with a strategy share in drop mode.whatever the coin pickedIt is not picked on its own. It runs behind holders mode and behind a drop strategy.
reward coinsLegacy: coins launched before fee modes with a 1% or 3% transfer tax, all of it paid back to holders by a separate, simpler job.the coin itselfNo. While fee modes are on, a new launch can't pick it and the server refuses it. Existing ones keep working.
legacy

Reward coins (legacy)

devnet-testedoff by defaultreplaced by holders mode

A reward coin is the older way to pay holders, kept for coins launched before fee modes. It charges a 1% or 3% tax on every transfer, including buys and sells, and aio's scheduled job pays what was collected back to holders, in the coin itself, in proportion to what they hold. Where fee modes are switched on, a new coin can't be a reward coin: holders mode replaces it, and a stock coin never uses it.

what it is
A Token-2022 coin with a transfer-fee extension, launched on LaunchLab (any pairing). The rate is set at launch: neither the launcher nor aio can change it afterwards.
who it's for
Holders who want to be paid for holding, and communities that want to slow down quick flips.
how payouts work
Each round collects the withheld tax into a pot and credits it to every eligible wallet pro-rata in a ledger, then pays what is owed. Eligible: wallets holding at least 10,000 tokens (default); pools, program accounts, the treasury, the coin's fee wallet and frozen accounts are left out. Up to 100 holders are paid per round, least recently paid first; the rest stay owed.
fees
The creator fee and platform fee are unchanged. Reward coins launched before fee modes keep 100% of their tax for holders; it never counts toward the buyback. Payouts are transfers too, so they are taxed; that part is credited in a later round.
what's different
Every round is logged with its pot, the holders paid and every signature, and shown on the coin page. A holder who sold keeps what it was already owed.
status
One full round ran on devnet and paid both holders exactly pro-rata (35 of 35 checks), plus a payout probe (10 of 10). Rounds run once a day, for at most 10 coins per run (default); the faster scheduler covers holders-mode coins only.
launch type

Hooked coins

v1 partially testedv2 E2E pendingunauditedoff by defaultdevnet only

Version 2 adds 41 shipped rule kinds and a builder with up to 64 records. Its codecs, validator, draft lifecycle and app routes are built. It is devnet only, off by default and not yet run end to end on DBC. Every set has a fixed sell-release deadline from seal, between one and seven days. This bounds hook permission, not liquidity or price. Wallet tables have fixed capacity. Buyers without a history row have a small balance ceiling and cannot sell until the fixed deadline. A qualifying first buy needs the receiver to sign. Mutable records can only be loosened or disabled. Frozen records cannot be edited. A blocklist authority can still add receive blocks after seal. The platform admin can switch enforcement off. Rules end at graduation. The hook does not collect payments, tax transfers or pay rewards. See version 2 rules for the input shape and limits.

The following preset and account details describe version 1.

A hooked coin runs aio's own transfer-hook program on every transfer, which can refuse transfers that break the coin's rules. It is meant for fair-launch rules during the curve, and it ends at graduation.

rulewhat it checksprogram limit
max walletthe receiving token account's balance after a transfer. The cap is per token account, not per person: one wallet can open more token accounts for the coin, and anyone can use several wallets0.5–100% of supply, or off
max transfersize of one transfer0.1–100% of supply, or off
cooldownslots since the sender's last sendup to 150 slots
launch lockno sends until N slots after the createup to 216,000 slots (~1 day)
presets
fair launch: at most 2% of supply per token account, max 1% per transfer, 2 slots between sends. launch lock 1h: anyone can buy, but holders can't sell or send for 9,000 slots (about an hour). Or custom.
who it's for
Launchers who want to cap whales or stop instant flips while the coin is on its curve.
curve & graduation
Meteora DBC only (LaunchLab can't carry a hook), so it has the anti-snipe fee too. Per the DBC program source, the swap that completes the curve removes the hook, because the graduated pool doesn't accept hooked tokens; after that it is a plain token (not yet observed on devnet).
fees
The engine's fees, plus the rent of the hook's accounts on top of the launch fee: about 0.004 SOL, or about 0.019 SOL with a cooldown. The rent isn't refunded to the launcher.
what's different
No blacklist, no fee and no pause. Rules are written once, in the same transaction as the create. The cooldown is best effort: on a busy coin a wallet can sometimes skip it, but nobody is held longer than set. Buys aren't slowed by the cooldown, because the pool is exempt.
who can change the rules
The program has one later instruction, relax, which can only loosen a rule (raise a cap, shorten the cooldown, end the lock, or switch a rule off) or give the key up. aio's treasury holds that key for every hooked coin, so the rules last only as long as aio leaves them. Nothing in the app sends relax: no page, API route or scheduled job. The only sender is an admin script that whoever holds the treasury key runs by hand. The launcher holds no key and can't loosen their own rules, and aio does not give the key up after a launch.
status
Program deployed on devnet only; over-cap buys and transfers were refused on chain and allowed ones passed; the cooldown, launch lock, relax and graduation haven't been run on chain yet. Not audited: not for mainnet before an external audit. The hooked config still has the older curve, so hooked launches are refused until it is remade. Many wallets don't handle Token-2022 hooks yet.
launch type

AI-drafted coins (agent launches)

builtneeds setup

In agent mode the launcher picks a model and a role, types an idea, and an AI model drafts the coin: name, ticker, tagline, description, image and a short persona. The launcher edits the draft and launches it through the normal clean-launch flow. The persona then stays on the coin page to chat in character. The coin itself is an ordinary launch: the model has no wallet, signs nothing, never trades or posts, and earns no fee.

what it is
11 models from OpenAI, Anthropic, Google, xAI, DeepSeek, Mistral, Meta and Alibaba, and 6 roles: builder, researcher, artist, comedian, analyst, host. Coin art comes from an image model, or a deterministic green-and-cream pixel avatar.
who it's for
Anyone who has an idea but not a name, a ticker or art.
curve & fees
Any curve and engine; the agent adds no on-chain fee. The persona is copied from the draft on the server and can't be edited.
limits
Drafts: 20 per account, 30 per IP and 500 across everyone per day. Chat: 20 replies per hour per caller (double when signed in), 60 per IP, 300 per coin, 1,000 across everyone.
what's different
The prompts forbid real people, brands, promises of returns and slurs; in chat the agent says it is an AI and gives no financial advice or price predictions. These are prompt-level guardrails, not guarantees, and the UI says so. Agents have no wallets: they don't post or trade.
status
Off-chain only: there is nothing to run on devnet. Routes and limits are built; no live drafts yet, because the model gateway needs billing set up.
launch option

Floor Fund & NFT raffles

devnet-testedoff by defaultno mainnet collectionsMetaplex Core only

A launch can pair with an allow-listed NFT collection and route part of the creator's fees to that collection's vault, which buys NFTs off the collection's floor. The mainnet list holds 0 collections today, so on mainnet nothing can be paired and nothing is bought.

what it is
An opt-in share of 10%, 25% or 50% of the creator's fee share (never the platform's). Every claim of a paired coin is split between the vault and the recipient.
who it's for
Coins built around an NFT community that want trading to support its floor.
how buying works
A scheduled job, run once a day unless a faster scheduler is set up, buys the floor through Tensor's marketplace program: at most 1 SOL per buy, 1 buy per vault per run and never more than 1 per 60 minutes, always keeping 0.02 SOL for fees (defaults). Only Metaplex Core NFTs can be bought; older NFT standards, Token-2022 and compressed NFTs are refused. A vault that buys nothing for 30 days stops buying; its funds stay in the vault, and how they are handed back is still an owner decision.
hold or raffle
By default the vault keeps the NFTs. Raffle mode is one switch for the whole deployment, not a launcher's choice. In it each bought NFT goes to a holder of the paired coins: a run commits a snapshot of holders and a future slot on chain, and a later run draws the winner from that slot's blockhash and transfers the NFT, so with the daily job a raffle takes at least two days. Each draw's proof is public on /floor.
fees
SOL-quoted coins only. The share reaches the vault only when the coin's fees are paid out: a claim, a push or a sweep. On an X or GitHub coin whose recipient never claims, that first happens at the expiry sweep, which still pays the vault its share and sends only the recipient's part to the treasury. Any marketplace broker fee on a floor buy is recorded as platform revenue.
status
On devnet: a 25% split reached the vault, the job bought from the floor, and raffles were committed, drawn and the NFTs transferred to holders. No mainnet collections are allow-listed, and the mainnet floor-price readers (Tensor, Magic Eden) have not been checked against the live services.
launch option

Charity routing

builtdevnet-testedoff by defaultdonate.gg charities only

A coin's creator fees, in whole or in part, can go to a charity. Charities are listed only through donate.gg, and only ones donate.gg has onboarded: aio never lists a charity by a wallet address of its own. It is built and tested, but stays off until the operator switches it on and has imported and activated charities.

  • Two forms: a charity recipient (a charity coin: all of its fees), or a share of 5%, 10%, 25% or 50% of the creator fee on top of a normal recipient.
  • Charity legs are paid inside the coin's payout transaction, pushed by the platform or anyone, never claimed. Charity coins are never swept to the treasury.
  • The owner imports charities one at a time from donate.gg's public catalog. Only charities donate.gg reports as enabled and ACTIVE_ONBOARDED are accepted, and that status is re-checked at activation, before every payment and daily; any other status disables the entry. Pushes start at 0.01 SOL (default); smaller amounts stay owed.
  • Payment goes through donate.gg's Solana donation relay (mainnet only) to the charity's own donate.gg config, which pays that one charity and no one else. Each leg carries the message aio:<coin> and is credited to the coin's mint. donate.gg takes a fee (about 3% on these configs, shown as gross, fee and net before launch or a gift), converts to USDC and pays out in batches.
  • A public ledger on /charity of every leg and one-off gift with its transaction, shown as pending until donate.gg reports it settled, labelled proof of payment, not a tax receipt. Donations are never counted as platform revenue. SOL-quoted coins only for now.
  • donate.gg has no devnet, so a devnet deployment says charity giving is mainnet only and can hold only owner-made TEST CHARITY wallets for testing. Tested: the relay instruction against the on-chain program's interface, the import and activation checks on recorded donate.gg answers, and a read-only mainnet simulation of the donation. No real charity has received a push from aio yet.
launch option

Trader cashback

builtdevnet-testedoff by defaultneeds escrow key

A launcher can give traders a share of the coin's creator fee. Built and run on devnet with a throwaway escrow; it stays off until the operator creates and funds the real cashback escrow and switches it on.

  • A share chosen at launch: 0, 25%, 50% or 100% of the creator fee (SOL-quoted coins only). It may change once after launch, only downward.
  • The escrow is filled only when the coin's fees are paid out (a claim, a push or a sweep): each payout moves that share into a dedicated cashback escrow. Crediting needs aio's trade indexer, which is a separate switch. A job that runs once a day unless a faster scheduler is set up credits each period's traders in proportion to the creator fee their own eligible trades paid, and never more than the escrow received for that coin, so a wallet can't get back more than it paid and wash trading can't profit.
  • Left out: the launcher, system and fee wallets, wallets linked to the launcher by the early-buy scan, anti-snipe-window trades and trades under 0.01 SOL; quick round trips count 25% and same-slot ones nothing. One wallet gets at most 25% of a coin's cashback per period; the rest carries forward and is paid later.
  • Paid automatically from the escrow at 0.005 SOL or more; smaller amounts are claimed with a signed message on the portfolio page. Unclaimed credit expires after 90 days and rolls back into that coin's cashback, so the platform gains nothing from lapses.
  • Only trades on the bonding curve earn cashback for now: swaps after graduation are indexed without a creator-fee value. Cashback is never counted as platform revenue.
launch option

Creator strategy

devnet-testedoff by defaultSOL coins only for now

A coin can set aside part of its creator fee for a strategy instead of paying it all to the recipient. The share is held in the coin's own fee wallet and spent by aio's scheduled job, which runs once a day unless a faster scheduler is set up, in one of two ways: buying the coin on its own pool and burning it, or funding a holder drop. The fee wallet is custodial: aio's server holds its key and sends every one of these transactions.

what it is
A mode (none, burn or drop) and a share of up to 50% of the creator fee (default cap), chosen at launch next to the Floor Fund, cashback and charity shares; all of them together can't pass 100%.
who it's for
Recipients and launchers who want trading fees to support the coin itself (burns) or its holders (drops) rather than only the recipient.
how the hold works
On every payout, the strategy share of the freshly claimed fees stays in the fee wallet as a hold. Neither the recipient nor the leftover rule can take it. Switching the mode back to none returns the hold to the recipient on the next payout; any part a strategy transaction still in flight may spend stays held until that transaction settles.
nothing held until a payout
The job only spends what is already held, and a hold is only made when the coin's fees are paid out: a claim by the X or GitHub recipient, a push to a wallet recipient, or a sweep. Until then nothing is burned or dropped, however much the coin trades. On an X or GitHub coin whose recipient never claims, the first hold is made by the expiry sweep after 90 days: the recipient's part goes to the treasury, the strategy share is still held, and later runs burn or drop it. If the mode is none, or strategies are switched off, a declined or expired coin's hold is released to the treasury instead.
how a burn works
The fee wallet buys the coin in random chunks with the buyback's caps (at most 0.5 SOL per run and 2 SOL per day, 1% price impact, defaults) and burns it in the same transaction, with a memo. What each transaction actually spent is measured on chain and released from the hold; nothing else is.
changes
The coin's verified fee owner (the X account by its user id, the GitHub login, or the wallet) can change the strategy on the coin page, through the API or MCP, at most once every 7 days (default). Every change and run is listed on the coin page with its signatures.
what's different
Strategy money is never platform revenue. Charity, hooked and reward coins can't carry a strategy. A creator-mode coin paired with anything other than SOL can't either, until its payout path can hold a token share. A holders-mode coin is the exception in any pairing: the server stores its whole creator fee as a 100% drop and the launcher doesn't pick it.
status
On devnet a 25% burn hold was credited by a real claim, a run bought and burned the coin (supply fell by exactly the burned amount) and released exactly what it spent; switching to none returned the hold. Off until the operator sets STRATEGY_ENABLED; the cap, cooldown and whether a launcher may set one for an X or GitHub recipient are owner decisions.
launch option

Holder drops & stock baskets

devnet-testedoff by defaultstock, basket and Ondo assets: mainnet only, simulated, need Jupiter key

A holder drop pays a coin's holders in another asset: SOL, one allow-listed token, or a basket of 2–5 of them. It is the payout engine, not a launch choice of its own. Three things can fund it: a coin in holders mode (its transfer tax and its whole creator fee; this is what a stock coin uses), a creator-mode coin's creator strategy in drop mode, or the transfer tax of a legacy reward coin set to pay in another asset. Rounds are run by aio's server once a day unless a faster scheduler is set up, and the faster one covers holders-mode coins only.

what it is
Each round buys the asset with the drop budget and credits it to eligible holders pro-rata. The bought assets sit in a per-coin drop vault, apart from the fee wallet and the treasury, until they are paid out, so nothing else can spend them.
who's eligible
A wallet must appear in two daily holder snapshots at least 24 hours apart and is weighted by the smaller balance, so buying just before a snapshot earns nothing extra. The launcher, the recipient, pools and system wallets are left out, holdings under $10 don't count, and one wallet gets at most 10% of a round (defaults).
what can be paid
On mainnet: SOL, USDC, every stock, pre-IPO and basket token aio can pair against, and Ondo Global Markets stocks (TSLAon, SPYon, NVDAon and 15 more). Ondo stocks are reward-only: holders can be paid in them, but no coin can pair against them. They are on the list, but with the default route test ($100 and $1,000, at most 3% over the reference price) the ones checked are refused: a $1,000 buy came out 30% over for TSLAon and 58% for NVDAon. They pass only with a smaller test size or a higher cap. A DiversiFi basket token is one asset issued by a third party. An aio basket is different: it holds 2–5 separate tokens that aio buys itself.
stock baskets
Rotate mode (default) buys only the basket asset furthest below its target weight each round, so cumulative payouts converge to the weights with one swap per round. Split mode buys every asset in one round, only when the budget is large enough. The coin page shows the basket's live value.
safeguards
Before an asset can be picked it is audited: no transfer fee, no transfer hook program (an empty hook, which the issuer could fill later, is accepted and checked again every round), transferable, not paused, and Jupiter-verified on mainnet. A refusal names the token, including when it is one part of a basket. Tokens with a transfer fee are refused because small payouts can arrive as 0; this covers CRAMER, PRIVACY and the pre-IPO tokens. When a coin picks a mainnet asset, it must also pass a route test. Jupiter must quote a buy from SOL at $100 and at $1,000, each at most 3% above the asset's reference price. Each buy is checked again in the same way. The reference is Pyth where a feed exists; otherwise it is Jupiter's price, which comes from the same pools, so for those tokens the test bounds slippage but can't tell a pushed price from a fair one. When Jupiter or a price source can't answer, the pick is refused with “try again” and nothing is remembered. Jupiter's reported liquidity is no longer a gate, because it misses venues such as Ondo's market makers. A new token account is opened for a holder only when they are owed at least 5× its rent; smaller amounts stay owed. Swaps under $25 and payouts under $1 wait for the next round.
issuer powers
For every drop asset, the form and the coin page show who issues it and what the issuer can do, read from the mint: mint more, move or burn any balance, pause, freeze, scale balances, add a transfer hook later. Basket tokens add DiversiFi's keeper and admin powers and the vault's fee setting. Ondo assets add Ondo's eligibility terms, which exclude US persons and some other countries.
geo-block
Picking or claiming a stock, pre-IPO, basket or Ondo asset keeps the stock-pairing country block on the form and on the server. The default covers every country xStocks, Ondo or Backpack refuse (US, UK, Canada, sanctioned and unserved countries), set by STOCK_PAIRING_BLOCKED_COUNTRIES. Ondo limits some further regions to professional investors. Paid-out drops are pushed, not claimed.
status
On devnet, with stand-in stock mints and aio-owned test pools: seven rotate rounds converged to a three-asset basket's weights, a reward coin's tax was sold and dropped as a stock token, and the pause, split, same-stock and geo-block cases passed. On mainnet, buys and payouts to a new wallet were only simulated read-only, with nothing signed, for xStocks, Backpack stocks, Ondo stocks and the MUSK4 basket. Real mainnet drops need a Jupiter key and haven't run.
03

Fee routing

devnet-testedX / GitHub claims need sign-in setup

Launchpads pay creator fees to whoever is recorded as the coin's creator on chain. So for every launch aio generates a fresh fee wallet that is that creator. Its key is stored encrypted (AES-256-GCM), and the coin's fees never mix with any other coin's.

recipienthow they're paidexpires?
an X accountsigns in with X; a Solana wallet is made for them and the fees land there in one transactionafter 90 days unclaimed
a GitHub usersigns in with GitHub, same as Xafter 90 days unclaimed
any Solana walletanyone can push the fees to that fixed address from the coin page, any timenever
a charity (off by default)pushed by anyone inside the payout, never claimednever
  • The treasury pays the transaction fee of every claim. Claims below 0.01 SOL (default) are refused, because opening the claim pays about 0.002 SOL of account rent.
  • Decline: the named account can decline a coin; its fees then go to the treasury on the next sweep.
  • Opt out: the named account can also block every future launch naming them. aio refuses those launches.
  • Expiry sweep: X and GitHub fees unclaimed for 90 days (default, counted from launch or the last claim) are swept to the treasury by a job that runs once a day, as are fees of declined coins and of coins flagged by the early-buy scan once 90 days have passed since launch.
  • Every claim and sweep is listed with its transaction on /payouts.
  • Naming someone as a recipient doesn't mean they endorse the coin.

When a coin carries cashback, a Floor Fund share or a charity share, each payout is one transaction from the fee wallet that pays those legs first and the recipient last. A leg that can't be paid right now is held in the fee wallet as owed and settled first next time; it never goes to the recipient. Payouts are journaled before they are sent, so a timeout or crash can't pay a leg twice or lose it.

An X recipient is bound to the account's numeric X id when the handle can be looked up at launch, so a handle that is renamed and then registered by someone else can't claim the coin. A coin bound to an id is claimed by that id only, under whatever handle it uses today. Older coins that were launched by handle alone are bound by a one-time backfill that the operator runs before the reply bot is switched on.

fee routing

X claim pages

builttested with a local databaseoff by default

Every X account has a public page at /x/<handle> listing the creator fees waiting for it on aio, so someone told “a coin is paying you” can check it without signing in.

  • It lists each coin naming the account (by its X id when the coin is bound to one, otherwise by handle) with the unclaimed amount and the date it expires. SOL comes first and every other quote token is shown in its own units, never converted.
  • Fees withheld by the early-buy scan are shown separately with the reason and never counted as claimable. An account that opted out shows that and no coins.
  • Buttons lead to aio's own claim page (sign in with X through the sign-in provider only; the page warns that aio never asks for a seed phrase) and to the opt-out. A signed-in owner sees a banner with their own total.
  • The page reads only aio's database and its cached X id lookups; viewing it never calls X. Responses are cached for 60 seconds and limited to 30 views per minute per IP (default, counted in the database with hashed IPs). A share card image is generated per page, and pages ask search engines not to index them.

Status: checked with a copy of the local database (flag off: every route is 404; flag on: totals, expiry dates, withheld rows, opt-outs, rate limits and the share card), and the page fits a 375 px phone screen. Off until the operator sets X_PAGES_ENABLED.

fee routing

The reply bot

builtdevnet-tested with X mockedoff by defaultneeds an X developer account

An optional bot account on X answers posts that mention it with one of four commands, so recipients and launchers can use aio from X. It only ever answers posts that summon it.

commandwhat happens
claimone reply with how much is waiting for the author and where to claim it on aio
stopthe author opts out of every future launch naming them; confirmed once, then the bot stays silent to them
helpa fixed help text
launcha launch draft bound to the author's X id, for a ticker, name and recipient in the post; the author finishes it on aio by signing in with X and paying the normal launch fee from their own wallet
  • Launch drafts are refused when the named recipient's account is younger than 30 days, has fewer than 50 followers, is on the reserved list, can't be looked up, or opted out. Lookalike characters, staff words and links in names are refused. A post can launch at most one coin.
  • Spending is capped: the bot stops reading and posting once its estimated X API cost for the day reaches $5 (default), answers each author at most 3 times a day, never retries a failed reply, and ignores mentions older than a day.
  • Replies tag nobody and stay within one post. By default they name the site without a link; an optional mode adds single-use claim links whose code is stored only as a hash and expires.
  • The bot refuses to run while any open X coin still lacks its recipient's X id, so it can't point anyone at fees that are still claimable by handle.

Status: every path ran against mocked X endpoints, and one bot-drafted coin went live on devnet bound to the author's X id. Nothing has been posted to X. It needs the operator's bot account, X developer app and tokens, a scheduler (a Cloudflare cron every one to two minutes, or X's activity webhook) and the X id backfill.

04

Platform economics

devnet-testedoff by defaultplatform token not launched

aio earns small fees from these sources, each recorded as a row in a revenue ledger that /buyback publishes once the buyback is switched on:

sourcedefault
LaunchLab platform fee on curve trades0.25%
launch fee, net of the create rent aio pays0.05 SOL per launch, minus costs
platform share of graduated LP (Fee Key NFT) and DBC partner feesLP 10%; DBC remainder after Meteora and creator
DBC early-fee share kept from recipientsestimated per coin
Jupiter referral on Cleanup sales and graduated-coin trades0.5% referral fee (Jupiter keeps 20% of it); mainnet only, needs Jupiter keys
marketplace broker fee on Floor Fund buyswhen charged
protocol share of a holders-mode coin's transfer tax (fee modes)0.5 of its 3 percentage points

Two of these sources bring in nothing yet. DBC surplus withdrawals and DAMM v2 LP fees are not collected or tested.

Some money passes through the treasury without being revenue: hook rent repays costs, the tax of reward coins launched before fee modes belongs to holders, and swept unclaimed creator fees are left out of the buyback by default because they were owed to recipients. A holders-mode coin's protocol share counts once it is in SOL; one that can't be converted stays in its token in the treasury, like platform fees in stock quotes. Charity donations, trader cashback, creator-strategy holds and holder drops are never counted.

The 80/20 buyback and burn

By platform policy, 80% of net SOL revenue goes to a separate buyback wallet and 20% stays in the treasury to run the platform. The buyback wallet buys the platform token (not launched yet; its mint is set by PLATFORM_TOKEN_MINT) through aio's own pools and burns what it bought in the same transaction, with a memo.

  • Three states. Off: nothing is split and all revenue stays in the treasury. Escrow (switched on, no platform token yet): a scheduled job, run once a day unless a faster scheduler is set up, moves the buyback share into the buyback wallet, and nothing is bought or burned. Buying (switched on and the token's address set): buying starts no sooner than 24 hours after the token launches, and what was saved up is spent over 30 days.
  • Bought tokens are burned by default; the operator can send them to a published vault instead.
  • Caps (defaults): at most 0.5 SOL per run and 5 SOL per day, never more than 2% of the pool's reserve per run, split into 3–10 random chunks. A run stops if price impact passes 1% or the price drifts 3%.
  • The treasury always keeps at least 0.05 SOL after a split, since it pays every claim and payout fee. Revenue in other tokens (such as dUSDC) stays in the treasury, unsplit.
  • Transparency: /buyback publishes the totals and every allocation, buy and burn transaction once the feature is on.

Status: built and run on devnet with a test token: 28/28 offline checks passed. The full end-to-end run passed 44 of 45 checks, and its one miss (the test token's launch check) passed when that step was run again (29/29). The test token's graduation hasn't been run. Off until the operator enables it and launches the platform token.

05

Trading & tools

devnet-testedeach off by default

Tools for trading aio coins without leaving aio. Each sits behind its own switch.

toolwhat it doesstatus
trade panelchart, trade feed, top holders and a buy / sell box on each coin page. Quotes expire after 30 s and are re-checked before signing; aio only relays transactions that call its swap programsdevnet-tested
indexerdecodes LaunchLab and DBC trades into trades, candles (1m to 1d) and holders; a separate switch follows a coin into its CPMM or DAMM v2 pool after graduationdevnet-tested
portfolioholdings and approximate average-cost PnL from indexed trades, payouts and a claims hub for coins paying a walletdevnet-tested
wallet cleanupsells dust, burns what can't be sold (only with confirmation), closes empty token accounts and returns their rent, at most 8 transactions per builddevnet-tested
coin explorerevery live coin with market cap, curve progress, recipient and badges; sort and filter by pairing, engine, tier and moredevnet
innovation boardpropose what aio should build, upvote and replybuilt, needs sign-in
social hub & calloutstrader callouts with the poster's indexed position, leaderboards, trending and a screener (below)built, off by default
livestreamsgo live on a coin page from the browser or OBS (below)built, off, needs LiveKit

aio never holds your wallet's keys for trading: the trade panel and Cleanup build a transaction and your wallet signs it. Jupiter routing is mainnet-only and limit orders aren't built. Launching from a post on X goes through the reply bot, which is off by default.

tool

Social hub, callouts & leaderboards

builtoff by defaultneeds sign-in setup

/social is where traders post and compare takes on aio coins. Every number comes from aio's own trade index, never from what a poster types in.

  • Callouts: a short take on a coin, stored with the poster's indexed position at the time (price and market cap at the call, amount held, cost basis). Posting needs a profile at least 24 hours old and a position in the coin; one callout per coin per 6 hours (defaults). Likes, one-level replies, and reports with auto-hide pending review.
  • Disclosure badges on every callout: bought within 15 minutes before posting, sold within 10 minutes after, and how much has been sold since.
  • Leaderboards: traders, earners, creators and callers over 1 day, 1 week, 1 month and all time. They are indexed estimates in SOL across all of a profile's linked wallets; system wallets and snipes are left out. Callers are scored by how the wallets that followed a call did over the next 24 hours, and only once the index has caught up.
  • A trending strip and a screener rank coins by 24h volume, trades and 1h change.
  • Nothing here is a buy or sell signal, and the pages say so.

Status: built and checked against a copy of the database (no transactions). Off by default; posting needs the sign-in provider, and the pages haven't been reviewed in a browser.

tool

Livestreams

builtoff by defaultneeds LiveKit account

A coin's creator (and admins; optionally its fee recipient) can go live on the coin page, from the browser or from OBS, through LiveKit. Viewers watch and chat on the coin page.

  • Hosts need a profile of a minimum age, a linked X or GitHub account and the accepted stream rules. One live stream per coin and per host; no recording.
  • Viewers get short-lived, watch-only tokens. A global cap on connections (90 by default) is counted in the database, so every server sees the same count.
  • Chat is rate-limited and blocks links and wallet-drainer lures. 3 reports (default) pause a stream for admin review; admins can end a stream and ban a host or coin, and a kill switch turns the whole feature off.
  • Streams end on a time limit, through LiveKit's webhook and a scheduled sweep; a room LiveKit fails to close is retried until it is gone.

Status: built and tested with LiveKit mocked. It needs the operator's LiveKit project and keys, its webhook and the stream rules text before it can run; no real video has gone through it yet.

06

Agents & API

builtdevnet-testedoff by default

aio has an API so that scripts and AI agents can launch and trade like a person using the site, without ever handing aio a private key. aio prepares each transaction, the caller signs it on their own machine, then submits it back.

partwhat it doesstatus
REST API v1keys with scopes (read, launch, trade, claim, strategy) made on the settings page; prove a wallet by signing a single-use message; prepare a launch, sign its fee transaction locally and submit it; quote, build and send trades; read coins, fees and portfolios; read or change a coin's strategy. An OpenAPI document describes every routebuilt, devnet-tested, off by default
CLI (aio-launch)the same flow from a terminal: log in with a key, link a wallet, launch, check status, quote, buy and sell, read or set a coin's strategy, signing locally; an unsigned mode prints transactions for an external signerbuilt, devnet-tested, not published yet
MCP serverthe same functions as tools for AI assistants, at /api/mcp with the same API keysbuilt, devnet-tested, off by default
  • Limits: 60 requests per minute per key, 30 trade requests per minute, and the same daily launch limit as the site (defaults), all counted in the database.
  • aio refuses anything that looks like a private key or seed phrase. A claim through the API takes only a launch id and pays the recipient's own signed-in wallet.
  • Coin names and descriptions come back marked as untrusted text, so an agent treats them as data, never as instructions.
  • Trades are relayed only if they call aio's allow-listed swap programs, the same check as the site's trade panel.
  • aio curve quotes carry two fees. After graduation feeRaw is the pool fee only and aioFees.coinRaw is the coin fee, so read feeSummary for both. See aio curve.
  • Fee-mode defaults (when fee modes are on): a launch that leaves out feeMode is a holders coin if it is paired with a stock, a pre-IPO token or a basket (on devnet also dusdc) and holders mode can launch, otherwise a creator-mode coin. A holders coin without rewardAsset pays in its pairing token when it can, else in SOL. Sending feeMode: "dev" opts out; the prepare response says which mode and reward asset the coin got. See fee modes.

Status: launches, buys, sells and a claim went through the API and the CLI on devnet. Off until the operator sets API_ENABLED; creating a key needs the sign-in provider.

agents

MCP server & CLI

builtdevnet-testedoff by defaultOAuth not built yet

AI assistants that speak the Model Context Protocol can connect to /api/mcp and use aio through 18 tools: read coins, fees, portfolios and strategies; link a wallet; launch; quote, buy and sell; submit signed transactions; change a strategy; and draft a coin when the model gateway is set up.

  • Authentication is an aio API key sent as a bearer token, with the same scopes and per-key limits as the REST API. A request without a valid key gets 401 and a pointer to the server's protected-resource metadata.
  • Every tool that moves money returns an unsigned transaction and a simulation; the assistant's user signs it locally and sends it back. Arguments that look like a private key, seed phrase or keypair are refused before anything else reads them, and the value is never echoed.
  • Tools are labelled read-only or destructive so assistants can ask before acting. Coin text comes back marked untrusted.
  • The aio-launch CLI gained strategy get and strategy set; it is built and tested but not published to npm yet.

Status: a launch, a buy and a sell went through the MCP tools on devnet, in-process and over HTTP; scopes, revoked keys, the secret guard and the flags were checked. Off until the operator sets MCP_ENABLED together with API_ENABLED. Signing in through OAuth instead of pasting a key is planned as a second phase.

Against the creator front-running their own coin

  • Clean launches: aio creates the coin and hides its address until it is live.
  • Early-buy scan: aio's server checks the first 64 slots. A launcher-linked buy found there flags the coin and withholds its creator fees. It is a check, not a guarantee: later buys and funding through an exchange are not seen.
  • Anti-snipe curve (optional, off): an on-chain fee that makes block-zero buys almost worthless. Keeping the creator's share of those early fees from the recipient is an aio payout rule based on an estimate, not part of the on-chain fee.
  • Hooked coins (optional, off, devnet only): on-chain caps per token account and per transfer. aio's treasury holds a key that can loosen them or switch them off, never tighten them; only an admin script run by hand uses it.

Against spam and abuse

  • A profile is required to launch; profile usernames are permanent, and staff-sounding or lookalike names are refused.
  • Per-wallet, per-account and per-IP limits on launches, agent drafts and chat, profile writes and the innovation board, counted in the database.
  • Recipients can decline a coin or opt out of every future one.
  • Every fee payment is checked on chain (amount, sender, memo, age) and can be used only once.

Custody and keys

Fee-wallet and coin-address keys are stored encrypted. Unclaimed fees are held by the platform until claimed, which makes aio custodial for those fees. Before mainnet the plan calls for the treasury key and the encryption secret to move to a key-management service, an external audit of the hook program, a paid RPC, and launch spam protection beyond the per-wallet daily limit. Stock pairings and stock drops keep their country block. Strategy holds and drop vaults are custodial in the same way: their keys are derived or stored encrypted.

Transparency

  • /payouts: every claim and sweep with its transaction.
  • /buyback: revenue, allocations, buys and burns (when on).
  • /floor: vaults, buys, holdings and raffle proofs (when on).
  • Coin pages: clean-launch status, engine, live fee, hook rules, reward history, strategy changes and runs, holder drops with their vault address, and the stock disclaimer.

Nothing runs on mainnet yet. As of 2026-11-10:

partstatuswaiting on
clean launches, sniper watchdevnet-testedsign-in provider for the site flow
deep start (only tier), dev allocationdevnet-tested (deep start; the retired standard and deep tiers too); dev allocation not rundev allocation run; on-chain tier rule
fee routing and payoutsdevnet-tested (wallet push)sign-in provider for X / GitHub claims
anti-snipe curve (DBC)devnet-tested (paid launch flow), offcollecting fees after graduation; a graduation and migrator run; mainnet configs
hooked coinsdevnet-tested, off, devnet onlyexternal audit; a remade hooked config; a first relax run on chain
reward coins (legacy)devnet-tested, off; replaced by holders modenothing planned
quote pairings (351 stock, pre-IPO, basket and crypto quotes)devnet-tested (dUSDC); mainnet simulated only; offaio's own mainnet LaunchLab platform, then a real mainnet run per quote kind (country block stays on)
stock coins (stock pairing + holders mode)devnet-tested with the dUSDC stand-in; no real stock quote launched; graduation not run; offaio's mainnet platform holding the transfer-tax authority, taxed curve rules, Jupiter and Pyth keys, then one small real launch and graduation
fee modes (creator, holders)devnet-tested (SOL and dUSDC coins), offa graduation run of a holders coin; a faster scheduler for payouts more than once a day
AI-drafted coins (agent launches)built, needs setupmodel gateway billing
profiles, innovation board, explorerbuiltsign-in provider
trade panel, indexer, portfoliodevnet-tested, offtrade panel: Privy sign-in; indexer: Helius key and paid RPC; portfolio: nothing (browser check only)
buybackdevnet-tested, onplatform token launch
wallet cleanup, Floor Funddevnet-tested, offJupiter key; mainnet collections (none listed) and marketplace API keys
social hub & leaderboardsbuilt, offsign-in provider; a browser review
livestreamsbuilt (LiveKit mocked), offLiveKit project and keys, stream rules
charity routingdevnet-tested, offowner-confirmed registry entries; donate.gg access
trader cashbackdevnet-tested, offthe cashback escrow key
agent API and CLIdevnet-tested, offsign-in provider for keys; publishing the CLI
MCP serverdevnet-tested, offOAuth sign-in (phase 2); a manual MCP Inspector check
X claim pagesbuilt, offthe X id backfill; a signed-in check (sign-in provider)
reply bot on Xdevnet-tested with X mocked, offX developer app, bot account and tokens; a scheduler; the X id backfill
creator strategy (burn, drop)devnet-tested, offowner decisions on the cap, cooldown and who may set one
holder drops (stocks, baskets, reward-only Ondo)devnet-tested (stand-in stocks); mainnet simulated only; offa Jupiter key for mainnet assets; owner decision on widening the country list for Ondo

Nothing in this paper or on aio is financial advice. Coins on aio are made by users, not by aio. Memecoins are extremely volatile and most lose most of their value; a bonding curve or a buyback does not protect a price. Stock coins are not stocks: they are coins priced in a stock token, and that token carries its issuer's controls. Holder payouts depend on trading volume and on aio's server running them. Smart contracts, including aio's unaudited hook program, can fail. A fee recipient has not endorsed a coin unless they say so.

Only put in what you can afford to lose. Features, defaults and policies described here can change.