What a decline is
A decline is one settlement provider saying it will not submit a price quote for a payment. It is not an error and it does not arrive as one: declines are counted in thedecline_summary that the payment status and quote request status
responses carry on a 200. An entry carries a docs_url pointing at its reason on
this page, which is absent rather than empty when no page is published.
The two say different things. The payment status endpoint counts the providers
that declined that payment. The quote request status endpoint counts the ones
that declined the batch it was priced in.
A decline is not a failed payment. Several providers can decline while another
settles the payment normally. A payment that failed carries its own error code,
and that code’s entry on Error codes is the instruction to act on. The
classification here describes one provider’s answer, not the payment’s outcome.
OTHER rather than rejecting the response.
This list is generated from the decline catalog the providers report against, and
is regenerated whenever that catalog changes, so it cannot fall behind the reasons
you actually receive.
Reference
What would change it is what would have to change for that provider to quote. It describes the decline only, never the payment:CONTACT_SUPPORT: the reason is opaque from outside, so raising it with support is the only route.NOT_RETRYABLE_FIX_REQUEST: something in the request has to change before this provider will quote.RETRY_AFTER_DELAY: something other than the request has to change, so the same request may quote later.
AGENT_NOT_READY
Retry classificationRETRY_AFTER_DELAY.
The settler had not finished registering when the request arrived.
AUCTION_CLOSED
Retry classificationRETRY_AFTER_DELAY.
The quote collection or award window had already closed when the settler evaluated the request.
AWARD_WINDOW_TOO_SHORT
Retry classificationNOT_RETRYABLE_FIX_REQUEST.
The window left to produce a quote was below the settler’s minimum.
DEADLINE_TOO_SHORT
Retry classificationNOT_RETRYABLE_FIX_REQUEST.
The time left to fulfill this payment was below the settler’s minimum for this corridor.
DRAINING
Retry classificationRETRY_AFTER_DELAY.
The settler is draining in-flight work and is not accepting new payments.
INSUFFICIENT_LIQUIDITY
Retry classificationRETRY_AFTER_DELAY.
The settler could not fund the payout on the destination chain.
INTERNAL
Retry classificationRETRY_AFTER_DELAY.
The settler hit an unexpected error while evaluating the request.
NO_SETTLEMENT_HORIZON
Retry classificationNOT_RETRYABLE_FIX_REQUEST.
The request carried no usable fulfillment deadline, so the settler had no refund path.
OTHER
Retry classificationCONTACT_SUPPORT.
This reason covers more than one condition, so the message differs between
responses. Branch on the reason, never on the text.
A settler declined for a reason of its own.
A settler declined for a reason this gateway does not recognise.
A settler declined without naming a reason.
QUOTE_GENERATION_FAILED
Retry classificationRETRY_AFTER_DELAY.
The settler could not produce a valid quote for this request.
QUOTE_INVALID
Retry classificationNOT_RETRYABLE_FIX_REQUEST.
The request the settler was asked to quote on failed validation.
UNSUPPORTED_DESTINATION_ASSET
Retry classificationNOT_RETRYABLE_FIX_REQUEST.
The settler does not serve the requested destination asset.
UNTRUSTED_VERIFIER
Retry classificationNOT_RETRYABLE_FIX_REQUEST.
The request named a fulfillment verifier the settler does not trust, or named none at all.