Back to blog
Guide

Minimum Crypto Payment 2026: Why Small Invoices Fail

We measured the four floors under every crypto invoice on 20 September 2026. Two big exchanges set the withdrawal minimum at exactly twice the fee.

Marcus EberhardtSeptember 20, 202613 min read

Key Takeaways

  • The minimum crypto payment is four floors stacked on top of each other, and the highest one wins. The chain, the gateway, the customer's exchange and the economics each set one, and on 20 September 2026 they ranged from $0.24 to $30.00 for the same payment.
  • The binding floor is almost never your gateway. BitPay's invoice minimum is $1, but a customer paying in Bitcoin from KuCoin cannot send less than $14.62, and a customer paying in USDT from a KuCoin Ethereum balance cannot send less than $30.
  • The minimum withdrawal is set at exactly twice the fee on 1,504 of 1,833 routes we checked across Binance and KuCoin — 82.1%. At the floor, precisely half the money is consumed by the fee, which is why small payments land underpaid rather than late.
  • TRON is the wrong rail for small payments, for the fifth measurement running. A USDT transfer cost $2.23 over TRC-20 against $0.0074 over ERC-20. TRON needs a $223 invoice before the fee falls under 1%; Ethereum needs $0.74.
  • Only one of seven gateways publishes a minimum you can read without an account. Plisio's own documentation gives a Bitcoin example of 0.0000001 BTC — ten satoshis, well below the dust limit, an amount the Bitcoin network will not relay.

Table of Contents

  1. Four floors sit under every crypto invoice
  2. The chain floor: what the protocol refuses to move
  3. The gateway floor: what processors actually publish
  4. The exchange floor is the one that bites
  5. The 50% rule nobody writes about
  6. What the fee costs as a share of the invoice
  7. Why the small invoice arrives short, not late
  8. Setting a floor you can defend
  9. FAQ

Four floors sit under every crypto invoice

You priced a digital download at four dollars, wired up a gateway, and the orders do not complete. Nothing is broken. The minimum crypto payment your customer can actually make is not one number set by your processor — it is four separate floors stacked on top of each other, and the tallest one decides whether your invoice is payable at all. On the day we measured them they ran from twenty-four cents to thirty dollars for the same purchase, and the floor that stopped the sale was almost never the one in the gateway's documentation. We read all four from first-party sources on 20 September 2026: the chain limits straight off two independent RPC nodes, the gateway minimums out of each company's own docs, and 1,833 exchange withdrawal routes from Binance's and KuCoin's public endpoints.

The four are easy to keep straight once named, and nobody names them together, which is why the failure looks mysterious when it happens.

FloorWho sets itLowest measuredHighest measured
Chain floorThe protocol — dust limits, account reserves$0.0009 (Dogecoin dust)$1.41 (XRP base reserve)
Gateway floorYour payment processorNone published (BTCPay, CoinGate, OxaPay)$1.00 (BitPay)
Exchange floorThe customer's exchange or wallet$1.60 (KuCoin USDT on Polygon)$30.00 (KuCoin USDT on Ethereum)
Economic floorThe network fee as a share of the payment$0.05 (USDC on Solana, 1% threshold)$447.66 (USDT on TRON, new recipient)

The shape of the problem is in the last two columns. The floor you can look up is the smallest one; the floor that blocks the sale sits in an exchange you do not control. Everything below is that table, worked out.

The chain floor: what the protocol refuses to move

Every chain has a point below which it declines to carry value, for the same reason everywhere: an output worth less than it costs to spend burdens everyone who stores the ledger. Bitcoin implements this as the dust limit, derived in Bitcoin Core's policy code from a dust relay fee of 3,000 satoshis per kilo-virtual-byte and the size of the transaction that would spend the output, which gives a different threshold per address type. Other chains arrive by another route — Solana charges rent for account storage, and the XRP Ledger will not create an account that cannot cover its reserve.

We read the two live ones off the network rather than quoting them. Solana's rent-exempt minimum for a 165-byte token account came back as 1,488,440 lamports from both api.mainnet-beta.solana.com and solana-rpc.publicnode.com, and the XRP Ledger's server_info gave a base reserve of 1 XRP at ledger 107,119,919. Worth flagging: the Solana figure is not the 2,039,280 lamports quoted in most guides. Two independent nodes agreed on the lower number on the day, so we publish what they returned and leave the discrepancy visible rather than round it to the familiar value.

Chain floorAmountUSD, 20 Sep 2026Source
Bitcoin dust, P2WPKH output294 sat$0.2388Bitcoin Core policy.cpp
Bitcoin dust, P2TR output330 sat$0.2680Bitcoin Core policy.cpp
Bitcoin dust, legacy P2PKH546 sat$0.4435Bitcoin Core policy.cpp
Dogecoin dust0.01 DOGE$0.0009Dogecoin Core policy
Solana token-account rent0.00148844 SOL$0.1635getMinimumBalanceForRentExemption(165), two RPCs
XRP base reserve, new account1 XRP$1.4069server_info, ledger 107,119,919
XRP owner reserve, per item0.2 XRP$0.2814server_info, ledger 107,119,919

Two of those are traps rather than limits. A USDC payment to a Solana wallet that has never held USDC has to create a token account first, and the $0.16 of rent comes out of the payment. An XRP payment to an address that has never been funded fails outright below 1 XRP — the ledger does not create the account, so the money does not arrive at all. Neither shows up as a fee on anyone's pricing page. But look at the dollar column: the highest chain floor on the board is $1.41. If the chain were the constraint, a four-dollar invoice would be fine.

The gateway floor: what processors actually publish

This is where a merchant expects to find the answer, and it is the thinnest layer of the four. We checked seven gateways on 20 September 2026 for a stated minimum invoice or payment amount, reading each company's own documentation rather than a review site. One publishes a flat figure. The rest either hide it behind an API key, disclose it only when you breach it, or do not mention it.

GatewayMinimum invoiceWhere it is publishedReadable without an account?
BitPay$1.00 USDdeveloper.bitpay.com integration docsYes
NOWPaymentsAbout $2, or $3-$5 for some coinsnowpayments.io help centre; exact figure via APIRange only
PlisioPer-coin min_sum_inapi.plisio.net/v1/currenciesNo — returned 401 to us
CryptomusPer currency and networkOnly in the API error, e.g. "Minimum amount 0.5 USDT"No
CoinGateNone statedDeveloper docs cover rate limits, not amountsNothing to read
OxaPayNone statedPricing page lists fees, not minimumsNothing to read
BTCPay ServerNone — self-hostedChain dust is the only floorNot applicable

Plisio's documentation is worth pausing on. Its currencies endpoint returns a per-coin field named min_sum_in, described as the minimum sum for incoming transactions, and the worked example in the docs gives Bitcoin as 0.0000001 BTC. That is ten satoshis. It is roughly one-thirtieth of the dust limit, an output the Bitcoin network will not relay under any circumstances. The example also prices Bitcoin at $22,701.97 and Ethereum at $661.91, so it is clearly a stale sample response rather than a live quote — but it is the only Bitcoin minimum Plisio shows a prospective merchant, and we could not check the real one because the live endpoint answered 401 without a key.

OxaPay adds a wrinkle: no published minimum, but a fixed fee on its static-address product of 0.4 USDT on TRON and 0.000002 BTC on Bitcoin, on top of 2%. A flat 0.4 USDT is 8% of a five-dollar invoice and 0.4% of a hundred-dollar one. A fixed fee is a minimum wearing a different hat, and it belongs in the same comparison as the headline percentages.

The exchange floor is the one that bites

Most customers paying a crypto invoice are not paying from a self-custody wallet. They are paying from an exchange account, which means the payment is a withdrawal, and every exchange sets a minimum withdrawal per coin and per network. Your customer cannot send less than that number no matter what your checkout says. This floor is invisible to you, absent from every gateway comparison we have read, and consistently the tallest of the four.

Binance and KuCoin both publish complete schedules on open endpoints — no key, no account — so this is checkable by anyone. We pulled 965 coins from Binance and 2,253 from KuCoin and priced the minimums against the same order books used for every other figure here.

ExchangeAsset and networkMinimum withdrawalUSDFeeMerchant receives
KuCoinUSDT, Ethereum ERC-2030 USDT$30.005.5 USDT$24.50
KuCoinBitcoin, on-chain0.00018 BTC$14.620.00009 BTC$7.31
BinanceBitcoin, on-chain0.0001 BTC$8.120.00002 BTC$6.50
BinanceEther, on-chain0.002 ETH$5.270.00007 ETH$5.08
BinanceUSDT, TRON TRC-205 USDT$5.001.5 USDT$3.50
BinanceUSDT, Ethereum ERC-205 USDT$5.000.3 USDT$4.70
KuCoinUSDT, TRON TRC-204 USDT$4.001.99 USDT$2.01
BinanceUSDT, BNB Chain BEP-203 USDT$3.000.01 USDT$2.99
BinanceXRP, XRP Ledger2 XRP$2.810.2 XRP$2.53
BinanceBitcoin, Lightning0.00002 BTC$1.620.000001 BTC$1.54
KuCoinUSDT, Polygon1.6 USDT$1.600.8 USDT$0.80

Read the last column, not the third. A customer with a KuCoin Ethereum balance cannot pay you less than $30, and when they pay exactly that, $24.50 arrives. A customer paying in Bitcoin from the same exchange is locked out of every invoice under $14.62, and half of what they send at the floor is fee. Meanwhile BitPay will happily create the one-dollar invoice that neither of them can pay. That is the whole problem in two sentences, and it is why low-priced digital goods are the hardest thing to sell for crypto.

The Lightning row is the interesting exception. The same Binance account that cannot send less than $8.12 of on-chain Bitcoin can send $1.62 over Lightning, a five-fold drop in the floor from changing nothing but the rail.

The 50% rule nobody writes about

Building that table, the same arithmetic kept appearing. KuCoin's Bitcoin minimum is 0.00018 and its fee 0.00009. Its Polygon USDT minimum is 1.6 and its fee 0.8. Its Solana USDT minimum is 3 and its fee 1.5. Every one of them is exactly double. So we stopped eyeballing it and checked the whole dataset.

ExchangeWithdrawal routes checkedMinimum = exactly 2x the feeShare
KuCoin95992496.4%
Binance87458066.4%
Both combined1,8331,50482.1%

On 82.1% of every enabled withdrawal route across two of the largest exchanges in the world, the minimum withdrawal is set at precisely twice the withdrawal fee. This is not a coincidence and it is not malice — it is the obvious rule for a risk desk to write, because it guarantees the fee never exceeds the value being moved. But it has a consequence that neither exchange states and no merchant guide mentions: at the minimum, exactly half the payment is consumed by the fee, by construction.

So the smallest crypto payment your customer can make is, by design, the one where they lose half of it. The 35 KuCoin routes that break the pattern mostly set the ratio higher — 5x, 10x — and Binance's exceptions run to 100x, so the exceptions make the floor worse rather than better.

What the fee costs as a share of the invoice

The fourth floor is not a rule anyone enforces — it is the point at which accepting the payment stops making sense. A fixed network fee against a variable invoice is a percentage that explodes as the invoice shrinks, and the only way to see it is to price it. Every fee below was measured on 20 September 2026, not quoted. Ethereum's base fee was 0.060746823 gwei at block 26,020,563, identical on ethereum-rpc.publicnode.com and rpc.flashbots.net. A USDT transfer estimated at 46,479 gas against the live Tether contract — the same figure our September cross-chain run measured, so it is stable enough to reuse. Bitcoin was at 1 satoshi per virtual byte across every mempool.space priority tier at block height 967,877. TRON's getEnergyFee was 100 sun.

RailNetwork fee% of $3% of $10% of $100Invoice where fee < 1%
USDC, Solana (recipient holds the token)$0.000550.02%0.01%0.00%$0.05
USDT, Ethereum ERC-20$0.00740.25%0.07%0.01%$0.74
XRP, funded accountunder $0.00010.00%0.00%0.00%under $0.01
Bitcoin, on-chain P2WPKH$0.11453.82%1.15%0.11%$11.45
USDC, Solana (recipient does not)$0.16405.47%1.64%0.16%$16.40
XRP, unfunded account (+ reserve)$1.406946.90%14.07%1.41%$140.69
USDT, TRON TRC-20 (existing recipient)$2.229874.33%22.30%2.23%$222.98
USDT, TRON TRC-20 (new recipient)$4.4766149.22%44.77%4.48%$447.66

The TRON rows are the ones to argue with, because they contradict advice that is repeated on almost every crypto checkout page. A three-dollar invoice paid in USDT over TRC-20 costs the customer 149% of the invoice in energy if they have never held USDT before. The same payment over Ethereum costs a quarter of one per cent. TRON needs a $223 invoice before its fee falls under one per cent; Ethereum passes that mark at 74 cents.

This is the fifth consecutive time our measurements have come out this way, across three different legs of the payment — the payment leg, the refund leg and the withdrawal leg. The reversal happened because Ethereum's base fee collapsed while TRON's energy price stayed fixed at a governance-set 100 sun. One caveat we always state: the TRON energy quantities (64,895 for an existing holder, 130,285 for a new one) are the standard published figures rather than our own measurement, and only the 100 sun price is first-party.

Why the small invoice arrives short, not late

Put the exchange floor and the 50% rule together and you get the specific failure mode that fills merchant support queues. Your customer opens your five-dollar invoice, goes to their exchange, types the amount shown, and sends it. The exchange takes its fee out of that amount rather than adding it on top. What lands at your address is five dollars minus the fee, and your gateway marks the invoice underpaid. Nothing failed. Nobody typed the wrong number.

BTCPay Server's own documentation names this as the textbook cause of a partially-paid invoice, attributing it to a buyer paying from an exchange wallet that deducts a fee from the total. Because the fee is fixed, the shortfall is largest where the invoice is smallest. On Binance's TRC-20 route the fee is 1.5 USDT: 30% of a five-dollar invoice, 1.5% of a hundred-dollar one. Underpayment tolerance is the usual remedy, but a tolerance wide enough to absorb 30% hands away a third of your revenue to anyone who notices.

  • The shortfall scales inversely with the invoice. A fixed fee is a rounding error at $100 and a refusal at $5. Tolerance set for your average order will not cover your smallest one.
  • It looks like a customer error and is not. They sent what you asked for. The deduction happened at their exchange, after they clicked send, and neither of you can see it beforehand.
  • Raising the floor is cheaper than raising the tolerance. A minimum order value costs you the sales below it; a wide tolerance costs you a slice of every sale above it.

We took the withdrawal side of this apart in detail in Exchange Withdrawal Fees 2026, and the diagnostic path for an invoice that never completes is in Crypto Payment Not Received.

Setting a floor you can defend

None of this argues against accepting crypto for small amounts. It argues against accepting it on the wrong rail with no stated minimum, which is the default configuration of almost every gateway. Four things are worth doing before you launch a cheap product on a crypto checkout.

  • Set an explicit minimum order value, and set it from the exchange floor. Not from your gateway's documentation. If your customers pay in Bitcoin from major exchanges, your real floor is somewhere around $15, not $1.
  • Default your checkout to a stablecoin on a cheap rail. On these numbers that means Ethereum or Solana for USDT and USDC, and specifically not TRON, whatever the folklore says.
  • Price the token-account and reserve traps into your Solana and XRP options. A first-time recipient costs an extra $0.16 on Solana; an unfunded XRP address makes the payment fail outright.
  • Set underpayment tolerance from your smallest invoice, not your average one. Then check what the tolerance costs you on your largest, because it applies to both.
  • Offer Lightning if you sell anything under ten dollars. It moved the floor from $8.12 to $1.62 on the same exchange account, and the fees are proportional rather than fixed.

The structural escape is to remove a layer of deductions. A gateway that forwards the customer's coin straight to your wallet still cannot beat their exchange minimum, but it stops adding to it. NOWPayments runs non-custodially by default and publishes its minimum range openly, which is more than most of the field does, and BTCPay Server removes the processor's floor entirely by removing the processor. Neither changes the arithmetic in the table above — they just stop adding to it.

Pick a gateway on the numbers, not the sticker price

We track fees, minimums, settlement models, supported networks and KYC requirements for every processor in the directory, so you can see what one costs on your actual order sizes before you wire it into your checkout.

Compare Crypto Payment Gateways →

FAQ

What is the minimum crypto payment a merchant can accept?

There is no single number, because four floors apply and the highest wins. The chain refuses outputs below its dust limit (294 satoshis, about 0.24 US dollars on 20 September 2026). Your gateway sets its own minimum: 1 dollar at BitPay, roughly 2 to 5 at NOWPayments. Your customer's exchange sets a minimum withdrawal, which was 8.12 dollars of Bitcoin at Binance and 14.62 at KuCoin. For a customer paying from an exchange account, that third floor is almost always the binding one.

Why did my customer's small crypto payment arrive short?

Because the exchange deducted its withdrawal fee from the amount sent rather than adding it on top. If a customer asks their exchange to send exactly the invoice amount, what lands is the invoice amount minus the fee, and your gateway marks it underpaid. This is worst at the floor: on 20 September 2026, 1,504 of 1,833 withdrawal routes across Binance and KuCoin set the minimum withdrawal at exactly twice the fee, so a customer sending the smallest allowed amount loses precisely half of it in transit.

What is the Bitcoin dust limit and does it apply to my invoices?

It is the point below which Bitcoin Core will not relay an output, because spending it would cost more in fees than it holds. Bitcoin Core's policy code derives it from a 3,000 satoshi per kilo-virtual-byte dust relay fee, giving 294 satoshis for a P2WPKH output, 330 for P2TR and 546 for legacy P2PKH. It applies to your invoices, but at 0.24 to 0.44 US dollars it is rarely the floor that stops a real customer.

Which network is cheapest for small crypto payments in 2026?

On the numbers we measured on 20 September 2026, stablecoins on Ethereum and Solana. A USDT transfer on Ethereum cost 0.0074 dollars, and USDC on Solana 0.00055 where the recipient already held a token account. The same USDT transfer over TRON cost 2.23 dollars, or 4.48 if the recipient had never held USDT. TRON is widely recommended for small payments and was the most expensive rail we priced, by roughly 300 times.

How small an invoice is too small to accept in crypto?

Work out the invoice size at which the network fee drops under one per cent of the payment, then set your floor above it. On 20 September 2026 that threshold was 0.74 dollars for USDT on Ethereum, 0.05 dollars for USDC on Solana where the customer already had a token account, 11.45 dollars for an on-chain Bitcoin payment and 222.98 dollars for USDT on TRON. The number moves with the gas price, so re-run it rather than treating it as fixed.

Do crypto payment gateways publish their minimum payment amounts?

Barely. Of seven gateways checked on 20 September 2026, only BitPay states a flat figure you can read without an account, at 1 US dollar. NOWPayments publishes a range but puts the exact number behind an API key, and Plisio's per-coin min_sum_in field needs a key too. Cryptomus discloses its minimum only in the error message you get for breaching it. CoinGate, OxaPay and BTCPay Server publish no invoice minimum at all.

Can Lightning or a layer 2 fix the minimum payment problem?

It moves the floor a long way down but does not remove it. Binance's minimum Lightning withdrawal was 0.00002 BTC, about 1.62 US dollars, against 8.12 for the same coin on-chain — a five-fold improvement from one account. Lightning routing fees are proportional rather than fixed, which is what makes very small payments work. The catch is that your gateway and your customer's wallet both have to support it.

Related Articles

Affiliate disclosure: payyd.co earns a commission on sign-ups made through our /go/ links, including the NOWPayments link above. We have no affiliate relationship with Binance, KuCoin or any chain mentioned here, and they appear only as data sources. Every chain figure was read from a public node on 20 September 2026 and every exchange figure from Binance's and KuCoin's open withdrawal endpoints in the same pass; fees, minimums and prices all move, so re-run the checks rather than trusting a number from a given day. Gateway minimums are quoted from each company's own documentation — where a gateway publishes no minimum we say so rather than guessing, and where its live endpoint required an API key we say that too. Sources: Bitcoin Core policy.cpp, XRP Ledger reserves, BitPay developer docs, NOWPayments help centre, Plisio API documentation, Cryptomus merchant API, OxaPay pricing.

We may earn commission from affiliate links on this site at no extra cost to you. Read our affiliate disclosure
Minimum Crypto Payment 2026: Why Small Invoices Fail | Payyd