Minimum and Maximum Transaction Values

All values on this page are defaults and are merchant-configurable. Treat the tables as indicative and read the live figure from GET /stablecoin/transaction/limits before you transact — see Checking limits at runtime.

Fiat to Stablecoin Transactions — Minimum Values

CurrencyMinimum Value
EUR1 EUR
GBP1 GBP
USD1 USD
NGN1,500 NGN

Stablecoin to Fiat Transactions — Minimum Values

Off-ramp minimums are set per network, not per payout currency. Ethereum mainnet carries a higher minimum than every other supported chain because of its gas costs.

NetworkMinimum (USD equivalent)
Ethereum (mainnet)10
Polygon, Base, Arbitrum, Optimism, Solana, BSC, Avalanche, Celo, Tron1

The minimum applies to the value of the stablecoin you send, is the same for every stablecoin on a given network (usdc, usdt, …), and does not change with the payout currency — an off-ramp from Ethereum mainnet to USD, EUR, GBP or NGN is subject to the same 10 USD floor.

OMR and QAR payouts additionally carry a currency-level minimum equivalent to 1 USD, calculated from the exchange rate at transaction time. Where a network minimum and a currency minimum both apply, the higher of the two governs.

Send less than the minimum and the transfer will not complete. You receive a cryptoToFiat webhook with subType LIMIT_BREACHED. Validate the amount in your UI before the user sends funds — on-chain transfers cannot be reversed. See Webhooks.

Checking limits at runtime

Always confirm limits at runtime rather than hardcoding these tables — they are merchant-configurable and change without a docs release:

curl --request GET \
     --url 'https://sandbox.api.bakkt.com/stablecoin/transaction/limits?limit_type=minimums&direction=OFFRAMP&input_chain=mainnet&input_token=usdc&output_currency=USD' \
     --header 'Authorization: API-Key YOUR_API_KEY'
{ "limit_type": "minimums", "limit_amount": 10 }

Note the parameter is limit_type (snake_case). Passing limitType returns 400 with the message limitType expected "minimums", which is misleading — the message names the camelCase form while the API requires snake_case.

For on-ramp, swap the direction and its parameters: direction=ONRAMP with input_currency, output_chain, and output_token.

Crypto to Fiat Transactions — Maximum Values

CurrencyCodeMaximum Amount
Indian RupeeINR500,000
Turkish LiraTRY65,000
Brazilian RealBRL30,000
Argentine PesoARS1,200,000
Philippine PesoPHP500,000
Indonesian RupiahIDR100,000,000
Vietnamese DongVND50,000,000
Colombian PesoCOP8,536,260
Mexican PesoMXN100,000
UAE DirhamAED36,700
Qatari RiyalQAR100,000
Omani RiyalOMRNo limit
Pakistani RupeePKR1,600,000

Did this page help you?