Fiat On-RampOverview

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-RampWith On-Ramp
User must find an exchangeUser buys directly in your app
Complete KYC on external siteMinimal KYC for small amounts
Wait for account approvalInstant purchase
Transfer tokens manuallyCrypto delivered to wallet
High drop-off rateSeamless 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

AssetChainStatus
ADACardanoAvailable
BTCBitcoinAvailable
USDCCardanoComing Soon
USDTCardanoComing Soon

Supported Currencies

CurrencyPayment Methods
USDCredit/Debit Card, Bank Transfer
EURCredit/Debit Card, Bank Transfer, SEPA
GBPCredit/Debit Card, Bank Transfer
CADCredit/Debit Card
AUDCredit/Debit Card
Additional currenciesSee 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

TierDaily LimitMonthly LimitKYC Required
Basic$200$1,000Email only
Verified$5,000$20,000ID verification
Enhanced$50,000+CustomFull 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

ParameterTypeRequiredDescription
chain"cardano" | "bitcoin"YesTarget blockchain
fiatCurrencystringNoPre-selected fiat currency (e.g., “USD”, “EUR”)
fiatAmountnumberNoPre-filled purchase amount
cryptoCurrencystringNoPre-selected cryptocurrency

Fees

Fee TypeAmount
UTXOS feeNone
Mercuryo fee2.95% - 3.95% (varies by payment method)
Network feePaid by provider

Fees are displayed to users before they confirm the purchase.

Best Practices

  1. Place on-ramp prominently - Users need to find it when they realize they need tokens
  2. Pre-fill amounts - Suggest common purchase amounts based on your use case
  3. Handle the redirect - Users return to your app after completing purchase
  4. 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

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.