Crypto to Fiat

Let’s do a POLYGON_USDT (crypto) deposit to NGN (fiat) 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 Crypto → Fiat ( POLYGON_USDT → NGN).

2

Call Get order limits with the next query params:

  • depositPaymentChannel: "crypto"

  • depositCurrencyType: "crypto"

  • depositCurrencyCode: "POLYGON_USDT"

  • payoutPaymentChannel: "bank"

  • payoutCurrencyType: "fiat"

  • payoutCurrencyCode: "NGN"

  • payoutCountryIsoCode: "NG"

Example response
{
    "deposit": {
        "min": 1,
        "max": 500,
        "minUsd": 1,
        "maxUsd": 500
    },
    "payout": {
        "min": 1409,
        "max": 704460,
        "minUsd": 1,
        "maxUsd": 500
    }
}

We see that a user can send from 1 to 500 POLYGON_UST and receive from 1409 to 704460 NGN.

Assume the user wants to receive 30 000 NGN. Validate their tier using the KYC requirements flow.

3

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

To receive 30 000 NGN, a user must deposit 21.394438 POLYGON_USDT. Collect these fields:

  • phoneNumber

  • bankCode (from enum options)

  • bankAccountNumber

  • blockchainWalletAddress

4

Create the order via Create order:

From the response fieldsToConfirmOrder and transferInstructions we see that:

  • to confirm the order we must provide blockchainTransactionHash

  • a user must pay 21.272315 Polygon USDT to this wallet 0xdc9cbad0c43f912a66cd44cd22a15c04368e659f from this wallet 0x5b7ae3c6c87f4a3f94b35c77233b13191ebfad20

5

A user makes the crypto transfer with the exact amount to the specified wallet address.

6

Call Confirm order with blockchainTransactionHash included:

Example request
{
  "orderId": "692d98b0a60e21354637311a",
  "fieldsToConfirmOrder": {
     "blockchainTransactionHash": "your hash"
  }
}
7

The system validates the deposit and processes payout.

8

Use Get order to track status until "payout_successful".

Last updated