> ## 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.

# Contracts

> Parquet program IDs — six programs deployed on Solana mainnet (and devnet), same IDs on every cluster.

## Deployment

Parquet runs on Solana mainnet: perpetual markets across US equities, crypto, commodities, forex, and trading cards (see [Markets](/markets) for the live list), fed by an off-chain price-relay service under the dual-feed oracle (an on-chain `PriceUpdateV2` 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).

<Note>
  Explorer links below open on [Orb](https://orbmarkets.io) (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.
</Note>

## Programs

### pool\_program

Owns per-market vaults, manages the v4 payout queue and `side_bucket`, accrues fees, mints LP shares on deposits.

```
Acme8JzWrvVqGJz7nTKVsLYisN6MtP83nrs4fVAeXJsN
```

[View on Orb](https://orbmarkets.io/address/Acme8JzWrvVqGJz7nTKVsLYisN6MtP83nrs4fVAeXJsN)

### perp\_engine

Position lifecycle (open/close/liquidate), order management (limit/stop), margin updates, funding-rate cranks. Calls `pool_program` via `engine_auth` CPIs.

```
6QrsMTMEu9rsLpyxQgRdvQsWoPgHGY9npNNiwTtXsbdc
```

[View on Orb](https://orbmarkets.io/address/6QrsMTMEu9rsLpyxQgRdvQsWoPgHGY9npNNiwTtXsbdc)

### oracle\_adapter

Lightweight CPI surface for read-only price reads. Other programs CPI here rather than parsing `PriceFeed` 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.

```
6fsnWa9tcKcPiuQgdUbTMsiwUr43MNoxa1FECPFrvSpd
```

[View on Orb](https://orbmarkets.io/address/6fsnWa9tcKcPiuQgdUbTMsiwUr43MNoxa1FECPFrvSpd)

Builds are gated in CI to ensure the production price-validation path is compiled in.

### price\_feed

Per-market `PriceFeed` 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.

```
Dgorf5LPiMttdTxWcrsiA2j94kWKw55gJLRJm8P4E1Hn
```

[View on Orb](https://orbmarkets.io/address/Dgorf5LPiMttdTxWcrsiA2j94kWKw55gJLRJm8P4E1Hn)

### 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.

```
CHTpVtZQboxjM6N9xk1RR29jZyWqFNV77cmQNJ18RNNL
```

[View on Orb](https://orbmarkets.io/address/CHTpVtZQboxjM6N9xk1RR29jZyWqFNV77cmQNJ18RNNL)

### staking

Multi-pool staking. Two pool types via `reward_source` enum (`BalanceBased` / `EmissionSchedule`). Supports atomic `claim_and_restake` across pool types.

```
35HddZHf84u6DeyLoZL3Z3a8pZ59594xu1aizj7VrAGR
```

[View on Orb](https://orbmarkets.io/address/35HddZHf84u6DeyLoZL3Z3a8pZ59594xu1aizj7VrAGR)

### mock\_usdc (devnet only)

Devnet collateral mint. The deploy wallet is the mint authority. **Mainnet uses the canonical USDC SPL mint `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v`** — do not assume this devnet mock address on mainnet.

```
DA8DJqnj49QrNN6TSbZ13cMubdJ8agSeEohH5AGjkgYA
```

[View on Orb](https://orbmarkets.io/address/DA8DJqnj49QrNN6TSbZ13cMubdJ8agSeEohH5AGjkgYA?cluster=devnet)

## Protocol token (PARQ)

The Parquet protocol token — a **Token-2022** mint (token program `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb`), 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](/staking/tokenomics).

```
VtwGKv7dcpY7aFb8H7MvZfEtUAKwtsHcXSkejCAparq
```

[View on Orb](https://orbmarkets.io/address/VtwGKv7dcpY7aFb8H7MvZfEtUAKwtsHcXSkejCAparq)

## 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](/markets) for the current, canonical list.

Markets fall into a few feed classes:

* **RTH-primary equities** — read an on-chain `PriceUpdateV2` as primary during regular trading hours, falling back to the relayer-written `PriceFeed` PDA off-hours.
* **Relayed equities** — read the `PriceFeed` PDA (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-usd` category pool, priced from a card-market reference feed; tighter risk parameters (50× max) and excluded from the public LP farm.

A market with a stale or absent feed keeps its `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 (≤$100K)**, scaling down by wallet-notional tier (≤$200K / ≤$250K / ≤$1M / >$1M, to 10× for >$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 = $5M per market during RTH and $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](/trade/payout-queue) and [Risks](/reference/risks). Bad-data rejection happens in the off-chain aggregator. See [Markets](/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](/developer/access) — SDK and indexer API references, available to builders on request.
* [Markets](/markets) — symbol list and per-market parameters.
