Skip to main content
POST
/
api
/
v1
/
business-offramp
/
create
Create Offramp Order
curl --request POST \
  --url https://aboki-b2b-eobk.onrender.com/api/v1/business-offramp/create \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: <content-type>' \
  --data '{
  "customerEmail": "<string>",
  "customerName": "<string>",
  "customerPhone": "<string>",
  "tokenAmount": 123,
  "targetToken": "<string>",
  "targetNetwork": "<string>",
  "recipientAccountNumber": "<string>",
  "recipientAccountName": "<string>",
  "recipientBankCode": "<string>",
  "recipientBankName": "<string>",
  "webhookUrl": "<string>",
  "metadata": {}
}'
{
  "success": true,
  "data": {
    "orderId": "<string>",
    "depositInstructions": {
      "walletAddress": "<string>",
      "network": "<string>",
      "exactAmount": 123,
      "expiresAt": "<string>",
      "instructions": [
        {}
      ]
    },
    "netNgnAmount": 123,
    "bankDetails": {},
    "status": "<string>"
  }
}

Create Offramp Order

Create a new offramp order that generates a unique deposit wallet for your customer. Once they send tokens to this wallet, NGN is automatically sent to their bank account.
Authorization
string
required
Your Public Key from the dashboard. Format: Bearer pk_live_your_key_here
Content-Type
string
required
Must be application/json

Body Parameters

Customer Information

customerEmail
string
required
Customer’s email address (e.g., customer@example.com)
customerName
string
required
Customer’s full name (e.g., John Doe)
customerPhone
string
required
Customer’s phone number with country code (e.g., +2348123456789)

Transaction Details

tokenAmount
number
required
Amount of tokens to convert (e.g., 100 for 100 USDC)
targetToken
string
required
Token symbol: USDC, USDT, ETH, or SOL
targetNetwork
string
required
Blockchain network: base, ethereum, or solana

Bank Account Details

recipientAccountNumber
string
required
Nigerian bank account number (e.g., 1234567890)
recipientAccountName
string
required
Account holder name (must match bank records)
recipientBankCode
string
required
6-digit Nigerian bank code (e.g., 058152 for GTBank)
recipientBankName
string
required
Bank name (e.g., Guaranty Trust Bank)

Optional Parameters

webhookUrl
string
URL to receive order status updates
metadata
object
Additional data for your reference (customerReference, source, etc.)

Response

success
boolean
Whether the order was created successfully
data
object
orderId
string
Unique order identifier
depositInstructions
object
walletAddress
string
Generated wallet address for customer deposit
network
string
Blockchain network for the deposit
exactAmount
number
Exact token amount customer must send
expiresAt
string
Deadline for deposit (24 hours)
instructions
array
Step-by-step instructions for customer
netNgnAmount
number
NGN amount customer will receive
bankDetails
object
Verified bank account information
status
string
Order status (pending_deposit)

Example Response

{
  "success": true,
  "data": {
    "orderId": "OFF_1703234567_ABC123DEF",
    "netNgnAmount": 162525,
    "depositInstructions": {
      "walletAddress": "0x742d35Cc6669C87532DD123F5b8c6B3e8e7c5B2A",
      "network": "base",
      "exactAmount": 100,
      "expiresAt": "2025-08-20T22:32:55.036Z",
      "instructions": [
        "Send exactly 100 USDC to the address above",
        "Network: Base",
        "Once received, ₦162,525 will be sent to your bank account",
        "Deposit must be completed within 24 hours"
      ]
    },
    "bankDetails": {
      "accountNumber": "1234567890",
      "accountName": "JOHN DOE",
      "bankName": "Guaranty Trust Bank",
      "verified": true
    },
    "status": "pending_deposit"
  }
}

I