Abstract
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.
| type | engine | what changes | status |
|---|---|---|---|
| clean launch | both | aio creates the coin; mint hidden until live; early-buy scan | devnet-tested |
| curve tiers | LaunchLab | deep start: every new coin starts at about $20k market cap; optional locked dev allocation | devnet-tested |
| anti-snipe curve | Meteora DBC | 99% in the creation slot, falling linearly to 1.5% from slot +3 | devnet-tested, off |
| quote pairings | LaunchLab | raise and fees in dUSDC, USDC, EURC, a pre-IPO token, a third-party basket token or a crypto token | devnet-tested (dUSDC), off |
| stock coins | LaunchLab | pool quoted in a tokenized stock; a 1.5% transfer tax and the creator fee paid to holders in that stock | devnet-tested with the dUSDC stand-in, off; real stocks are mainnet only and not launched yet |
| fee modes | LaunchLab for holders mode | creator fee to a named recipient, or a 1.5% transfer tax plus the creator fee to holders | devnet-tested, off |
| reward coins (legacy) | LaunchLab | the older 1% or 3% transfer tax paid back to holders in the coin itself; replaced by holders mode | devnet-tested, off |
| hooked coins | Meteora DBC | per-account balance cap, transfer cap, cooldown, launch lock | devnet-tested, off, unaudited |
| AI-drafted coins | both | an AI model drafts the coin and chats on its page; it has no wallet | built, needs setup |
| Floor Fund | SOL coins | part of the creator share buys an NFT collection's floor | devnet-tested, off |
| charity | SOL coins | some or all creator fees to a charity | devnet-tested, off |
| cashback | SOL coins | part of the creator fee back to traders | devnet-tested, off |
| creator strategy | SOL coins | part of the creator fee buys and burns the coin, or funds a holder drop | devnet-tested, off |
| holder drops | holders mode, or a strategy in drop mode | the payout engine: holders paid in SOL, a stock, basket or Ondo token, or a basket of 2–5 | devnet-tested, off, mainnet assets need 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.
| result | meaning | fees |
|---|---|---|
clean | every buyer in the first 64 slots was traced and none is linked (or nobody bought) | claimable |
partial | none linked, but some buyers weren't traced | claimable |
flagged | a buyer is the launcher or funded by it | withheld |
unverifiable | the blocks couldn't be read after 5 tries and a day | claimable |
unchecked | scan hasn't finished yet | claims 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.
Curve tiers
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.
| tier | supply | sold on curve | raise to graduate | start (at $92 SOL) | new launches |
|---|---|---|---|---|---|
| deep start | 1B | 700M | about $32.7k of the quote, priced at launch (~355 SOL) | $20k → ~$109k | the only tier |
| standard | 1B | 793.1M | 85 SOL | ~$2.6k | retired |
| steady | 600M | 420M | 85 SOL | ~$4.8k | retired |
| deep | 1B | 793.1M | 300 SOL | ~$9.1k | retired |
- 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.
Engines: LaunchLab and the anti-snipe curve
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 LaunchLab | Meteora DBC (anti-snipe curve) | |
|---|---|---|
| default | yes | off unless DBC_ENABLED |
| trading fee | flat from the first trade: 0.5% creator + 0.25% platform | starts at 99% in the create slot, falls every slot to 1.5% from slot +3 |
| fee split | creator fee to the fee wallet, platform fee to aio | Meteora 20%; of the rest, 50% to the creator and the remainder to aio |
| curve | deep 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 graduation | Raydium CPMM pool; LP 10% platform, 90% burned; the pool's creator fee is collected with each claim | Meteora 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 migrates | Raydium, once the curve has reached its raise. aio sends nothing | Meteora'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 |
| options | dev allocation, quote pairings, stock coins, holders mode | hooked 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.
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.
| Slice | Share of the fee |
|---|---|
| Buyback | 35% |
| Trader rewards | 30% |
| Holder rewards | 15% |
| aio platform | 10% |
| Launcher | 5% |
| Liquidity | 5% |
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.
Quote pairings
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.
| quote | kind | network | old tiers' raise | issuer can |
|---|---|---|---|---|
| SOL | native | both | 85 SOL | — |
| dUSDC | test dollar | devnet | 8,000 | worth nothing (Raydium test token) |
| 113 | stock tokens: 24 xStocks (Backed), 89 Backpack Securities | mainnet | about $8,000 each | mint more, move or burn from any account (permanent delegate), pause, freeze, scale balances, add a transfer hook later |
| 10 | pre-IPO tokens (not shares) | mainnet | about $8,000 each | charge a transfer fee on every transfer (0.2–5%), freeze; PreStocks also move, burn and pause |
| 7 | basket tokens issued by DiversiFi, a third party | mainnet | about $8,000 each | run 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 |
| 4 | leveraged tokens | mainnet | about $8,000 each | powers vary by mint; leverage and rebalancing can increase losses |
| 2 | tokenized collectibles | mainnet | about $8,000 each | custody and redemption depend on the issuer; powers are read from the mint |
| 3 | currency tokens including USDC, EURC and USDT | mainnet | sized from the token price | powers vary by mint and are shown before launch |
| 221 | crypto tokens, including native and wrapped tokens | mainnet | about $8,000 each | varies; 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.
Stock coins
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:platformso 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.
Fee modes
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.
| name | what it is | paid in | use it? |
|---|---|---|---|
| holders mode | The 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 basket | Yes. It is what a stock coin starts in, paid in its paired stock. |
| holder drops | The 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 picked | It is not picked on its own. It runs behind holders mode and behind a drop strategy. |
| reward coins | Legacy: 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 itself | No. While fee modes are on, a new launch can't pick it and the server refuses it. Existing ones keep working. |
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.
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.
| rule | what it checks | program limit |
|---|---|---|
| max wallet | the 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 wallets | 0.5–100% of supply, or off |
| max transfer | size of one transfer | 0.1–100% of supply, or off |
| cooldown | slots since the sender's last send | up to 150 slots |
| launch lock | no sends until N slots after the create | up 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.
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.
Floor Fund & NFT raffles
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.
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
charityrecipient (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_ONBOARDEDare 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
/charityof 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.
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.
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,burnordrop) 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.
Holder drops & stock baskets
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.
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.
| recipient | how they're paid | expires? |
|---|---|---|
| an X account | signs in with X; a Solana wallet is made for them and the fees land there in one transaction | after 90 days unclaimed |
| a GitHub user | signs in with GitHub, same as X | after 90 days unclaimed |
| any Solana wallet | anyone can push the fees to that fixed address from the coin page, any time | never |
| a charity (off by default) | pushed by anyone inside the payout, never claimed | never |
- 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.
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.
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.
| command | what happens |
|---|---|
| claim | one reply with how much is waiting for the author and where to claim it on aio |
| stop | the author opts out of every future launch naming them; confirmed once, then the bot stays silent to them |
| help | a fixed help text |
| launch | a 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.
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:
| source | default |
|---|---|
| LaunchLab platform fee on curve trades | 0.25% |
| launch fee, net of the create rent aio pays | 0.05 SOL per launch, minus costs |
| platform share of graduated LP (Fee Key NFT) and DBC partner fees | LP 10%; DBC remainder after Meteora and creator |
| DBC early-fee share kept from recipients | estimated per coin |
| Jupiter referral on Cleanup sales and graduated-coin trades | 0.5% referral fee (Jupiter keeps 20% of it); mainnet only, needs Jupiter keys |
| marketplace broker fee on Floor Fund buys | when 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.
Tools for trading aio coins without leaving aio. Each sits behind its own switch.
| tool | what it does | status |
|---|---|---|
| trade panel | chart, 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 programs | devnet-tested |
| indexer | decodes 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 graduation | devnet-tested |
| portfolio | holdings and approximate average-cost PnL from indexed trades, payouts and a claims hub for coins paying a wallet | devnet-tested |
| wallet cleanup | sells dust, burns what can't be sold (only with confirmation), closes empty token accounts and returns their rent, at most 8 transactions per build | devnet-tested |
| coin explorer | every live coin with market cap, curve progress, recipient and badges; sort and filter by pairing, engine, tier and more | devnet |
| innovation board | propose what aio should build, upvote and reply | built, needs sign-in |
| social hub & callouts | trader callouts with the poster's indexed position, leaderboards, trending and a screener (below) | built, off by default |
| livestreams | go 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.
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.
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.
| part | what it does | status |
|---|---|---|
| REST API v1 | keys 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 route | built, 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 signer | built, devnet-tested, not published yet |
| MCP server | the same functions as tools for AI assistants, at /api/mcp with the same API keys | built, 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
feeRawis the pool fee only andaioFees.coinRawis the coin fee, so readfeeSummaryfor both. See aio curve. - Fee-mode defaults (when fee modes are on): a launch that leaves out
feeModeis a holders coin if it is paired with a stock, a pre-IPO token or a basket (on devnet alsodusdc) and holders mode can launch, otherwise a creator-mode coin. A holders coin withoutrewardAssetpays in its pairing token when it can, else in SOL. SendingfeeMode: "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.
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-launchCLI gainedstrategy getandstrategy 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:
| part | status | waiting on |
|---|---|---|
| clean launches, sniper watch | devnet-tested | sign-in provider for the site flow |
| deep start (only tier), dev allocation | devnet-tested (deep start; the retired standard and deep tiers too); dev allocation not run | dev allocation run; on-chain tier rule |
| fee routing and payouts | devnet-tested (wallet push) | sign-in provider for X / GitHub claims |
| anti-snipe curve (DBC) | devnet-tested (paid launch flow), off | collecting fees after graduation; a graduation and migrator run; mainnet configs |
| hooked coins | devnet-tested, off, devnet only | external audit; a remade hooked config; a first relax run on chain |
| reward coins (legacy) | devnet-tested, off; replaced by holders mode | nothing planned |
| quote pairings (351 stock, pre-IPO, basket and crypto quotes) | devnet-tested (dUSDC); mainnet simulated only; off | aio'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; off | aio'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), off | a graduation run of a holders coin; a faster scheduler for payouts more than once a day |
| AI-drafted coins (agent launches) | built, needs setup | model gateway billing |
| profiles, innovation board, explorer | built | sign-in provider |
| trade panel, indexer, portfolio | devnet-tested, off | trade panel: Privy sign-in; indexer: Helius key and paid RPC; portfolio: nothing (browser check only) |
| buyback | devnet-tested, on | platform token launch |
| wallet cleanup, Floor Fund | devnet-tested, off | Jupiter key; mainnet collections (none listed) and marketplace API keys |
| social hub & leaderboards | built, off | sign-in provider; a browser review |
| livestreams | built (LiveKit mocked), off | LiveKit project and keys, stream rules |
| charity routing | devnet-tested, off | owner-confirmed registry entries; donate.gg access |
| trader cashback | devnet-tested, off | the cashback escrow key |
| agent API and CLI | devnet-tested, off | sign-in provider for keys; publishing the CLI |
| MCP server | devnet-tested, off | OAuth sign-in (phase 2); a manual MCP Inspector check |
| X claim pages | built, off | the X id backfill; a signed-in check (sign-in provider) |
| reply bot on X | devnet-tested with X mocked, off | X developer app, bot account and tokens; a scheduler; the X id backfill |
| creator strategy (burn, drop) | devnet-tested, off | owner 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; off | a 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.
Social hub, callouts & leaderboards#
/socialis 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.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.