Initiate Off-Ramp
Initiate an off-ramp transaction for an existing customer.
Initiates a crypto-to-fiat off-ramp transaction for a customer that already exists in your IvoryPay account.
Endpoint
POST /v1/offramp/initiateAuthentication
This endpoint accepts any one of three credentials in the Authorization header:
Merchant API key
Authorization: <api_key>
Business-user JWT
Authorization: Bearer <jwt>
Customer JWT
Authorization: Bearer <jwt>
Request body
email
string
Yes
Existing customer's email address
phoneNumber
string
No
Customer's phone number (E.164 format)
accountNumber
string
Yes
Recipient bank account number or mobile money number
bankCode
string
No
Bank code for NGN bank payouts (use List Banks to get valid codes). Not required for mobile money payouts
blockchain
string
Yes
Blockchain network
reference
string
Yes
Your unique reference (must be a UUID)
token
string
Yes
Cryptocurrency the user will send
fiatCurrency
string
Yes
Fiat currency for payout
fiatAmount
number
No*
Fiat amount to be paid out
cryptoAmount
number
No*
Crypto amount to be sent
businessFeeInCrypto
number
No
Your business fee in crypto. Pair with cryptoAmount
businessFeeInFiat
number
No
Your business fee in fiat. Pair with fiatAmount
note
string
No
Transaction note
* Provide either fiatAmount + businessFeeInFiat OR cryptoAmount + businessFeeInCrypto. Mixing a fiat amount with a crypto fee (or vice versa) is rejected by validation. The reference must be a valid UUID on this endpoint.
Example request
Example response
Returns HTTP 201 Created.
Sandbox behaviour
Error cases
ONOFFRAMP0053
Customer not found — use the with-customer endpoint
ONOFFRAMP0033
Invalid bank code
ONOFFRAMP0024
Token not enabled for your account — contact support to enable the token/blockchain pair
Last updated