Error codes
A consolidated reference for every error code you might see, across the three surfaces: the dig RPC (JSON-RPC), the digstore CLI (process exit codes), and DIGHub (the web app's user-facing codes). Look up the code you got; each row says what it means and what to do.
For step-by-step fixes, see Troubleshooting.
dig RPC (JSON-RPC)
The dig RPC uses the standard JSON-RPC 2.0 error codes. A content miss is never an error — it's a decoy result (see the blind model). For any well-formed body the HTTP status is 200; the error is carried in the JSON envelope.
| Code | Meaning | What to do |
|---|---|---|
-32700 | Parse error — the request body isn't valid JSON. | Fix the JSON you're sending; ensure Content-Type: application/json. |
-32600 | Invalid request — not a request object/array, an empty batch, or a missing method. | Send a valid JSON-RPC request with a method field. |
-32601 | Method not found — this node doesn't implement the method. | Check the name against Methods; call dig.methods to see what the node supports. |
-32602 | Invalid params — missing/malformed store_id, root, or retrieval_key, or "latest" on a store with no confirmed generation. | Verify each identifier is the right length of lower-case hex; confirm the store has at least one capsule. |
-32603 | Internal error — the node failed to satisfy a well-formed call (distinct from a miss). | Retry; if it persists, try another node or report it. |
digstore CLI (exit codes)
digstore exits 0 on success and a distinct non-zero code per error kind, so scripts and CI can branch on the cause. Re-run with --verbose to see the full message; many errors also print a one-line fix hint.
| Exit | Code | Meaning | What to do |
|---|---|---|---|
0 | success | The command completed. | — |
1 | other | An unclassified error. | Re-run with --verbose; see the printed message. |
2 | invalid-argument | A flag or argument was invalid. | Check digstore <command> --help. |
3 | no-store | No store found here. | Run digstore init (or cd into a store's directory). |
4 | not-found | A resource/URN/root wasn't found. | Run digstore log to list generations and keys. |
5 | verification-failed | Content failed cryptographic verification. | Wrong salt/key, or the data was tampered with — recheck your URN/salt. |
6 | network | A network/transport failure. | Check your connection and that the remote is reachable (digstore remote list). |
7 | non-fast-forward | The remote root has advanced past yours. | Run digstore pull first, then push. |
8 | unauthorized | Not authorized for this action. | Check your credentials / the store's signing key. |
9 | no-seed | No wallet seed is set up. | Run digstore seed import or digstore seed generate. |
10 | bad-passphrase | Wrong passphrase for the seed. | Re-run and enter the correct passphrase. |
11 | invalid-mnemonic | The mnemonic is invalid. | Check the word list and word count (12/24). |
12 | insufficient-funds | Not enough XCH or DIG to cover the spend. | Fund the printed receive address (you need 100 DIG + an XCH fee per capsule), then retry. |
13 | chain | A Chia chain/coinset error. | Check your connection to coinset.org and retry. |
14 | confirm-timeout | The on-chain confirmation timed out. | The tx may still confirm — run digstore anchor status. |
15 | mint-failed | Minting the store singleton failed. | Retry; if it persists, check wallet funds and coinset.org. |
16 | update-failed | Anchoring the new root failed. | Retry; if it persists, check wallet funds and coinset.org. |
DIGHub (web app)
When a publish or account action fails, DIGHub shows a plain-language message and a stable code you can quote in a report. The codes below are the ones you're most likely to see.
| Code | What it means | What to do |
|---|---|---|
WALLET_DECLINED | You declined the signature in your wallet. Nothing was signed or broadcast. | Not an error — re-try and approve if you meant to publish. |
DIG_INSUFFICIENT | Not enough DIG in your wallet to cover this capsule (100 DIG). | Top up DIG (the publish screen links where to get it), then retry. |
COIN_CONFLICT | The coin was just spent elsewhere (double-spend / mempool conflict). | Retry — DIGHub rebuilds the spend with a fresh coin. |
REG_PENDING | Your spend is on chain and will appear shortly. | Wait a moment — do not sign or pay again. |
WALLET_SESSION | Your wallet session can't sign (expired, watch-only, or missing method). | Disconnect and reconnect your wallet; make sure Sage is up to date. |
NET_OFFLINE | You appear to be offline. | Check your connection and try again. |
NET_TIMEOUT | The request timed out or couldn't reach the network. | Try again. |
SLUG_TAKEN | That project name is already taken. | Pick a different name. |
OVER_QUOTA | You've reached the project limit for this account. | Remove an unused project or contact support. |
COIN_RESERVED | A coin is busy finishing another transaction. | Wait a moment and try again. |
UNAUTHORIZED | Your session isn't authorized for this. | Reconnect your wallet and try again. |
FORBIDDEN | You don't have permission to do this. | Use the account that owns the project. |
NOT_FOUND | The thing couldn't be found — it may have expired. | Start over and try again. |
INVALID_REQUEST | Something about the request wasn't valid. | Try again; if it persists, report it with the code. |
UNEXPECTED | An unclassified error. | Retry; if it persists, report it with the code. |
The code is the stable identifier — quote it in a report. The wording of a message may change as the copy gets clearer.
Related
- Troubleshooting — fixes for the common failures
- FAQ — frequently asked questions
- Get help — community channels and how to file a report
- dig RPC methods — where the JSON-RPC codes come from
- On-chain anchoring — funding, costs, and confirmation timeouts