For the complete documentation index, see llms.txt. This page is also available as Markdown.

Mainnet Checklist

ksUSD is not yet deployed to mainnet. This page is the launch checklist that gates the mainnet program-deploy transaction. One program, one vault, one mint.

Pre-deployment (v1). The perp venue is Phoenix Perps (Ellipsis Labs), USDC margin via Ember, integrated by on-chain CPI (Rise SDK). Before it can post margin, the vault's trader PDA needs its CAN_DEPOSIT/CAN_WITHDRAW capabilities enabled — a self-serve step against Phoenix's public endpoint, claimed by scripts/onboard/onboard.ts. The exchange still reports itself gated, so treat it as unproven until the first send lands.


Phase 1 — Engineering (in progress)


Phase 2 — Audit


Phase 3 — Mainnet deployment

The program deploy itself is one script — scripts/mainnet/deploy-mainnet.sh — which builds, preflights, deploys, verifies the on-chain binary against the local build, writes the IDL, and records the deploy. Run --check first (no transactions), and --rehearse against devnet to walk the identical path.


Phase 4 — Private beta


Phase 5 — Public launch


Rollback / circuit-breaker plan

If any of the following occur in the first 90 days post-launch:

Trigger
Action

Audit reveals a missed critical issue

set_pause(true) immediately; if non-recoverable, init_wind_down and coordinate redeploy under new program ID

NAV drawdown exceeds 3% within a week

emergency_close + set_pause(true); investigate before resuming

Phoenix or Kamino announce a critical incident

set_pause(true) until the dependency is verified safe

Pyth feed instability for > 1h

set_pause(true); instant withdrawals stay open

LST depeg auto-trip

Vault is already paused by settle; admin investigates and either unpauses or emergency-closes

In all cases, instant withdrawals from the liquidity buffer remain available. Depositors can always exit during a pause.


Last updated