Skip to content

About

EqualStart brings fairer opening participation to Meteora DBC launches through atomic pooled purchases and permissionless settlement.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

EqualStart

One opening buy. One blended entry price. No race to be first.

A permissionless fair-opening mechanism for Meteora Dynamic Bonding Curve launches on Solana.

Meteora DBC track Crypto World's Fair 2026 Live demo on Solana devnet

Anchor Meteora DBC Devnet tests passed Unaudited

Live App · Onchain Verification · Wallet Walkthrough · Hackathon Submission

Warning

Devnet prototype only. Unaudited and upgradeable. Do not use with real funds. Mainnet use requires independent security review and a production upgrade-authority policy.

Why EqualStart?

With an ordinary rising bonding curve, the fastest buyers typically get better entry prices. EqualStart removes that transaction-order advantage within the opening batch without replacing Meteora's price discovery.

Typical DBC launch EqualStart opening batch
Traders race to be the first buyer Participants deposit during a fixed window
Earlier swaps have an entry-price advantage Every batch member gets the same blended price
Creator may have to coordinate the launch Any wallet can trigger settlement
Separate buys move the curve one after another One atomic first buy executes for the full batch

Example: Alice commits 0.1 SOL, Bob 0.2 SOL, and Carol 0.3 SOL. EqualStart purchases with all 0.6 SOL. They claim 16.67%, 33.33%, and 50% of the tokens acquired, respectively, subject to token-unit rounding. The price is equalized, not the number of tokens.

The mechanism

 Creator commits DBC config, deadlines, limits, and settlement bounty
                             |
                    Deposit window
                Participants escrow wSOL
                             |
                    Window closes
                             |
               ANY wallet calls settle
                             |
           One atomic EqualStart instruction
                 + Create DBC pool
                 + Execute pooled first buy
                 + Transfer pool-creator role
                 + Pay settlement bounty
                             |
              Participants claim tokens
  • No front-running the batch: Token mint and pool-creator authorities are EqualStart PDAs. Only the program can sign to create the committed pool.
  • Permissionless and atomic: Settlement does not require the creator's signature. If the purchase fails its checks, the transaction rolls back.
  • Proportional claims: floor(tokens_received × participant_deposit / total_deposits), enforced onchain, with double claims rejected.
  • Recoverable deposits: If a batch isn't settled before its deadline (for example because it missed its minimum raise), anyone can cancel it and every participant can reclaim exactly what they deposited.
  • Normal market afterward: DBC trading proceeds under the committed configuration, including its configured graduation path.

EqualStart does not prevent whales using multiple wallets, post-launch selling, or price declines. Its fairness guarantee is specifically about opening-batch execution price, not future market outcomes.

Try it and verify it

Evidence
Live application equalstart.vercel.app (browse without a wallet)
Real-wallet flow evidence/ui-wallet-run.md: Phantom deposits, unrelated-wallet settlement, claims, refunds
Public devnet tests VERIFICATION.md: 10/10 test groups, 54 linked transactions, rejected-attack evidence
Atomic settlement Solana Explorer transaction (reported 218,120 compute units)
Deployed program Solana Explorer program (deployed bytes match the local build)
Design and limitations ONCHAIN_RESULTS.md
Raw evidence evidence/ (signatures, logs, balances)
Submission materials SUBMISSION.md (architecture diagram and video script)

Repository and development

Path Purpose
onchain/programs/equalstart/src/lib.rs Anchor program: escrow, DBC CPIs, settlement, claims, refunds
onchain/tests/equalstart.ts Localnet and public-devnet onchain test suite
onchain/scripts/devnet.sh Devnet deploy and verification harness
app/ Web application
settlement.mjs and CHAIN_FEASIBILITY.md Original 12-test accounting model and feasibility notes

Prerequisites: Agave 4.3.0, Anchor CLI 1.2.1, Node.js 22, and Meteora DBC binaries for the local validator.

# Build and run program tests (from repository root)
cd onchain
npm install
anchor build
scripts/localnet.sh &
NODE_OPTIONS=--no-experimental-strip-types \
  npx ts-mocha -p ./tsconfig.json -t 1000000 tests/equalstart.ts

In another terminal, from the repository root:

cd app
npm install
npm run dev

The app uses devnet by default; for localnet, set VITE_CLUSTER=localnet and VITE_RPC_URL. Reproduction details and explorer links are in VERIFICATION.md.

Security and known limitations

  • Unaudited: Localnet and devnet tests do not replace an independent security audit.
  • Upgrade authority: A throwaway key currently controls the devnet program. A production release needs an explicit multisig/timelock or revoked-upgrade strategy.
  • Meteora dependency: The implementation relies on DBC instruction layouts and account offsets from IDL 0.2.1. A future DBC upgrade could invalidate these assumptions. The DBC program is part of the settlement trust boundary; balance checks limit but cannot eliminate the resulting risk.
  • Scope: Per-wallet caps are not Sybil resistance, and equalized opening pricing does not guarantee token value or liquidity.
  • Deposits can be locked until expiry (fix before mainnet). The program doesn't cap the settlement window, and there's no exit between close and expiry. If a launch can't settle (minimum raise missed, or an unreachable minimum price), deposits are refundable only after expiry, which the creator chooses. The app caps new launches at 7 days and warns on launches with longer windows. Planned program fix: allow cancellation as soon as deposits close if the minimum raise wasn't met, and cap the window on-chain.
  • Last-second withdrawal griefing (fix before mainnet). Withdrawals are allowed until deposits close, so someone can fill the batch to crowd others out, then withdraw just before close. Nothing is lost, but the batch can miss its minimum or open small. Planned fix: stop withdrawals some time before close.
  • Creator-chosen curve settings. Participants rely on the DBC config the creator picked (supply, vesting, fee split, pool creation fee). The launch page links it and shows the pool creation fee, which whoever settles pays.

See ONCHAIN_RESULTS.md for detailed security notes.


Built for the 2026 Crypto World's Fair
Meteora: Best use of Meteora's Dynamic Bonding Curve (DBC)
Fairer opening participation, powered by Meteora DBC.

About

EqualStart brings fairer opening participation to Meteora DBC launches through atomic pooled purchases and permissionless settlement.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages