1. Fiat
KuvarPay API
  • Overview
  • SDK Integration Guide
  • Webhooks Integration Guide
  • Subscriptions Guide
  • Split Payment Guide
  • Transactions
    • Calculate Payment Amount
      POST
    • Create Transaction
      POST
    • Get Transactions Details
      GET
    • Get Transactions
      GET
    • Get Transaction Status by Reference
      GET
    • Simulate payment for sandbox transactions
      POST
    • Get detailed payment status for a transaction
      GET
    • Manually trigger refund for excess payment
      POST
    • Get list of expired transactions
      GET
  • Checkout Sessions
    • Payment Status Webhook
      POST
    • Create Checkout Session
      POST
    • Get Checkout Session
      GET
  • Transfer Fees
    • Get Optimal Transfer Fee
      GET
    • Get Transfer Fee
      GET
    • Get currencies supported for transfers
      GET
  • Sandbox Simulator
    • Start the sandbox transaction simulator
      POST
    • Stop the sandbox transaction simulator
      POST
    • Force Simulator Scenario
      POST
    • Get Simulator Status
      GET
    • Update simulator configuration
      PUT
    • Force Transaction Status
      POST
    • Get Pending Transactions
      GET
    • Reset Sandbox Transactions
      POST
  • Invoices
    • Create a new invoice
    • Send invoice email to customer
  • Payment Links
    • Create a new payment link
  • Server-Sent Events (SSE)
    • Get Transaction Details
    • Get Session Details
    • Get Health
  • Subscriptions
    • Create Plans
    • Get Plans
    • Get Plans Details
    • Update Plans Details
    • Create Prices
    • Get Prices
    • Update Prices Details
    • Create Checkout Sessions
    • Get Checkout Sessions Details
    • Confirm Subscription Checkout
    • Create Subscriptions
    • Get Subscriptions
    • Get Subscriptions Details
    • Update Subscriptions Details
    • Delete Subscriptions Details
    • Confirm Subscription Cancellation
    • Renew Subscription
    • Upgrade Subscription
    • Downgrade Subscription
    • Renew Subscription Authorization
    • Create Subscription Invoices
    • Get Subscription Invoices
    • Create Metered Invoices
    • Get Subscription Invoices Details
    • Charge Subscription Invoice
    • Get Charge Attempts
    • Create Authorizations
    • Revoke Relay Authorization
    • Get Relay Authorization Status
  • Currencies
    • Get Subscription Currencies
    • Get networks supported for subscription payments
    • Get Currencies
    • Get all supported networks
    • Get Item Details
    • Get currency statistics
    • Get Supported Currencies
  • Subaccounts
    • Create Subaccount
    • List Subaccounts
    • Get Subaccount Details
    • Update Subaccount
    • Delete Subaccount
  • Banks
    • List supported banks
    • Resolve bank account
    • List banks by currency
  • Payment Fiat Rates
    • Get Item Details
    • Create Batch
    • Get Item Details
    • Get Currencies
    • Get Item Details
    • Get Fiat Rate Details
    • Get Fiat Rates
    • Create Update Ngn
    • Create Update All
    • Get Item Details
  • Split Payments
    • Create Split Group
    • List Split Groups
    • Get Split Group Details
    • Update Split Group
    • Delete Split Group
  • Fiat
    • List fiat payment methods
      GET
    • Resolve a payout recipient
      POST
    • Preview a fiat collection price
      GET
    • Create a fiat payout
      POST
    • Get payout status
      GET
  • Schemas
    • ErrorResponse
    • CreateInvoiceRequest
    • CreatePaymentLinkRequest
    • InvoiceResponse
    • PaymentLinkResponse
    • CreateInvoiceResponse
    • CreatePaymentLinkResponse
    • SendInvoiceEmailRequest
    • SendInvoiceEmailResponse
    • SubscriptionInvoice
Home
Home
  1. Fiat

List fiat payment methods

GET
/api/v1/fiat/banks
Fiat
Lists the bank and mobile-money methods available for a corridor. Public — no API key
required, though an authenticated call refines the result (see audience and
sandbox mode below).
Returns opaque methodId values, which are the ids to pass to
/api/v1/transactions/create (fiat collections) and to /api/v1/fiat/sends and
/api/v1/fiat/resolve-recipient (payouts). Provider names are never exposed and a
methodId is not portable between live and sandbox.
SDK: this is sdk.getBanks({ country | currency, type, direction }). Note the SDK
defaults direction to inbound (the checkout "pay with" picker). If you are
listing payout destinations you must pass direction: 'outbound' explicitly, or you
will get collection methods back.
Pair this endpoint with resolveRecipient, not resolveBankAccount. The
methodId returned here is accepted by sdk.resolveRecipient /
POST /api/v1/fiat/resolve-recipient. It is not a bank_code, so the SDK's
deprecated resolveBankAccount will not resolve it.
Identify the corridor with either country (ISO-3166 alpha-2) or currency
(ISO-4217) — at least one is required. A currency is resolved to its corridor country
server-side; when both are given, currency additionally filters the result.
direction matters. It defaults to outbound. Use direction=outbound to list
payout destinations and direction=inbound to list funding methods; the two lists
differ per corridor. On inbound, only the rail that corridor actually collects on is
returned (for example NG/GH/ZA collect on bank, KE/RW/UG on mobile money), so asking
for a type that corridor cannot collect on returns an empty list rather than a
method that would dead-end.
Live vs sandbox — set this explicitly. Sandbox methods are returned only when
?sandbox=true is set or the x-sandbox: true header is sent. This endpoint is
public and does not authenticate, so it cannot infer sandbox mode from your API
key — omitting the flag always returns the LIVE list.
The two are separate methodId spaces (the same bank has a different id in each, and
the sandbox list is much smaller). Downstream calls do take the mode from your key,
so a sandbox key that was handed a live methodId fails at
/api/v1/fiat/resolve-recipient and /api/v1/fiat/sends with
reason: METHOD_MODE_MISMATCH. Always fetch the list in the same mode your key
operates in.
Methods are filtered to the provider that will actually route the corridor, and
de-duplicated by name — so the same bank is listed once.

Request

Authorization
API Key
Add parameter in header
X-API-Key
Example:
X-API-Key: ********************
API Key
Add parameter in header
X-Business-ID
Example:
X-Business-ID: ********************
or
Query Params

Responses

🟢200
application/json
Payment methods. An unrecognised corridor returns an empty methods array.
Bodyapplication/json

🟠400
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/api/v1/fiat/banks?country=undefined&currency=undefined&type=undefined&direction=undefined&audience=undefined&sandbox=undefined' \
--header 'X-API-Key: <api-key>' \
--header 'X-Business-ID: <api-key>'
Response Response Example
200 - Example 1
{
    "methods": [
        {
            "methodId": "string",
            "name": "string",
            "currency": "string",
            "type": "bank",
            "manualInput": true,
            "minAmount": 0,
            "maxAmount": 0
        }
    ]
}
Modified at 2026-08-02 19:44:09
Previous
Delete Split Group
Next
Resolve a payout recipient
Built with