Initializing a quote
Overview
The next step once you've created a quote and reviewed the exchange rate, is to initialize the quote. Initialization involves providing beneficiary details such as bank account information or mobile wallet details.
Request
You initialize a quote by sending a POST request to /api/v1/payouts/initialize with the quote ID, beneficiary details and some other information. The beneficiary's details should include their bank account or mobile wallet information. Here's a sample request payload:
Sample Request Payload
{
"quoteId": "QT_6156",
"customerId": "6ae40f3c-0eb5-478e-8892-560bb547rt3d",
"country": "NG",
"reference": "off_QT_ref-10a4",
"beneficiaryId": "a21b99cb-e00d-4f39-8486-6f82e0e78dee", // Can be used in place of the beneficiary object if the beneficiary has been use before
"beneficiary": {
"type": "BANK",
"bankCode": "110072",
"accountNumber": "1421795566"
},
"paymentReason": "Funds for stuff",
"callbackUrl": "https://example.com/callback/id",
"clientMetaData": {
"name": "john doe",
"height": "194"
} // whatever custom data that needs to be recorded about the customer
}The complete specification of the endpoint and its properties can be found in the API reference (opens in a new tab).
Response
The response will confirm the quote initialization, providing an updated status, payment ETA, and beneficiary details. Here's a sample response:
Sample Response
{
"status": true,
"message": "OffRamp quote initialized successfully",
"data": {
"fees": 0,
"id": "6ae40f3c-0eb5-478e-8892-560ee427ee3c",
"address": "TS8bXUyq2QdyYceKVxcvJpHQ6NX6qY2xaZ",
"chain": "trc20",
"status": "initiated",
"paymentETA": "3-5 minutes",
"reference": "off_QT_ref-10a4",
"fromAsset": "usdt",
"quoteId": "QT_6156",
"paymentReason": "Funds for stuff",
"settlementCurrency": "ngn",
"exchangeRate": 1626.1,
"expiryTimeStamp": 1736937230,
"amount": 200,
"btcAmount": 0.00211578,
"satAmount": 211578,
"expiresInText": "This invoice expires in 15 minutes",
"beneficiaryDetails": {
"id": "e8455a92-65a6-4ad0-b902-ba51392de269",
"status": "success",
"country": "NG",
"currency": "NGN",
"createdAt": "2025-01-15T10:17:49.419Z",
"reference": "QT_6156_86cadb25a4ac",
"updatedAt": "2025-01-15T10:17:49.419Z",
"destination": {
"type": "BANK",
"bankCode": "000014",
"accountName": "JANE DOE",
"accountNumber": "1421795566"
}
},
"settlementAmount": 325220
}
}Although an address was provided in the response, it is worth mentioning that payment should not be made to the address until the quote has been finalized.