Operations
Failure modes
How each anticipated failure is detected, what it does to a market, what users see, and how PrimerPad recovers.
Failure catalogue
| Failure | Detection | Effect | User experience | Recovery |
|---|---|---|---|---|
| Issuer freezes a pool vault | Swaps or claims for that market fail with a frozen-account error; indexer sees failed transactions. | That market cannot trade or claim. | Market shown as halted with the issuer reason. | Only the issuer can thaw. Primitive set to PAUSED for new launches. |
| Issuer pauses the mint (Pausable) | Certification reads the pause flag; swaps fail. | Every market quoted in that Primitive halts. | Primitive and its markets shown as paused. | Resumes when the issuer unpauses. No PrimerPad action can override it. |
| Token-2022 extension change (e.g. hook enabled) | Re-certification diff on the mint (hook program set, new extension). | DBC quote transfers may fail; new configs may be rejected. | Launches against the Primitive disabled. | Re-certify; PAUSED until compatibility is confirmed. |
| TokenBadge missing or closed | Certification badge check; createConfig returns InvalidTokenBadge. | No new configs or pools for that quote. Existing pools are unaffected (checked at creation). | Primitive not offered. | Request a badge from Meteora; re-certify. |
| No Jupiter route for the quote asset | Certification routing check. | AGGREGATED_INPUT unavailable. | Buyers must already hold the quote Primitive. | DIRECT_QUOTE only until route depth exists. |
| Quote liquidity insufficient | Certification market-data check. | Large buys move the quote asset price elsewhere; poor routing. | Warning on the Primitive. | Launch availability LIMITED. |
| Quote supply insufficient | Graduation feasibility (HEALTHY, LIMITED, UNSAFE). | Standard graduation impossible. | Primitive LIMITED with reason. | Scaled graduation profile, or production configs refused when UNSAFE. |
| RPC outage | rpc-check failures; indexer and watcher errors. | Reads, launches and migrations stall. | App shows degraded state; no transactions sent. | Failover RPC; indexer cursors backfill missed history on recovery. |
| Migration submission fails | Watcher records MIGRATION_FAILED with the error. | Market stays curve complete. | Shown as graduating. | Retries with an attempt limit after re-reading chain state; manual review past the limit. |
| Meteora account state differs from expectation | Expected-account check before send; simulation failure. | Transaction not sent. | Action fails with a clear error. | Investigate; SDK or config update. |
| Transaction simulation fails | Mandatory simulation in the sender. | Nothing broadcast. | Error surfaced to the operator. | Fix inputs; retry. |
| Wallet lacks the quote token | Balance checks before execution. | Buy cannot proceed. | Prompt to acquire the Primitive (or route, when available). | User acquires the asset. |
| Threshold reached while the watcher is offline | On restart the watcher reads chain state for every PrimerPad pool. | Graduation delayed; swaps are already stopped at the migration price. | Shown as ready to migrate. | Watcher migrates on restart; an external keeper may migrate first, which the watcher detects. |
See also: Issuer controls, Migration watcher, Security model