Skip to main content
This is the first step in any API integration. Before creating external accounts or intents, query GET /currencies/supported to discover which source-to-destination currency routes are available for your project.

Request

curl https://api.gnosisramp.io/v1/currencies/supported \
  -u "${GNOSISRAMP_CLIENT_ID}:${GNOSISRAMP_CLIENT_SECRET}"
This endpoint uses Basic Auth (project credentials), not a customer JWT.

Response

[
  {
    "from": "USD",
    "to": "USDC_GNO",
    "providerIds": ["provider_123"]
  },
  {
    "from": "EUR",
    "to": "USDC_GNO",
    "providerIds": ["provider_456"]
  },
  {
    "from": "BRL",
    "to": "USDC_BASE",
    "providerIds": ["provider_789", "provider_012"]
  }
]
Each entry represents a supported route with:
  • from — source currency code
  • to — destination currency code
  • providerIds — IDs of providers that can handle this route (at the Provider.id level)
To get full provider details (name, code, logo), call GET /providers with Basic Auth. These provider IDs appear in two places later in the flow:
  1. Requirements — when you call GET /external-accounts/requirements, the response may include provider-specific fields via dependencies in the JSON Schema.
  2. Intent creation — you can pass a providerId to POST /intent to pin a specific provider. This must be one of the providerIds from this response for the relevant currency pair.

Currency Code Format

TypeFormatExamples
FiatStandard ISO 4217USD, EUR, BRL, ARS
Crypto{ticker}_{blockchain}USDC_ETH, USDC_GNO, USDC_BASE

Using the Response

Use the supported currencies list to:
  1. Build currency selectors — only show users the currency pairs your project supports.
  2. Pass src/dest to requirements — use the from/to values when calling GET /external-accounts/requirements.
  3. Validate before account creation — ensure the currency pair is supported before creating external accounts.
  4. Show available providers — use providerIds to let users pick a preferred provider, or let GnosisRamp auto-select.
const pairs = await fetch('https://api.gnosisramp.io/v1/currencies/supported', {
  headers: { 'Authorization': `Basic ${btoa(`${clientId}:${clientSecret}`)}` },
}).then(r => r.json());

// Build a map of source currencies to their destinations
const routes = {};
for (const pair of pairs) {
  if (!routes[pair.from]) routes[pair.from] = [];
  routes[pair.from].push({ to: pair.to, providerIds: pair.providerIds });
}