payoutRails[] are populated, decided by
the provider behind the currency. Fields that do not apply are omitted entirely,
not returned as null.
These are all Get account bodies — the only
endpoint that reliably returns funding instructions.
Field matrix
● always present · ◐ may or may not be present · — never present
bank.addressDetailsis absent for every currency. Readbank.addressinstead.paymentReferenceis absent for every currency. Do not build deposit attribution on it.◐means the field may or may not be present — write your integration to tolerate either.- Rail sets are not a fixed contract and can change. Iterate
payoutRailsrather than indexing into it.
Get account — a 200 per currency
USD
Rails: ACH + Wire + SWIFT · Category:ONRAMP
All three rails carry the same account number and routing number; swift adds a bic on top for international senders. beneficiaryName is the provider’s legal entity, not your customer.
USD
EUR
Rails: SEPA · Category:ONRAMP
IBAN + BIC. beneficiaryName is overridden with the real customer name for EUR and GBP.
EUR
GBP
Rails: Faster Payments · Category:ONRAMP
Sort code + account number. GBP, MXN and BRL are priced by a single currency-wide fee that applies to every rail.
GBP
MXN
Rails: SPEI · Category:ONRAMP
CLABE is the payment coordinate. Whether an accountNumber also appears alongside it is the provider’s choice — handle both.
MXN
BRL
Rails: PIX · Category:ONRAMP
brCode is the full PIX BR Code payload — render it as a QR code for the payer.
BRL
AED · FIAT
Rails: UAEFTS + UAEIPP · Category:FIAT
A FIAT account holds what it receives, so there is no destination. AED FIAT is the only case that carries depositFeeNote instead of per-rail depositFee. Bank address is not returned for AED.
AED FIAT
AED · ONRAMP
Rails: UAEFTS + UAEIPP · Category:ONRAMP
Same rails as AED FIAT, but it gains destination and per-rail depositFee, and loses depositFeeNote. Defaults are USDT on Ethereum.
AED ONRAMP