EXPLAINER
On-Ramp and Off-Ramp: Connecting Crypto and Fiat
A clear explainer of the crypto on-ramp and off-ramp: how fiat-to-crypto and crypto-to-fiat conversion works, fees, KYC/AML, local rails and API integration.
EXPLAINER
A clear explainer of the crypto on-ramp and off-ramp: how fiat-to-crypto and crypto-to-fiat conversion works, fees, KYC/AML, local rails and API integration.
Every crypto product eventually hits the same wall: users live in fiat. Salaries arrive in pesos, invoices are paid in dollars, and rent is not accepted in stablecoins. The bridge between that fiat world and the on-chain one has a name, and it comes in two directions.
An on-ramp turns fiat into crypto. An off-ramp turns crypto back into fiat. Together they are the plumbing that lets money enter and exit the digital-asset economy without friction. This explainer covers what each one is, how the process works step by step, what it costs, the compliance that sits underneath it, and how a business plugs a ramp into its own product through an API.

An on-ramp is any service that converts local currency into crypto or a stablecoin. An off-ramp does the opposite, converting crypto into local currency and settling it to a bank account or card. Both are conversion-plus-settlement engines: they price the exchange, execute it, and move the funds across a payment rail.
The distinction matters because the two directions have different mechanics. An on-ramp starts with a fiat payment (a card charge, a SPEI transfer, an ACH pull) and ends with tokens in a wallet. An off-ramp starts with tokens and ends with a fiat payout, which depends on the destination bank and can take longer to clear.
| On-ramp | Off-ramp | |
|---|---|---|
| Direction | Fiat to crypto | Crypto to fiat |
| Starts with | Bank transfer, card, local rail | Stablecoin or crypto balance |
| Ends with | Tokens in a wallet | Fiat in a bank account or card |
| Typical use | Funding a wallet, buying stablecoins | Cashing out, paying suppliers, payroll |
| Settlement speed | Seconds to minutes on instant rails | Near-instant to 1 to 2 business days |
Most serious providers expose both directions behind one integration, because a real product needs money to flow in and out, not just one way.
At a high level, a ramp is a sequence of five stages: identity, quote, payment, conversion and settlement. The order is the same in both directions; only the endpoints swap.
For an on-ramp, the flow looks like this:
For an off-ramp, reverse it: the user sends crypto, the provider locks a fiat quote, converts, and pays out to the destination bank account or card. The compliance and quoting stages are identical; the difference is which side is fiat and which is on-chain.
The unhappy paths are where quality shows. A good ramp handles rejected payments, expired quotes, chargebacks on card on-ramps, network congestion on-chain, and failed payouts when a bank account is invalid. If you are building on top of one, test those paths before you test the happy one. Our pillar guide to building a crypto and fiat payment platform covers why the failure cases, not the demo, decide whether a stack is production-ready.
The true cost of a ramp is almost never a single number. It is usually a percentage fee plus a spread, the small gap between the rate you get and the mid-market rate. Reading only the headline fee is how teams underestimate their real cost.
Three components make up the all-in price:
| Cost component | On-ramp | Off-ramp |
|---|---|---|
| Service fee | Percentage of fiat paid in | Percentage of crypto converted |
| FX spread | Fiat to stablecoin rate | Stablecoin to fiat rate |
| Network cost | Gas to deliver tokens | Usually absorbed in conversion |
| Payout cost | Usually none | Local rail or card payout fee |
Two practical rules. First, always compare the amount the recipient actually receives, not the quoted fee. Second, watch how the spread behaves on volatile assets versus stablecoins; stablecoin ramps tend to have tighter, more predictable spreads, which is one reason many B2B flows settle in stablecoins first and convert at the edges. If stablecoins are new to your roadmap, our guide to adding stablecoin payments to a fintech breaks down the tradeoffs.
A compliant ramp is not just a currency converter with a checkout. It is a regulated flow with identity, screening and monitoring built into every transaction. This is the part that separates a durable provider from one that will be shut off by its banking partner.
The controls that run on a well-built ramp include:
These obligations are general principles, not a fixed checklist, and the exact thresholds and forms vary by market. For a deeper walkthrough, see how KYC and AML work for crypto and fiat payments. Whatever your market, confirm the specifics with regulatory counsel rather than assuming one country’s rules apply everywhere.
On licensing, the honest answer for Mexico and the rest of LatAm is that it depends on who controls the funds. If you custody or transmit money yourself, you generally need money-services authorization in each market you serve. If you operate non-custodially as an agent of licensed institutions, much of the regulated surface can ride on partner licenses while you own the product. The perimeter is set market by market, so map it early.
The value of a ramp depends heavily on the local rails it supports, because users pay with what they already have. In LatAm that means instant bank rails and cards far more than international wires.
| Market | Common on/off ramp rails |
|---|---|
| Mexico | SPEI instant transfers, debit and credit cards |
| Brazil | PIX instant payments, cards |
| Colombia | PSE bank transfers, cards |
| Regional | Standard bank transfers, cards |
| US corridor | ACH transfers, cards |
| Europe corridor | SEPA transfers, cards |
Coverage differs by provider and by country, and a rail that exists in a market is not the same as a rail your provider actually supports there. Confirm the exact methods for each corridor you plan to serve before you commit to a launch market. Behind the scenes, ramps often route these local rails into a stablecoin so that value can move across borders without correspondent banking, then off-ramp to local fiat at the destination.
For a business, an on/off ramp is usually consumed as an API, not a website. The provider exposes REST endpoints to request a quote, execute a conversion and receive settlement events through webhooks, with idempotency keys so a retried request never double-charges.
A typical on-ramp request is small and readable. Here is an illustrative quote-and-execute call:
POST /v1/onramp/orders
{
"direction": "fiat_to_crypto",
"source": { "currency": "MXN", "amount": 5000, "rail": "spei" },
"destination": { "asset": "USDC", "network": "base", "wallet": "0xA1b2..." },
"customer_id": "cus_8fk29",
"idempotency_key": "order-2026-07-30-0001"
}
The response returns an order id, a locked quote with the fee and spread broken out, and a status. Your backend then listens for a webhook (order.settled or order.failed) rather than polling. Off-ramps mirror this: the direction flips to crypto_to_fiat and the destination becomes a bank account or card.
Three integration essentials separate a solid build from a fragile one. Use idempotency keys on every write so retries are safe. Treat webhooks as the source of truth for settlement, and verify their signatures. And reconcile every order against your own ledger, because a ramp that does not reconcile cleanly will fail an audit no matter how nice the API looks.
The build-versus-buy question resolves quickly here. Building your own ramp means sourcing liquidity, banking partners, licenses and compliance tooling, which is slow and capital-heavy. Integrating one gives you working rails in weeks and shifts most of the licensing and liquidity liability onto the partner. Most teams build the experience and integrate the ramp underneath.
The safety of a ramp comes down to one question: who holds the money while it moves? In a custodial model the provider holds user funds and keys, which concentrates risk and pulls the provider deep into safeguarding rules. In a non-custodial model users keep control of their own funds and approve each movement, so no customer money sits on the provider’s balance sheet.
Neither model removes the need for controls. Whatever the design, look for auditable fund segregation, real-time traceability of every movement, clear proof-of-reserves and counterparty screening on the crypto side. The custody choice also shapes your regulatory profile, which is why it deserves a deliberate decision rather than a default. If you are weighing the two, our explainer on custodial versus non-custodial custody lays out how the choice flows through to licensing and operations.
Tokelia provides on/off-ramp and mass payouts as part of its programmable-money infrastructure, over ACH, SEPA, local instant rails and stablecoin, with approvals and receipts on every movement. It runs on a non-custodial architecture, so your users keep control of their own funds, and compliance (KYC/AML, sanctions screening and travel-rule handling) is built into the base stack rather than bolted on. Money services are provided by Tokelia LLC, registered as a Money Services Business with FinCEN, with regulated banking delivered by licensed institutions, so you can embed a ramp under your own brand while the hard parts are already solved.
If you are scoping a ramp for a specific corridor, the fastest way to pressure-test it against your use case is to walk a real flow with our team. Talk to us and get a sandbox key.
An on-ramp converts fiat (local currency in a bank account or on a card) into crypto or a stablecoin. An off-ramp does the reverse, turning crypto back into fiat and settling it to a bank account or card. Most providers offer both directions behind a single integration.
It depends on who controls the funds and where your users are. If you take custody or transmit money yourself you typically need money-services registrations in each market; if you operate non-custodially as an agent of licensed institutions, much of the regulated activity can ride on partner licenses. Requirements vary by country, so confirm your specific perimeter with local regulatory counsel.
They verify business identity (KYB) and beneficial owners, screen against sanctions and PEP lists, and monitor transactions for suspicious patterns. For crypto transfers above the applicable threshold, they attach travel-rule data (originator and beneficiary details) automatically. These checks run at onboarding and on every transfer, not as a one-time step.
Building your own means acquiring licenses, liquidity, banking partners and compliance tooling, which is slow and capital-intensive. Integrating a provider gives you working rails in weeks and moves most of the licensing and liquidity liability to the partner. Most teams build the product experience and integrate the ramp underneath it.
Common rails include SPEI in Mexico, PIX in Brazil, PSE in Colombia and standard bank transfers and cards across the region, alongside ACH and SEPA for US and European corridors. Coverage differs by provider and by country, so confirm the exact rails for each market you plan to serve.
Ramps usually charge a percentage fee plus an FX spread between the fiat and the stablecoin or crypto price. On-ramps can settle in seconds to minutes on instant rails, while off-ramps depend on the destination bank rail and can range from near-instant to one or two business days. Always compare the all-in cost, not just the headline fee.
Safety depends on the custody model. In a non-custodial setup users keep control of their own funds and approve each movement, so the provider never holds customer money on its balance sheet. Look for auditable fund segregation, clear proof-of-reserves and transparent counterparty screening regardless of the model.
Topics
Written by
LucíaCompliance & Regulatory
Lucía covers compliance and regulation at Tokelia. She writes about the licensing, KYC/AML and travel-rule questions that come up when a fintech starts moving crypto and fiat, and turns them into decisions a founding team can act on.
Tell us your use case and we’ll point you to the right layer: infrastructure, tokenization or Yakopay.
We use essential cookies to run this site and, only with your consent, analytics cookies to measure traffic. You can change your choice anytime. Cookie Policy