> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rheon.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Card limits

> GET /v1/card/limits - the smallest and largest card payment for a pair.

Returns the minimum and maximum for a card payment in a given fiat currency and
crypto asset. Validate the amount against these **before** quoting - an amount
outside the window fails at purchase with a worse user experience than a
disabled button.

## Request

<ParamField query="fiatCurrency" type="string" required>
  ISO 4217 code of the currency the card is charged in, e.g. `EUR`.
</ParamField>

<ParamField query="cryptoCurrency" type="string" required>
  The asset the purchase settles as, e.g. `USDC`.
</ParamField>

## Response

<ResponseField name="fiatCurrency" type="string">
  Echo of the fiat currency.
</ResponseField>

<ResponseField name="cryptoCurrency" type="string">
  Echo of the crypto asset.
</ResponseField>

<ResponseField name="min" type="string">
  The smallest chargeable amount, as a decimal string in the fiat currency's
  major unit.
</ResponseField>

<ResponseField name="max" type="string">
  The largest chargeable amount, as a decimal string in the fiat currency's
  major unit.
</ResponseField>

<Note>
  These are the rail's limits per payment. A buyer's own ceiling can be lower - it
  depends on their verification tier with the card partner - so a payment inside
  this window can still be declined for that buyer.
</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl "$RHEON_API/v1/card/limits?fiatCurrency=EUR&cryptoCurrency=USDC" \
    -H "Authorization: Bearer $RHEON_API_KEY"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "fiatCurrency": "EUR",
    "cryptoCurrency": "USDC",
    "min": "25.00",
    "max": "15000.00"
  }
  ```
</ResponseExample>

The window moves with the currency, and not proportionally: EUR runs 25 to 15,000 while
GBP runs 21.42 to 12,847.83. Read the endpoint for the pair you are charging rather than
converting one currency's window into another.

## Errors

| HTTP | `code`            | When                                            |
| ---- | ----------------- | ----------------------------------------------- |
| 400  | `invalid_request` | Missing or unsupported currency on either side. |
| 401  | `unauthorized`    | Missing, malformed, or unknown API key.         |
| 429  | `rate_limited`    | Over your key's rate limit.                     |
| 502  | `upstream_error`  | The card partner is unavailable.                |
| 500  | `internal`        | Unexpected server error.                        |
