Errors

Errors

Every failure carries a machine-readable code and a remediation hint.

View as Markdown

A failed execute returns an ExtrinsicResult whose error has a semantic code (branch on it) and a remediation hint (what to try next). Every chain error name is deliberately classified — a CI gate keeps the mapping complete in both directions. Each code has its own explainer page listing the chain errors that map to it, and every exact chain error name has its own page under chain errors. The machine-readable version is at /catalog/errors.json.

CodeChain errorsRemediation
insufficient_balance25Fund the signing account or reduce the amount; check with btcli wallet balance
insufficient_liquidity8The pool cannot absorb this trade; reduce the amount or split it into smaller steps
rate_limited17Wait for the rate-limit window to pass, then retry
not_registered4Register the hotkey on this subnet first with btcli subnets register
not_authorized22Sign with the key or origin that owns the target object, then retry
already_exists27The object or state already exists; treat the goal as met or pick a different target
not_found20The referenced object is not on-chain; check the identifier
subnet_not_exists4Use an existing netuid; btcli subnets list shows valid ones
subtoken_disabled1The subnet is not active yet; wait for start_call
disabled17This call or feature is switched off on this network
too_early18The required window has not opened yet; wait some blocks and retry
expired5The window has closed; restart the flow with fresh state
limit_exceeded35A chain-side capacity limit was hit; reduce the size or count of the request
unit_mismatchMatch the Balance netuid to the operation's currency
invalid_argument137Check the argument values against the operation schema
policy_violation1The action exceeds a configured safety policy
internal19A chain-side invariant failed; nothing to fix client-side — report it if it persists
unknownInspect the message for details