Documentation Index
Fetch the complete documentation index at: https://docs.parquet.exchange/llms.txt
Use this file to discover all available pages before exploring further.
Deployment status
Parquet is live on devnet today: 15 active markets, price-pusher streaming Alpaca + Finnhub during US Regular Trading Hours, keeper online stamping funding for every market, and Helius webhooks pointed at the Tailscale-funnelled indexer. Mainnet is not yet deployed. The mainnet deploy wallet — vanity addressPARQVsPSbsn1Pm7kdayZpicVu2pBRLYEnqijLP2QC3z — is parked at 0 SOL pending the launch milestone. The same six program keypairs are mirrored across Anchor.toml’s [programs.localnet] / [programs.devnet] / [programs.mainnet] blocks, so the addresses below will not change at the mainnet cutover.
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. Outside US Regular Trading Hours, every CPI here returns PriceStale (which is how the weekend halt is enforced).
price_feed
Per-marketPriceFeed PDA storage. Layout (frozen, must match oracle-adapter::read_switchboard): mantissa @ 4337, scale @ 4353, ts @ 4357. The price-pusher writes here every 1 second during RTH, gated by deviation (default 15 bps; tighter overrides for TSLA/MSTR/COIN at 10 bps and the ETFs at 8 bps with a 10s heartbeat).
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 will use the canonical USDC SPL mintEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v — do not assume this devnet mock address on mainnet.
Markets
pool_program holds 16 per-symbol MarketState PDAs initialized at devnet cutover. 15 are active (AAPL, MSFT, NVDA, GOOGL, AMZN, META, TSLA, COIN, MSTR, PLTR, AMD, SPY, QQQ, GLD, USO). The 16th — SMCI — has its PDA initialized but no pusher feed, so its oracle is always stale and opens always revert. The Alpaca free tier’s 30-channel subscription cap is the gating constraint: 15 symbols × (trades + quotes) = 30, no room for a 16th.
All markets share MAX_LEVERAGE = 250, MMR_BPS = 20, initial-margin = 40 bps, liquidation fee = 50 bps, funding cap = 10 bps/hour, and an OI cap of $50,000 per side. The on-chain maxDeviationBps circuit breaker is set to 0 (disabled) — bad-data rejection happens in the off-chain aggregator. See Markets for the symbol list.
Fee distribution split
scripts/init-v4.ts writes 80% LP / 12% stakers / 7.8% treasury / 0.2% referral at fresh init. Splits live on the FeeDistributor config account as staker_split_bps and treasury_split_bps; the referral share is the remainder.
See also
- Network → API — public indexer endpoints and rate limits.
- Developer → SDK — TypeScript client that wraps these program IDs.
- Markets — symbol list and per-market parameters.