Deployment
Parquet runs on Solana mainnet: perpetual markets across US equities, crypto, commodities, forex, and trading cards (see Markets for the live list), fed by an off-chain price-relay service under the dual-feed oracle (an on-chainPriceUpdateV2 price account primary during RTH for the free-RTH equity markets; the relayer-written PriceFeed PDA off-hours and for relayed markets; synthetics such as SPCX priced solely from a third-party reference feed), the keeper stamping funding for every market, and the public indexer ingesting on-chain activity over webhooks. Devnet remains live for SDK testing.
The six programs are deployed under deploy wallet PARQVsPSbsn1Pm7kdayZpicVu2pBRLYEnqijLP2QC3z. The same program IDs are used on localnet, devnet, and mainnet (the addresses below).
Explorer links below open on Orb (Solana mainnet — Orb’s default cluster) so they show the live deployment. The program IDs are the same on every cluster, so the same addresses also resolve on devnet; switch Orb’s cluster selector to
devnet if you need the devnet view.Programs
pool_program
Owns per-market vaults, manages the v4 payout queue andside_bucket, accrues fees, mints LP shares on deposits.
perp_engine
Position lifecycle (open/close/liquidate), order management (limit/stop), margin updates, funding-rate cranks. Callspool_program via engine_auth CPIs.
oracle_adapter
Lightweight CPI surface for read-only price reads. Other programs CPI here rather than parsingPriceFeed bytes directly. Under the dual-feed oracle, the adapter reads the on-chain PriceUpdateV2 price account as primary during RTH and falls back to the relayer-written PriceFeed PDA (carrying the off-hours reference) when the primary feed ages out — so reads succeed 24/7.
price_feed
Per-marketPriceFeed PDA storage, written by the off-chain price-relay service. Decode the PriceFeed account via the SDK (PriceFeedClient / utils/priceMath); the binary layout is internal and not intended for hand parsing.
fee_distributor
Two-stage fee routing: sweep non-LP fees from pool, distribute via configurable splits (staker_split_bps, treasury_split_bps; referral share is the remainder). Includes disburse_referral for affiliate payouts.
staking
Multi-pool staking. Two pool types viareward_source enum (BalanceBased / EmissionSchedule). Supports atomic claim_and_restake across pool types.
mock_usdc (devnet only)
Devnet collateral mint. The deploy wallet is the mint authority. Mainnet uses the canonical USDC SPL mintEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v — do not assume this devnet mock address on mainnet.
Protocol token (PARQ)
The Parquet protocol token — a Token-2022 mint (token programTokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb), 6 decimals, ~1B fixed supply, mint + freeze authority revoked, metadata-only (no transfer fee, transfer hook, or permanent delegate). It is the stake asset for the fee-fed staking pool. For supply, allocation, and how the token accrues value, see $PARQ token.
Markets
perp_engine holds a per-symbol MarketState PDA for every listed market (initialized on both devnet and mainnet). Markets are backed by shared per-category liquidity pools in pool_program — equities by a single equity-us pool, with separate pools for crypto, commodities, forex, and trading cards (the trading-card pool is operator-seeded and excluded from the public LP farm). The venue spans US-equity, crypto, commodities, forex, and trading-card perpetuals; see Markets for the current, canonical list.
Markets fall into a few feed classes:
- RTH-primary equities — read an on-chain
PriceUpdateV2as primary during regular trading hours, falling back to the relayer-writtenPriceFeedPDA off-hours. - Relayed equities — read the
PriceFeedPDA (relayer-written from an off-exchange reference feed) as primary in every session. - Synthetic / off-exchange-sourced markets (e.g. SPCX) — priced from an off-exchange reference feed with no on-chain primary oracle.
- Crypto, commodities & forex — 24/7 markets on their own category pools.
- Trading cards — 24/7 collectible-card markets on a dedicated
tcg-usdcategory pool, priced from a card-market reference feed; tighter risk parameters (50× max) and excluded from the public LP farm.
MarketState PDA initialized but reverts opens until a live feed is restored.
All markets share a single wallet-notional-tiered leverage table applied in every session — **up to 200× on the smallest tier (≤200K / ≤1M / >1M). The 200× openable max follows from the 50 bps initial margin (a fresh max-tier open has ~0 economic cushion after the open fee). Maintenance margin is 40 bps venue-wide, liquidation fee = 20% of remaining equity at liquidation, funding cap = 300% APR (≈0.82%/day). OI cap = 500K off-hours (the one risk parameter that still tightens off-hours, alongside off-exchange reference pricing); five recently-added markets — ASML, COST, RIVN, IBM, DELL — carry a tighter $100K off-hours cap. An ADL tail-backstop (Tier-B queue-IOU socialization) is armed off-hours on all markets as a last-resort bound on the payout-queue tail — see Payout queue and Risks. Bad-data rejection happens in the off-chain aggregator. See Markets for the symbol list.
Fee distribution split
Effective on mainnet: LP 50% / stakers 31.25% / treasury 12.5% / referral 6.25% of total trading fees. The LP cut is taken first (lp_fee_bps = 5000 on each category pool’s fee settings); the remainder is split among stakers, the treasury, and the referral pool in those proportions.
See also
- Developer docs — SDK and indexer API references, available to builders on request.
- Markets — symbol list and per-market parameters.