Skip to main content

Documentation Index

Fetch the complete documentation index at: https://continuum-ec12e897.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Four markets are active on Solana devnet. Mainnet markets will be added when mainnet launches.
The cUSDC mint for all devnet markets is B1c5xBYkp7AAemYhcu4VuH4CU4sPJDDuG2iuv6ts38uE. On mainnet this will be real USDC.

QQQ - Nasdaq-100 ETF

Address
Market PDAF12ostJBgYCzsdouwz5GG1qeBCwbmhNGucPBNCZCfPG5
Long mint (QQQL)E4xJxBPyDXXJK2uqF17cq9kch1xHCTBZ6vjMxKWKANgZ
Short mint (QQQS)BisvPibkUJqix3ZzaeHCxJ2W7KqoroFpnyf55nzFoicG
Oracle config7uMgq2tpFW9FatCwAPtAjndvADCr3p8NiNFo7EZLSaV1
Pyth feed8u6Bv99YnmTEr4R5fZ3UGdNjX2HeUbuZD82a52n2Dmuk
Collateral vaultCGEMQpzitYvEnWE7sggqD4aBMpTmXhckQPYMhzhy9oJm
CLP PDAEEDKqU3C4wgWQBcgFagHTqEAjKNMCV4eVYyaUt9swKHc
CLP vault8Doh7uAU95RkqZDx66C1643Q8xJeg4T8eYKMak6ac1En
Long Meteora pool3MN5oS1xvDNZBaGxJX5TurQEiww4bGyYqcnjSF2cxf6a
Short Meteora poolGMZdxttJsMaFKRPpcUVDhiu8S22m6s41xd5kxzh9wvPC
Initial L price480.00
Initial S price1.00 (constant-product anchor)
OI cap250,000,000 cUSDC
Pool fee tierbinStep=10, baseFactor=10000 → 0.10% base fee

SPY - SPDR S&P 500 ETF

Address
Market PDAGT1XPJmWNxFukQXVxCmT6c9VdLdR6Da54aU9m9QGfd8b
Long mint (SPYL)8mVLeXHpchLvt3WZRhRrAZYJ4oU3e2crVF1QEomgdDQ8
Short mint (SPYS)3n5x1QaXSSw5ysAK5zkMo1XSm52TwzTBK48RAfkeKJiu
Oracle configCZnrCy19NmVT8JJHBE4Q7MFjkk25NaXdDguKsvqWg8uE
Collateral vaultDgL6UTux2gjRubznEnEQ1WprjajW5KYaegBEKgSncgPc
CLP PDAF4eAvoAd2tUnpDz7dSqj2d4eCBzHLHYTvPmiwHNe1nnX
CLP vaultJ5cj2Ba1bMsgK4qk2uis6asL6hUSwAd53kYepteBG94B
Long Meteora poolHAVgkB471hUVivMBLzKV1GMamXoCVbXRjEub82MNUww3
Short Meteora poolF8ymHMLEvcnsGBNpFyxw4vhy2fgTrXNGi6GtQcLhfwvK
Long positionFoW37DP2ocJEpKDerSYQBNJcDT9JPufnfGQY4N238VGy
Short positionGzwi7C3NVNtLYXgrRRbXWAU8Q3uPvMFLCmMNdsRmtEEr
Initial L price715.00
OI cap250,000,000 cUSDC
Pool fee tier0.10%

XAU - Gold (spot)

Address
Market PDA8HVoUTS3iNdKSCHhvhc2FNRnXjd7yHcEARD6mTFjem7b
Long mint (XAUL)AoufiP54693dn9HKonVBn6W75tKe8eHq5ncTwjTz6i5c
Short mint (XAUS)9XjYivtQfhDitFJugsskP6LppL7JJzANWwc7kmybpd55
Oracle configH3kvpKAQbriHGr6CZWWpXreUFa9ox4pdHPAoeqYSuLt4
Collateral vault2Z9W8e64czfRDu7DoJmZbhZGbm6W7ERuUnXS7iWzU2xx
CLP PDADdUuCiNzv5A3XZJk5jj4vY8zGS1avcrcMu1MuR4J65BA
CLP vaultC6X4VEBggnwdC6Ju5tBMm8wxRiFekRZQrWSeX5Ja2kVn
Long Meteora poolHea9Xh64q5F9Bx5iwnKbHMeBkx7QFH9YSfCQQR9R9642
Short Meteora pool8RRmXQqLQKiSe2RHknom2FDddK6tB6BatpC4sckfy17G
Long position3mBvXm49R9vkEgJUi1JGqGH7x5QVakUhVQgUmNEeVSLb
Short positionCeZXvCeW8BUSAUEzurSPvUCUjRC6wmn4k3SLVGiLKm92
Initial L price4683.00
OI cap250,000,000 cUSDC
Pool fee tier0.10%

VXX - VIX Short-Term Futures ETN

Address
Market PDACkK5rTLKBHwo7NeRGrzjKUJAnKPrV2ko4UgbfBf788f6
Long mint (VXXL)9GAPZW9pE8jkwzupFDnheDU1X35kh7vUMQvBkDLRuQn8
Short mint (VXXS)3Dnogj7nRYKEVBfPaBVkGw1Zbj5j3Nhm7RtGSKJfssch
Oracle configGYiFbGPQnrB2WpecjaU9CvFHP5JneiZgqfh6JHLkXACA
Collateral vaults7nNAEzhhP1nkahspsb5cWG8vZhPV4w1oNHrKwgvn6G
CLP PDABW82gQyxpNYCX8UNoqyKN29ZKXiPXhqvie75rnCyDhfm
CLP vaultBx6hMqHuTN2XYJrzqNu5hgkzPbt3BUhosn4AUdepQ9fP
Long Meteora pool6CkswPtW3kGdQC44DVYQrj9ab9Td5zqUPiabRDa6MT4q
Short Meteora pool4AfcArarfaDDDoKUQCVEQRcZKeVQ5emWem25o7tA4SzH
Long positionCjt9Tp4UbykkUR4wTnZ8Z1wHQy46ts5buN6XHQqi6onw
Short positionGvaK7mun6mSjRPuiB1jsfPdxFB3Xqv5n17LTdyTwQ47W
Initial L price29.07
OI cap250,000,000 cUSDC
Pool fee tier0.10%

Global state

Address
GlobalClp PDABcGR8kuGCiMhwonyztXZHEZtjJXxXVRgjwbn58bUfXtw
GlobalClp vault5GSTKN4u5LfropcnQQoqFht48JMaF1SzZzBcgDNL5VKy

Programmatic access

Don’t hand-copy these addresses into your code. Two paths:

Option A: ship the JSON snapshot

The protocol repo’s frontend/lib/market-addresses.json is the canonical snapshot. Copy it into your project, parse, and use.
import addresses from "./market-addresses.json";

const qqq = addresses.markets.QQQ;
console.log(qqq.marketPDA);    // "F12ostJBgYCzsdouwz5GG1qeBCwbmhNGucPBNCZCfPG5"
console.log(qqq.longMint);     // ...
console.log(qqq.liquidity.venues.meteoraDlmm.longPool); // ...
This file is keyed by cluster (devnet today; mainnet when launched).

Option B: read the on-chain registry

import { Program } from "@coral-xyz/anchor";
import { PublicKey } from "@solana/web3.js";
import registryIdl from "./registry.json";

const registry = new Program(registryIdl, provider);
const accounts = await registry.account.marketEntry.all();

for (const { account } of accounts) {
  const symbol = Buffer.from(account.symbol).toString().replace(/\0+$/, "");
  console.log(symbol, account.longMint.toBase58(), account.isActive);
}
The on-chain registry is updated when new markets are listed; the JSON snapshot is committed to the repo on deploy. Use the registry for production frontends, the JSON for local dev.

Trading hours

All markets are 24/7 mintable and tradeable. NAV reflects whichever Pyth feed is active for the current US trading session (regular / pre-market / post-market / overnight). Off-hours liquidity is thinner; expect slightly wider pool spreads. Concepts → Markets → Trading hours

See also

Listing flow

How a new market is added.

Roadmap

Planned market additions.

Devnet info

RPC, faucet, behavior gotchas.

Reading state

How to read live data from these accounts.