Quotes
NGN - USD Example

Create Quote Example - NGN to USD

This example demonstrates a quote request for converting 100,000 NGN (Naira) to USD (United States Dollar. This quote locks in the exchange rate, fees, and amounts for a short period, which you can then use to initiate a payout transaction.

Supported Payment Channels

Quotes are often generated with a specific payout method in mind, as fees or limits might vary. This API supports getting quotes for payouts via:

  • BANK_TRANSFER: For standard bank transfers.

Endpoint

POST {{baseURL}}/v1/quote

Header

Include these headers in your request:

HeaderDescriptionRequiredExample Value
x-api-keyAPI key for authentication✅ YesYOUR_API_KEY
Content-TypeRequest content type✅ Yesapplication/json

Remember to replace YOUR_API_KEY with your actual API key (Production or Sandbox).

Request Body

{
  "paymentChannel": "string", // 
  "source": {
    "amount": number,
    "country": "string", // ISO 3166-1 alpha-2 code
    "currency": "string" // ISO 4217 currency code
  },
  "target": {
    "country": "string", // ISO 3166-1 alpha-2 code
    "currency": "string" // ISO 4217 currency code
  }
}

Request Example with BANK_TRANSFER as payment channel:

curl --location --request POST '{{baseURL}}/v1/quote' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
    "paymentChannel": "BANK_TRANSFER",
    "source": {
        "amount": 500000,
        "country": "NG",
        "currency": "NGN"
    },
    "target": {
        "country": "US",
        "currency": "USD"
    }
}'

Sample Response (200 OK)

{
    "message": "quote successfully created",
    "status": "success",
    "data": {
        "id": "98agb1da-351e-54b7-cde9-xxxxxxxxxxxxx",
        "source": {
            "currency": "NGN",
            "country": "NG",
            "amount": 500000
        },
        "target": {
            "currency": "USD",
            "country": "US",
            "amount": 335.50
        },
        "rate": 1490.31,
        "fee": {
            "amount": 5000
        },
        "rules": [
            {
                "category": "LIMIT",
                "appliedCurrency": "USD",
                "appliedCountry": "US",
                "transaction": {
                    "minimum": 20,
                    "maximum": 10000
                },
                "invoice": 10000
            }
        ],
        "summary": {
            "total": 505000
        }
    }
}

Response Breakdown

General Information

FieldTypeDescription
messageStringConfirmation message
statusStringIndicates success or failure
data.idStringUnique identifier for the quote

Source (Sending) Details

FieldTypeDescription
source.currencyStringCurrency being exchanged (NGN)
source.countryStringCountry where the transaction originates (NG)
source.amountNumberAmount to be converted (500,000 NGN)

Target (Receiving) Details

FieldTypeDescription
target.currencyStringTarget currency (USD)
target.countryStringDestination country (US)
target.amountNumberConverted amount (335.50 USD)

Exchange Rate and Fees

FieldTypeDescription
rateNumberExchange rate applied (1490.31)
fee.amountNumberTransaction fee (5,000 NGN)

Transaction Rules

FieldTypeDescription
rules[].categoryStringType of rule applied (LIMIT)
rules[].appliedCurrencyStringCurrency the rule applies to (USD)
rules[].appliedCountryStringCountry the rule applies to (US)
rules[].transaction.minimumNumberMinimum allowed transaction (20 USD)
rules[].transaction.maximumNumberMaximum allowed transaction (10,000 USD)
rules[].invoiceNumberMaximum invoice amount (10,000 USD)

Summary

FieldTypeDescription
summary.totalNumberTotal amount user pays (505,000 NGN)

Key Takeaways

  • The user sends 500,000 NGN, which is converted to 335.50 USD at an exchange rate of 1490.31.
  • A transaction fee of 5,000 NGN is applied.
  • The total amount the user must pay (including fees) is 505,000 NGN.
  • A transaction limit rule restricts transactions between 20 USD and 10,000 USD.

Best Practices

  • ✅ Include a valid API key (x-api-key) in the request headers to authenticate the request.
  • ✅ Ensure that the source and target country and currency codes are valid to prevent request failures.
  • ✅ Handle transaction limits appropriately to comply with API restrictions.