Errors /
"All payment requirements were rejected by spendControls.maxAmountPerPayment"
The official client refused to pay because every option costs more than its per-payment cap.
| Reported by | the x402 client, before any payment is sent |
| Usually fixed by | the buyer |
Cause
The @x402/core client applies spend controls before signing. The default cap is $1 per payment, so any quote above that is rejected unless the cap is raised.
Fix
- If the price is expected, raise the cap with
spendControls: { maxAmountPerPayment }inx402Client.fromConfig, or set a per-asset cap. - If the price is not expected, this is the client protecting you. Do not disable spend controls to get past it.
- The overpriced scenario quotes $1,000 to test that your client stops here.
Reproduce it
The Absurd price scenario on this site exercises this situation.
About this reference
Causes are taken from the source of @x402/core 2.31. Other facilitators and later versions may use the same code for slightly different checks. See all x402 errors.