Payment Methods & Requirements
Before adding a beneficiary, check which payment methods are available for the destination country and what fields are required.List available payment methods
Response:Get field requirements for a corridor
Each country + currency + payment method combination has specific field requirements. Use the payment requirements endpoint to get the JSON schema for thepaymentDetails object.
This returns a JSON Schema describing which fields are required, valid values for enums (e.g. bank codes), and validation rules.
Get payout providers
For countries with multiple bank or mobile money providers, retrieve the list of supported providers.Supported payment methods
| Method | Description | Use case |
|---|---|---|
bank | Local bank transfer | Most countries |
momo | Mobile money | Africa (M-Pesa, MTN, etc.) |
ach | ACH transfer | United States |
swift | SWIFT/wire transfer | International |
wallet | Cadana wallet | User-to-user transfers |
crypto | Crypto wallet | BTC, USDC, ETH, etc. |
proxy | Proxy payment | UPI (India), etc. |
Beneficiaries
A beneficiary is a saved payment destination. Each beneficiary has a payment method and is scoped to a specific user.Add a beneficiary
Response:Manage beneficiaries
Get an FX Quote
Before creating a transaction, get an FX quote to lock in the conversion rate. Quotes are temporary — use the returnedid as the quoteId when creating the transaction.
Response:
Quotes expire — check
expirationTimestamp and request a new quote if the previous one has expired.Create a Transaction
Send funds from the user’s wallet to a beneficiary. You can specify either a destination amount or a source amount — Cadana handles FX conversion using the quote rate.Send a specific destination amount
Send exactly 500 PHP to the beneficiary. Cadana deducts the equivalent USD from the wallet.Send a specific source amount
Send 10 USD worth of the destination currency to the beneficiary. Response:Transaction fields
| Field | Required | Description |
|---|---|---|
type | Yes | payout |
beneficiaryId | Yes | The beneficiary to send to |
quoteId | Yes | FX quote ID from POST /v1/fx-quotes |
amount + sourceCurrency | One of | Destination amount — send exactly this amount in the destination currency |
sourceAmount | One of | Source amount — deduct exactly this amount from the wallet |
reference | Yes | Your unique reference for idempotency |
Track the Transaction
Response:Transaction statuses
| Status | Description |
|---|---|
initiated | Transaction created, processing has started |
processing | Funds are being sent to the beneficiary |
succeeded | Funds delivered |
failed | Transaction failed |
List all transactions
Filter byreference or type using query parameters.
Webhook Events
Subscribe to transaction events for real-time status updates:| Event | Description |
|---|---|
transaction.initiated | Transaction created and processing has started |
transaction.succeeded | Funds delivered to the beneficiary |
transaction.failed | Transaction failed |
Next Steps
Global Wallets
Wallet product overview
Virtual Accounts
Fund wallets via dedicated ACH accounts
Wallets API Reference
Full API documentation