dbldex

How dbldex works

One coin, two chains, one price · pump.fun on Solana · Pons on Robinhood Chain

Contents8 sections

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
no gas, no fee, platform-sponsored
20% / 20% / 60%
launcher / platform / peg keeper
±1.50% band
checked every 15 s and after every trade

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. 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. 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. 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-191 personal_sign. It is a message, not a transaction: it costs nothing and cannot move funds.
  4. 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 its creator. On Robinhood Chain a platform wallet calls the Pons factory with the pair's EVM fee wallet as creatorFeeRecipient. Each step streams to the launch page as it happens.
  5. 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.
One signed message authorizes dbldex to launch on pump.fun and Pons; both coins' creator fees fund the peg keeper.1 signaturecreator feesYousign one messagedbldexverifies, pays bothpump.funSolanaPonsRobinhood ChainPeg keeperfees buy cheap leg
One signature authorizes two launches. Each leg's creator fees flow to that pair's own fee wallet on its chain, which funds the peg keeper.

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
spread_bps = (p_rh / p_sol − 1) · 10,000
Positive: the Robinhood leg is richer. Negative: the Solana leg is.

Because 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.

peg-keeper.math
// 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%)
k, x and y include virtual reserves. Fees are the venue's total buy or sell cost in bps.

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> with window = ⌊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 simulated and applied to the pair's simulated reserves, so those pairs converge on screen exactly as live ones would.
Two legs pulled back into the bandIllustrative
Two legs pulled back into the peg bandTop: normalized prices of the Solana and Robinhood legs over 90 seconds. Bottom: the spread with the ±1.5% band shaded. A large buy on the Robinhood leg opens a +6% spread; the keeper buys the Solana leg back to +0.75%. A large sell then opens −6%; the keeper buys the Robinhood leg as far as its budget allows, then sells Solana-leg inventory to finish inside the band.1230.981.001.021.041.061.08price (normalized)large buy on RHlarge sell on RHSolanaRobinhoodband ±1.5%−6%−3%0%+3%+6%spread0s15s30s45s60s75s90s
1 a large buy lifts the Robinhood leg 6%; the keeper buys the Solana leg to 0.75% under it. 2 a large sell drops the Robinhood leg; the keeper buys it until the Robinhood budget runs out. 3 on the next pass it sells Solana-leg inventory from step 1 to finish inside the band.

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%.

SharebpsSolana leg (SOL)Robinhood leg (ETH)
Launcher2,000Your Solana payout address; claim on PortfolioYour EVM payout address; claim on Portfolio
Platform2,000dbldex; covers launches, gas and infrastructuredbldex; covers launches, gas and infrastructure
Peg keeper6,000Stays in the Solana fee wallet as SOL peg budgetStays in the Robinhood fee wallet as ETH peg budget
Default split. This deployment: 2000 / 2000 / 6000 bps.
Solana legRobinhood leg
Earned frompump.fun's creator fee on every curve trade, then on PumpSwap70% of Pons's 1% curve fee, plus 100% of the creator tax you chose; after graduation, the v4 hook's fees
Accrues inCreator vault keyed to the pair's Solana fee walletPons fee escrow, then the meme hook after graduation
Collected byThe worker, every 20 s, into the fee walletThe worker, every 20 s, into the fee wallet
Paid out asSOLETH
Where the fees come from on each chain.

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.

Price over opening pricevs % sold
Bonding curve price multiple versus share of supply soldpump.fun rises to 14.70 times its opening price when 79.31% of supply has sold; Pons rises to 12.25 times at 71.43% sold. At equal share sold, Pons is higher.×1×4×8×12×160%20%40%60%80%100%share of supply sold on the curveprice ÷ opening pricePons · Robinhood Chainpump.fun · Solana×14.70graduates at 79.3% sold, ≈85 SOL×12.25graduates at 71.4% sold, 4.2 ETH
Computed from each venue's constants: price = k / y², so the multiple is (y₀ / y)². Dots mark graduation: pump.fun at 79.3% sold (≈85 SOL raised), Pons at 71.4% (4.2 ETH). After it, each leg trades in its AMM pool.

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.

pump.fun (Solana)Pons (Robinhood Chain)
Supply / decimals1,000,000,000 / 61,000,000,000 / 18
Opening reserves30 SOL virtual, 1.073B tokens1.68 ETH phantom, 1B tokens
Opening FDV27.96 SOL1.68 ETH
Graduates at≈85 SOL raised, 79.31% sold4.2 ETH raised, 71.43% sold
FDV at graduation410.9 SOL (×14.70)20.58 ETH (×12.25)
After graduationPumpSwap poolUniswap v4 pool, liquidity locked
Trading feespump.fun protocol + creator fee1% curve fee (70% creator) + 0–10% creator tax
Launch protectionnonesnipe tax 99% → 0 over 3 s

Safety & limits

  • Money gates. Real launches need both MONEY_ENABLED and LAUNCHES_ENABLED; LAUNCH_DRY_RUN overrides 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

ContractChainAddress
pump.fun programSolana6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
PumpSwap AMMSolanapAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA
Pons factoryRobinhood 46630x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e
Pons fee escrowRobinhood 46630xd3AFEB2a57f70eF218Aa82451c51B2fb0416Ac9e
Pons meme hook (v4)Robinhood 46630xE5e702641Ea86F4ae6cC3cDaeD2B886f976Be044
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.

FAQ

Do I pay anything to launch?Show
No. You sign a message; the platform pays both chains' launch costs. Your only costs are the trades you choose to make.
Why do the two prices ever differ?Show
Each leg trades on its own chain with its own buyers and sellers. Any trade moves one leg and not the other, and the curves have different shapes. The keeper closes the gap with fees; it doesn't prevent it from opening.
Can the keeper run out of money?Show
Yes. Its budget is only the peg share of fees that pair has earned, so a quiet pair has a small budget and its spread can sit outside the band until more fees arrive or inventory can be sold. The ledger shows when a trade was capped.
Is the peg a guarantee?Show
No. It is a market operation funded by fees and bounded by caps ($250 per trade, $2,500 per day). A large trade can push a leg outside the band faster than fees can pull it back.
What happens at graduation?Show
Each leg graduates on its own schedule: pump.fun into PumpSwap, Pons into a Uniswap v4 pool with locked liquidity. The keeper trades against whichever market each leg is in, and pauses buys on a leg while its graduation is in flight.
How do I claim my launcher fees?Show
On Portfolio, per chain, with the wallet that owns that chain's payout address. You sign a claim message; the payout is sent from the pair's fee wallet and you pay no gas.
Which wallets work?Show
Any Wallet Standard Solana wallet (Phantom, Solflare, Backpack) and any injected EVM wallet (MetaMask, Rabby, Coinbase Wallet). Either one can sign a launch. To trade the Robinhood leg, the EVM wallet needs Robinhood Chain (4663), which the app can add.
What does “simulated” mean?Show
In simulation mode nothing is broadcast. Launches, markets and peg actions run against simulated reserves seeded from the real opening curves, and every such row is labelled simulated.