Overview
dbldex launches one coin on two chains at once: a pump.fun coin on Solana and a Pons coin on Robinhood Chain, an EVM chain with id 4663. Both legs share the name, ticker, image, description and links, and both have a fixed supply of 1,000,000,000 tokens. You sign one message. The platform pays for both launches.
Two coins on two chains would normally drift apart, because every trade moves one leg and not the other. dbldex holds them together with a peg keeper. Each pair has its own fee wallet on each chain; both coins' creator fees land there, and the peg share is spent buying whichever leg is cheaper. With identical supplies, equal prices mean equal market caps, so a pair behaves like one asset with two venues.
- 1 signature, 2 launches
- 20% / 20% / 60%
- ±1.50% band
How a dual launch works
A launch is one authorization and two transactions, run in parallel by platform wallets. Nothing on either chain is signed by you.
- 1
Upload the image
The image is resized to a 512×512 PNG, stored, and hashed. The hash goes into the message you sign, so the image can't be swapped afterwards. - 2
Prepare
The server validates every field (name up to 32 bytes, ticker A–Z and 0–9 at 2 to 10 characters, description up to 500 characters, https links, creator tax 0–10% in 0.5% steps), derives the pair's two fee wallets and writes a draft that expires in 15 minutes. Preparing is idempotent on a request key, so a retry never creates a second pair. - 3
Sign one message
Your wallet signs a plain-text authorization listing the domain, both chains, every field, the image hash, both fee wallets, the fee split, your payout addresses,Launch cost: 0, a nonce and an expiry. Solana wallets sign with ed25519, EVM wallets with EIP-191personal_sign. It is a message, not a transaction: it costs nothing and cannot move funds. - 4
Launch both legs
Once the signature verifies, both legs start at the same time. On Solana a platform wallet creates the pump.fun coin with the pair's Solana fee wallet as itscreator. On Robinhood Chain a platform wallet calls the Pons factory with the pair's EVM fee wallet ascreatorFeeRecipient. Each step streams to the launch page as it happens. - 5
Go live
When both legs confirm, the pair is live and appears on the board. If one leg fails, the pair is partial: the live leg trades and the failed leg is retried automatically, up to 3 attempts with backoff, under the same authorization. If both fail, nothing trades.
The peg keeper
The keeper looks at every live pair every 15 seconds and, debounced, right after any trade on either leg. It compares both legs in USD per whole token:
spread_bps = (p_rh / p_sol − 1) · 10,000Because both supplies are 1B, this is also the spread in market cap. Inside ±1.50% (150 bps) the keeper does nothing. Outside it, call the cheaper leg C and the richer leg R. The keeper lifts C to just inside the band below R, at a target of p_R · (1 − band/2): 0.75% under the rich price, not all the way to parity, so small reversals don't trigger another trade immediately.
Sizing the buy
Both venues price on a constant-product curve with virtual reserves. With native reserve x, token reserve y and k = x·y, the price is x/y. Reaching a target price p* means moving the native reserve to √(k·p*). The buy fee comes off the input, so the amount is grossed up by it, then checked against an on-chain quote.
// buy the cheap leg C up to just inside the band target_buy = p_R · (1 − band / 2) native_in = (√(k · target_buy) − x) / (1 − fee_buy) // or sell peg inventory on the rich leg R target_sell = p_C · (1 + band / 2) tokens_in = √(k / target_sell) − y // every trade min_out = quote · (1 − 3%)
Selling inventory
Tokens bought on C stay in the pair's fee wallet as peg inventory. When a buy on C isn't possible (no budget, buying blocked, or the capped size falls under the minimum of 0.01 SOL or 0.0005 ETH), the keeper sells inventory on R instead, pushing R down to p_C · (1 + band/2). The sell size needs no gross-up: the sell fee comes out of the native output, so every token sold enters the reserves.
Budget, caps and timing
- Fees only. The budget on each chain is the fee wallet's balance minus launcher and platform shares accrued but not yet paid, minus a gas reserve (0.01 SOL, 0.0003 ETH). Treasury and launch wallets are never used.
- Caps. Each trade is the smallest of what the target needs, the budget, $250 per trade and what remains of the $2,500 daily limit. A capped trade still goes out and moves the price part of the way; the next decision continues from there.
- Blocked legs. Buys are skipped while a leg reports
buyBlocked: Pons's 3-second snipe tax right after launch, or a graduation in flight. - Idempotency. Each decision is written to the ledger before anything is sent, under
peg:<pair>:<chain>:<side>:<window>withwindow = ⌊now / interval⌋. A restart inside the same window finds that row and cannot send a second trade. Signed transactions are stored before broadcast. - Simulation. In simulate mode, and for every pair launched in a dry run, actions are recorded as
simulatedand applied to the pair's simulated reserves, so those pairs converge on screen exactly as live ones would.
Every planned trade, its target, the price before and after and its status is public on the peg ledger.
Fee split
Both coins earn creator fees in their chain's native asset. The platform collects them into the pair's fee wallets and splits every receipt three ways. The split is part of the message you sign, and the peg share can never be configured below 50%.
Curves compared
Both venues are constant-product curves over a virtual quote reserve with 1B supply, but they are shaped differently. pump.fun opens with 30 SOL virtual against 1,073M virtual tokens and graduates when 79.31% of supply has sold, about 85 SOL raised. Pons opens with a 1.68 ETH phantom quote against 1B tokens and graduates at 4.2 ETH raised, after 71.43% has sold. Measured from each curve's own opening price, pump.fun rises ×14.70 by graduation and Pons ×12.25.
The two legs' USD market caps match at open only when ETH/SOL = 27.96 / 1.68 = 16.64, and at graduation only when ETH/SOL = 410.9 / 20.58 = 19.97. At any other ratio the legs open at different USD prices, and because the curves differ in shape, the same USD inflow moves them by different amounts. That is why the keeper runs from block one: the first trade on either leg opens a spread.
With prices held together, both legs share one USD valuation, so the leg with the lower USD graduation value graduates first: Pons while ETH/SOL is below 19.97, pump.fun above it.
Safety & limits
- Money gates. Real launches need both
MONEY_ENABLEDandLAUNCHES_ENABLED;LAUNCH_DRY_RUNoverrides both and simulates. Fee collection, payouts and live peg trading each have their own switch. With launches off, the launch API answers 503 and the form is read-only. - Fees-only budget. Peg trades spend only fee-derived balances in the pair's own fee wallets, net of what is owed to the launcher and platform and a gas reserve. One pair's fees never fund another pair's trades.
- Caps. $250 per peg trade and $2,500 per day, a minimum trade of 0.01 SOL or 0.0005 ETH, and a 3% slippage floor on every trade.
- Persist before broadcast. Every signed money transaction (launches, fee claims, peg trades, payouts) is stored with its idempotency key before it is sent. A crash or retry can resend the same bytes; it can never sign a second spend.
- Per-pair wallets. Fee wallets are derived per pair from a server-held seed (HMAC-SHA256). The Solana fee wallet is the pump.fun creator; the EVM fee wallet is the Pons fee recipient.
- Signed messages only. Launch and claim authorizations are plain text with a nonce and an expiry. They authorize one action and cannot move your funds. Write endpoints are rate-limited per IP.
- Pause. The keeper can be paused globally or per pair without affecting trading.
Contracts & addresses
- Robinhood Chain id
- 4663
- Robinhood RPC
- https://rpc.mainnet.chain.robinhood.com
- Robinhood explorer
- robinhoodchain.blockscout.com
- Solana explorer
- solscan.io
Each pair's token addresses and fee wallets are listed on its coin page and in the message its launcher signed.
pump.fun on Solana ·
Pons on Robinhood Chain