Docs

How SprotoPad actually works, including the parts that are inconvenient.

The short version

You pay 20 BITCOIN plus gas. One transaction deploys a token with a fixed supply of 1,000,000,000, opens a Uniswap v4 market for it against HarryPotterObamaSonic10Inu, and locks the liquidity permanently. Trading starts immediately. You earn 70% of every trading fee that market ever generates.

Why there is no bonding curve

Most launchpads run a synthetic curve, then graduate to a real exchange later. That migration is a discrete event, which makes it something to be front-run, and until it happens the market is not a market — it is a queue.

SprotoPad skips it. The entire supply goes into a single Uniswap v4 position spanning a ~1000× price range, priced at the top of that range with zero BITCOIN on the other side. Buyers walk the price down through the range exactly the way a curve would, except there is nothing synthetic about it: real depth, real routing, a real chart, from the first block.

The numbers

Supply1,000,000,000, fixed
Pair$BITCOIN, always
Fee tier1%
Opening valuation~31,282 BITCOIN fully diluted
Full buyout~985,000 BITCOIN to buy the whole supply out of the range
Graduationpool holds ≥ 10,000 BITCOIN
Launch fee20 BITCOIN
Price range265,000 → 334,000 ticks (991.9×)

Be aware the curve is steep at the bottom. The range opens at about a 31,282 BITCOIN fully diluted valuation, so 1,000 BITCOIN is roughly 3% of supply, 10,000 is roughly 24%, and 100,000 is roughly 78%. Those are not typos.

Why every market is backed by BITCOIN

A SprotoPad launch cannot be priced in ether, in a stablecoin, or in anything else. The backing asset is an immutable of the factory contract rather than an entry on an allowlist, so there is no setter to call, no governance vote to hold, and no upgrade that adds a second pairing. A market not backed by $BITCOIN cannot be created here at all.

That is a real cost, and it is the point. Buyers need $BITCOIN to trade, so an ordinary wallet holding only ether cannot touch these markets without acquiring some first. In exchange, every trade on every market routes demand through the same asset, and every fee, every burn and every holder payout is denominated in it.

One consequence worth stating plainly: the launched token is always the higher of the two addresses in its pool. The factory mines a CREATE2 salt until the token address sorts above the BITCOIN address, which keeps the one-sided liquidity maths unconditional and makes it impossible to open a market with the sides swapped.

Where the fees go

Creator70% of trading fees, forever, claimable any time
Burn24% of trading fees, plus half of every launch fee
Protocol6% of trading fees, plus half of every launch fee

The burn needs no swap. Because every market is backed by the asset being burned, the burn share is already $BITCOIN and goes straight to the burn address. There is no minimum-output parameter for anyone to get wrong, no oracle to depend on, and no sandwich available to whoever triggers it — so collecting fees is permissionless, and anybody can call it for anybody.

The burn's half of the launch fee is capped in the contract — an owner can raise the burn share but can never push it below half. Your 70% is fixed at the moment you launch, so a later change to the protocol's split cannot reach backwards into your market.

The launch window

For three blocks after launch, buying is restricted. In the launch block only the creator can buy. For the next two blocks anyone can, but no wallet may hold more than 5% of supply, and the largest single purchase ramps from 1% up to 5.5% rather than opening at full size — being first is worth less that way, and it costs an ordinary buyer nothing, because the ramp is over in about thirty-six seconds. After that the restrictions expire permanently and cannot be re-armed by anyone.

There is one exception, and it is deliberate: the creator's own purchase in the launch block is not capped. That block is already creator-only, so nobody can be sniped inside it, and capping the one wallet that cannot be front-run bought no protection — it only decided how much of their own launch a creator was allowed to buy, which is their call to make. The exemption is confined to that wallet in that block. From the very next block the creator is subject to the same ramp and the same 5% holding cap as everybody else.

The holding cap applies to ordinary transfers as well as purchases, so a buyer cannot route around it by shuffling tokens between wallets. It is enforced on the token transfer itself rather than in any router, which means every route — an aggregator, a custom contract, a raw call into the pool manager — hits the same check. This makes the cap meaningful, but it is not absolute: a determined sniper with many funded addresses can still accumulate. It raises the cost, it does not eliminate the behaviour.

So the developer buy has no ceiling — you decide how much of your own supply to open with, up to and including nearly all of it. What the protocol does instead of limiting you is publish the result: the create form shows the share your buy takes as you type it, and every token page shows what the creator opened with and what they still hold.

Paying holders instead of yourself

A creator can turn their 70% over to everyone holding the token, pro rata, in $BITCOIN. Holding a market that trades pays you out of that market's own volume, with no action from the creator and nothing for them to withdraw. It is fixed at launch and cannot be switched off afterwards, so it cannot be used to attract buyers and then taken away.

The pool itself holds most of the supply and is excluded from the payout, as are the vault and the burn address — otherwise the market would pay almost all of its rewards back to itself. The token-denominated half of the creator share has no paired-asset form without a swap, so under fee sharing it is burned rather than sold.

Why a new market looks empty

A Uniswap position is only active while the current price sits inside its range, and a SprotoPad launch opens exactly at its top edge. So the pool reports zero active liquidity until the first buy crosses that boundary and switches the whole range on. This is correct behaviour, not a fault — but charts and aggregators may show the market as empty until somebody trades.

What is guaranteed, and what is not

Guaranteed by the contracts: the liquidity position is held by a contract with no withdraw, burn, or transfer path, so nobody can pull it — including us. There is no position NFT anywhere in the stack, so there is not even a token to transfer: the position lives against the vault's own address inside the Uniswap v4 singleton. Supply is fixed with no mint function, no owner, and no pause. The factory ends every launch holding zero tokens, so creators receive no free allocation.

Not guaranteed by anything: that a token holds value, that anyone keeps trading it, that the creator does not sell, or that the price does not go to zero. Removing specific failure modes is not the same as making something safe. $BITCOIN is itself a volatile memecoin, so a market can fall in BITCOIN terms and in dollar terms at once.

Owner powers

The protocol owner can change the treasury address, the launch fee (capped at 500 BITCOIN), the launch-fee split (the burn always keeps at least half), the creator split for future launches (never below 50%), and can pause new launches. Ownership transfers in two steps, so it cannot be handed to an address that cannot accept it.

The owner cannot withdraw locked liquidity, mint tokens, take a creator's accrued fees, change the split of a market that has already launched, redirect the burn, or point the factory at a different backing asset. Pausing stops new launches and does not touch existing markets — they keep trading, and fees keep being collectable.

Audit status

These contracts are not audited. They are covered by 52 tests running against the real Uniswap v4 singleton on a mainnet fork, including the launch window under same-block contention, the full-range buyout, and fee splitting against live pool state. Testing is evidence, not proof. Treat the code as unaudited software holding real funds, because that is what it is.