Skip to main content
Use quotes to get a guaranteed exchange rate for a cross-currency payout. Once you have a quote_id, pass it to POST /api/v1/payouts/withdrawals to execute the withdrawal at the locked rate. Quotes expire — check expires_at and request a new quote if needed. If you only want to preview fees and amounts without locking a rate, use the estimate endpoint instead.

Create a quote

POST /api/v1/payouts/quotes
Authentication: API key or JWT

Request

from_currency
string
required
The source currency. Example: USD.
to_currency
string
required
The destination currency. Example: NGN.
amount
number
required
The amount in from_currency to convert.
payout_method
string
The payout method. One of: BANK_TRANSFER, MOBILE_MONEY, CRYPTO. Affects fee calculation when provided.

Response

quote_id
string
The locked quote ID. Pass this to POST /api/v1/payouts/withdrawals to use the rate.
from_currency
string
Source currency.
to_currency
string
Destination currency.
from_amount
string
Amount in from_currency.
to_amount
string
Amount the recipient will receive in to_currency at this rate.
exchange_rate
string
Exchange rate applied: how many units of to_currency per one unit of from_currency.
expires_at
string
ISO 8601 timestamp when this quote expires. Request a new quote after this time.
{
  "quote_id": "qte_01j9kxp4q8m2r3t5v6w7y8z9",
  "from_currency": "USD",
  "to_currency": "NGN",
  "from_amount": "500.00",
  "to_amount": "780250.00",
  "exchange_rate": "1560.50",
  "expires_at": "2024-01-15T10:15:00Z"
}

Example

curl -X POST https://api.syncgrampay.com/api/v1/payouts/quotes \
  -H "Authorization: Bearer sk_live_01j..." \
  -H "Content-Type: application/json" \
  -d '{
    "from_currency": "USD",
    "to_currency": "NGN",
    "amount": 500,
    "payout_method": "BANK_TRANSFER"
  }'

Estimate a withdrawal

POST /api/v1/payouts/estimate
Authentication: API key or JWT Returns a fee and amount breakdown without locking a rate. Use this to show your users what they will pay and what the recipient will receive before initiating a withdrawal.

Request

from_currency
string
required
The source currency. Example: USD.
to_currency
string
required
The destination currency. Example: NGN.
amount
number
required
The amount in from_currency.
payout_method
string
required
Payout method. One of: BANK_TRANSFER, MOBILE_MONEY, CRYPTO.

Response

from_currency
string
Source currency.
to_currency
string
Destination currency.
amount
string
The input amount in from_currency.
payout_method
string
The payout method used for the estimate.
withdrawal_fee
string
Fee charged in from_currency.
net_from_amount
string
Amount after fee deduction in from_currency. This is what gets converted.
exchange_rate
string
Indicative exchange rate at the time of the estimate. Not locked.
to_amount
string
Estimated recipient amount in to_currency.
{
  "from_currency": "USD",
  "to_currency": "NGN",
  "amount": "500.00",
  "payout_method": "BANK_TRANSFER",
  "withdrawal_fee": "5.00",
  "net_from_amount": "495.00",
  "exchange_rate": "1560.50",
  "to_amount": "772447.50"
}

Example

curl -X POST https://api.syncgrampay.com/api/v1/payouts/estimate \
  -H "Authorization: Bearer sk_live_01j..." \
  -H "Content-Type: application/json" \
  -d '{
    "from_currency": "USD",
    "to_currency": "NGN",
    "amount": 500,
    "payout_method": "BANK_TRANSFER"
  }'

Get fee info

GET /api/v1/payouts/fees?from_currency=USD&payout_method=BANK_TRANSFER
Authentication: API key or JWT Returns the fee rule for a given source currency and payout method.

Query parameters

from_currency
string
required
Source currency code, e.g., USD.
payout_method
string
required
Payout method. One of: BANK_TRANSFER, MOBILE_MONEY, CRYPTO.

Response

from_currency
string
Source currency for this fee rule.
payout_method
string
Payout method for this fee rule.
fee_type
string
How the fee is calculated. Either flat (fixed amount) or percentage.
fee_value
string
The fee amount or rate. For flat, this is the fee in from_currency. For percentage, this is the rate (e.g., "1.5" means 1.5%).
{
  "from_currency": "USD",
  "payout_method": "BANK_TRANSFER",
  "fee_type": "percentage",
  "fee_value": "1.00"
}

Example

curl "https://api.syncgrampay.com/api/v1/payouts/fees?from_currency=USD&payout_method=BANK_TRANSFER" \
  -H "Authorization: Bearer sk_live_01j..."

List supported currencies

GET /api/v1/payouts/supported-currencies?method=BANK_TRANSFER
Authentication: API key or JWT Returns the currencies available for a given payout method.

Query parameters

method
string
required
Payout method. One of: BANK_TRANSFER, MOBILE_MONEY, CRYPTO.

Response

method
string
The payout method.
currencies
array
List of supported currency codes for this method.
{
  "method": "BANK_TRANSFER",
  "currencies": ["NGN", "GHS", "KES", "USD"]
}

Example

curl "https://api.syncgrampay.com/api/v1/payouts/supported-currencies?method=BANK_TRANSFER" \
  -H "Authorization: Bearer sk_live_01j..."