Skip to Content
ReferenceRPC Error Codes

RPC Error Codes

JSON-RPC errors from tidecoind follow the Bitcoin Core code layout (negative integer code, human-readable message, optional data). Integrators should handle the common ones explicitly: RPC method not found (-32601), invalid params (-32602), wallet not loaded (-18), insufficient funds (-6), transaction rejected (-26 with policy-specific reason strings).

This page is the error-code reference. It is not a list of every possible human-readable message. Messages can include validation reasons, wallet details, or policy strings; integrations should branch on code first and use message for operator detail.

JSON-RPC standard errors

CodeNameMeaningRetry guidance
-32700RPC_PARSE_ERRORRequest JSON could not be parsed.Do not retry unchanged. Fix request encoding.
-32600RPC_INVALID_REQUESTRequest object is not valid JSON-RPC.Do not retry unchanged. Fix request shape.
-32601RPC_METHOD_NOT_FOUNDMethod does not exist on this node.Do not retry unchanged. Check version, wallet endpoint, and spelling.
-32602RPC_INVALID_PARAMSInvalid JSON-RPC parameters.Do not retry unchanged. Fix params.
-32603RPC_INTERNAL_ERRORInternal node error.Retry only after checking node logs and health.

General application errors

CodeNameMeaningTypical Tidecoin examples
-1RPC_MISC_ERRORGeneral exception or miscellaneous failure.Unexpected command handling failure.
-3RPC_TYPE_ERRORParameter type is wrong.Passing object where string/number is expected.
-5RPC_INVALID_ADDRESS_OR_KEYAddress, key, or hash-like identifier is invalid.Invalid Tidecoin payout address in createauxblock; invalid wallet address.
-7RPC_OUT_OF_MEMORYOperation ran out of memory.Large request or stressed node.
-8RPC_INVALID_PARAMETERParameter value is syntactically valid but unacceptable.PQHD seed is not 32-byte hex; no scheme provided to setpqhdpolicy.
-20RPC_DATABASE_ERRORDatabase operation failed.Wallet DB or index DB failure.
-22RPC_DESERIALIZATION_ERRORRaw hex or serialized structure could not be parsed.Invalid raw transaction, block, PSBT, or AuxPoW hex.
-25RPC_VERIFY_ERRORGeneral verification failure.Block or transaction verification failed.
-26RPC_VERIFY_REJECTEDTransaction or block rejected by consensus or policy.Mempool rejection, invalid block, invalid AuxPoW.
-27RPC_VERIFY_ALREADY_IN_UTXO_SETTransaction already confirmed.Duplicate transaction submission.
-28RPC_IN_WARMUPNode is still warming up.Startup or reindex warmup.
-32RPC_METHOD_DEPRECATEDMethod is deprecated.Client uses an old RPC workflow.

P2P and chain-state errors

CodeNameMeaningRetry guidance
-9RPC_CLIENT_NOT_CONNECTEDNode has no required P2P connectivity.Retry after peers connect.
-10RPC_CLIENT_IN_INITIAL_DOWNLOADNode is in initial block download.Retry after sync, except for regtest/on-demand workflows.
-23RPC_CLIENT_NODE_ALREADY_ADDEDPeer is already in the added-node list.Treat as idempotent or remove first.
-24RPC_CLIENT_NODE_NOT_ADDEDPeer was not previously added.Do not retry unchanged.
-29RPC_CLIENT_NODE_NOT_CONNECTEDRequested peer is not connected.Retry only after checking peer state.
-30RPC_CLIENT_INVALID_IP_OR_SUBNETInvalid IP or subnet parameter.Fix parameter.
-31RPC_CLIENT_P2P_DISABLEDP2P connection manager is unavailable.Check node startup flags.
-33RPC_CLIENT_MEMPOOL_DISABLEDMempool is unavailable.Check node mode and command requirements.
-34RPC_CLIENT_NODE_CAPACITY_REACHEDOutbound or block-relay connection limit reached.Retry after capacity changes or disconnects.

Wallet errors

CodeNameMeaningTypical handling
-4RPC_WALLET_ERRORGeneral wallet failure.Show message to operator; inspect wallet state.
-6RPC_WALLET_INSUFFICIENT_FUNDSWallet lacks spendable funds.Do not retry unchanged.
-11RPC_WALLET_INVALID_LABEL_NAMELabel name is invalid.Fix label.
-12RPC_WALLET_KEYPOOL_RAN_OUTWallet keypool is exhausted.Refill or unlock wallet as required.
-13RPC_WALLET_UNLOCK_NEEDEDWallet must be unlocked first.Unlock with walletpassphrase if operational policy allows.
-14RPC_WALLET_PASSPHRASE_INCORRECTWallet passphrase is wrong.Do not retry blindly.
-15RPC_WALLET_WRONG_ENC_STATECommand does not match wallet encryption state.Check whether wallet is encrypted/unlocked.
-16RPC_WALLET_ENCRYPTION_FAILEDWallet encryption failed.Stop and inspect wallet/logs.
-17RPC_WALLET_ALREADY_UNLOCKEDWallet is already unlocked.Treat as idempotent where safe.
-18RPC_WALLET_NOT_FOUNDRequested wallet is not loaded or does not exist.Check -rpcwallet, listwallets, and wallet path.
-19RPC_WALLET_NOT_SPECIFIEDMultiple wallets are loaded and no wallet was selected.Add -rpcwallet="<wallet>".
-35RPC_WALLET_ALREADY_LOADEDWallet is already loaded.Treat as idempotent where safe.
-36RPC_WALLET_ALREADY_EXISTSWallet name/path already exists.Choose another name or load existing wallet.

Tidecoin-specific messages

Tidecoin-specific commands generally use the standard codes above with Tidecoin-specific messages.

AreaCommon codeMessage pattern
AuxPoW payout address-5Invalid coinbase payout address.
AuxPoW candidate/submission-25 / -26Candidate creation, proof, or block validation failed.
PQHD seed import-8Seed must be 32-byte hex.
PQHD policy-8 / -4Missing scheme, unknown scheme, unsupported wallet policy, or wallet write failure.
PQHD seed selection/removal-4Seed not present, default seed cannot be removed, or seed is referenced by descriptors.
Wallet-assisted AuxPoW-4Private keys are disabled for this wallet.

Integration guidance

  • Treat -32602, -8, -5, and -22 as client/request bugs unless the input was generated by an untrusted external party.
  • Treat -9, -10, and -28 as node-state errors that may clear later.
  • Treat -26 as a rejection and store the message for debugging.
  • Always pass -rpcwallet or wallet endpoint selection when multiple wallets may be loaded.
  • Do not parse human-readable messages as stable API unless a specific integration contract says so.

See also: RPC Reference, Integrations / RPC Integration Patterns.

Last updated on