For the complete documentation index, see llms.txt. This page is also available as Markdown.

Supported Resources

Discover payment supported resources including cryptocurrencies, blockchains, fiat currencies, and rails

Cryptocurrencies

get
/api/v1/supported/crypto-currencies

Get a list of all supported cryptocurrencies with their blockchains and contract addresses. Useful for discovering available crypto assets for trading.

Responses
200

Successfully retrieved cryptocurrencies

application/json
successbooleanRequired

Indicates if the request was successful

Example: true
get/api/v1/supported/crypto-currencies
GET /api/v1/supported/crypto-currencies HTTP/1.1
Host: api-staging.unigox.com
Accept: */*
200

Successfully retrieved cryptocurrencies

{
  "success": true,
  "data": [
    {
      "code": "USDC",
      "name": "USD Coin",
      "contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "decimals": 6,
      "blockchains": [
        "base-mainnet",
        "ethereum-mainnet",
        "polygon"
      ]
    }
  ]
}

Blockchains

get
/api/v1/supported/blockchains

Get a list of all supported blockchains with their associated cryptocurrencies. Useful for discovering which blockchains are available and what tokens they support.

Token coverage is per chain and is not uniform: a chain listed here does not carry every stablecoin Unigox supports. Read crypto_currencies on each entry rather than assuming a token is available because the chain appears. This endpoint is the authoritative list — a token/chain pair absent from it is not enabled, regardless of what any other surface accepts.

Responses
200

Successfully retrieved blockchains

application/json
successbooleanRequired

Indicates if the request was successful

Example: true
get/api/v1/supported/blockchains
GET /api/v1/supported/blockchains HTTP/1.1
Host: api-staging.unigox.com
Accept: */*
200

Successfully retrieved blockchains

{
  "success": true,
  "data": [
    {
      "name": "Ethereum Mainnet",
      "slug": "ethereum-mainnet",
      "ticker": "eth",
      "crypto_currencies": [
        {
          "code": "USDC",
          "name": "USD Coin",
          "contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "decimals": 6,
          "blockchains": [
            "base-mainnet",
            "ethereum-mainnet",
            "polygon"
          ]
        }
      ]
    }
  ]
}

Fiat currencies

get
/api/v1/supported/fiat-currencies

Get a list of all supported fiat currencies with their onramp/offramp capabilities. Useful for discovering available fiat currencies for onramp and offramp operations.

Responses
200

Successfully retrieved fiat currencies

application/json
successbooleanRequired

Indicates if the request was successful

Example: true
get/api/v1/supported/fiat-currencies
GET /api/v1/supported/fiat-currencies HTTP/1.1
Host: api-staging.unigox.com
Accept: */*
{
  "success": true,
  "data": [
    {
      "code": "USD",
      "name": "United States Dollar",
      "institution_id": [
        "wise",
        "revolut",
        "bank-transfer"
      ],
      "countries": [
        "US",
        "GB",
        "EU"
      ],
      "onramp": true,
      "offramp": true
    }
  ]
}

Payment rails

get
/api/v1/supported/payment-rails

Get payment rail capabilities for a specific country, currency, and direction (onramp/offramp). Returns available payment rails with their required fields and supported currencies.

Partner rule:

  • if institution_required is true, send institution_id chosen from /api/v1/supported/institutions

  • if institution_required is false, institution selection is not needed for the rail itself

Current partner API omission support is explicitly available for:

  • iban-sepa

  • nip-nigeria

  • faster-payments

  • imps-neft-india

  • alipay-wallet

  • wechat-wallet

  • interac-e-transfer

For iban-sepa, nip-nigeria and faster-payments, partners may omit institution_id and the backend resolves the generic other-bank payment method automatically.

For alipay-wallet, wechat-wallet and interac-e-transfer, an omitted institution_id resolves to the rail's own institution (alipay, wechat-pay, interac-e-transfers), which goes through the same checks as if you had sent it. An Interac e-Transfer is addressed to the recipient's email or phone, not to a bank.

imps-neft-india returns institution_required: false and has no institution_id field: the IFSC code encodes both bank and branch and routes the payout on its own. Required fields are bank_name, ifsc_code, account_number, and full_name. Sending institution_id is accepted but ignored (it resolves to the generic imps-or-neft-transfer method); the receiving bank comes from bank_name + ifsc_code.

Multi-format rails: some rails accept more than one field-set depending on the chosen institution's type, and return a formats array. For example GHIPSS (Ghana) and EthSwitch (Ethiopia) accept a mobile-money format keyed on phone_number and a bank format keyed on account_number. For these, the top-level fields is only a backward-compatible best-effort single set; use formats instead:

  1. pick an institution from /api/v1/supported/institutions (each carries a fine-grained institution_type),

  2. find the format whose institution_types contains that institution_type,

  3. submit that format's fields. Each format also carries has_liquidity, indicating whether a vendor/provider can currently settle it in the corridor (omitted when undetermined).

Individual vs business beneficiary: a format may also carry beneficiary_type (individual | business). A business variant applies to the SAME institutions as its individual sibling (it shares the same institution_types) but collects a company's details instead of a person's. To pay a company, choose the format whose beneficiary_type is business and, when creating the payment details, submit that format's fields PLUS "beneficiary_type": "business" inside details. Omitting "beneficiary_type" in the request details defaults to the individual variant. Example: China CNAPS (cnaps) returns a cnaps-bank (individual) format and a cnaps-bank_business format collecting company_name + company_name_native; a corporate CNY payout sends the latter's fields with "beneficiary_type": "business".

Example multi-format rail (GHIPSS):

Here a partner paying out to an M-Pesa/TeleBirr-style mobile wallet must use the mobile-money format (phone_number), not account_number.

Query parameters
countrystringOptional

ISO 2-letter country code (e.g., NG, US, IN)

Example: NG
currencystringOptional

Fiat currency code (e.g., NGN, USD, EUR). Either country or currency must be provided.

Example: NGN
directionstring · enumRequired

Transaction direction - either "onramp" (fiat to crypto) or "offramp" (crypto to fiat)

Example: offrampPossible values:
Responses
200

Successfully retrieved payment rails

application/json
successbooleanRequired

Indicates if the request was successful

Example: true
get/api/v1/supported/payment-rails
GET /api/v1/supported/payment-rails?direction=offramp HTTP/1.1
Host: api-staging.unigox.com
Accept: */*
{
  "success": true,
  "data": {
    "country": "NG",
    "currency": "NGN",
    "direction": "offramp",
    "rails": [
      {
        "slug": "nip-nigeria",
        "name": "NIP Nigeria (NIBSS Instant Payments)",
        "institution_required": false,
        "institution_lookup_key": null,
        "currencies": [
          "NGN"
        ],
        "settlement": {
          "speed": "INSTANT",
          "typical_minutes": 2,
          "note": null
        },
        "limits": null,
        "fields": [
          {
            "key": "account_number",
            "label": "Account Number",
            "type": "text",
            "required": true,
            "pattern": "^\\d{10}$",
            "placeholder": "10-digit account number"
          },
          {
            "key": "full_name",
            "label": "Full Name",
            "type": "text",
            "required": false,
            "placeholder": "Enter full name"
          }
        ],
        "formats": [
          {
            "id": "banks",
            "name": "Bank Account",
            "institution_types": [
              "traditional-banks",
              "digital-banks"
            ],
            "has_liquidity": true,
            "fields": [
              {
                "key": "account_number",
                "label": "Account Number",
                "type": "text",
                "required": true
              },
              {
                "key": "full_name",
                "label": "Full Name",
                "type": "text",
                "required": false
              }
            ]
          },
          {
            "id": "mobile-money",
            "name": "Mobile Money",
            "institution_types": [
              "mobile-money",
              "mobile-wallets"
            ],
            "has_liquidity": false,
            "fields": [
              {
                "key": "phone_number",
                "label": "Phone Number",
                "type": "tel",
                "required": true,
                "placeholder": "Enter phone number"
              },
              {
                "key": "full_name",
                "label": "Full Name",
                "type": "text",
                "required": false
              }
            ]
          }
        ]
      }
    ],
    "links": {
      "search_institutions": "/api/v1/supported/institutions"
    }
  }
}

Institutions (banks) for a payment rail

get
/api/v1/supported/institutions

Get a list of financial institutions (banks) available for a specific payment rail. Useful for populating bank-selection dropdowns. Call with just rail to page through every bank, or pass search/code to filter. For imps-neft-india this is the embedded India bank directory (~1,510 banks); selecting one is optional, since the bank is identified at payment-detail creation by bank_name + ifsc_code.

Only institutions that are currently live on the queried rail (and, when given, in the queried country/currency) are returned. An institution missing from the response cannot be paid, and creating a payment detail or payout destination on it is refused.

Query parameters
railstringRequired

Payment rail slug (e.g., iban-sepa, pix-brazil, cvu-cbu)

Example: iban-sepa
institution_idstringOptional

Optional institution ID to filter by specific institution

Example: revolut
countrystringOptional

ISO 2-letter country code for filtering

Example: IN
currencystringOptional

ISO 3-letter currency code for filtering

Example: INR
searchstringOptional

Free-text search by institution name

Example: hdfc
codestringOptional

Filter by the institution's bank code (the code field of an institution): the 4-letter IFSC bank prefix for imps-neft-india (e.g. HDFC), the NIBSS code for nip-nigeria, etc. Not a full IFSC — use the 4-letter prefix.

Example: HDFC
limitinteger · min: 1 · max: 100Optional

Maximum number of results to return

Default: 20Example: 20
offsetintegerOptional

Number of results to skip for pagination

Default: 0Example: 0
Responses
200

Successfully retrieved institutions

application/json
successbooleanRequired

Indicates if the request was successful

Example: true
get/api/v1/supported/institutions
GET /api/v1/supported/institutions?rail=iban-sepa HTTP/1.1
Host: api-staging.unigox.com
Accept: */*
{
  "success": true,
  "data": {
    "institutions": [
      {
        "id": "hdfc-bank",
        "name": "HDFC Bank",
        "type": "BANK",
        "code": "HDFC",
        "branch": null,
        "supported_rails": [
          "imps-neft-india"
        ]
      }
    ],
    "pagination": {
      "total": 1,
      "limit": 20,
      "offset": 0
    }
  }
}

Fiat Corridors

get
/api/v1/supported/corridors

Get a snapshot of supported fiat corridors with the all-in best rates Unigox would quote at a 500 USDT reference notional, split by direction (onramp / offramp) and partner type (licensed / p2p).

Every rate is post-fee. unigox_fee_pct discloses the platform fee for the corridor; mid_market_rate is the Open Exchange Rates reference for the same currency.

Responses
200

Snapshot retrieved successfully

application/json
successbooleanRequired

Indicates if the request was successful

Example: true
get/api/v1/supported/corridors
GET /api/v1/supported/corridors HTTP/1.1
Host: api-staging.unigox.com
Accept: */*
{
  "success": true,
  "data": {
    "notional_usdt": 500,
    "generated_at": "2026-04-27T15:56:11Z",
    "currencies": [
      {
        "code": "NGN",
        "name": "Nigerian Naira",
        "mid_market_rate": 1358.97,
        "mid_market_updated_at": "2026-04-27T15:56:11Z",
        "unigox_fee_pct": 0.25,
        "offramp": {
          "supported": true,
          "p2p": {
            "rate": 1542.6
          },
          "licensed": {
            "rate": 1376.857
          }
        },
        "onramp": {
          "supported": true,
          "p2p": {
            "rate": 1370
          },
          "licensed": {
            "rate": 1389.35
          }
        }
      },
      {
        "code": "BRL",
        "name": "Brazilian Real",
        "mid_market_rate": 4.9911,
        "mid_market_updated_at": "2026-04-27T15:56:11Z",
        "unigox_fee_pct": 0.5,
        "offramp": {
          "supported": true,
          "p2p": {
            "rate": 4.4648,
            "min_notional_fiat": 3465
          }
        }
      }
    ]
  }
}

Last updated