Skip to main content
GET /coverage returns the supported local currencies you can use convert to or from stablecoin. Shows metadata such as country (ISO code), channels, the default channel, typical settlement times, transaction limits etc.

Example Request

curl -L \
  --request GET \
  --url 'https://api.onswitch.xyz/coverage?direction=OFFRAMP' \
  --header 'x-service-key: '"$YOUR_SERVICE_KEY" \
  --header 'Accept: */*'
const params = new URLSearchParams({ direction: 'OFFRAMP' });
const res = await fetch(`https://api.onswitch.xyz/coverage?${params}`, {
  method: 'GET',
  headers: {
    'x-service-key': process.env.YOUR_SERVICE_KEY,
    Accept: '*/*',
  },
});

const json = await res.json();
console.log(json.data?.length, 'corridors');
import os, json, urllib.parse, urllib.request

q = urllib.parse.urlencode({"direction": "OFFRAMP"})
req = urllib.request.Request(
    f"https://api.onswitch.xyz/coverage?{q}",
    method="GET",
    headers={
        "x-service-key": os.environ["YOUR_SERVICE_KEY"],
        "Accept": "*/*",
    },
)

with urllib.request.urlopen(req, timeout=60) as r:
    payload = json.load(r)
    print(len(payload.get("data", [])), "corridors")
Direction can be ONRAMP or OFFRAMP. ONRAMP returns currencies that can be converted to stablecoin. OFFRAMP returns currencies that stablecoin can be converted to.

Example Response

{
  "success": true,
  "message": "Coverage fetched successfully",
  "timestamp": "2026-03-31T03:38:23.073Z",
  "data": [
    {
      "country": "NG",
      "currency": ["NGN"],
      "continent": "AFRICA",
      "default_channel": "BANK",
      "channel": ["BANK", "BLOCKCHAIN"],
      "direction": ["ONRAMP", "OFFRAMP"],
      "settlement_time": {
        "BANK": "5-10 minutes",
        "BLOCKCHAIN": "5-10 minutes"
      },
      "payout_limit": {
        "BANK": { "min": "$0.5", "max": "$100,000" },
        "BLOCKCHAIN": { "min": "$1", "max": "$100,000" },
        "note": "This represents the maximum USD value allowed per transaction."
      }
    },
    {
      "country": "GB",
      "currency": ["EUR", "GBP"],
      "continent": "EUROPE",
      "default_channel": "DOMESTIC_GBP",
      "channel": ["SEPA_EUR", "DOMESTIC_GBP"],
      "direction": ["OFFRAMP"],
      "settlement_time": {
        "SEPA_EUR": "5-10 minutes",
        "DOMESTIC_GBP": "5-10 minutes"
      },
      "payout_limit": {
        "SEPA_EUR": { "min": "$25", "max": "$100,000" },
        "DOMESTIC_GBP": { "min": "$25", "max": "$100,000" },
        "note": "This represents the maximum USD value allowed per transaction."
      }
    }
  ]
}
payout_limit represents the maximum USD value that is allowed in a single transaction and varies by channel and currency.

Need Help?

Email Support

Send us a message.

Book a call

Hop on a call with us.