Skip to main content
GET
/
v1
/
payout-api
/
payouts
/
pairs
Get enabled currency pairs
curl --request GET \
  --url https://gateway.useyala.com/v1/payout-api/payouts/pairs \
  --header 'x-api-key: <api-key>'

Overview

Returns all currency pairs that your business has enabled in the dashboard, along with current exchange rates. Use this endpoint to display available payout corridors to your users.

Request

GET /v1/payout-api/payouts/pairs HTTP/1.1
Host: gateway.staging.useyala.com
x-api-key: <YOUR_API_KEY>

Headers

HeaderRequiredDescription
x-api-keyYesYour API key

Response

[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "code": "CNY/NGN",
    "baseCurrency": "CNY",
    "quoteCurrency": "NGN",
    "rate": 235.0
  },
  {
    "id": "223e4567-e89b-12d3-a456-426614174001",
    "code": "USD/NGN",
    "baseCurrency": "USD",
    "quoteCurrency": "NGN",
    "rate": 1625.64
  }
]

Response Fields

FieldTypeDescription
idstring (UUID)Currency pair identifier
codestringPair code (e.g., “CNY/NGN”)
baseCurrencystringBase currency
quoteCurrencystringQuote currency
ratenumberExchange rate for converting baseCurrency to quoteCurrency (automatically selected based on conversion direction)

Error Responses

400 Bad Request - No Pairs Enabled

{
  "statusCode": 400,
  "message": "No currency pairs enabled. Please enable currency pairs in your dashboard.",
  "error": "NO_CURRENCY_PAIRS_ENABLED"
}
Solution: Enable currency pairs in your Yala dashboard before using the payout API.

401 Unauthorized

{
  "statusCode": 401,
  "message": "Unauthorized"
}
Solution: Verify your API key is correct.

Usage Example

const response = await fetch('https://gateway.staging.useyala.com/v1/payout-api/payouts/pairs', {
  method: 'GET',
  headers: {
    'x-api-key': 'your-api-key'
  }
});

const pairs = await response.json();
// Display pairs to your users for selection

Exchange Rate Behavior

Important: Exchange rates are real-time and may change between API calls.
  • Rates shown here are current at the time of request - The rate displayed in the rate field reflects the exchange rate at the moment you call this endpoint
  • Rates are not locked or guaranteed - If you view rates via this endpoint and then call POST /initiate later, the rate may have changed
  • Always check the actual rate used - The POST /initiate response includes an exchangeRate field showing the rate that was actually applied to your payout
  • Rate may differ - The rate in the /initiate response may differ from what you saw in /pairs if rates changed between calls
Best Practice: Display rates to users as “current rates” and inform them that the final rate will be confirmed in the payout response.

Notes

  • Rates are real-time and may change between calls
  • Only pairs enabled in your dashboard are returned
  • The rate field is automatically selected based on conversion direction (you don’t need to choose between buy/sell rates)

Authorizations

x-api-key
string
header
required

Response

Pairs fetched successfully