Skip to main content

Error Codes

Complete reference for all error codes returned by the wallet-gateway in ERROR messages and in the failureCategory field of SUBMISSION_STATUS failure notifications.

For normative definitions see formal specification, Section 12.


Error Message Structure

interface ErrorPayload {
requestId?: string; // Echoes the originating request ID, if available.
errorCode: string;
errorCategory: ErrorCategory;
message: string; // Human-readable description.
}

Error Code Reference

STRUCTURAL_ERROR

Returned when a message cannot be parsed or a required field is missing or incorrectly formatted.

CodeDescription
MISSING_FIELDA required field in the message envelope or payload is absent.
INVALID_FORMATA field is present but does not conform to its expected type or format (e.g. an address that is not 42 characters, a hex string missing the 0x prefix, a non-integer value where uint256 is expected).

AUTHENTICATION_ERROR

Returned when signature verification fails at any step.

CodeDescription
INVALID_SIGNATUREThe signature is malformed, uses an invalid v value, or cannot be verified.
ADDRESS_MISMATCHThe address recovered from the signature does not match callerAddress.
EXPIRED_DEADLINEThe message deadline is in the past (beyond the gateway's clock tolerance).

SEMANTIC_ERROR

Returned when the message is structurally valid and the signature is correct, but a business rule is violated.

CodeDescription
UNSUPPORTED_TOKENA domain separator or token address in the request does not correspond to a currently supported token.
NONCE_MISMATCHThe permit nonce supplied in a submission payload does not match the current on-chain nonce for the wallet on the specified token.
UNKNOWN_PAYLOAD_IDThe payloadId in a SUBMIT_PAYMENT request does not correspond to a known, active checkout session held by the processor.
ALREADY_SUBMITTEDThe payloadId has already been processed (or is currently being processed). Submissions are single-use.
INITIALISINGThe gateway is still collecting initial transfer history and balance data for this wallet. The request cannot be served until initialisation completes. Retry after a short delay.

NOT_FOUND

CodeDescription
WALLET_NOT_FOUNDNo state was found for the given wallet address. This should not occur after a successful connection and initialisation; if received, reconnecting will trigger initialisation.

RATE_LIMIT

CodeDescription
RATE_LIMIT_EXCEEDEDThe request rate for this connection or wallet address has been exceeded. Wait before retrying.

INTERNAL_ERROR

CodeDescription
INTERNAL_ERRORAn unexpected error occurred within the gateway. The request could not be processed. The gateway will not include internal implementation detail in the message field.

Submission Failure Categories

When a SUBMISSION_STATUS notification carries status: "FAILURE", the failureCategory field uses the following values (drawn from SSF-SPEC-001, Section 17):

CategoryDescription
STRUCTURAL_ERRORThe submission payload failed structural validation.
SEMANTIC_ERRORStructural validation passed but a business rule was violated (e.g. expired deadline, nonce mismatch, unknown payloadId).
CRYPTOGRAPHIC_ERRORA payment signature could not be verified, or the recovered signer did not match the expected owner.
BROADCAST_ERRORValidation passed but the on-chain transaction reverted or could not be submitted to the network.