Skip to main content

Payment status

This page summarises the status fields returned by the V2 /verify and /settle endpoints. For the full field reference and example payloads, see Verify Payment (V2) and Settle Payment (V2).

Verify response

The /verify endpoint returns an off-chain validation result indicating whether the payment authorization is valid.

FieldTypeMandatoryDescription
isValidbooleanAlwaystrue if the EIP-712 signature and payment parameters are valid.
invalidReasonstringOnly when isValid=falsex402 v2 standard error code indicating why validation failed. See the full code list on Verify Payment (V2).

Settlement response

The /settle endpoint submits the payment on-chain and returns the settlement result.

FieldTypeMandatoryDescription
successbooleanAlwaystrue if the on-chain settlement was executed successfully.
transactionstringAlwaysOn-chain transaction hash (0x-prefixed). Empty string "" if no transaction was broadcast (per x402 v2 spec).
payerstringAlwaysPayer wallet address.
networkstringAlwaysSettlement network in CAIP-2 format (e.g. "eip155:56"). Empty string "" if unavailable on pre-broadcast failure.
amountstringOnly when success=trueActual settled amount in atomic units.
errorReasonstringOnly when success=falsex402 v2 standard error code. See Verify Payment (V2) — invalidReason / errorReason Values.

Status summary

Field combinationMeaning
success=true, transaction=<hash>On-chain settlement confirmed. Final state.
success=false, transaction=<hash>Transaction was broadcast but reverted on-chain. Final state; check errorReason.
success=false, transaction=""Pre-broadcast failure (e.g. invalid signature). Nothing was submitted on-chain.

Note: On-chain failures are not returned as error codes. They are returned with HTTP 200 and code: "000000" in the response envelope. Always inspect the success field and errorReason in the data object.