Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

API token authentication using format <api token id>:<api client secret>

Headers

Idempotency-Key
string

A unique identifier for the request. If the same key is sent multiple times, the server will return the same response as the first request.

Example:

"550e8400-e29b-41d4-a716-446655440000"

Body

application/json
source
object
required

Source internal account details

destination
object
required

Destination external account details

amount
integer<int64>

Amount in the smallest unit of the currency (e.g., cents for USD/EUR, satoshis for BTC)

Example:

12550

remittanceInformation
string

Free-form information about the payment that travels with it to the recipient. The field this populates depends on the payment rail: for ACH it populates the Addenda record, for FedNow and RTP it populates the remittanceInformation field, and for wires it populates the OBI (Originator to Beneficiary Information) / beneficiary information.

Maximum string length: 80
Example:

"12345"

Response

Transfer-out request created successfully

id
string
required

Unique identifier for the transaction

Example:

"Transaction:019542f5-b3e7-1d02-0000-000000000004"

status
enum<string>
required

Status of a payment transaction.

Available options:
CREATED,
PENDING,
PROCESSING,
COMPLETED,
REJECTED,
FAILED,
REFUNDED,
EXPIRED
type
enum<string>
required

Type of transaction (incoming payment or outgoing payment)

Available options:
INCOMING
direction
enum<string>
required

Whether this transaction credits or debits the customer's account.

Available options:
CREDIT,
DEBIT
destination
Account Destination · object
required

Destination account details

customerId
string
required

System ID of the customer (sender for outgoing, recipient for incoming)

Example:

"Customer:019542f5-b3e7-1d02-0000-000000000001"

platformCustomerId
string
required

Platform-specific ID of the customer (sender for outgoing, recipient for incoming)

Example:

"18d3e5f7b4a9c2"

receivedAmount
object
required

Amount received in the recipient's currency

settledAt
string<date-time>

When the payment was or will be settled

Example:

"2025-08-15T14:30:00Z"

createdAt
string<date-time>

When the transaction was created

Example:

"2025-08-15T14:25:18Z"

updatedAt
string<date-time>

When the transaction was last updated

Example:

"2025-08-15T14:30:00Z"

receiptDeliveryConfirmedAt
string<date-time>

The time at which the platform confirmed delivery of the receipt to their customer.

Example:

"2025-08-15T14:31:00Z"

agentId
string

If this transaction was initiated by an agent, the system-generated ID of that agent. Absent for platform-initiated transactions.

Example:

"Agent:019542f5-b3e7-1d02-0000-000000000042"

description
string

Optional memo or description for the payment

Example:

"Payment for invoice #1234"

counterpartyInformation
object

Additional information about the counterparty, if available and relevant to the transaction and platform.

Example:
source
Account Source · object

Source account details

fees
integer<int64>

The total fees available from the receive quote in the smallest unit of the receiving currency (eg. cents).

Required range: x >= 0
Example:

10

reconciliationInstructions
object

Included for all transactions except those with "CREATED" status

rateDetails
object

Details about the rate and fees for the transaction.

failureReason
enum<string>

If the transaction failed, this field provides the reason for failure.

Available options:
LNURLP_FAILED,
PAY_REQUEST_FAILED,
PAYMENT_APPROVAL_WEBHOOK_ERROR,
PAYMENT_APPROVAL_TIMED_OUT,
OFFRAMP_FAILED,
MISSING_MANDATORY_PAYEE_DATA,
QUOTE_EXPIRED,
QUOTE_EXECUTION_FAILED