On-ramp

Convert fiat currency into USDC or USDT through mobile money, bank transfer, or OPay and settle it to an on-chain wallet address.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

OPay Onramp

To collect NGN through OPay, set method to opay and provide:

FieldRequiredDescription
senderCurrencySet to NGN
chargeDetails.emailCustomer email for the OPay payment
successRedirectUrlURL to return the customer to after successful authorization
failureRedirectUrlURL to return the customer to after failed authorization
{
  "senderAmount": 5000,
  "senderCurrency": "NGN",
  "receiverCurrency": "USDC",
  "chain": "BASE",
  "receiverAddress": "0xbac726e1df4dd58ca13bf6b9f23664df5d07d2fe",
  "method": "opay",
  "chargeDetails": {
    "email": "[email protected]"
  },
  "externalReference": "onramp_opay_001",
  "successRedirectUrl": "https://yourapp.example/onramp/success",
  "failureRedirectUrl": "https://yourapp.example/onramp/failed"
}

An OPay initiation can return either an actionable redirect or a pending state.

{
  "success": true,
  "data": {
    "transactionId": "y47aWLwUE2NW7duNNbiM",
    "stepRequired": "redirect",
    "redirectUrl": "https://checkout.example.com/opay/authorize"
  }
}
{
  "success": true,
  "data": {
    "transactionId": "y47aWLwUE2NW7duNNbiM",
    "status": "PENDING",
    "chargeStatus": "pending"
  }
}

When stepRequired is redirect, send the customer to data.redirectUrl. Always verify that chargeStatus becomes successful through a webhook or the get transaction endpoint before providing value.

In sandbox, every valid OPay onramp returns a redirect. Amount 111 succeeds after that redirect is completed; amount 999 and every other amount fail.

Body Params
double
required

The amount of fiat currency to charge the customer.

string
required

The fiat currency to be charged. This must be a supported currency.

string
required

The cryptocurrency to be settled. Currently, only USDC and USDT are supported.

string
required

The blockchain network for the crypto settlement. This determines the network on which the crypto will be sent. Supported chains are ETH, ARB, BASE, MATIC, BSC, and OPTIMISM

string

The customer's email address. Optional, but highly recommended for sending transaction receipts.

string
required

The destination on-chain wallet address for the crypto settlement. This address must be valid on the specified chain.

string
required

The fiat payment method. Supported values include momo (Mobile Money) and bank. The chargeDetails object will vary based on this value.

chargeDetails
object
required

An object containing payment method-specific details.

string
required

A unique ID from your system to identify and reconcile this transaction. The API will reject requests with duplicate externalReference values to prevent double-spending.

Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Response

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/plain