ORRANGE / Guides

Troubleshooting

Common issues, what they mean, and how to fix them.

Wallet API errors

The wallet lane maps STRK20 Wallet API failures to honest messages. The common codes:

CodeMeaningFix
118Not registered for private STRK20Enable private receiving; the wallet transparently registers your viewing key.
119Insufficient private balanceShield more funds before sending.
120Action could reveal private stateThe wallet rejected the request to protect privacy — adjust the request.
113You rejected the operationRe-run the flow and approve in your wallet.
114 / 163Asset not supported by the connected wallet/poolUse a supported token (STRK, ETH, USDC on Sepolia).
162Wallet API version too oldUpdate your privacy wallet to Wallet API ≥ 0.10.

Account finalizing

If a fresh Ready account cannot be proven against yet, the app waits for on-chain finality (~10 blocks) before registration/proving. The error message tells you whether the account is not yet deployed (send it a small amount of Sepolia ETH/STRK via the faucet to activate it) or simply still finalizing (wait a few blocks and retry).

Wrong network

Private STRK20 runs on Starknet Sepolia. If the wallet reports a different chain, the app asks you to switch networks in the wallet (wallet_switchStarknetChain).

Recipient has not enabled private receiving

A private note can only be created for a recipient whose viewing key is registered. Ask the recipient to enable private receiving in a supported privacy wallet first.

Treasury execution refusals

SymptomCause / fix
“Analysis expired”Proposal TTL (120 s) elapsed. Re-run the analysis.
“Balances changed”State moved since analysis. Re-analyze against current balances.
“Policy rejected against current state”Your guardrail fails on fresh state/prices. Adjust the amount or guardrail, or re-analyze.
“Fresh live price required”A volatile asset (STRK/ETH) needs a fresh live AVNU price to authorize execution. Retry when the market feed is available.
“Analysis only — no approved destination”The treasury has no approved private destination. Add one (via your account or the server allowlist) to enable execution.

AI provider not configured

/api/ai/analyze returns 502 when the AI is not configured (AI_API_KEY/AI_MODEL missing). The treasury still works: portfolio, health, and the deterministic diagnosis run without the LLM. Add the server-onlyAI_API_KEY to .env.local and restart.

Prices unavailable

The analyze endpoint returns 502 if prices cannot be resolved at all. The UI shows an advisory tag when any volatile-asset price is a static fallback rather than a live market price.

If you hit an error not listed here, open an issue on GitHub with the exact message. Do not paste real addresses, keys, or notes.