Minimum amounts

The minimum payment amount accepted on each network, and the AMOUNT_BELOW_MINIMUM error.

Each network has a minimum payment amount in USD. Network fees make very small payments impractical to process, so an invoice whose value is below the network's minimum is rejected by POST /v1/payment at creation with 400 AMOUNT_BELOW_MINIMUM. GET /v1/min-amount itself is informational only — it never returns AMOUNT_BELOW_MINIMUM.

Query the live minimum for any currency before creating an invoice:

curl "https://merchant.payzum.com/v1/min-amount?currency_from=usd&currency_to=usdttrc20"
# → { "currency_from":"usd", "currency_to":"usdttrc20", "min_amount":100, "min_amount_usd":100 }

Parameters:

| Parameter | Required | Notes | |---|---|---| | currency_to | Yes | The payment currency to query. | | currency_from | No (default "usd") | Purely cosmetic — it is echoed back in the response, but the minimum is always computed via USD regardless of this value. |

GET /v1/estimate also returns min_amount_usd and below_minimum for the amount you pass. In addition, GET /v1/currencies now includes currencies_detailed[].min_amount_usd with the same values (same source, including operator overrides) — handy if you already fetch the currency list.

| Network | Native min | Token min | |---|---|---| | bitcoin | $250 | — | | litecoin | $2 | — | | dogecoin | $75 | — | | ethereum | $300 | $500 | | polygon | $2 | $2 | | bsc | $20 | $20 | | arbitrum | $15 | $15 | | optimism | $10 | $10 | | base | $10 | $5 | | avalanche | $15 | $15 | | tron | $2 | $100 | | solana | $2 | $5 | | near | $5 | — | | ton | $5 | — | | thorchain | $5 | — |

Minimums are set by the operator and can change. GET /v1/min-amount is always authoritative.