Explainers

On-Ramp and Off-Ramp Fees Explained: Where Each Cost Sits

On-ramp and off-ramp fees explained: the six costs between money in and out, a World Bank benchmark, how to read a quote, and three ticket sizes.

Caio Barbosa

Founder & CO-CEO

Forbes Under 30. One of the leading voices in Fintech & Crypto in Brazil. Writes weekly about stablecoins, payments, and the future of financial infrastructure in Latin America.

Cover image for Lumx blog article: On-Ramp and Off-Ramp Fees Explained: Where Each Cost Sits
Cover image for Lumx blog article: On-Ramp and Off-Ramp Fees Explained: Where Each Cost Sits

On-ramp and off-ramp fees are the gap between what a sender puts in and what a receiver gets out when local currency becomes a stablecoin, or back. Six costs can sit in it: the exchange-rate spread, rail fee, network cost, provider fee, platform fee and, on a held rate, a lock fee. The spread is the hardest to see.

Best for: finance and product teams who have a quote in hand and want to know which line is the real price.

Ramps are defined in what a stablecoin on-ramp is and what a stablecoin off-ramp is. Lumx payout pricing has its own guide in how stablecoin payout pricing works.

Which costs sit between the money in and the money out?

Six, and not every provider charges all of them. Some show lines, some fold them into the rate.

The rails in the table: Pix (Brazil's instant payment system), SPEI (Mexico's interbank transfer system), PSE (Colombia's online bank-transfer network), Bre-B (Colombia's instant payment system), SEPA (the euro area's payment scheme), FPS (the UK's Faster Payments), ACH (the US batch bank-transfer network), FEDWIRE (the Federal Reserve's same-day wire system) and SWIFT (the international bank messaging network for cross-border wires).

Fee anatomy of one conversion, by direction. Illustrative structure, not a price list.

Cost

On-ramp (local currency to stablecoin)

Off-ramp (stablecoin to local currency)

Spread

The conversion from reais, pesos or dollars into USDC or USDT

The conversion from USDC or USDT into the local currency

Rail fee

Collecting the deposit: Pix, SPEI, PSE, Bre-B, SEPA, FPS, ACH, FEDWIRE, SWIFT

Paying out: Pix, SPEI, Bre-B, SEPA, FPS, ACH (US and Colombia), FEDWIRE, SWIFT

Network cost

Delivering the stablecoin to the wallet

Moving the stablecoin to the off-ramp

Provider fee

A per-transaction or percentage fee on the ramp

The same, on the other direction

Platform fee

Your own markup on top of the provider's price

The same

Lock fee

A charge for holding the rate for a set time, where the provider offers a lock

The same

The spread row is the one to watch. USDC trades close to one dollar, so a dollar-to-USDC conversion has little to price. A reais-to-USDC conversion is a foreign exchange trade, and the distance between the market rate and the rate you are given is where much of the cost can sit.

On Lumx, a locked quote splits its fees into the Lumx fee, the partner fee and the total, so the platform's share and Lumx's share are separate lines. The lock fee is there too: the 30-second lock carries none, and the 1-minute and 5-minute locks include a fee for the volatility risk.

How do you read a quote, line by line?

Start from the receiver amount, the one figure anyone gets to spend.

The six parts of a complete quote, and the check for each.

Part

What it tells you

The check

Sender amount

What leaves the payer, in the payer's currency

Matches the invoice or the deposit you expect

Market rate

The reference rate before the provider's margin

Compare with a public rate at the same minute

Final rate

The rate actually applied to the conversion

Final rate versus market rate is the spread

Fee lines

Rail, provider and platform fees, each with an amount and a currency

Add them: a quote that shows none and delivers less than the market rate has put them in the rate

Receiver amount

What lands in the wallet or the bank account

Sender amount divided by receiver amount is the all-in rate

Expiry

When the quote stops being valid

A rate with no expiry is a floating rate, whatever it is called

The all-in cost is one subtraction. Take the amount the receiver would get at the market rate, subtract what they get at the final rate with every fee deducted, and divide by the first. With the illustrative numbers used below, R$10,000 at a market rate of 5.40 reais per USDC is 1,851.85 USDC at the market rate. After a 0.20% spread and 0.55 USDC of flat costs, the receiver gets 1,847.60 USDC, so the all-in cost is 4.25 USDC, or 0.23%.

A quote in one direction says nothing about the other, because the rail and the liquidity behind each leg differ. Validity is covered in how long a payment quote lasts, and whether it binds the provider in indicative versus binding quotes.

On Lumx, a locked response returns baseExchangeRate, finalExchangeRate, fees.lumx, fees.partner, fees.total, finalTargetAmount and expiresAt, so the six-part check is one response. Amounts come back as strings with six decimals, so compare them as decimals.

How much do on-ramp and off-ramp fees cost?

No neutral public series covers ramp fees alone. The closest is the World Bank's Remittance Prices Worldwide series: the average total cost, as a share of the amount, of sending 200 US dollars, exchange-rate margin included. It is a remittance price, not a ramp price, but it measures what the receiver loses end to end at a small ticket.

Average total cost of sending 200 US dollars to each country, World Bank Remittance Prices Worldwide via the World Development Indicators API (SI.RMT.COST.IB.ZS), series last updated October 8, 2026, read November 1, 2026.

Destination

2022

2023

Brazil (USDC to BRL)

2.30%

2.42%

Colombia (USDC to COP)

2.49%

2.43%

Mexico (USDC to MXN)

1.34%

2.65%

2023 is the latest year for these three countries, so read it as a reference point, not today's price. A newer reference is BIS Working Paper 1385 (October 2026), as cited by BlindPay: the median cost of money transfer operators is around 200 to 300 basis points on a 200 dollar transfer and falls to around 40 to 130 basis points on 10,000 dollars.

The same fees at $200, $2,000 and $20,000

Percentage costs grow with the amount and flat costs do not. The table uses one illustrative stack: a 0.20% spread, a flat rail and provider cost of 0.50 dollars and a network cost of 0.05 dollars on a generic low-cost chain, not a named one. These are assumptions chosen low, not Lumx rates and not a Lumx price.

All-in cost of one conversion at three ticket sizes, in dollars. Illustrative assumptions stated above.

Amount sent

Spread (0.20%)

Flat costs

All-in cost

All-in rate

Receiver gets

$200

$0.40

$0.55

$0.95

0.48%

$199.05

$2,000

$4.00

$0.55

$4.55

0.23%

$1,995.45

$20,000

$40.00

$0.55

$40.55

0.20%

$19,959.45

At $200 the flat costs are over half the bill. At $20,000 the spread is nearly all of it. Compare quotes at the amounts you will actually send, never at a provider's example amount.

How do you lower on-ramp and off-ramp fees?

At small tickets, negotiate the flat lines. At large tickets, negotiate the spread. Pick the rail on cost and cut-off: Pix and SPEI run 24/7/365 with instant settlement, while the Lumx rail cut-off documentation says each SWIFT correspondent bank can add hours or days and may deduct fees. Pick a cheap chain, and buy no longer a lock than the flow needs.

On Lumx, the chain is chosen on the request or the project's default applies, across Ethereum, Base, Polygon and Tron, plus Stellar for BRL on-ramps only, and the 30-second lock carries no fee. Lumx subsidizes the network fee on its own legs, so the customer does not need ETH or TRX.

Sender pays or receiver pays: one fee, two invoices

A fee deducted from the amount delivered means the receiver gets less than the invoice. A fee added on top means the sender pays more. With the $2,000 row above, the first version delivers $1,995.45. The second asks the sender for $2,004.56 so that $2,000.00 arrives, because the 0.20% spread is taken on the larger amount too.

A supplier invoice for a fixed amount calls for the second, a top-up of "R$10,000 worth" for the first. Choose one convention per flow.

The receiver's own bank can also charge for an incoming transfer, outside every quote. A SWIFT wire is the extreme case: Lumx's rail documentation says intermediary banks may deduct fees along the way, outside Lumx's control.

On Lumx, finalTargetAmount on a locked quote already counts the Lumx fee and any partner fee, and the fee lines are stated on the quote or receipt. The receiving bank can still charge outside the quote. A partner fee applies only when its id is on the request.

How the rail changes the bill

The rail sets the flat cost, the speed and the cut-off. A payment that misses a cut-off waits for the next business day.

Rails that carry an on-ramp deposit or an off-ramp payout. Timing and limits come from the Lumx cut-off page, except the COP rows, which reflect Lumx's coverage as of November 2026. Bre-B ceiling from the Banco de la República. Read November 1, 2026.

Rail

Direction on Lumx

Timing and limits

Pix

Deposit and payout, BRL

Instant, runs 24/7/365, no cut-off

SPEI

Deposit and payout, MXN

Instant, runs 24/7/365, no cut-off

PSE

Deposit only, COP

A pull rail: the payer authorizes a debit

Bre-B

Deposit and payout, COP

Instant; the Banco de la República caps it at 1,000 UVB per transaction

ACH Colombia

Payout, COP

No per-payment limit; no settlement time confirmed

SEPA

Deposit and payout, EUR

No cut-off; Lumx routes each payment to SEPA Instant or SEPA Credit Transfer (same or next business day)

FPS

Deposit and payout, GBP

Instant, up to GBP 1M per payment, runs 24/7/365

ACH

Deposit and payout, USD

2:00 PM ET cut-off, 1 to 2 business days

FEDWIRE

Deposit and payout, USD

3:00 PM ET cut-off, same business day

SWIFT

Deposit and payout, USD

3:00 PM ET cut-off, 1 to 5 business days

Bre-B's ceiling is regulatory: 1,000 UVB (the Banco de la República's basic value unit), or COP 12,110,000 for 2026, under Circular Reglamentaria Externa DSP-465. On Lumx the rail is fixed on the destination, Bre-B or ACH Colombia, chosen when the destination is set up, so a Bre-B payout above 1,000 UVB is refused, never split or rerouted. ACH Colombia has no per-payment limit and no settlement time is stated, so a larger invoice goes to an ACH Colombia destination. Per-rail cut-offs and limits are in payout limits and cut-offs by rail.

I would not sign off a provider comparison that lists fee lines but never shows a receiver amount for a fixed sender amount. Fee lines are the part a provider chooses to present, and the receiver amount is the part it cannot rearrange, so I compare the second one, at the same minute, for the amount we expect to send most. I also ask for the same quote in both directions before reading either, because a team that only prices the deposit tends to discover the payout later, when the contract is already signed.

When comparing fee lines is the wrong exercise

Comparing fee lines is the wrong tool when the quote cannot be locked: the spread shown is a forecast, so compare what happens when the rate moves. Size a buffer for the lock window. On Lumx, a floating rate is a real-time reference with no lock, and only a locked rate fixes the conversion, so a flow that cannot use a locked quote should carry that buffer. Live quote versus forward contract covers that choice.

How these fees show up on a Lumx quote

Lumx is stablecoin payments infrastructure for businesses that move money between Latin America and the rest of the world: one API to collect, hold, convert, and pay out in BRL, MXN, COP, USD, EUR, and GBP or in USDC and USDT, over local rails such as PIX, SPEI, PSE, Bre-B, ACH, FEDWIRE, SEPA, and Faster Payments, with SWIFT and on-behalf-of payments and collections (POBO and COBO) in USD, EUR, and GBP, plus named virtual accounts, custodial wallets, and KYB/KYC built in.

The pricing model is a monthly platform fee plus usage-based per-transaction fees, transparent FX on locked quotes, no pre-funding. No pre-funding means the customer does not leave capital idle in settlement accounts: the conversion and settlement happen when the transaction starts. This post gives no Lumx rates, because the proposal is where they live.

Rates are floating or locked for 30 seconds, 1 minute or 5 minutes, per the exchange rates documentation.

Collections use named virtual accounts, and named versus pooled accounts decides who reconciles what. Rails are on the coverage page, jurisdictions on the supported countries list, and the flow in global payments.

If your platform adds its own fee, Lumx supports a partner fee set as a rate, a flat amount or both, configured once and applied by reference, and included in a locked quote when the quote is requested. How to decide the number, and whether to show it or absorb it, is the subject of who pays the FX cost.

Methodology and sources

Product behavior was read on November 1, 2026 from the Lumx documentation: exchange rates, partner fees, rail cut-off times and the exchange-rate API reference. The Bre-B ceiling is from Banco de la República, Circular Reglamentaria Externa DSP-465, Asunto 18, numeral 3.2. The 2022 and 2023 percentages are from the World Bank series SI.RMT.COST.IB.ZS, updated October 8, 2026. The BIS Working Paper 1385 (October 2026) figures are quoted as cited by BlindPay, not read in the paper. Ramp providers' own pricing pages are not quoted, and no provider range is given. Every other figure is an illustrative assumption, not a market rate and not a Lumx price.

Verified on November 1, 2026. Operational context, not legal, tax, or investment advice.

Cover photo: V on Unsplash.

  • What are on-ramp and off-ramp fees?

    They are the costs between what a sender pays and what a receiver gets when local currency becomes a stablecoin or the reverse: the spread, rail fee, network cost, provider fee, platform fee and, on a held rate, a lock fee. The spread is the hardest to see, since it sits in the rate. On Lumx, a locked quote returns the market rate, the final rate and the fee split in one response.

  • How much do on-ramp and off-ramp fees cost?

    It depends on the ticket size, the rail and the provider. No neutral public series covers ramp fees alone. The World Bank's series for sending 200 US dollars put the average all-in cost at 2.42% to Brazil, 2.43% to Colombia and 2.65% to Mexico in 2023. On Lumx, pricing is a monthly platform fee plus usage-based per-transaction fees, and rates are in the proposal.

  • Are on-ramp and off-ramp fees the same?

    The parts are the same and the weights differ. On a deposit, the collection rail and the rate decide most of the cost. On a payout, the payout rail and any intermediary bank matter more. On Lumx, a quote is requested per direction, and partner fees are set separately for on-ramp and off-ramp, so compare a deposit quote and a payout quote separately.

  • Who pays the fee, the sender or the receiver?

    Either can, and the invoice should say which: a fee deducted from the amount delivered lowers what the receiver gets, and a fee added on top raises what the sender pays. On Lumx, `finalTargetAmount` on a locked quote already counts the Lumx fee and any partner fee, and the fee lines are stated on the quote or receipt; the receiving bank can still charge outside it.

  • How do ramp fees compare with a bank wire or SWIFT?

    A SWIFT wire adds costs a ramp path on a local rail does not show up front: each correspondent bank can add hours or days and may deduct fees from the amount on the way, outside the sender's control, and settlement runs 1 to 5 business days after a 3:00 PM ET cut-off. A Pix or SPEI leg settles instantly, 24/7/365. On Lumx, SWIFT is available in USD for deposits and payouts, and the cut-off documentation states the intermediary-fee warning.

Stay up to date with what Lumx is developing.

Sign up to receive them by email.

Share on socials:

on-ramp-and-off-ramp-fees-explained

A

on-ramp-and-off-ramp-fees-explained

On-Ramp and Off-Ramp Fees Explained: Where Each Cost Sits

Copy link

Copied!

on-ramp-and-off-ramp-fees-explained

TALK TO OUR TEAM

Ready to transform your business with stablecoins?

Discover how our infrastructure can seamlessly integrate stablecoins into your financial operations quickly, securely, and efficiently.

Explainers

In this page

©2026. All rights reserved.

Lumx US OP LLC ("Lumx") is a financial technology and payments infrastructure company. Lumx US OP LLC is a Money Service Business (MSB) registered with the Financial Crimes Enforcement Network (FinCEN) (MSB #31000316459619). Lumx is not a state-licensed money transmitter and does not, in its own capacity, engage in the provision of regulated money transmission services. All such regulated activities are conducted exclusively through, and under the licenses of, duly authorized financial-institution partners.


Lumx is not a bank, financial institution, payment institution, or custodian of client funds. Certain services made available through the Platform may be provided by duly authorized and regulated third-party partners, in accordance with applicable laws and regulations.

Please refer to Lumx’s Terms of Use and Privacy Notice for further information regarding the conditions governing the use of the Platform and the processing of your personal data.