DOCS
How SCION works
Every launchpad lets you launch a coin against the money. SCION makes you launch against somebody else's coin. The quote side of your pair is a living asset with its own holders, its own chart and its own opinion of you, and it takes a cut of everything you ever trade.
01 The denominator is a person
A pair has two sides. Everywhere else the second side is ETH, which means every chart you read is really your coin divided by the market. Your coin can be flat and the line still moves.
Here the second side is another launched coin. MOTH/GOBLIN is not a price, it is a claim: one MOTH is worth this much GOBLIN. When the number goes up, MOTH did not beat "the market", it beat a specific coin whose holders are watching. Denominators here have Telegram groups.
02 One root, five generations
Chains have to end somewhere. Ours ends at CROWN, a plain ETH wrapper fixed at 1 CROWN = 0.01 ETH, mintable and redeemable both ways. CROWN is not an index and nobody publishes its level. It is a receipt for ETH.
Every coin sits at a depth: generation 1 launches against CROWN itself, generation 2 against a generation 1 coin, and so on to a hard cap of generation 5. The cap exists because price and fees both compound along the path, and past five hops a coin is mostly a derivative of its ancestors' behaviour.
| Parameter | Value | Notes |
|---|---|---|
| Total supply | 100M · 1B · 10B | Fixed at launch, no mint function |
| Creator allocation | 0 to 20% | Linear vest over 30 days, contract enforced |
| Quote asset | Any living coin at depth < 5 | ETH is not an option |
| Seed liquidity | Denominated in parent units | Bought at market inside the launch tx |
| Opening price | seed ÷ pool supply | Quoted in parent units |
03 Launching is a forced bid
To open COIN/PARENT the pool needs PARENT on one side. You do not have any. So the launch transaction goes and buys it, on the parent's own book, at whatever price the book gives you.
This is the part that makes the system reflexive rather than merely clever. A launch is not a neutral event for the parent, it is a market buy plus a permanent royalty subscriber. Coins with heirs are worth more than coins without, and everybody can see the count.
The uncomfortable half: your opening price is set by a purchase you just made into a book you did not choose the depth of. Launch against something thin and you pay for your own seed twice, once in slippage and once in the opening price it implies.
04 The bloodline cut
Every trade pays 1.00% total, split three ways:
- 0.30% stays in the pool, for whoever holds it.
- 0.20% to the protocol, which also funds the succession bounty: whoever calls
usurp()orescape()takes 5% of the protocol pot in the denomination the migration lands in. - 0.50% climbs the chain, halving at each hop: 25 bps to the parent, 12.5 to the grandparent, 6.25 to the great-grandparent, 3.125 to the fourth ancestor, and the remaining 3.125 to CROWN.
Four named ancestors is the maximum, because the depth cap is 5 and the fifth step up is always CROWN itself. A generation 1 coin has no ancestors to pay, so its whole 50 bps lands on CROWN. This means the shallowest coins are the cheapest to hold and the deepest coins carry the heaviest tax, which is exactly the pressure that makes succession worth fighting over.
The important consequence: a coin with descendants earns while it sleeps. A dormant generation 2 coin sitting above nine active descendants is a yield instrument whose yield is other people's degeneracy.
05 Succession
Standing is not permanent. If an heir's market cap, measured in CROWN, stays above its parent's for 24 continuous hours (TWAP, not a single block print), then usurp(id) becomes callable by anyone at all.
The call does four things atomically:
- The heir's pool reserve of PARENT is routed through the parent's own book into GRANDPARENT.
- A new
HEIR/GRANDPARENTpool is opened at the price the path implies, so no value is created or destroyed by the move itself. - The heir takes the parent's slot in the tree, one generation up.
- The old parent is re-attached beneath the heir and starts paying royalties to it, along with everything that hung below it.
Why the coup costs money. That routed trade is a real print into a real book, and the slippage is paid by the usurping coin's own liquidity. Taking a parent with a deep book is cheap; taking a parent whose book you have already drained is not. Succession is therefore self-limiting without any cooldown, whitelist or governance vote.
The uncomfortable half: usurpation is legal, permissionless and hostile by design. If you launch against a coin and win, you take its position and it becomes your tributary. Nobody gets to opt out of that after the fact, and it is stated here, before you pick.
06 Extinction and escape
A dead parent is worse than a hostile one, because your USD price is its price multiplied by yours. A coin is flagged extinct if either test fails for 7 days: dormancy, meaning no swap at all, or starvation, meaning its quote reserve sits under 10% of what it was seeded with. Its heirs may then call escape(): the same migration as a coup, one generation up, without the market cap requirement. Nobody is held hostage by a rug above them, but they do pay the migration slippage to get out. An extinct coin keeps trading, and both consequences are enforced in the contract: it stops accruing royalties, and its share falls through to CROWN, and it can no longer be chosen as a parent.
The uncomfortable half: starvation is close to unreachable on its own. In a constant-product pool the quote reserve is asymptotic, so selling more only ever removes a fraction of what is left. We tested it: dumping the entire 20% creator allocation into a fresh pool in one trade does not bring the reserve near the 10% floor. Dormancy is therefore the test that will actually fire in practice, and the reserve floor is a backstop for pools drained by their own heirs migrating out.
07 Reading a pair
A price on SCION is quoted in parent units. Everything in dollars is derived and never stored:
usd_price = product(price at every hop to CROWN) × 0.01 × eth_usd
market_cap = usd_price × total_supply
24h change = measured against the parent, not the dollar
So a coin can print +14% against its parent and still be red in dollars, because two coins above it fell harder. Both numbers are shown on every pair page and neither is the real one. The pair price is what the market voted on. The dollar price is arithmetic performed on four other markets' votes.
08 Adopting an outside coin
The rules above describe a closed tree: launch() only accepts a parent the factory registered itself, because it has to buy that parent through a pool it can route to. That makes the interesting coins on this chain, the ones that already have holders, unreachable as parents. adopt() is the door. Anyone can pair an existing ERC20 against CROWN, pay for the pool out of their own tokens and their own ETH, and from that moment it is an ordinary depth-1 parent that anybody can launch under.
The sponsor is deliberately not rewarded. creatorOf stays zero on an adopted root, so its royalty share falls through to CROWN rather than to whoever opened the market. You did not create the coin, so you have no claim on its bloodline. What you get is a market that exists, and the right to launch under it, and so does everyone after you.
Two guards matter. A fee-on-transfer or rebasing token is rejected outright: the factory checks that the pool received exactly what was pulled, because a token that silently delivers less would desync reserves from balances and misprice every child forever. And the transfer uses a raw call rather than a typed one, since plenty of older tokens return no bool at all.
09 What an adoption costs, measured on a fork
No adoption has happened on mainnet yet, so rather than estimate, we forked chain 4663 at head and ran the real thing: the deployed factory at 0xbFF0a713…, real Pons tokens at their real addresses, real balances. This is a simulation, and it is labelled as one. What makes it worth reading is that nothing in it is invented except the caller's tokens.
| Adoption | Decimals | Gas used | At 0.35 gwei |
|---|---|---|---|
| SHRUB | 9 | 1,514,933 | ~0.00053 ETH |
| PERPSHOOD | 18 | 1,476,077 | ~0.00052 ETH |
Two things fall out of that. The first is that adoption is cheap: a fraction of a cent of gas on this chain, plus the approve, plus whatever you choose to seed. The cost of putting a coin in the tree is not the transaction, it is the inventory. The second is that decimals are not uniform on the Pons board, SHRUB is 9 and PERPSHOOD is 18, which is why the adopt panel reads decimals() off the contract instead of assuming eighteen. Assuming would size a seed a billion times wrong.
The uncomfortable half: there is no dust floor. We seeded a pool with 1 wei and it opened without complaining, because the CROWN wrapper mints one for one and only reverts on a literal zero. That pool would price its coin at roughly infinity and the first launch under it would print nonsense. Nothing in the contract stops you from doing this. The floor is economic, not technical, and it is on the sponsor to set an opening price they can defend.
10 What this build actually is
The contracts are deployed and tested: CROWN, the pool, the factory and the vesting schedule are live on chain 4663 and covered by 49 passing Foundry tests, including one test per claim on this page and the three fork runs above. The front end reads the chain: every coin, price, reserve and holder count on this site comes from pool reserves and event logs, and a pad with no coins in it shows no coins rather than inventing a dynasty.
What is still not proven: no coin has been adopted or launched on mainnet yet, so the numbers in section 09 come from a fork rather than from a receipt you can open in an explorer. When the first real adoption lands, this section gets a transaction hash and the simulation label comes off. See References for the line-by-line breakdown.