Skip to main content
Zerocash normalises upstream provider errors into consistent, human-readable messages. These appear in the note or failureReason field of a failed transaction — they explain why a transaction that was accepted later failed.
For errors where the API call itself was rejected, see API error codes.

Timeout errors

The customer or the provider ran out of time. Generally retryable with a fresh transaction.

User action errors

The customer declined, was unreachable, or entered something invalid. Not retryable without the customer doing something differently.

Insufficient funds

Transaction status errors

System and internal errors

Provider-side problems. Most are worth retrying after a short delay.
Before retrying a batch of these, check Currency Uptime — if a corridor is degraded, retrying immediately just produces more failures.

Account and recipient errors

Almost always a bad account number or an unenrolled recipient. Fix the details before retrying.
Run recipient details through Account Resolver before sending a payout. It catches most of these before any money moves.

Voucher errors

Payment method errors

Supported region errors

Default

If the failure does not match any known pattern:
Never parse these strings to drive business logic — they are provider-normalised prose and can change. Use them for logging, support tooling, and customer-facing messaging. Drive logic off status and the API errorCode values instead.