Skip to main content
POST
/
api
/
v3
/
onramp
Create Onramp
curl --request POST \
  --url https://sandbox-api.kotanipay.io/api/v3/onramp \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "fiatAmount": 123,
  "currency": "eg NGN or GHS or KES",
  "receiverAddress": "<string>",
  "referenceId": "<string>",
  "callbackUrl": "<string>",
  "rateId": "<string>",
  "fiatWalletId": "<string>"
}
'
{
  "success": true,
  "message": "Request has been successfully created",
  "data": {
    "id": "<string>",
    "referenceId": "<string>",
    "referenceNumber": 123,
    "message": "<string>",
    "customerKey": "<string>",
    "redirectUrl": "<string>"
  }
}
You can create an onramp request with either mobile money or bank checkout to convert fiat to crypto.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
fiatAmount
number
required

Fiat amount

currency
enum<string>
required

The currency of the wallet

Available options:
KES,
GHS,
NGN,
ZAR,
ZAR,
USD,
XOF,
ZMW,
XAF,
SLE,
CDF,
TZS,
UGX,
EGP,
MWK,
RWF,
ETB,
MZN,
LSL,
GNF,
USDT,
BTC,
ETH,
USDC
Example:

"eg NGN or GHS or KES"

chain
enum<string>
required

Chain

Available options:
ETHEREUM,
BSC,
CELO,
AVALANCHE,
POLYGON,
ARBITRUM,
OPTIMISM,
STELLAR,
TRON,
FUSE,
LIGHTNING,
SOLANA,
PROVENANCE,
CARDANO,
HEDERA,
BASE,
LISK,
VICTION,
SCROLL,
STABLE
token
enum<string>
required

Stable Coin

Available options:
CUSD,
USDC,
USDT,
USDT0,
SAT,
BTC,
HASH,
FUSE,
HBAR,
USDGLO,
CKES,
CGHS,
MSAT,
XLM,
ADA
receiverAddress
string
required

Receiver address

referenceId
string
required

Reference ID

callbackUrl
string
required

Reference ID

mobileMoney
object

Mobile Money details

bankCheckout
object

Bank Checkout details

rateId
string

Rate ID

fiatWalletId
string

Optional. Links this transaction to a specific fiat wallet for currency resolution and audit. No fiat is debited — crypto is sent directly from your pre-loaded crypto wallet. If omitted, a wallet is auto-selected by currency.

Response

success
boolean
Example:

true

message
string
Example:

"Request has been successfully created"

data
object