Where an on/off-ramp provider earns on each conversion: the spread, fee lines, float, partner cuts, and plans. Plus where a zero-fee ramp puts its cost.
On/off-ramp providers make money from the spread between the market rate and your rate, from explicit fees per conversion, and sometimes from interest on balances they hold, partner revenue shares, and monthly plans. A zero-fee ramp still earns. The cost usually sits in the exchange rate instead of a fee line.
That matters for anyone comparing ramps. Two quotes for the same $10,000 can look opposite on paper, one with no fee and one with a $25 fee, and the "free" one can deliver less. Once you know the five ways a ramp earns, you can read any quote and find the cost. Terms used below are defined in the on/off-ramp liquidity glossary.
Key takeaways
A ramp earns from five places: the spread, explicit fees, float, partner revenue, and platform plans. Most providers use two or three of them at once. The mix shapes what you see on a quote, which is why a single headline number rarely tells you the real cost of a conversion.
| Revenue line | Where it shows up | How to spot it | Question to ask |
|---|---|---|---|
| Spread (FX markup) | Inside the exchange rate | Compare the quoted rate with mid-market at the same minute | What is the market rate on this quote, and what rate do I get? |
| Explicit fee | A fee line, percentage or flat | Read the quote's fee fields | Is the fee per transaction, per rail, or per network? |
| Pass-through costs | Network gas, bank or rail fees | Often bundled into the fee or the rate | Are network and bank costs included or extra? |
| Float | Interest on balances held between steps | Only visible in the custody and funding terms | Who holds my funds before the payout executes? |
| Partner revenue | A markup the platform adds | A separate partner fee field, or a wider rate | Can my platform add a fee, and does the provider share it? |
| Platform plan | A monthly or annual subscription | The contract, not the quote | What does the plan include, and what is charged per transaction? |
The FX Global Code, the conduct standard for wholesale FX, calls the spread a "Mark Up." Principle 14 describes it as "the spread or charge that may be included in the final price of a transaction" to compensate for "risks taken, costs incurred, and services rendered," and asks dealers to make clear that the final price may include it (FX Global Code). Ramps sit downstream of that market, so the same logic applies one layer up.
Because every conversion crosses it, and it scales with volume without a visible charge. The spread pays for inventory in two currencies, hedging, and the risk of the market moving while a quote is open. It is also the line customers check least, since it hides inside a number that looks like a market price.
On an off-ramp, the provider sells local currency to you for stablecoins, so your rate sits below mid-market. On an on-ramp it buys local currency from you, so your rate sits above it. Why on-ramp and off-ramp rates differ walks through both sides and the round-trip cost.
Explicit fees are the lines you can read: a percentage of the amount, a flat fee per transaction, or both. Many providers vary them by payment method, rail, and network, because a card, a Pix transfer, and a SWIFT wire cost very different amounts to process. The best quotes itemize each one.
Card on-ramps usually cost the most. Card processing is expensive, and a cardholder can dispute a charge after the stablecoins are already gone. Providers that accept cards price that chargeback risk in. Bank rails are cheaper to run, which is why bank-funded on-ramps tend to carry lower fees. Crypto on-ramp fees and stablecoin off-ramp fees break the lines down per direction.
Network and bank costs are the third group. Some providers pass gas and rail fees through at cost. Others fold them into a flat fee or the rate. Ask which, since a "flat" fee that silently includes gas behaves differently when networks get busy.
Float is interest earned on money a provider holds for you between steps. It shows up in custodial and prefunded models: you park a balance with the provider, the provider holds the reserves, and the yield on those reserves stays with the provider unless the contract shares it. You never see float on a quote.
Float depends on custody, so ask who holds the money before the payout executes. In a non-custodial payout flow, the customer authorizes an exact amount from its own wallet and the provider executes that single transaction. There is no balance sitting with the provider between payouts. Non-custodial payments explained covers the custody models and what each means for counterparty risk.
Partner cuts are markups added by the platform in front of the user: a wallet, a marketplace, a payroll app. The ramp provider prices the conversion, the platform adds its fee, and the user sees the total. Some providers share their own revenue with the platform. Others let the platform set a separate fee line.
The difference matters for transparency. A partner fee in its own field lets everyone see who earns what. A partner markup folded into the rate looks like a worse exchange rate. As one example, MoonPay's buy quote API takes an extraFeePercentage between 0 and 10 for the partner and returns it next to MoonPay's own feeAmount and a separate networkFeeAmount (MoonPay buy quote reference).
On BlindPay, a platform adds a partner fee, percentage or flat, set independently for payins and payouts. It appears as partner_fee_amount on the quote, accumulates over the calendar month, and is released on the first day of the next month, net of the platform's BlindPay invoice (partner fees docs).
In the exchange rate, almost always. A provider still pays for liquidity, banks, compliance, and fraud, so the money has to come from somewhere. The way to check is to measure what the recipient receives against the mid-market value of what you sent, at the same minute.
Illustrative example. You off-ramp 10,000 USDC to reais. The mid-market rate is 5.40, so the mid-market value is R$ 54,000.
| Provider A ("zero fee") | Provider B (visible fee) | |
|---|---|---|
| Fee | $0 | $25 |
| Rate offered | 5.3460 (1.00% under mid) | 5.3838 (0.30% under mid) |
| Recipient receives | 10,000 × 5.3460 = R$ 53,460.00 | 9,975 × 5.3838 = R$ 53,703.41 |
| Cost vs mid-market | R$ 540.00 (1.00%) | R$ 296.59 (0.55%) |
The zero-fee quote costs almost twice as much. These numbers are illustrative, not any provider's pricing. The method is the point: total cost equals mid-market value minus amount received. Why the Google rate differs from your quote explains where to get a fair mid-market reference.
BlindPay combines a monthly plan for platform access with per-transaction fees that vary by rail and network. Those fees are disclosed only in the live quote before execute. BlindPay does not publish a static flat rate card, so the quote's fee breakdown is the number to cite, not a fixed basis-point figure.
Each payout quote returns commercial_quotation, the raw market rate, and blindpay_quotation, the rate net of BlindPay's fee. It also returns flat_fee, partner_fee_amount, and billing_fee_amount, along with the exact sender_amount and receiver_amount (payout quotes docs). So the spread and the fee lines are both visible before you commit. The quote locks them for 5 minutes; read expires_at on every response.
BlindPay operates as a non-custodial payment processor for payout flows from customer-controlled wallets: you authorize the exact amount and BlindPay executes that single transaction. Optional BlindPay-managed wallets (beta) are custodial when you choose that path.
Take one corridor you pay today and request two quotes at the same minute: one from your current provider, one from a BlindPay development instance. Compute cost against mid-market for each, using the method above. The payout quotes docs list every field you need.
Seven places blockchain payments beat bank rails: contractor payroll, remittances, B2B suppliers, marketplaces, 24/7 treasury, bill pay, and PSP payouts.
Push means the payer sends an ACH transfer. Pull means you debit a connected account. How each funds a USD to USDC on-ramp, the fees, and the return risk.
AP2, ACP, and x402 each verify that an AI agent had permission to spend. Here is what every protocol covers, who backs it, and the reconciliation gap none of them close.