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

# Limits

> Minimums, maximums, timeouts, and rate limits.

## Order size

<Columns cols={2}>
  <Card title="No maximum" icon="infinity">
    There is no upper limit on an order. Nothing caps what you can accept.
  </Card>

  <Card title="Minimums apply to one rail" icon="ruler">
    The deposit rail has a per-chain minimum. The connect rail has none.
  </Card>
</Columns>

### Why the deposit rail has a minimum

On the deposit rail we pay to deploy a forwarder and sweep it. That cost is **fixed per payment**, while our fee is a percentage — so below a certain order value the payment costs more to settle than it earns.

The minimum is computed live from current network conditions, so it moves. It's low on cheap chains and meaningfully higher on Ethereum and TRON.

<Tip>
  Below the minimum, the checkout offers the **connect rail** instead of refusing the chain. Customers with a wallet are unaffected. You only lose the customer who needs to pay from an exchange with a very small order.
</Tip>

### Your own minimum

In **Settings** you can set your own minimum per (chain, rail) pair. Below it, that rail is hidden for that chain and the others stay available.

<Note>
  A percentage-based control — cap settlement cost as a share of order value, with the implied per-chain minimum shown live — is designed and coming. Today the control is an absolute amount you set per chain. [Roadmap](/reference/roadmap).
</Note>

## Timing

|                          |                                    |
| ------------------------ | ---------------------------------- |
| Quote validity           | Short window, shown as `expiresAt` |
| Payment address validity | **Indefinite** — it never expires  |
| Webhook timeout          | 10 seconds                         |
| Confirmations            | Per chain, scaled by value         |

<Info>
  Quote expiry locks the **price**, not the address. A customer who pays hours later still has their money arrive and credited. [Finality](/concepts/finality).
</Info>

## Rate limits

Per merchant. Exceeding returns `429` with a `Retry-After` header.

<Columns cols={2}>
  <Card title="The embedded checkout handles this" icon="check" color="#10B981">
    Shows a countdown and retries automatically. Nothing to build.
  </Card>

  <Card title="Direct API users must back off" icon="gauge-high">
    Respect `Retry-After`. Don't poll in a tight loop.
  </Card>
</Columns>

## Tokens and chains

|                |                                                                        |
| -------------- | ---------------------------------------------------------------------- |
| Tokens         | USDC, USDT, EURC                                                       |
| Chains         | 7 EVM + TRON                                                           |
| Token decimals | 6 on most chains, 18 on BNB Chain — read `tokenDecimals`, never assume |
| Enablement     | Per (token, chain) pair, enforced server-side                          |

## Webhooks

|                  |                                                     |
| ---------------- | --------------------------------------------------- |
| Timeout          | 10 seconds                                          |
| Success          | Any 2xx                                             |
| Delivery         | At least once — expect occasional duplicates        |
| Retries          | With backoff on failure                             |
| URL requirements | Public HTTPS. Localhost and private ranges rejected |

## What has no limit

<Columns cols={3}>
  <Card title="Payout frequency" icon="hand-holding-dollar">
    Claim as often as you like. No minimum, no schedule.
  </Card>

  <Card title="Payout amount" icon="money-bill">
    No threshold to reach before withdrawing.
  </Card>

  <Card title="Account volume" icon="chart-line">
    No monthly cap, no tier to negotiate.
  </Card>
</Columns>

<Note>
  No rolling reserve, no holdback, and no settlement delay — none of which are policy choices. We couldn't impose them if we wanted to, because we never hold your funds. [What we don't do](/compliance/boundaries).
</Note>
