Twinpad launches a coin on pump.fun and on Pons at the same moment and keeps the two prices within a band of each other. This paper explains how earlier twin launches lost money for their operators and holders, the rule set Twinpad runs instead, and what the simulations say those rules are worth.
A Twinpad coin exists twice: as a pump.fun token on Solana and as a Pons token on Robinhood Chain. Each side has its own bonding curve, its own buyers and its own price. Left alone, the two prices drift apart within minutes. Twinpad's job is to stop that.
Every launch gets its own set of wallets. Twinpad's pool fronts each launch with working capital, the coin goes live on both chains, and a per-coin maker watches both prices every second. When the fully diluted value on one chain runs more than 5% above the other, the maker sells a small clip on the expensive side and buys a small clip on the cheap side. Inventory never crosses chains. Nothing is bridged.
The pool's capital is a loan, not a gift. Each side of a coin is launched with a fixed reserve, and that reserve is all the pool will ever put into that side. Creator fees from both venues are claimed once a minute while a coin is live: half is bought back and burned on the chain that paid it, the other half repays the pool. A coin that draws no outside holders is closed by policy and its capital returned.
The whole product rests on one promise: a holder on either chain gets the same price, and the pool that keeps that promise cannot be drained doing it. Section 02 is about how that promise was broken elsewhere. Section 03 is the rule set that keeps it.
The first generation of twin launches on other platforms showed the same failures. We saw the early shape of each one in our own first coins and traced them in code before writing a line of the fix.
The Solana side opens with a large dev buy, so its wallet holds tokens and almost no cash. The Robinhood side opens with a little ETH and no tokens at all, because parity sizing lands the opening price below the Pons floor. From the first block the maker can only trade in one direction: sell Solana tokens, buy Robinhood tokens. When Robinhood runs ahead there is nothing to sell there, and the only lever left is buying the falling Solana side with fresh money.
When a maker runs out of cash on a side, the pool tops it up. If that top-up has no ceiling tied to what the coin has earned, a one-way sell-off on one chain turns into a pipe from the pool into a falling token. That is the mechanism behind the losses in the launches that went wrong: not a hack, not a bug, a rule that kept buying.
To get its capital back, a maker sells its opening position into every rise. Done every tick, that makes the operator the largest seller of its own coin in the first hours, exactly when holders are deciding whether to stay. The pool gets its loan back faster and the coin pays for it.
On a bonding curve a few hundred dollars moves the price 10%. After graduation to a liquidity pool, the same 10% at a $1M market cap costs about $2,000 of buying, and the flow that opened the gap keeps coming. A maker sized for the curve stage becomes noise at scale, and a project that promises parity at any size is promising something it cannot pay for.
Holders were asked to trust that the operator's wallets held what they claimed, on two chains, with fees flowing to addresses nobody could check. When the peg slipped there was no way to tell a temporary gap from an operator quietly exiting.
Seven rules. Each answers one failure above. The first four were chosen by running candidate rules through the simulator in Section 04 and keeping the one that held the band with the least pool money and the least operator selling.
Every launch opens a Robinhood position with its ETH front, even when parity math says zero. Both wallets hold tokens and cash before the first outside buyer arrives, so the maker can sell on whichever side runs ahead. Section 04 shows this single change is what moves the peg from "holds sometimes" to "holds almost always" during the curve stage.
Each side of a coin is launched with its opening position plus a cash reserve of twelve clips. That reserve is the whole peg budget for that side. The pool never tops it up. Sells on a side refill its cash and fee income adds to it; nothing else does. The maker buys the cheap side only while the reserve has cash, so the reserve is the cap and there is no second rule to reason about.
The worst case the pool can lose on a coin is the amount it fronted, and that number is on the coin page before the first outside buyer.
Front repayment sells at most one clip a minute per side, and only once that side trades 25% above the maker's entry. Outside that, the maker sells only to close a gap, and every such sell is matched by a buy on the other chain. Repayment takes longer this way. Because the reserve is fixed, the pool's exposure does not grow while it waits.
Both venues pay the coin's creator wallet on every trade: Pons a 2% creator tax during the curve stage, pump.fun 0.30% of each curve trade and a market-cap-tiered share after graduation. Twinpad claims both once a minute. Half of each claim buys the coin on the venue that paid it and burns the tokens, timed so the buy never lands on the side that is already expensive. The other half repays the front and then flows to the pool.
On Solana the burn is a token-program burn, which reduces supply on chain. On Robinhood Chain it is the token's own burn where the contract has one, otherwise a transfer to the dead address, which no key controls. Either way the transaction is linked from the coin page.
The burn is a commitment to holders, not a peg tool, and the sizing is stated plainly: per $100,000 of curve-stage volume it burns about $1,000 on Robinhood Chain and $150 on Solana. After graduation Pons pays no creator fee and pump.fun's share tiers down toward 0.05%, so the burn is largest exactly when the coin is young. Over the three simulated launch hours it moved the peg by nothing and cost the pool the burned amount.
Inventory never crosses chains automatically. When the pool's SOL and ETH drift out of proportion the system raises an alert and an operator swaps, and the swap is logged on the status page. No maker ever holds a bridge key.
Each coin page shows the coin's wallets on both chains, live balances, what was fronted, what has been repaid, fees claimed, tokens burned per chain, and the maker's remaining reserve. Anyone can check any number against the explorers. Section 06 lists the fields.
Before committing to the rules in Section 03 we built a simulator against the real curve mathematics and the maker's real parameters, and ran candidate rules through the order flows that broke earlier launches. The code ships in the repository and every table here can be regenerated with one command (Appendix).
A fresh launch with today's capital, about $940 fronted per coin, plus the steward reserve where the rule calls for it. Each cell is the share of time inside the 5% band and the dollars the maker sold over three hours.
| Order flow | Live | Ceiling + seeded | Steward |
|---|---|---|---|
| SOL dumps, RH buys · 30% | 24% · $2.0k | 23% · $339 | 31% · $251 |
| RH dumps, SOL buys · 30% | 100% · $1.1k | 100% · $1.0k | 99% · $915 |
| Two-way noise · 30% | 73% · $11.7k | 51% · $659 | 100% · $572 |
| Both sides bought · 30% | 41% · $14.8k | 23% · $729 | 97% · $3.0k |
| Two-way noise · 70% | 39% · $14.6k | 22% · $710 | 97% · $2.9k |
| Both sides bought · 70% | 27% · $15.7k | 10% · $834 | 83% · $3.5k |
| Any dump with no buying | 100% · $0–27 | 100% · $82–154 | 100% · $82–154 |
Pool top-ups per coin: live up to $507 and about $300 in every two-way flow, ceiling + seeded $103–305, steward $0. The $150 loss guard halted the live rule in three of the flows (red) and steward in none. The live rule's five-figure selling in two-way markets is churn: with nothing to sell on the cheap chain it trades every tick without closing the gap, paying fees each time, until the guard stops it.
Today's launch shape under the live rule against a launch that opens tokens and cash on both chains with a disclosed locked allocation, run under the steward rule. The two-sided shape fronts $3,385 of opening positions plus $600 of reserves per coin, excluding the locked allocation. This is the launch shape Twinpad adopts.
| Order flow | Today's shape, live rule | Two-sided shape, steward |
|---|---|---|
| SOL dumps, RH buys · 30% | 24% | 98% |
| SOL dumps, RH buys · 70% | 10% | 49% |
| RH dumps, SOL buys · 70% | 49% | 91% |
| Both sides bought · 70% | 27% | 99% |
| Two-way noise · 30% | 73% | 100% |
| Any dump with no buying | 100% | 100% |
With the two-sided shape every rule holds the band about equally well; the difference is what it costs. In two-way noise at 30% the live rule sold $1,049 of the coin over three hours and steward sold $211, with the band held 100% by both. The loss guard never fired under the two-sided shape.
The same maker placed at six market caps. Depth is the quote sitting in the venue. The cost column is what it takes to close a 10% gap on the shallower side. "One-way" is a 30% Solana dump with Robinhood quiet; "two-way" is 30% noise. Live uses $25 clips and pool top-ups; steward scaled uses clips of 0.5% of depth and a reserve of twelve such clips per side, never topped up.
| FDV | Stage | Depth SOL / RH | Cost of 10% | One-way, live | One-way, steward scaled | Two-way, live | Two-way, steward scaled | Live top-ups | Steward reserve / side |
|---|---|---|---|---|---|---|---|---|---|
| $4.2k | curve | $3.1k / $4.3k | $151 | 100% | 100% | 73% | 100% | $303 | $300 |
| $25k | curve | $9.1k / $10.3k | $446 | 29% | 35% | 100% | 100% | $177 | $545 |
| $100k | pools | $13.0k / $14.7k | $635 | 17% | 21% | 99% | 100% | $394 | $780 |
| $500k | pools | $29.0k / $32.9k | $1,420 | 8% | 17% | 96% | 99% | $1.5k | $1.7k |
| $1M | pools | $41.0k / $46.6k | $2,008 | 4% | 16% | 93% | 99% | $2.9k | $2.5k |
| $5M | pools | $91.6k / $104k | $4,490 | 1% | 14% | 84% | 94% | $9.0k | $5.5k |
Two things follow. In two-way markets a peg is affordable at any size if clips grow with depth, and a fixed reserve does it without the pool sending more money later, where the live rule needed thousands in top-ups. In a one-way run above roughly $25k no rule we tested holds the band, and the money spent trying is money lost. That is the boundary between the curve-stage parity keeper and the float-stage band-keeper in Section 3.5.
Depth-scaled clips trade more. As simulated, the scaled steward closes gaps in falling markets too: at $1M in a two-way sell-off it sold $114k of the pool's position where the live rule sold $12k. In a two-way rally it sold $6k, mostly repaying its reserve, and those sells left the end price on both venues about 9% below the hold baseline, which marked the pool's whole position down by $35k. The float stage in Section 3.5 caps gap-closing sells per hour so that parity work never becomes liquidation. That cap is not in these runs.
| FDV | $25k | $100k | $500k | $1M | $5M |
|---|---|---|---|---|---|
| Opening position, maker off | −$1.8k | −$13.1k | −$75.5k | −$154k | −$788k |
| Added by keeping parity, live | −$0.2k | −$1.6k | −$12.2k | −$29.0k | −$194k |
| Added by keeping parity, steward scaled | −$0.2k | −$1.9k | −$13.5k | −$31.0k | −$200k |
At scale the pool's risk is the size of the position it still holds. Keeping parity in a one-way dump adds 11% to 25% to that loss, for every rule: matching the falling chain means selling the quiet chain down to meet it, and the pool's position there is marked down with it. The same arithmetic runs in rallies. While the pool holds about a fifth of the supply, each dollar the maker sells at a $1M market cap lowers the mark on the whole position by several dollars, so the cash is banked and the price holders see is lower. Both facts point the same way. The float stage sells in tranches into strength rather than defending a level, it does not chase a one-way run on the other chain, and the locked allocation stays locked.
Adding rule 3.4 to steward burned $27 to $110 per coin over the three launch hours in the two-sided shape and moved the share of time in band by at most one point in every flow. Above graduation, at pump.fun's floor tier and with no Pons fee, it burned $1 to $37 per three hours with today's small opening position. The burn's size follows volume, not the peg, which is why Section 3.4 states it per $100,000 traded rather than as a promise about price.
The values the rule set specifies. Where a rail is not yet live the roadmap in Section 07 says so, and the coin page shows the values in force for each coin.
| Rail | Value | What it does |
|---|---|---|
| Parity band | 5% of FDV | Inside it the maker only repays; outside it the maker acts. |
| Clip | $25, up to 3× with the gap | Size of one maker trade at the curve stage; scales with depth after. |
| Reserve per side | 12 clips, fronted at launch | The whole peg budget for that side. Never topped up by the pool. |
| Repayment sells | ≤ 1 clip / min / side, ≥ 25% over entry | Caps operator selling into rises while the front is unrepaid. |
| Float-stage sell cap | per hour, stated on the coin page | Bounds gap-closing sells above the stated market cap; not yet simulated. |
| Fee split | 50% burn · 50% repay, then pool | Each claim: half buys the coin on the paying chain and burns it, never on the expensive side. |
| Loss guard, coin | $150 | Fronted minus held minus returned above this halts that coin's maker. |
| Loss guard, pool | $500 | Halts every maker and pauses approvals until an operator resumes. |
| Exit policy | 10 min · 5 holders or $100 held | A coin below both thresholds is sold down for 45 minutes and closed; capital returns to the pool. |
| Fee claims | every 60 s, min 0.01 SOL / 0.002 ETH | Creator fees on both venues are claimed to the coin's wallets while live. |
| Pool floors | 0.5 SOL / 0.02 ETH | The pool never lends below these. |
| Bans | names and wallets | Reserved names and blocked wallets are refused at submission; paid launches refunded. |
Every coin page carries a reserves panel. Every field is an on-chain number or a signed record that resolves to one.
Closes are logged step by step: sell, fee collection, sweep, refund. A closed coin's record stays public.
cd server
SOLD=1 PUMP_CREATOR_BPS=30 npx tsx scripts/sim-peg.ts 0 # Result 1, 5
SOLD=1 PUMP_CREATOR_BPS=30 LOCK_PCT=0.15 FRONT_SOL=19.63 DEV_SOL=19.46 \
FRONT_ETH=0.54 SEED_ETH=0.5287 npx tsx scripts/sim-peg.ts 0 # Result 2
SOLD=1 PUMP_CREATOR_BPS=5 npx tsx scripts/sim-peg.ts 1000000 # Result 3, 4: one cap;
# repeat for 25000 100000 500000 5000000