On-Ramp Fees vs Spread: What a Fiat Deposit Really Costs
An on-ramp quote contains two different charges: an explicit fee and an embedded price. The fee is easy to see and easy to compare. The price is the one that moves, and it is where a headline of zero can hide a cost larger than the fee it replaced. Working out the real number takes one division and a reference price.

Cover artwork: CoinSoso · AI-generated, not a photograph of a real venue, product or market capture.
Key takeaways
- An on-ramp charges in two places: an explicit fee deducted from the amount, and a price that may differ from the market rate.
- Kraken's fee schedule states that Instant Buy prices include a spread, that Kraken may retain any excess spread, and that spreads and card fees still apply when trading fees are waived.
- Kraken's cash deposit page prices a debit card deposit at $0.25 plus 3.75%, while an ACH transfer is free, so the payment rail can cost more than the trading fee.
- MoonPay's US terms list service, banking rail, network and conversion fees, and allow an exchange rate of up to 10% when it must convert local currency to USD in one of its products.
- The true cost on a fixed amount is one minus the net fiat divided by the amount divided by the executed price, and it can be compared across providers.
The number on the screen is not the price
Every fiat-to-stablecoin purchase has two prices. One is the amount you pay in fees, shown as a percentage or a flat charge. The other is the price per token, which may or may not be the market rate at that moment. A quote that shows only the first is telling you half the story.
This matters because the two charges trade off against each other. A provider can lower the visible fee and raise the embedded price, keep its revenue the same, and appear cheaper in a comparison table. The only defense is to compute the effective price per token and compare it with a reference rate.
Explicit fees: the visible layer
An explicit fee is deducted from your money before or alongside the purchase. Kraken’s fee schedule is a useful concrete example. It states that Kraken charges a 1% trading fee on instant and recurring trades and 1.5% on custom orders, and that Kraken+ members get zero trading fees on up to $10,000 of monthly volume through the Buy, Sell and Convert features.
The payment rail is priced separately and often more heavily. Kraken’s cash deposit page lists an ACH transfer at no deposit fee with a $1 minimum, a FedWire deposit at no fee with a $1 minimum, and a debit card deposit at $0.25 plus 3.75% with a $10 minimum. It also notes a withdrawal hold on certain deposit types, including seven days for ACH deposits via Plaid.
Those are published numbers from one venue on one date, and they are enough to show the shape: the fee for moving money in can be several times the fee for buying once the money is there.
The spread: the fee with no line item
A spread is the difference between the market rate and the rate you receive. It is not usually labeled as a fee because it is built into the price. Kraken describes it directly: when using its Instant Buy and Sell services, the price you see includes a spread, which is the difference between the market rate and the rate you receive, and Kraken may retain any excess spread from a transaction. The schedule adds that the spread may vary for similar transactions and depends on market volatility, asset type, order size and type, VIP status and account activity.
Two sentences in that same schedule are worth keeping. First, Kraken+ members get zero trading fees — but “spreads and card processing fees still apply.” Second, for small-balance conversions below the minimum order size, a fixed 3% fee applies. Both are examples of a headline rate that does not describe the whole cost.
The general mechanics are covered in our guide to spread, depth and slippage. The on-ramp version has one extra feature: on the instant-buy products described here the spread is set by the provider rather than by an open order book, so it is a commercial price, not a market outcome.
Why a 0% on-ramp can cost more than a 1% one
Suppose one provider charges 1% and executes at the market price, while another charges nothing and executes 2% above it. On a $5,000 purchase, the first delivers $4,950 of value; the second delivers $5,000 divided by 1.02, which is about $4,902. The zero-fee route costs more in dollars, and its cost is harder to see because there is no fee line to read.
There are legitimate ways to offer zero as well. A platform can absorb the fee itself: Stripe’s documentation for its crypto onramp describes a fee-subsidization option in which the user pays no network or transaction fees and Stripe deducts those fees from the platform’s balance instead. That is a real subsidy, paid by the platform rather than by the user, and it may be limited by region, account or promotion. It is not evidence that the underlying rail became free.
There are also layered fees that a zero headline does not cover. MoonPay’s US terms state that fees may include a service fee, a banking rail fee, a network fee and a conversion fee, and that a partner site may add an ecosystem fee. The document also says MoonPay will notify you of the pricing and fees that apply before you authorize a transaction and in each confirmation or receipt.
The pattern is consistent: zero is a statement about one component, never about the total.
Computing the true cost on a fixed amount
The calculation is short enough to do on a phone.
- Start with the fiat amount you are spending, A.
- Subtract every explicit fee charged in fiat, F, to get the amount that actually buys tokens.
- Divide by the executed price per token, P, to get the number of tokens.
- Compare P with a reference market price, P₀, to get the embedded spread s = P/P₀ − 1.
- The all-in cost is 1 − (A − F) / (A × (1 + s)), which for small numbers is approximately f + s, where f = F/A.
One worked line: a 1% fee with a 0.5% spread gives 1 − 0.99 ÷ 1.005 = 1.49%. The two charges compound rather than simply adding: because the fee is taken from the amount first, the total is slightly below f + s, at 1.49% against a simple 1.50%.
Two practical notes. Fixed fees hurt small purchases disproportionately: $0.25 is 0.25% of $100 and 0.005% of $5,000. And the network fee for moving the token is a separate cost that appears at withdrawal, not at purchase; our guide to withdrawal fees versus network fees covers that side.
A worked comparison
The table below uses a $5,000 purchase, a reference price of $1.0000 per USDC, and a hypothetical 0.50% spread on the exchange routes. None of these are quotes, and the spread is an assumption chosen to make the arithmetic visible, not a figure published by any venue.
| Route (hypothetical) | Explicit fees | Price per USDC | USDC received | All-in cost |
|---|---|---|---|---|
| 1% fee, executed at reference | $50.00 | $1.0000 | 4,950.00 | 1.00% |
| ACH deposit, 1% fee, 0.50% spread | $50.00 | $1.0050 | 4,925.37 | 1.49% |
| 0% fee, price 2% above reference | $0.00 | $1.0200 | 4,901.96 | 1.96% |
| Debit card deposit, 1% fee, 0.50% spread | $187.75 deposit + $48.12 trading | $1.0050 | 4,740.43 | 5.19% |
Read the rows in order of cost, not in order of headline fee. The zero-fee route is third. The cheapest route charges a visible 1% and executes at the reference price. The debit card row is dominated by the deposit fee, which alone is 3.75%, and the trading fee and spread are charged on what remains.
The same logic applies when your funding currency is not the dollar. If the provider converts euros or pounds to USD before buying the token, the conversion markup is a third cost that sits between the deposit fee and the spread. MoonPay’s US terms, in the section covering its virtual-account service, state that where it must convert local currency to USD it may charge an exchange rate of up to 10% of the transaction value, varying by currency. That clause is specific to that product, and it illustrates the size a conversion markup can reach in a corner of the market.
What you should be able to see before you pay
The consumer-protection benchmark for international money transfers is instructive. The CFPB explains that, before you pay, a remittance transfer provider must generally show the total cost including fees and taxes, the exchange rate if applicable, and the total amount expected to be delivered. After payment, the receipt repeats those figures.
A crypto purchase is generally not a remittance transfer as that rule defines it, so the rule does not govern an on-ramp. But it names the three numbers that make a purchase comparable: the fee, the rate and the amount delivered. Kraken states that the fees displayed upon confirmation are always the fees incurred by clients, and MoonPay states that pricing and fees are shown before you authorize a transaction and repeated in the confirmation or receipt. The effective price per token is derivable from either screen with one division.
Before confirming, check four things: the fee in dollars rather than percent, the price per token against a reference, the deposit method’s own fee and hold, and whether the zero-fee offer is a subsidy with conditions. Our guide to reading an exchange fee schedule covers the same discipline for trading fees.
Risk note. This is an explanation of how on-ramp costs are constructed, not advice on which provider to use. Fee schedules, spreads, deposit methods and promotional terms change without notice, and the numbers quoted here are dated observations from the cited pages. The worked comparison uses hypothetical assumptions and is not a quote from any venue. Stablecoins can trade away from one dollar, and a purchase is not a deposit.
Sources
How this was researched. Reserve and redemption claims link to the issuer's own published transparency disclosures. Figures are not restated as ours, because the issuer's attestation is the authoritative record.
Primary sources for the factual claims on this page. A date appears only where a human has actually read the source; where it is missing, the check is still outstanding.
- Kraken — Fee schedule (Instant Buy 1%, spread included in the price, Kraken may retain excess spread)(read 2026-10-25)
- Kraken — Cash deposit options, fees, minimums and processing times(read 2026-10-25)
- MoonPay — Terms of Use, United States (fee categories, pre-authorization disclosure, conversion exchange rate)(read 2026-10-25)
- Consumer Financial Protection Bureau — What is a remittance transfer?(read 2026-10-25)
- Stripe — Crypto onramp fee subsidization(read 2026-10-25)
Frequently asked questions
Is a 0% fee on-ramp really free?
Only if the price you pay per token is the market price. A provider can set a zero fee and earn on the conversion price instead, which produces the same revenue with a smaller number on the advert. The test is the effective price per token, not the fee label. Some zero-fee offers are genuine subsidies, but they are usually promotional, capped or paid by a partner.
Which is cheaper, a bank transfer or a card?
Usually a bank transfer. Kraken's published deposit table prices an ACH transfer at no fee and a debit card deposit at $0.25 plus 3.75%, before any trading fee and spread. The card is faster and available when a bank rail is not, and that convenience is what the percentage buys.
How do I calculate the real cost of a purchase?
Take the fiat you paid, subtract every explicit fee, divide by the number of tokens received to get your effective price, and compare that price with a reference rate for the same moment. The percentage difference plus the fee percentage is your all-in cost. Doing this on a fixed amount makes providers directly comparable.
Do disclosure rules protect me on a crypto on-ramp?
Not in the same way as a remittance. US federal remittance rules require providers to disclose fees, the exchange rate and the amount to be delivered before payment, but a crypto purchase is not a remittance transfer. The practical protection is the provider's own pre-confirmation screen, which both Kraken and MoonPay state they show before you authorize a transaction.
Where to go next
Independent research. Each card shows the platform’s invite code, and its Create Account button is a referral link that may earn us a commission at no extra cost to you. Whether an account can be opened is decided by the platform at sign-up.
Binance

One of the largest global exchanges by traded volume, with a very broad product range.
20% Trading Fee Rebate
Use invite code con888 when signing up to enjoy trading fee benefits.
Download from the exchange's official download service. Verify the source and follow the on-screen installation instructions.
Do not install an APK from an unknown source, or one that has been modified or cannot be checked.
OKX

A large global exchange offering spot, derivatives and a self-custody wallet.
20% Trading Fee Rebate
Enter invite code con888 when signing up to check available trading fee benefits.
Download from the exchange's official download service. Verify the source and follow the on-screen installation instructions.
Do not install an APK from an unknown source, or one that has been modified or cannot be checked.