Skip to main content

Overview

Monei’s offramp service allows you to convert cryptocurrency (USDT, USDC, CNGN) to fiat currency (NGN) and receive payouts directly to your bank account. What you’ll learn:
  • How offramp works
  • Supported assets and networks
  • Supported fiat currencies
  • Conversion process
  • Fees and limits
  • Transaction lifecycle

What is Offramp?

Offramp is the process of converting cryptocurrency to traditional fiat currency. With Monei, you can:

Convert Crypto

Convert USDT, USDC, or CNGN to fiat

Receive Fiat

Get money directly in your bank account

Multiple Networks

Support for 9+ blockchain networks

Fast Settlement

Receive fiat within minutes to hours

How It Works

1

Get Exchange Quote

Check the current crypto-to-fiat exchange rate
2

Verify Bank Account

Confirm recipient bank details
3

Initiate Swap

Create the offramp order with your details
4

Send Crypto

Deposit crypto to the provided address
5

Processing

Monei converts crypto to fiat
6

Receive Fiat

Fiat currency sent to your bank account

Supported Assets

Stablecoins

Tether USD
NetworkStatus
Polygon✓ Supported
Arbitrum One✓ Supported
BNB Smart Chain✓ Supported
Ethereum✓ Supported
Tron✓ Supported
Lisk✓ Supported
Celo✓ Supported
Most Popular: BNB Smart Chain, Polygon (lowest fees)

Supported Fiat Currencies

NGN

Nigerian Naira (Primary)
Default Currency: NGN (Nigerian Naira)

Supported Networks

NetworkChainGas CostSpeedBest For
BaseEVMLowFastRecommended
PolygonEVMVery LowFastLow fees
Arbitrum OneEVMLowFastLayer 2
BNB Smart ChainEVMLowFastBSC users
EthereumEVMHighMediumLarge amounts
OptimismEVMLowFastLayer 2
LiskEVMLowFastAlternative L2
ScrollEVMLowFastAlternative L2
StarknetCustomLowFastUSDC only
We recommend using Base or Polygon for the lowest fees and fastest processing.

Exchange Rates

Get real-time exchange rates before converting.
import MoneiSDK from 'monei-sdk';

const monei = new MoneiSDK({
  apiKey: process.env.MONEI_API_KEY,
});

// Get exchange rate for USDT to NGN
const quote = await monei.offramp.getQuote({
  token: 'USDT',
  network: 'base',
  amount: 100,
  fiat: 'NGN'
});

console.log('Amount:', quote.amount, 'USDT');
console.log('Network:', quote.network);
console.log('Exchange Rate:', quote.rate, 'NGN per USDT');
console.log('Fiat Amount:', quote.fiatAmount, 'NGN');
Response:
{
  "token": "USDT",
  "amount": 100,
  "network": "base",
  "fiat": "NGN",
  "rate": 1550.25
}

Transaction Lifecycle

Understanding offramp transaction states:
StateDescriptionAction Required
initiatedOrder createdNone
quote_createdExchange rate lockedSend crypto
awaiting_depositWaiting for cryptoSend to deposit address
deposit_receivedCrypto receivedNone
pendingConverting cryptoNone
processingConverting to fiatNone
fiat_sentFiat transferred to bankNone
completedTransaction completeNone
failedTransaction failedContact support
cancelledCancelled by userNone
refundedCrypto refundedNone

Fees

Blockchain Gas Fees:
NetworkTypical Cost
Polygon0.010.01 - 0.05
Base0.020.02 - 0.10
Arbitrum0.100.10 - 0.50
BSC0.050.05 - 0.20
Optimism0.050.05 - 0.30
Ethereum2.002.00 - 10.00
Note: Gas fees are paid by you when sending crypto

Limits

Transaction Limits

TierSingle TransactionDaily LimitMonthly Limit
Tier 2$500$1,000$5,000
Tier 3$2,000$5,000$20,000
Tier 4$10,000$50,000$200,000
Limits are based on your KYC verification tier. Upgrade your tier →

Minimum & Maximum

AssetMinimumMaximum
USDT$10$10,000
USDC$10$10,000
CNGN₦10,000₦10,000,000

Processing Time

Expected time from crypto deposit to bank credit:
StageDuration
Quote validity30 minutes
Crypto deposit confirmation1-5 minutes
Crypto to fiat conversion2-10 minutes
Bank transfer5-30 minutes
Total10 minutes - 1 hour
Factors affecting speed:
  • Network congestion
  • Bank processing time
  • Transaction amount
  • Verification requirements
  • Peak hours

Quick Start Example

// Complete offramp flow
async function offrampExample() {
  // 1. Get quote
  const quote = await monei.offramp.getQuote({
    token: 'USDT',
    network: 'base',
    amount: 100,
    fiat: 'NGN'
  });
  
  console.log('Rate:', quote.rate, 'NGN per USDT');
  console.log('You will receive:', quote.fiatAmount, 'NGN');
  
  // 2. Verify bank account
  const bankAccount = await monei.offramp.verifyBankAccount({
    bankCode: '058',
    accountNumber: '0123456789'
  });
  
  console.log('Account Name:', bankAccount.accountName);
  
  // 3. Initiate swap
  const order = await monei.offramp.initiateSwap({
    amount: 100,
    token: 'USDT',
    network: 'base',
    fiatCurrency: 'NGN',
    bankCode: '058',
    accountNumber: '0123456789',
    accountName: bankAccount.accountName
  });
  
  console.log('Order Reference:', order.reference);
  console.log('Deposit Address:', order.onChain.depositAddress);
  console.log('Status:', order.status);
  
  // 4. Track progress
  const status = await monei.offramp.trackOrder(order.reference);
  console.log('Current Status:', status.status);
}

Security & Compliance

KYC Required

Identity verification required for all offramp transactions

AML Checks

All transactions screened for compliance

Secure Deposits

Unique deposit addresses for each transaction

Bank Verification

Verify bank details before sending

Best Practices

Exchange rates fluctuate. Always get a fresh quote before initiating an offramp transaction. Quotes are typically valid for 30 minutes.
Always verify the recipient bank account using the verification endpoint before initiating a swap. This ensures the account is valid and matches the name.
Use Base or Polygon for the lowest gas fees. Avoid Ethereum unless you’re converting large amounts (>$1000).
After initiating an offramp order, send the crypto within the quote validity period (usually 30 minutes) to lock in the exchange rate.
Monitor your transaction using the reference number. You’ll receive updates as it progresses through different stages.
Keep all transaction references and deposit addresses for your records. You’ll need these for support inquiries.

Common Use Cases

Convert crypto salary to local currency
  1. Receive USDT/USDC salary
  2. Get quote for conversion to NGN
  3. Verify your bank account
  4. Initiate offramp
  5. Receive NGN in your account
Frequency: Weekly/Monthly Typical Amount: 500500 - 5,000

Next Steps

Bank Verification

Learn how to verify bank accounts

Exchange

Get quotes and initiate swaps

Tracking

Monitor your offramp transactions

KYC Verification

Increase your transaction limits