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.
mint_paired(collateral_amount) is the canonical user-facing entry. It deposits cUSDC, mints L and S to the user’s ATAs, and sends fees to the configured fee recipient.
Math
Normal risk state with no confidence markup, qty_L × L_NAV + qty_S × S_NAV = collateral_amount - fee. Trivially.
Accounts required
| Account | Notes |
|---|---|
market | Market PDA |
user (signer) | Pays collateral_amount |
user_collateral | User’s cUSDC ATA (must exist; create via getAssociatedTokenAddressSync + ATA program if missing) |
user_long | User’s L ATA (created if missing) |
user_short | User’s S ATA (created if missing) |
long_mint | From market.long_mint |
short_mint | From market.short_mint |
collateral_vault | From market.collateral_vault |
dev_token_account | Fee recipient’s cUSDC ATA |
oracle_address | From market.oracle_address |
token_program | SPL Token program |
useMint() hook resolves all of this from the symbol. For a copy-pasteable script see Build → Mint and redeem example.
TypeScript
Minimum mint size
Enforced by the program: 10 cUSDC (10_000_000 lamports). Below this, you get BelowMinimum.
This exists to keep the post-fee residual computable without precision issues - at 1 cUSDC mint, the 0.1% fee rounds to lamport boundaries that produce zero L/S in some markets.
Errors
| Error | Cause |
|---|---|
MarketNotActive | market.is_active = false |
InvalidAmount | collateral_amount = 0 |
BelowMinimum | Less than 10 cUSDC |
InsufficientCollateral | User’s cUSDC ATA balance < collateral_amount |
OraclePriceUnavailable | Oracle account stale or paused |
MintNotAllowedInStress | Risk state is Stress |
ExceedsStressMintCap | Risk state is ProxyMode / Recovery and amount exceeds the throttled cap |
OICapExceeded | total_l_supply + l_to_mint > oi_cap |
MathOverflow | Should be unreachable; report if you see this |
Behavior across risk states
| Risk state | Behavior |
|---|---|
Normal | Mint at NAV, no markup, no size throttle. |
ProxyMode | Mint with 2× confidence markup, size-throttled. |
Stress | Mint rejected. |
Recovery | Mint at NAV, size-throttled. |
Optional: mint_paired_with_waiver
A variant that consumes a fee-waiver against the user’s FeeWaiver PDA, if active. Saves the mint fee but only works when the user has previously called donate_to_vault to acquire a waiver and the market vault is over-collateralized (>102%).
This is an advanced flow used by power users. Most integrations stick with mint_paired.
What you receive
After a successful mint:See also
Redeem
The inverse: burn paired tokens, receive cUSDC at NAV.
End-to-end TypeScript example
Copy-pasteable script with wallet setup, IDL load, mint, verify.

