# Where the money goes

This page follows the SOL around one coin's life, in order: the launch, the presale, trading, and your own Koine wallet. Every number here comes from the code named at the end of each section. The operator can change some of them with server settings; the defaults are shown.

## The short version

| Money | Who pays | Who gets it |
|---|---|---|
| Launch fee, 0.25 SOL | The creator, from their Koine wallet | The Koine treasury |
| Creating the coin, pool and presale vault (rent and network fees) | Koine's keeper | The rent stays in the new accounts; the network fees go to Solana |
| Presale deposits | Each depositor | A Meteora vault Koine doesn't control, which spends them on one buy of the coin, or gives them back if that buy never runs |
| Trading fee in the first 100 seconds (99% falling to 1%) | Everyone who trades in the pool | Meteora 20%. Of the other 80%: buyback and burn 75%, Koine 25% |
| Trading fee after that (1%) | Everyone who trades in the pool | Meteora 20%. Of the other 80%: steward 40%, buyback and burn 20%, Koine 40% |
| The steward's 40%, in any hour they don't pass the checks | | Buyback and burn instead |
| Koine fee on trades from a Koine wallet, 1% (0.9% if you joined through a referral link) | The trader | Koine's fee wallet |
| Withdrawals | You | Your one saved address |

The two trading fees are different things. The pool's trading fee is built into the coin's pool on chain and every trade pays it, wherever it comes from. The Koine fee is charged only on trades made from a Koine wallet, on top of the pool's fee.

Source: `app/server/config.ts` (`RULES.launchFeeSol`, `RULES.fee`, `RULES.spikeSeconds`, `FEES`), `app/server/keeper.ts` (`spikeSplit`, `feeSplit`), `trade/server/config.ts` (`feeBps`, `feeWallet`), `trade/server/referrals.ts` (`feeBpsFor`, `DISCOUNT_BPS`), `trade/server/withdraw.ts`

## 1. The launch

The creator pays a launch fee of 0.25 SOL. It comes out of their Koine wallet and goes to the Koine treasury in one transaction. That wallet's signing rules allow only this exact amount to the treasury, with a one-time note attached so the same payment can't be used twice. The creator also pays the network fee for that one transaction, about 0.00001 SOL.

Koine's keeper, a wallet on Koine's server, then pays to create the coin, its pool and its presale vault. That covers the rent each new account on Solana needs and the network fees. The creator pays none of it.

The creator gets no free tokens. If they want some, they deposit in the presale or buy after trading opens, like everyone else.

Source: `app/server/config.ts` (`RULES.launchFeeSol`), `app/server/launch.ts` (`prepareLaunch`, `checkFee`, `createLaunch`), `trade/server/launchfee.ts` (`payLaunchFee`), `trade/server/policy.ts` (`launchFeeRules`), `app/web/src/Create.tsx` (`NETWORK_FEE_SOL`)

## 2. The presale

Deposits go into a Meteora Alpha Vault, a program on Solana that Meteora wrote. Koine never holds them. You can take your SOL back out at any time until the presale ends. Koine charges no fee on deposits, withdrawals, claims or refunds. You pay the network fee, and a small rent for your place in the vault the first time you deposit.

About an hour before trading opens, the vault makes one buy of the coin with all the deposits. Everyone gets the same price: your share of the tokens is your share of the deposits. This buy pays the pool's lowest fee, about 1%, not the 99% opening fee. That fee joins the fees from the first 100 seconds below.

Your tokens then unlock in a straight line over 24 hours, starting 100 seconds after trading opens. Halfway through, half can be claimed. You claim them into your Koine wallet whenever you like.

If the vault's buy never runs before trading opens, nobody's SOL was spent. From the opening time, each depositor can take their whole deposit back.

Source: `app/server/launch.ts` (vault creation: `escrowFee`, `startVestingPoint`, `endVestingPoint`), `app/server/tx.ts` (`depositTx`, `withdrawTx`, `claimTx`, `refundTx`), `app/server/keeper.ts` (`crank`, `CRANK_OPENS`), `app/server/config.ts` (`RULES.unlockSeconds`, `RULES.protocolGapSeconds`), `trade/server/presale.ts`

## 3. The trading fee

Every buy and sell in a Koine coin's pool pays a fee in SOL. When trading opens, it is 99%. It falls a little every second and reaches 1% after about 100 seconds. It stays at 1% for the life of the pool. Nobody can change this schedule, Koine included: it is set in the pool when the coin is created.

Meteora's pool program keeps 20% of every trading fee. If the trade names a referral account, part of that 20% goes to that account instead. The other 80% builds up in the pool for Koine's keeper to collect.

**The first 100 seconds.** At 100 seconds after opening, the keeper collects everything earned so far, including the presale buy's fee. It splits it:

- 75% to buyback and burn of this coin;
- 25% to the Koine treasury.

The steward gets nothing from this part.

**After that, every hour.** The keeper collects the pool's fees once an hour and splits them:

- 40% to the coin's steward, if they pass the checks that hour;
- 20% to buyback and burn of this coin;
- 40% to the Koine treasury.

As shares of the whole trading fee, that is 32% to the steward, 16% to buyback and burn, 32% to Koine and 20% to Meteora. At the 1% fee, 1 SOL of trading pays 0.01 SOL in fees: 0.0032 SOL to the steward, 0.0016 SOL to buyback and burn, 0.0032 SOL to Koine and 0.002 SOL to Meteora.

**The steward's checks.** The steward is the coin's creator to start with. At each hourly split the keeper checks three things:

1. they hold at least 1% of the coin's supply (10,000,000 tokens, counting presale tokens they haven't claimed yet);
2. they posted an update on the coin's page in the last 72 hours (trading opening counts as their first, so the first 72 hours are covered);
3. holders who flagged them as gone hold less than 25% of the coins in circulation.

If any check fails, that hour's 40% goes to buyback and burn. It is gone for good, not saved for later.

**Getting paid.** The steward's share waits until they claim it. They press Claim on the coin page, and Koine pays everything they're owed to their Koine wallet, but only if their latest update is less than 24 hours old. At least 0.001 SOL must be owed. Koine's own 40% is paid to the treasury automatically after each hourly split. If the steward role moves to someone else, the old steward is paid what they're owed at that moment, without claiming.

**Buyback and burn.** Once an hour, the keeper spends part of the coin's buyback money buying the coin in its pool, then burns every token it bought. Burned tokens are gone from the supply for good. The money from the first 100 seconds is spread evenly over 7 days. Each buy and burn is listed on the coin page with its transaction.

The split, the steward checks and the payouts run on Koine's server, not on chain. Koine can change them with server settings, and a change applies to every coin from then on. If Koine turns on its Squads multisig, Koine's share stays in the multisig, which is then the treasury.

Source: `app/server/config.ts` (`RULES.fee`, `RULES.spikeSeconds`, `RULES.buybackHours`, `FEES`, `STEWARD.bondBps`, `STEWARD.checkinSeconds`, `STEWARD.claimFreshSeconds`, `STEWARD.flagPct`), `app/server/keeper.ts` (`claimSpike`, `spikeSplit`, `claimFees`, `feeSplit`, `payOut`, `claimShare`, `buyback`), `app/server/steward.ts` (`status`, `checkin`, `claimCheck`), `app/scripts/launch-check.ts` (`pool-config`)

## 4. Your Koine wallet

Your Koine wallet is a Solana wallet Koine makes for you when you sign in. Koine keeps its key at Privy, a wallet company, under signing rules that limit what it can sign.

**Money in.** You send SOL to its address from anywhere: an exchange or another wallet. Send SOL only. Tokens sent to it arrive, but Koine can't sell or withdraw them.

**Trades.** Every buy or sell from it pays Koine's fee: 1% of the SOL you spend on a buy, or 1% of the least SOL you'd get back on a sell. If you joined through someone's referral link, it is 0.9% instead, and that person earns a share of what you pay, paid by Koine. The fee goes to Koine's fee wallet in the same transaction as the trade. Each trade also pays a small tip to land fast (0.00001 SOL by default) and the network fee. Presale deposits, withdrawals, claims and refunds pay no Koine fee.

**Money out.** Withdrawals are SOL only, and go only to one address you save. Your first saved address works at once. Changing it waits your untie delay, a waiting time you choose before your first buy (none is allowed). Each withdrawal also waits that delay, and you can cancel it until then. Every withdrawal needs two signatures: Koine's trading service and a separate service called the withdrawal approver, which keeps its own record of what you asked for and refuses anything else.

**Your key.** You can ask for the wallet's private key at any time. It's handed over after your untie delay, encrypted so only your browser can read it. Then you can use the wallet without Koine.

Source: `trade/server/config.ts` (`feeBps`, `feeWallet`, `TIP_LAMPORTS`), `trade/server/referrals.ts` (`feeBpsFor`, `DISCOUNT_BPS`, `BANDS`), `trade/server/orders.ts` (`fee`, `prepare`), `trade/server/withdraw.ts` (`setAddress`, `requestWithdrawal`, `processWithdrawal`), `trade/server/export.ts` (`requestExport`), `trade/server/knots.ts` (`untieDelayMs`), `trade/server/deposits.ts`

## Where to read more

- [Fees](https://docs.koine.markets/launchpad/fees): every fee, with the math and the minimums.
- [Creator share and stewardship](https://docs.koine.markets/launchpad/creator-share): the steward's checks, flags, handover and the takeover vote.
- [Trading](https://docs.koine.markets/terminal/trading#fees): costs of each trade, deposits, withdrawals and key export.
- [Security](https://docs.koine.markets/terminal/security#the-withdrawal-approver): what the withdrawal approver checks.
- [Trust](https://docs.koine.markets/launchpad/trust): what is fixed on chain and what runs on Koine's server.

Source: `docs/launchpad/fees.md`, `docs/terminal/trading.md`
