Fiat On-Ramp
Fiat on-ramp is a payment integration that lets your users purchase cryptocurrency using credit cards and bank transfers directly inside your application. Users pay with traditional methods and receive crypto in their self-custody wallets, removing the need to visit external exchanges.
Why add a fiat on-ramp?
On-ramp removes the biggest barrier for new crypto users: acquiring their first tokens.
| Without On-Ramp | With On-Ramp |
|---|---|
| User must find an exchange | User buys directly in your app |
| Complete KYC on external site | Minimal KYC for small amounts |
| Wait for account approval | Instant purchase |
| Transfer tokens manually | Crypto delivered to wallet |
| High drop-off rate | Seamless conversion |
Provider
On-ramp is powered by Mercuryo, a licensed crypto wallet and payment service provider. Mercuryo handles:
- Payment processing
- Regulatory compliance
- KYC verification (when required)
- Exchange rates
- Transaction limits
For low purchase amounts, full KYC is typically not required. Higher amounts may require identity verification based on regional regulations.
Supported Assets
| Asset | Chain | Status |
|---|---|---|
| ADA | Cardano | Available |
| BTC | Bitcoin | Available |
| USDC | Cardano | Coming Soon |
| USDT | Cardano | Coming Soon |
Supported Currencies
| Currency | Payment Methods |
|---|---|
| USD | Credit/Debit Card, Bank Transfer |
| EUR | Credit/Debit Card, Bank Transfer, SEPA |
| GBP | Credit/Debit Card, Bank Transfer |
| CAD | Credit/Debit Card |
| AUD | Credit/Debit Card |
| Additional currencies | See Mercuryo documentation |
Supported Regions
On-ramp is available in most countries except those under sanctions or with specific cryptocurrency restrictions. Check Mercuryo’s supported countries for the complete list.
Some US states have restrictions. Availability may vary based on user location and regulatory requirements.
Purchase Limits
| Tier | Daily Limit | Monthly Limit | KYC Required |
|---|---|---|---|
| Basic | $200 | $1,000 | Email only |
| Verified | $5,000 | $20,000 | ID verification |
| Enhanced | $50,000+ | Custom | Full KYC |
Limits may vary by region and payment method.
Buy from the Wallet Dashboard
Users can purchase crypto directly from the UTXOS wallet interface:
Open the wallet
Navigate to wallet dashboard and connect your wallet.
Select asset and amount
Choose the cryptocurrency and enter the amount you want to purchase.
Complete payment
You are redirected to the Mercuryo gateway. Select your payment method and complete the transaction.
Receive crypto
After successful payment, crypto is delivered directly to your wallet address.
Integrate via SDK
Embed on-ramp directly in your application for a seamless user experience.
Basic Usage
import { Web3Sdk } from "@utxos/sdk";
const sdk = new Web3Sdk({
projectId: process.env.NEXT_PUBLIC_UTXOS_PROJECT_ID,
});
// Connect user wallet
const wallet = await sdk.wallet.connect();
// Launch on-ramp for Cardano
wallet.onramp({ chain: "cardano" });
// Launch on-ramp for Bitcoin
wallet.onramp({ chain: "bitcoin" });With Options
wallet.onramp({
chain: "cardano",
fiatCurrency: "USD", // Pre-select fiat currency
fiatAmount: 100, // Pre-fill purchase amount
cryptoCurrency: "ADA", // Pre-select crypto
});Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
chain | "cardano" | "bitcoin" | Yes | Target blockchain |
fiatCurrency | string | No | Pre-selected fiat currency (e.g., “USD”, “EUR”) |
fiatAmount | number | No | Pre-filled purchase amount |
cryptoCurrency | string | No | Pre-selected cryptocurrency |
Fees
| Fee Type | Amount |
|---|---|
| UTXOS fee | None |
| Mercuryo fee | 2.95% - 3.95% (varies by payment method) |
| Network fee | Paid by provider |
Fees are displayed to users before they confirm the purchase.
Best Practices
- Place on-ramp prominently - Users need to find it when they realize they need tokens
- Pre-fill amounts - Suggest common purchase amounts based on your use case
- Handle the redirect - Users return to your app after completing purchase
- Monitor purchases - Track conversion rates to optimize placement
Error Handling
try {
await wallet.onramp({ chain: "cardano" });
} catch (error) {
if (error.code === "REGION_NOT_SUPPORTED") {
// User's region is not supported
showAlternativeOptions();
} else if (error.code === "WALLET_NOT_CONNECTED") {
// User needs to connect wallet first
await sdk.wallet.connect();
}
}Next Steps
- Wallet Integration - Connect user wallets
- Transaction Sponsorship - Pay fees for your users
- Custom Branding - Match your app’s design
Frequently asked questions
Does UTXOS charge fees for on-ramp?
No. UTXOS does not add fees to on-ramp transactions. Mercuryo charges a processing fee of 2.95% to 3.95% depending on the payment method.
Is KYC required for all purchases?
Not always. Low-value purchases (under $200/day) typically require only email verification. Higher amounts trigger identity verification based on regional regulations.
Which countries are supported?
On-ramp is available in most countries except those under sanctions or with specific cryptocurrency restrictions. Some US states have restrictions. Check Mercuryo’s supported countries list for details.