Skip to main content
Continuum’s protocol layer is split across five Anchor programs. They are deployed to devnet today; mainnet IDs will be added when mainnet launches.

How they relate

IDLs

IDLs (Anchor interface description language) are JSON files describing each program’s instructions, accounts, and types. You need them to build instruction calls from a TypeScript client. The canonical IDLs ship in the protocol repo at target/idl/<program>.json. After cloning the repo and running anchor build, they regenerate. They’re also packaged in frontend/lib/idl/ for the official frontend. Drop them into your project:
Then in your TypeScript:
Anchor v0.32 derives types from the IDL automatically. No separate type generation step.

PDAs at a glance

Authority model

Different operations require different signers: The keeper_authority and admin_authority are typically separate keypairs - a keeper rotation doesn’t require admin signature. Mainnet authorities will be Squads multisigs.

Errors

Each program exposes its own error catalog. Anchor maps them to numeric codes starting at 6000 per program. Full lookup table: Reference → Errors. Programs:

Choosing what to call

For trading L/S, the venues are native: the per-side CLMM books for instant size, committed orders for anything larger - see Trade.

See also

mint-redeem

Paired mint/redeem; keeper single-side; market admin.

oracle

Price observations, TWAP, risk states.

clp

Capital vaults, native books, committed orders, OI cap.

SDK setup

Bootstrapping a TypeScript project against these programs.