Skip to main content
This is the canonical lookup table. Bookmark it.
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 global CollateralAuthority 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.
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

One Pool 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 bundled frontend/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.