Create Transfer

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.

  1. Specify full account details of originator and recipient, OR
  2. 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:

EventWebhook Documentation
Create TransferCreate Transfer
Submit TransferSubmit Transfer
Force Submit TransferForce Submit Transfer
Create and Submit TransferCreate 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
Language
Credentials
Bearer
JWT
Click Try It! to start a request and see the response here!