Program IDs & on-chain addresses
Everything you need to verify Sour yourself: program ID, base asset mint, supported markets. Open these in your favorite Solana explorer and you'll see exactly what the app sees.
Mainnet
- Network
- solana-mainnet
- Program ID
- souryQgnM1xiNuGcmVYLPGT3MKqnGN8QTqP8zk8eape
- USDC mint
- EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
- Launch version
- v1.0.7
- Live since
- 2026-05-06
Launch markets
Three markets at launch — every market PDA is derived deterministically from the program ID and the asset symbol. The app uses the launch-set filter to ignore orphan markets from earlier bring-up sessions.
- SOL-PERPSOL/USD perpetual future on Sour. Oracle-anchored mark, 1.8-second batch clearing, flat 3 bps fee.
- BTC-PERPBTC/USD perpetual future on Sour. Oracle-anchored mark, 1.8-second batch clearing, flat 3 bps fee.
- ETH-PERPETH/USD perpetual future on Sour. Oracle-anchored mark, 1.8-second batch clearing, flat 3 bps fee.
How to verify
Open https://solscan.io or https://explorer.solana.com and search for the program ID above. You will see the program account, recent instructions, and the IDL if your explorer renders it. The Sour program is not closed-source — its source lives at github.com/GageBachik/sour and the on-chain bytecode is the build output of that repository at the tagged release.
For each market, the app derives the market PDA at runtime; you can see the resolved addresses in the network tab when loading app.sour.finance/markets. The /api/markets/index endpoint returns the canonical PDA list keyed by symbol.
Protocol parameters at launch
- Base trade fee
- 3 bps (300 fee_micros)
- Batch slot
- 1800 ms
- Max leverage
- 50×
- Quote / collateral
- USDC
- Funding cadence
- Computed inside every batch (no off-chain cron)
- Liquidation
- Structural — no off-chain liq keeper
Authoritative live state
Anything you read on this page is true at the point it was last edited. The authoritative live state is on-chain. Two surfaces let you read it directly without trusting our frontend:
— The /api/markets/index endpoint on app.sour.finance returns a snapshot of every launch market with its OI, fee, last clear price, and lookup-table address.
— The Solana cluster itself responds to direct getAccountInfo calls. Every Sour account is deserializable from byte offsets documented in the SDK at packages/sour-sdk.