Use this API to initiate fund transfers between accounts using various payment rails. This endpoint supports multiple payment methods, each with specific requirements and processing characteristics.
- Specify full account details of originator and recipient, OR
- Use an existing recipient by providing the recipientId
Supported Payment Rails:
The API supports the following payment methods:
- INTERNAL - Instant transfers between accounts within the same financial institution
- ACH - Automated Clearing House transfers (standard processing, 1-3 business days)
- SAMEDAYACH - Same-day ACH transfers (processed within the same business day)
- WIRE - Domestic wire transfers (same-day processing, irrevocable)
- SWIFT - International wire transfers via SWIFT network
- External Card Pull - Pull funds from an external card to an account
- External Card Push - Push funds from an account to an external card
Request Requirements:
All transfer requests must include:
- Originator Details: Account information of the sender (account number, routing number, etc.)
- Recipient Details: Account information of the receiver (varies by payment rail)
- Amount: Transfer amount and currency
- Payment Rail: Specific payment method to use
Address Requirements:
For WIRE (Domestic) and SWIFT (International) transfers, the recipient's address is mandatory. You must provide:
stateCode- Two-letter US state code (for domestic transfers)countryCode- Two-letter ISO country code- Complete address details (line1, city, postalCode)
Refer to US State Codes for valid state code values.
Transfer Lifecycle and Status:
Transfers progress through various statuses during their lifecycle:
- DRAFT - Transfer created, awaiting execution
- AML_SCREENING - Transfer under compliance review
- AML_REJECTED - Transfer rejected during AML screening
- EXECUTION_SCHEDULED - Transfer scheduled for processing
- EXECUTION_PROCESSING - Transfer submitted and being processed
- EXECUTION_SUCCESS - Transfer completed successfully
- EXECUTION_FAILURE - Transfer failed during execution
- RETURNED - Transfer returned by receiving institution
- CANCELLED - Transfer canceled prior to submission
- COMPLIANCE_FAILURE - Transfer rejected due to compliance issue
- DELETED - Transfer marked for deletion
- UNKNOWN - Transfer status cannot be determined
For complete status descriptions and transitions, see Transfer Status.
Request Body Variations:
The request body structure varies by payment rail. Refer to the BODY PARAMS section below for specific schemas for each transfer type:
- Internal Transfer Request
- ACH Credit Transfer Request
- Same-Day ACH Transfer Request
- Domestic Wire Transfer Request
- International Wire (SWIFT) Transfer Request
- External Card Pull Request
- External Card Push Request
**Note1: All the payment API's have the endpoint: /payments **
**Note2: When using recipientId: The recipient's client must belong to the same originator account as the payment. If the recipient's client is not associated with the originator account, the system will return an error: 'Payment cannot be processed because the recipient ID does not belong to the originator account' **
Webhook Notifications:
Subscribe to webhooks to receive real-time notifications about transfer status changes:
| Event | Webhook Documentation |
|---|---|
| Create Transfer | Create Transfer |
| Submit Transfer | Submit Transfer |
| Force Submit Transfer | Force Submit Transfer |
| Create and Submit Transfer | Create and Submit Transfer |
Important Notes:
- All payment APIs use the endpoint:
/v1/payments - Ensure sufficient funds are available in the originator account before initiating transfers
- Wire transfers are typically irrevocable once processed
- International transfers may require additional compliance information
- Processing times vary by payment rail and may be affected by weekends and holidays
