Fiat -> Crypto

Let’s do an NGN (fiat) deposit to POLYGON_USDT (crypto) payout.

1

We see NGN supports deposit via bank/airtime/mobile money, and payout via bank/mobile money. POLYGON_USDT supports both deposit and payout. So we can do Fiat → Crypto (NGN → POLYGON_USDT).

2

Call Get order limits with the next query params:

  • depositPaymentChannel: "bank"

  • depositCurrencyType: "fiat"

  • depositCurrencyCode: "NGN"

  • depositCountryIsoCode: "NG"

  • payoutPaymentChannel: "crypto"

  • payoutCurrencyType: "crypto"

  • payoutCurrencyCode: "POLYGON_USDT"

Example response
{
  "deposit": {
    "min": 1556,
    "max": 311184,
    "minUsd": 1,
    "maxUsd": 200
  },
  "payout": {
    "min": 1,
    "max": 200,
    "minUsd": 1,
    "maxUsd": 200
  }
}

Assume the user wants to receive 100 POLYGON_USDT. Validate their tier using the KYC requirements flow.

3

Example request
{
  "deposit": {
    "paymentChannel": "bank",
    "currencyType": "fiat",
    "currencyCode": "NGN",
    "countryIsoCode": "NG"
  },
  "payout": {
    "paymentChannel": "crypto",
    "currencyType": "crypto",
    "currencyCode": "POLYGON_USDT",
    "amount": 100
  }
}

To receive 100 POLYGON_USDT, user must deposit 153128 NGN. Collect these fields:

  • phoneNumber

  • bankCode (from enum options)

  • bankAccountNumber

  • blockchainWalletAddress

4

Create the order via Create order:

5

A user makes the transfer with the exact amount and reference.

6

Example request
{
  "orderId": "68728fa56ff494df5f39faf5"
}
7

The system validates the deposit and processes payout.

8

Use Get order to track status until "payout_successful".

Last updated