Transaction Troubleshooting
Transaction Troubleshooting
Common errors when broadcasting pocketd transactions, and how to recover from them.
account sequence mismatchinsufficient fees/out of gasaccount ... not foundkey not found/ wrong keyring backend- A transaction "sent with errors"
account sequence mismatch
account sequence mismatch, expected 42, got 41: incorrect account sequence
Every account has a monotonically increasing sequence (nonce). Each transaction
must use the next expected sequence. This error means the sequence you signed with
does not match what the chain expects — almost always because a previous
transaction already consumed the sequence (and likely succeeded), or because two
transactions were signed/broadcast in quick succession before the chain (or your
wallet UI) refreshed.
Do not blindly resubmit. Check on-chain state first; a confused resend can result in a double-send.
-
Check the current account state (note the
sequence):pocketd query auth account <your_address> --network=main -
Check the balance / recipient to see whether the prior transaction already landed:
pocketd query bank balances <your_address> --network=main -
If the prior transaction succeeded, you are done. If it genuinely failed, re-broadcast. The CLI normally fills the sequence automatically; to set it explicitly, use
--sequence <N>(and--account-number <N>when offline-signing).
--unordered--unordered changes transaction ordering semantics and is not a workaround for a
sequence mismatch. Resolve the actual sequence state instead.
insufficient fees / out of gas
insufficient fees; got: 1upokt required: 100upokt
out of gas in location: ...; gasWanted: 200000, gasUsed: 210000
The transaction did not pay enough fee, or under-estimated gas.
-
Let the CLI estimate gas and price it:
pocketd tx ... --gas=auto --gas-prices=1upokt --gas-adjustment=1.5 -
For
Proofsubmissions specifically, the operator must also hold enough balance to cover theproof_submission_fee(failure to submit a required proof can lead to slashing). See the RelayMiner Config → Payable Proof Submissions.
account ... not found
account pokt1... not found
The address has never appeared on-chain (it has no account_number yet). An account
is only created when it first receives funds or signs its first transaction.
- Fund the address (faucet on test networks, or a transfer on mainnet), then retry.
- Note a related gotcha for suppliers: an operator account can exist but still lack an on-chain public key until it signs its first transaction. A supplier whose operator has no on-chain public key cannot sign relay responses. See the Supplier cheat sheet → Suppliers staked on behalf of Owners.
key not found / wrong keyring backend
<name>.info: key not found
The key exists in a different keyring backend than the one the command is using.
Keys added under --keyring-backend file are not visible to --keyring-backend test,
and vice versa.
-
List keys for the backend you are actually using:
pocketd keys list --keyring-backend file -
Make the backend the default to avoid passing the flag every time. See Configuring the keyring backend.
A transaction "sent with errors"
Some wallets report a failed transaction with a "sent with errors" style message
and a long stack trace. A transaction that fails CheckTx (e.g. a sequence mismatch)
is rejected and not included — it did not spend funds.
- Read the first line of the error (e.g.
account sequence mismatch,insufficient fees) — that is the actionable cause; the trailing stack trace is noise. - Confirm on-chain state (
query auth account,query bank balances) before retrying, per the sequence-mismatch guidance above.