Mainnet addresses will be added when mainnet launches. Until then, all addresses on this page are devnet only.
Programs
Tokens
Market PDAs
Derivation:
findProgramAddressSync([Buffer.from("market"), Buffer.from(symbol)], mintRedeemProgram).
Collateral vault (unified)
All markets share one physical cUSDC vault, owned by a globalCollateralAuthority PDA. Per-market accounting is the total_collateral scalar on each Market (the ledger) minus deployed_to_yield; per-market isolation is enforced by a liquid-share gate, not by separate token accounts.
Derivation:
findProgramAddressSync([Buffer.from("collateral_authority")], mintRedeemProgram); the vault is its cUSDC ATA. QQQ/SPY/XAU point at this one account.
The five markets added in June 2026 (XAG, NVDA, AAPL, OIL, EUR) currently use their own per-market collateral vaults and will be migrated onto the unified vault; their
total_collateral ledger and isolation guarantees are unaffected either way.Legacy per-market vaults (pre-unification, drained)
Legacy per-market vaults (pre-unification, drained)
Before the unified-vault migration each market owned its own ATA. These are retained as
collateralVaultLegacy in market-addresses.json but hold no balance:CLP accounts
The five June-2026 markets (XAG, NVDA, AAPL, OIL, EUR) route through the Global CLP above and do not yet have a dedicated per-market
Clp PDA.
Oracle configs
Native bin book pools
OnePool PDA per (market, side), seeds [b"pool", market, side] on the CLP program:
There is no swap fee on the books - the half-spread (empty inner bins) is the price of immediacy. Geometry is 2-zone: core 15-40bps near NAV, wings 250-600bps.
⚠️ VERIFY: XAU pool addresses disagree across sources — this table lists
5rEH…KmHL / CW8n…rLHT, /markets/live lists 2CXQ…dVTU / 8vyY…QxSD, and market-addresses.json (under venues.meteoraDlmm) lists Hea9…R9642 / 8RRm…y17G. Confirm the live native bin-book XAU pools on-chain before integrating.External program IDs
RPC endpoints
For production, use a private RPC (Helius, Triton, QuickNode, Alchemy).
Programmatic access
Always prefer reading from a registry or the protocol’s bundledfrontend/lib/market-addresses.json over hard-coding addresses. Addresses can change (e.g., on mainnet launch); your code shouldn’t.
⚠️ VERIFY: In
market-addresses.json the only populated venue key is meteoraDlmm, but the live trading venue is the native bin book (see the pool tables above). The primaryVenue field on QQQ/SPY/XAU reads meteoraDlmm (a legacy/unwound venue) and should be the native bin book per the live venue — confirm on-chain before wiring pool addresses from this path.See also
Live markets
Per-market detail pages.
Programs overview
Program functionality and IDL sources.

