IDL sources
Get them via:
frontend/lib/idl/ directory packages the same IDLs for the official frontend - copy from there if you don’t want to clone the full protocol repo.
PDA derivation cheatsheet
All PDAs usefindProgramAddressSync(seeds, programId). In @solana/web3.js:
mint-redeem PDAs
oracle PDAs
oracle_config - you read market.oracle_address directly from the Market account. The derivation is here for completeness.
clp PDAs
registry PDAs
faucet PDAs
Token accounts (ATAs)
ATAs are not PDAs of Continuum’s programs but you’ll derive them constantly:Composing a mint call
Formint_paired, you need:
- Derive
marketPDAfrom symbol. - Fetch
market(one RPC call). - From the fetched market, derive all child accounts.
getMultipleAccountsInfo.
Account-fetch helpers
Discriminators
Each Anchor account / instruction has an 8-byte discriminator. You don’t compute these by hand - Anchor handles it. But if you need to manually decode account data without an IDL:sha256("account:Market").slice(0, 8). The keeper uses these manually for performance reasons; clients should rely on Anchor’s coder.accounts.decode.
See also
SDK setup
Project bootstrap + first read.
End-to-end example
Mint and redeem in one script.

