# "All payment requirements were rejected by spendControls.maxAmountPerPayment"

> The official client refused to pay because every option costs more than its per-payment cap. What causes this x402 error and how to fix it.

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 }` in `x402Client.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](https://x402testendpoint.com/scenarios/overpriced) quotes $1,000 to test that your client stops here.

## Reproduce it

The [Absurd price scenario](https://x402testendpoint.com/scenarios/overpriced) 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](https://x402testendpoint.com/errors).

Source: https://x402testendpoint.com/errors/spend-controls-rejected
