posl docs
poslSecurity

The launchpad

The launchpad is a place to start a token on a curve, where half of every trading fee buys ZEC for the pool.

What it does for you#

You start a token in one step. The launchpad creates it, mints the whole supply once, then drops the right to mint, so nobody can ever make more of it. The token opens on a price curve: people buy from the curve and sell back to it, and the price moves with every trade. No reserve is held for anyone, including you, and you can sell what you buy.

The reason to start it here rather than anywhere else: half of every trading fee buys ZEC for the pool, and the pool pays that ZEC to the people who lock and who trade. Trading on your token pays the privacy that holders use.

The fee, exactly#

Every trade pays 1 %, in SOL, on the way in and on the way out. That 1 % is split at the trade itself: 50 % goes to the ZEC pool, 30 % stays with the launchpad, and 20 % goes to the person who started the token. The three shares always add up to exactly the fee, down to the last lamport.

The split lives in the launchpad's own record. The admin can change it, and a change waits 48 hours before it can take effect, so you see it coming and can leave first. It must always add up to 100 %.

Starting a token#

  • What you pay. 0.03144 SOL for the first token a wallet starts: 0.02144 SOL of rent for the accounts your token needs, and 0.01 SOL that the launchpad asks for the start itself. Most of the rent is the fee of the record that wallets read for the name and the picture. The page reads both figures from the chain and adds them up in front of you.
  • That rent does not come back. Nothing closes a launch, so the rent is paid once and stays there. The 0.01 SOL the launchpad asks for is not rent, and it does not come back either.
  • One wallet starts at most 3 tokens per 24 hours. This limits the cost of flooding the list; it does not check who you are, and a fresh wallet starts again.
  • The supply. One billion units, six decimals. 800 million sit on the curve. 200 million are held back for the open market that follows graduation.
  • Name, symbol and picture link are stored with the launch. Characters a page cannot print are refused, so no token can wear a name that reads on screen as another token's name.

The curve and graduation#

The curve is a constant product with virtual reserves: 30 virtual SOL and 1,073,000,000 virtual tokens at the start. Every rounding goes to the curve, never to the trader, so a round trip always gives back less than it took and a wash trade always costs money.

When the curve has raised its target, it closes for good. No buy and no sell after that. A buy that would pass the target takes only what fits and leaves the rest in your wallet. The target is 85 SOL, the same figure the largest launchpad uses. Every launch keeps the target it was born with, so a later change never moves the finish line of a curve people are already on. On a test network the target is 1 SOL, so that a graduation can be paid for and watched.

What happens at graduation#

Anyone can move a closed curve to an open market, and the launch pays for it. The SOL the curve raised, minus the fee the market charges to open a pool, and the 200 million held-back tokens go into a Raydium pool. The tokens the curve never sold are burned. Every share of that pool is burned at the same moment, so nobody, the launchpad included, can ever take the liquidity out. The token page then points at the market instead of the curve.

This has run end to end for real: a curve closed at its target, its market opened, and no share of that pool was left in any hands.

The token keeps paying after the curve#

On an open market the launchpad has no say: the market's own fees go to the people who hold a share of the pool, and every share of that pool was burned. So the only thing that can still send part of a trade back is the token itself.

Every token started here holds back 1 % of each transfer once its market is open. The token does it, not a service: the amount is set inside the token when the market opens, and the power to raise it is given up in the same breath. Nobody can ever raise the 1 % after that, the launchpad included. What the token holds back can be swept up by anyone, and it can only land in the launchpad's own account, which then feeds the pool the same way the trading fee does.

Two things to know, said plainly:

  • There is no hold-back while the curve is open. It starts with the market, not before, so buying and selling on the curve give you exactly the amount the page quoted.
  • It starts about two to four days after the market opens. That delay is not ours: the token standard puts a new hold-back two epochs out, so that nobody can raise one under a trade already sent. During that window the token trades with nothing held back.

One more thing to weigh before you start a token here: a token that holds back part of a transfer is a little harder to trade. Jupiter swaps it, but it leaves such tokens out of limit orders and recurring orders. Nothing the launchpad does can change that.

This has run end to end for real too: a token was started, its curve closed, its market opened, a trade on that market was taxed, and the launchpad collected exactly what the token had held back, to the last unit.

What is public about the feedings#

The launchpad's share of the fees waits in one account, in SOL. A run empties that account, turns the SOL into ZEC and pays it into the pool. Every run is written on the Fed page, newest first, and each line carries:

  • the date;
  • the SOL taken out of the fees;
  • the ZEC sent to the pool;
  • the transaction that proves it, which you can open and read yourself.

The launchpad keeps a second share, its own, in a second account. Every run cuts that account in two: half buys the token of the pool and burns it, and the other half stays in the account for the team. The half that stays is never moved, so it never passes through the run. The two halves always add up to what was there, down to the last lamport, and the rounding goes to the team.

Each line of the Fed page carries that half too, in a second group of columns:

  • the SOL the buyback used;
  • the amount of the token it bought and burned;
  • the transaction that proves the burn.

Why a burn. A burn sends the tokens back to the mint, so the supply of the token falls. That fall is a number anyone can read off the chain, without trusting us and without asking us. The tokens all pass through one address, published in the journal, so you can watch it yourself. Holding them instead would keep an open question about what happens to them later; burning ends the question. That choice is one word in one place, and this page will say so if it changes.

The purchase is cut into clips. One purchase is never larger than a set size, and one run never spends more than a set ceiling. What a run does not spend is not lost: it stays in the account and the next run finds it there. A large purchase sent in one go would move the price against itself and would show its whole size to everyone in the queue.

An empty list is an honest answer: while nothing has gone to the pool and nothing has been bought back, the page says so and shows no figure. A line written before the buyback existed keeps its place and shows a dot where a buyback figure would be, rather than a number nobody measured. Each figure is the amount the run really moved, at the price it really paid. On a test network there is no market for the test ZEC, so the line is worked out at a fixed test rate, written as a test rate on the line and under the table.

What the admin can do, and what nothing prevents#

Read this before you trust the sentence about the pool.

PowerLimit
Take the SOL out of the account that holds the pool's share (withdraw_feed)Nothing in the program forces that SOL into the ZEC pool. A run outside the chain does it, and the Fed page shows every transaction so anyone can check it afterwards. The promise is kept by a habit you can audit, not by the chain.
Move a closed launch's SOL and remaining tokens out (withdraw_for_migration)Only seven days after the curve closed, only once, and only while nobody has opened the market. It exists for one case: the market program refusing new pools. During those seven days anyone can open the market and make this power void.
Move the target that closes a curve (set_graduation)Between 1 and 1,000 SOL, 48 hours of waiting, and never for a launch that already exists.
Take the SOL out of the launchpad's own share (withdraw_treasury)None beyond the rent that keeps the account alive. A run buys the token back with half of it and burns that, but nothing in the program forces it to. The burn on the chain is what proves it happened, after the fact.
Change the split of the fee (update_split, then apply_split)48 hours of waiting, and the three shares must add up to exactly 100 %.
Move what a token holds back on an open market (set_runner_fee, then apply_runner_fee)Between 0 and 10 %, 48 hours of waiting, and only for tokens started afterwards. A token that already trades on a market can never be changed: the power to do it was given up when its market opened.
Move what starting a token costs (set_launch_fee, then apply_launch_fee)Between 0 and 1 SOL, 48 hours of waiting. The page shows the figure it reads on the chain, so a change is visible before you sign.
Hand out what a token held back (withdraw_runner)It can only take what the collection already gathered, and the collection can only land in the launchpad's own account. Selling it and paying the pool happens outside the chain, the same way the trading fee does, and the same page shows it.
Emergency stop (set_paused)At once, no waiting. Starting a token and buying stop. Selling never stops, so a stop can never trap a holder.
Replace the programThe strongest power of all, held by the same hands as the pool's. Read Admin powers and limits.

What the admin cannot do: mint more of a token (that right is dropped the moment the token is created, and the right to freeze is never taken), freeze anyone's tokens, take the SOL sitting in an open curve, or stop you from selling.

What is not built yet#

  • The seven-day fallback and the 48-hour wait have never been lived through. Their refusals are proved; waiting seven days on a chain has not been done.
  • The purchase of ZEC has never run for real. The run only reads what a purchase would give, for one clip at a time. That is true of the buyback too. Turning either on is a one-time, by-hand step with a person watching.
  • A run that stops between the purchase and the burn leaves its tokens at the address. The next run burns only what it bought itself, so a leftover needs a burn by hand. It sits at the published address, so nobody can hide it, but it does not clear itself.
  • A token holds back nothing during its first two epochs. Its market opens in one epoch and the hold-back starts two epochs later, so a trade in that window is taxed nothing. The whole path is proved on a chain set to short epochs: the hold-back live, a trade taxed, the exact amount collected, then handed out.
  • No other launchpad is known to do this. A search on 22 September 2026 found no named launchpad, live, that keeps a hold-back after a token moves to an open market. The idea is not proven by anyone but us.
  • The number of holders can be missing. Counting them needs a way of listing every account that holds the token, and the one in use refuses that request. The page then shows no number rather than a guess.