Crypto -> Fiat

Let’s do a POLYGON_USDT (crypto) deposit to NGN (fiat) payout. First, call Get available currencies and assume you receive:

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).

Next, call Get order limits with the next query params:

  • depositPaymentChannel: "crypto"

  • depositCurrencyType: "crypto"

  • depositCurrencyCode: "POLYGON_USDT"

  • payoutPaymentChannel: "bank"

  • payoutCurrencyType: "fiat"

  • payoutCurrencyCode: "NGN"

  • payoutCountryIsoCode: "NG"

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.

Then Create quote:

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

  • phoneNumber

  • bankCode (from enum options)

  • bankAccountNumber

  • blockchainWalletAddress

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

A user makes the crypto transfer with the exact amount to the specified wallet address. Then call Confirm order with blockchainTransactionHash included

The system validates the deposit and processes payout. Use Get order to track status until "payout_successful".

Last updated