What Are Payment Methods?
A payment method is a sub-resource of a counterparty that holds the rail-specific details needed to deliver a payment. Each payment method represents one delivery channel — a US bank account, an international bank account, a crypto wallet address, etc. Counterparties are identity shells and payment methods are the delivery instructions.All payment method IDs use the
pm_ prefix followed by a UUIDv7 identifier (e.g., pm_01953e1a5f4b7300). When creating a payment, you reference both the counterpartyId and the specific paymentMethodId.Payment Method Types
Thetype field is a discriminator that determines which fields are required and which rail the payment method supports.
| Type | Rail | Required Fields | Description |
|---|---|---|---|
us_bank | ACH, Fedwire | routingNumber, accountNumber, bankAccountType | US domestic bank account via ABA routing |
international_bank | SWIFT | iban (+ optional bic, bankName) | International bank account for cross-border wire transfers |
sepa_bank | SEPA | iban (+ optional bic) | EU SEPA bank account for EUR payments |
fps_bank | Faster Payments | sortCode, accountNumber | UK bank account for GBP Faster Payments |
crypto_wallet | Crypto | chain, walletAddress | Blockchain wallet address for on-chain payments |
open | OPEN | openId | Instant, fee-free transfers to other OpenFX platform entities |
type and currency in addition to the type-specific fields listed above.
Payment Method Lifecycle
Payment methods progress through a simple lifecycle:| Status | Description |
|---|---|
pending | Payment method has been created and is awaiting activation. |
active | Payment method is verified and available for payments. |
rejected | Validation failed. The payment method cannot be used. |
Creating Payment Methods
US Bank Account
For ACH and Fedwire payments to US domestic bank accounts.The
accountNumber field is write-only. It is never returned in API responses. After creation, responses include only accountNumberLast4 (e.g., "9012") for identification purposes.International Bank (SWIFT)
For cross-border wire transfers via the SWIFT network. Theiban field is required; bic is optional if derivable from the IBAN.
Crypto Wallet
For on-chain payments to blockchain wallet addresses. Supported chains:ethereum, solana, tron, base, polygon, ink, sui.
OPEN (Internal Platform Payments)
For instant, fee-free transfers to other entities on the OpenFX platform. TheopenId field identifies the recipient by their OpenFX customer ID (cus_) or account ID (acc_).
OPEN payments are different from internal transfers (
POST /transfers). Transfers move funds between your own accounts. OPEN payments send funds to another entity on the platform.Listing Payment Methods
Retrieve all payment methods for a counterparty with cursor-based pagination.Sensitive Field Handling
Payment method responses mask sensitive data:| Field | Behavior |
|---|---|
accountNumber | Write-only. Never returned in responses. |
accountNumberLast4 | Read-only. Last 4 digits returned for identification (e.g., "9012"). |
walletAddress | Returned in full (blockchain addresses are public by nature). |
iban | Returned in full. |
sortCode | Returned in full. |
Related Guides
API Reference
- POST /counterparties//payment-methods — Create payment method
- GET /counterparties//payment-methods — List payment methods
- GET /counterparties//payment-methods/ — Get payment method