Skip to main content
POST
/
api
/
v3
/
offramp
Offramp Request
curl --request POST \
  --url https://sandbox-api.kotanipay.com/api/v3/offramp \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "cryptoAmount": 123,
  "currency": "KES",
  "chain": "ETHEREUM",
  "token": "CUSD",
  "referenceId": "<string>",
  "mobileMoneyReceiver": {
    "phoneNumber": "<string>",
    "accountName": "<string>",
    "networkProvider": "MTN, VODAFONE, AIRTEL, MPESA"
  },
  "bankReceiver": {
    "name": "<string>",
    "address": "<string>",
    "phoneNumber": "<string>",
    "bankCode": 123,
    "accountNumber": "<string>",
    "country": "KE"
  },
  "senderAddress": "<string>",
  "callbackUrl": "<string>",
  "rateId": "<string>",
  "refundInitiated": true,
  "refundStatus": "<string>",
  "refundTransactionHash": "<string>",
  "refundAmount": 123
}
'
{
  "success": true,
  "message": "Offramp has been successfully created",
  "data": {
    "referenceId": "<string>",
    "fiatAmount": 123,
    "fiatTransactionAmount": 123,
    "cryptoAmount": 123,
    "fiatCurrency": "KES",
    "customerKey": "<string>",
    "fiatWalletId": "<string>",
    "senderAddress": "<string>",
    "transactionHash": "<string>",
    "transactionHashAmount": 123,
    "status": "<string>",
    "onchainStatus": "<string>",
    "rate": {},
    "escrowAddress": "<string>",
    "usingIntegratedWallet": true,
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z"
  }
}
This endpoint will create an offramp request for a customer to convert crypto to fiat.

Authorizations

Authorization
string
header
required

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

Body

application/json
cryptoAmount
number
required

The crypto amount

currency
enum<string>
required

Fiat currency

Available options:
KES,
GHS,
TZS,
UGX,
ZMW,
XAF,
XOF,
CDF,
RWF,
ETB,
ZAR
chain
enum<string>
required

Chain

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

Stable Coin or Token

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

Reference ID

mobileMoneyReceiver
object

Mobile Money receiver details

bankReceiver
object

Bank receiver details

senderAddress
string

Sender address (optional - if not provided, will use integrator crypto wallet)

callbackUrl
string

Callback Url

rateId
string

Rate ID

refundInitiated
boolean

Whether refund has been initiated

refundStatus
string

Refund status

refundTransactionHash
string

Refund transaction hash

refundAmount
number

Refund amount

Response

Offramp Response

success
boolean
Example:

true

message
string
Example:

"Offramp has been successfully created"

data
object