> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monei.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Convert crypto to fiat seamlessly with Monei's offramp service

## 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:

<CardGroup cols={2}>
  <Card title="Convert Crypto" icon="coins">
    Convert USDT, USDC, or CNGN to fiat
  </Card>

  <Card title="Receive Fiat" icon="building-columns">
    Get money directly in your bank account
  </Card>

  <Card title="Multiple Networks" icon="network-wired">
    Support for 9+ blockchain networks
  </Card>

  <Card title="Fast Settlement" icon="bolt">
    Receive fiat within minutes to hours
  </Card>
</CardGroup>

***

## How It Works

```mermaid theme={null}
graph LR
    A[Get Quote] --> B[Initiate Swap]
    B --> C[Send Crypto]
    C --> D[Processing]
    D --> E[Fiat Sent]
    E --> F[Completed]
```

<Steps>
  <Step title="Get Exchange Quote">
    Check the current crypto-to-fiat exchange rate
  </Step>

  <Step title="Verify Bank Account">
    Confirm recipient bank details
  </Step>

  <Step title="Initiate Swap">
    Create the offramp order with your details
  </Step>

  <Step title="Send Crypto">
    Deposit crypto to the provided address
  </Step>

  <Step title="Processing">
    Monei converts crypto to fiat
  </Step>

  <Step title="Receive Fiat">
    Fiat currency sent to your bank account
  </Step>
</Steps>

***

## Supported Assets

### Stablecoins

<Tabs>
  <Tab title="USDT">
    **Tether USD**

    | Network         | Status      |
    | --------------- | ----------- |
    | 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)
  </Tab>

  <Tab title="USDC">
    **USD Coin**

    | Network         | Status      |
    | --------------- | ----------- |
    | Base            | ✓ Supported |
    | Polygon         | ✓ Supported |
    | Arbitrum One    | ✓ Supported |
    | BNB Smart Chain | ✓ Supported |
    | Ethereum        | ✓ Supported |
    | Celo            | ✓ Supported |

    **Most Popular:** Base, Polygon
  </Tab>

  <Tab title="CNGN">
    **Canza Finance NGN**

    | Network         | Status      |
    | --------------- | ----------- |
    | Base            | ✓ Supported |
    | Polygon         | ✓ Supported |
    | BNB Smart Chain | ✓ Supported |
    | Ethereum        | ✓ Supported |

    **Note:** Pegged to Nigerian Naira (NGN)
  </Tab>
</Tabs>

***

## Supported Fiat Currencies

<CardGroup cols={4}>
  <Card title="NGN" icon="naira-sign">
    Nigerian Naira (Primary)
  </Card>
</CardGroup>

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

***

## Supported Networks

| Network             | Chain  | Gas Cost | Speed  | Best For       |
| ------------------- | ------ | -------- | ------ | -------------- |
| **Base**            | EVM    | Low      | Fast   | Recommended    |
| **Polygon**         | EVM    | Very Low | Fast   | Low fees       |
| **Arbitrum One**    | EVM    | Low      | Fast   | Layer 2        |
| **BNB Smart Chain** | EVM    | Low      | Fast   | BSC users      |
| **Ethereum**        | EVM    | High     | Medium | Large amounts  |
| **Optimism**        | EVM    | Low      | Fast   | Layer 2        |
| **Lisk**            | EVM    | Low      | Fast   | Alternative L2 |
| **Scroll**          | EVM    | Low      | Fast   | Alternative L2 |
| **Starknet**        | Custom | Low      | Fast   | USDC only      |

<Info>
  We recommend using **Base** or **Polygon** for the lowest fees and fastest processing.
</Info>

***

## Exchange Rates

Get real-time exchange rates before converting.

<CodeGroup>
  ```javascript Node.js theme={null}
  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');
  ```

  ```python Python theme={null}
  from monei import MoneiClient

  monei = MoneiClient(
      api_key=os.getenv('MONEI_API_KEY')
  )

  # Get quote
  quote = monei.offramp.get_quote(
      token='USDT',
      network='base',
      amount=100,
      fiat='NGN'
  )

  print(f'Amount: {quote.amount} USDT')
  print(f'Network: {quote.network}')
  print(f'Rate: {quote.rate} NGN per USDT')
  print(f'Fiat Amount: {quote.fiat_amount} NGN')
  ```

  ```bash cURL theme={null}
  curl "https://api.monei.cc/api/v1/offramp/exchange/quote?token=USDT&network=base&amount=100&fiat=NGN" \
    -H "x-api-key: YOUR_API_KEY"
  ```
</CodeGroup>

**Response:**

```json theme={null}
{
  "token": "USDT",
  "amount": 100,
  "network": "base",
  "fiat": "NGN",
  "rate": 1550.25
}
```

***

## Transaction Lifecycle

Understanding offramp transaction states:

| State              | Description              | Action Required         |
| ------------------ | ------------------------ | ----------------------- |
| `initiated`        | Order created            | None                    |
| `quote_created`    | Exchange rate locked     | Send crypto             |
| `awaiting_deposit` | Waiting for crypto       | Send to deposit address |
| `deposit_received` | Crypto received          | None                    |
| `pending`          | Converting crypto        | None                    |
| `processing`       | Converting to fiat       | None                    |
| `fiat_sent`        | Fiat transferred to bank | None                    |
| `completed`        | Transaction complete     | None                    |
| `failed`           | Transaction failed       | Contact support         |
| `cancelled`        | Cancelled by user        | None                    |
| `refunded`         | Crypto refunded          | None                    |

***

## Fees

<Tabs>
  <Tab title="Network Fees">
    **Blockchain Gas Fees:**

    | Network  | Typical Cost   |
    | -------- | -------------- |
    | Polygon  | $0.01 - $0.05  |
    | Base     | $0.02 - $0.10  |
    | Arbitrum | $0.10 - $0.50  |
    | BSC      | $0.05 - $0.20  |
    | Optimism | $0.05 - $0.30  |
    | Ethereum | $2.00 - $10.00 |

    **Note:** Gas fees are paid by you when sending crypto
  </Tab>

  <Tab title="Exchange Fees">
    **Conversion Fees:**

    * Built into exchange rate
    * Transparent pricing
    * No hidden charges
    * Competitive rates

    **Total Fee:** Typically 0.5% - 2% depending on:

    * Amount
    * Asset
    * Network
    * Market conditions
  </Tab>

  <Tab title="Bank Fees">
    **Bank Transfer Fees:**

    * Most banks: Free
    * Some banks: ₦10 - ₦50
    * International: May vary

    **Processing Time:**

    * Same bank: Instant - 5 min
    * Other banks: 5 - 30 min
    * International: 1 - 3 days
  </Tab>
</Tabs>

***

## Limits

### Transaction Limits

| Tier       | Single Transaction | Daily Limit | Monthly Limit |
| ---------- | ------------------ | ----------- | ------------- |
| **Tier 2** | \$500              | \$1,000     | \$5,000       |
| **Tier 3** | \$2,000            | \$5,000     | \$20,000      |
| **Tier 4** | \$10,000           | \$50,000    | \$200,000     |

<Note>
  Limits are based on your KYC verification tier. [Upgrade your tier →](/account-management/user-account#kyc-verification)
</Note>

### Minimum & Maximum

| Asset    | Minimum | Maximum     |
| -------- | ------- | ----------- |
| **USDT** | \$10    | \$10,000    |
| **USDC** | \$10    | \$10,000    |
| **CNGN** | ₦10,000 | ₦10,000,000 |

***

## Processing Time

Expected time from crypto deposit to bank credit:

| Stage                       | Duration                |
| --------------------------- | ----------------------- |
| Quote validity              | 30 minutes              |
| Crypto deposit confirmation | 1-5 minutes             |
| Crypto to fiat conversion   | 2-10 minutes            |
| Bank transfer               | 5-30 minutes            |
| **Total**                   | **10 minutes - 1 hour** |

**Factors affecting speed:**

* Network congestion
* Bank processing time
* Transaction amount
* Verification requirements
* Peak hours

***

## Quick Start Example

<CodeGroup>
  ```javascript Node.js theme={null}
  // 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);
  }
  ```

  ```python Python theme={null}
  # Complete offramp flow
  async def offramp_example():
      # 1. Get quote
      quote = monei.offramp.get_quote(
          token='USDT',
          network='base',
          amount=100,
          fiat='NGN'
      )
      
      print(f'Rate: {quote.rate} NGN per USDT')
      print(f'You will receive: {quote.fiat_amount} NGN')
      
      # 2. Verify bank account
      bank_account = monei.offramp.verify_bank_account(
          bank_code='058',
          account_number='0123456789'
      )
      
      print(f'Account Name: {bank_account.account_name}')
      
      # 3. Initiate swap
      order = monei.offramp.initiate_swap(
          amount=100,
          token='USDT',
          network='base',
          fiat_currency='NGN',
          bank_code='058',
          account_number='0123456789',
          account_name=bank_account.account_name
      )
      
      print(f'Order Reference: {order.reference}')
      print(f'Deposit Address: {order.on_chain.deposit_address}')
      
      # 4. Track progress
      status = monei.offramp.track_order(order.reference)
      print(f'Status: {status.status}')
  ```
</CodeGroup>

***

## Security & Compliance

<CardGroup cols={2}>
  <Card title="KYC Required" icon="id-card">
    Identity verification required for all offramp transactions
  </Card>

  <Card title="AML Checks" icon="shield-check">
    All transactions screened for compliance
  </Card>

  <Card title="Secure Deposits" icon="lock">
    Unique deposit addresses for each transaction
  </Card>

  <Card title="Bank Verification" icon="building-columns">
    Verify bank details before sending
  </Card>
</CardGroup>

***

## Best Practices

<AccordionGroup>
  <Accordion icon="quote-left" title="Always Get Fresh Quote">
    Exchange rates fluctuate. Always get a fresh quote before initiating an offramp transaction. Quotes are typically valid for 30 minutes.
  </Accordion>

  <Accordion icon="building-columns" title="Verify Bank Details">
    Always verify the recipient bank account using the verification endpoint before initiating a swap. This ensures the account is valid and matches the name.
  </Accordion>

  <Accordion icon="network-wired" title="Choose Low-Cost Networks">
    Use Base or Polygon for the lowest gas fees. Avoid Ethereum unless you're converting large amounts (>\$1000).
  </Accordion>

  <Accordion icon="clock" title="Send Crypto Promptly">
    After initiating an offramp order, send the crypto within the quote validity period (usually 30 minutes) to lock in the exchange rate.
  </Accordion>

  <Accordion icon="eye" title="Track Transaction Status">
    Monitor your transaction using the reference number. You'll receive updates as it progresses through different stages.
  </Accordion>

  <Accordion icon="bookmark" title="Save Transaction References">
    Keep all transaction references and deposit addresses for your records. You'll need these for support inquiries.
  </Accordion>
</AccordionGroup>

***

## Common Use Cases

<Tabs>
  <Tab title="Crypto Salary">
    **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:** $500 - $5,000
  </Tab>

  <Tab title="Trading Profits">
    **Cash out trading profits**

    1. Transfer profits to supported network
    2. Get current exchange rate
    3. Convert to local currency
    4. Receive fiat in bank

    **Frequency:** As needed
    **Typical Amount:** $100 - $10,000
  </Tab>

  <Tab title="Remittances">
    **Send money home from abroad**

    1. Buy USDT/USDC abroad
    2. Send to Monei
    3. Convert to NGN/GHS/KES
    4. Recipient receives local currency

    **Frequency:** Monthly
    **Typical Amount:** $200 - $2,000
  </Tab>

  <Tab title="Business Payments">
    **Receive international payments**

    1. Invoice clients in USDT/USDC
    2. Receive crypto payment
    3. Convert to local currency
    4. Pay expenses in fiat

    **Frequency:** Per invoice
    **Typical Amount:** $1,000 - $10,000
  </Tab>
</Tabs>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Bank Verification" icon="building-columns" href="/offramp/bank-verification">
    Learn how to verify bank accounts
  </Card>

  <Card title="Exchange" icon="arrow-right-arrow-left" href="/offramp/exchange">
    Get quotes and initiate swaps
  </Card>

  <Card title="Tracking" icon="location-crosshairs" href="/offramp/tracking">
    Monitor your offramp transactions
  </Card>

  <Card title="KYC Verification" icon="id-card" href="/account-management/user-account#kyc-verification">
    Increase your transaction limits
  </Card>
</CardGroup>
