Error reference
Program errors
| Error | When |
|---|
NotUpgradeAuthority | Someone other than the upgrade authority calls initialize or set_burn_target |
InvalidParameter | A launch parameter is out of range |
InvalidTreasury | The treasury is not a USDC token account |
InvalidEpochs | epochs is 0 or above max_epochs |
InvalidCommitment | The commitment is zero |
NotAFieldElement | A value is not a BN254 field element |
TreeFull | The tree holds 2^20 leaves already |
InvalidPath | The Merkle path does not lead to the current root |
MembershipEnded | Exit requested after the membership already ended; withdraw instead |
NotDepositor | Only the depositor may exit or withdraw |
NotActive | The member is not active |
NotWithdrawable | The member is not exiting, or the slashing window has not passed |
AlreadySlashed | The member was already slashed |
SecretMismatch | The revealed secret does not open the member's commitment |
BurnTargetSet / BurnTargetNotSet | The burn target was already set, or is not set yet |
BurnPoolInvalid | The pool is not the configured Raydium CP-Swap USDC pool |
BurnTwapUnavailable | The pool has no observation old enough to price the buy |
BurnAmountInvalid | Amount is zero, unfunded, or above 0.1% of the pool's USDC side |
MathOverflow | Arithmetic overflow |
Gateway errors
OpenAI-style JSON: {"error":{"message","type","code"}}.
| Status | Code | Meaning |
|---|
| 401 | missing_api_key | No key was sent. Make one in the app. |
| 400 | invalid_json | The body is not JSON |
| 400 | invalid_request | messages is not a list |
| 503 | not_open | The member vault is not on this network yet (pre-launch) |
| 502 | model_unreachable | The model did not answer; the slot is spent |
| 401 | invalid_api_key | The key is not a PARANOID key, or was made for a different allowance |
| 401 | invalid_proof | A proof in the key does not verify against the circuit's verifying key |
| 401 | stale_member_list | The key was proven against a member-list root the program no longer accepts for that hour |
| 401 | key_expired | The key's hour ended, plus its grace (a sixth of an hour, at most ten minutes) |
| 402 | key_used_up | Every request slot in the key is spent; make a new key |
| 402 | slot_reused | The key spends a slot already spent on another message. The two shares reveal the member's secret and the gateway slashes that member on chain |
Next: FAQ