Create a transfer-out request
Deprecated. Use POST /quotes instead.
Same-currency transfers are now served by the quote endpoint. Create a quote
with an internal account source and an external account destination and set
immediatelyExecute: true to move the funds in a single request, exactly as
this endpoint does. This endpoint continues to work and its request and
response shapes are unchanged.
To migrate a request to POST /quotes:
- add
sourceType: ACCOUNTtosourceanddestinationType: ACCOUNTtodestination; the account IDs anddestination.paymentRailare unchanged - rename
amounttolockedCurrencyAmountand addlockedCurrencySide: SENDING remittanceInformationandpurposeOfPaymentcarry over unchanged- add
immediatelyExecute: trueto keep the single-request behavior
The quote response is a Quote rather than a Transaction; read
transactionId from it to track the resulting transaction.
Transfer funds from an internal account to an external account for a specific customer.
Authorizations
API token authentication using format <api token id>:<api client secret>
Headers
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.
"550e8400-e29b-41d4-a716-446655440000"
Body
Source internal account details
Destination external account details
Amount in the smallest unit of the currency (e.g., cents for USD/EUR, satoshis for BTC)
12550
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.
80"12345"
The purpose of the payment. This may be required when sending to certain geographies (e.g. India).
GIFT, SELF, GOODS_OR_SERVICES, EDUCATION, HEALTH_OR_MEDICAL, REAL_ESTATE_PURCHASE, TAX_PAYMENT, LOAN_PAYMENT, UTILITY_BILL, DONATION, TRAVEL, FAMILY_SUPPORT, SALARY_PAYMENT, OTHER Response
Transfer-out request created successfully.
- Incoming Transaction
- Outgoing Transaction
- Card Transaction
Unique identifier for the transaction
"Transaction:019542f5-b3e7-1d02-0000-000000000004"
Status of a payment transaction.
CREATED, PENDING, PENDING_AUTHORIZATION, PROCESSING, COMPLETED, REJECTED, FAILED, REFUNDED, EXPIRED Type of transaction (incoming payment or outgoing payment)
INCOMING Whether this transaction credits or debits the customer's account.
CREDIT, DEBIT Destination account details
- Account Destination
- UMA Address Destination
System ID of the customer this transaction belongs to
"Customer:019542f5-b3e7-1d02-0000-000000000001"
Platform-specific ID of the customer this transaction belongs to
"18d3e5f7b4a9c2"
Present when compliance review or required customer action is delaying settlement.
COUNTERPARTY_DECLARATION_REQUIRED, WALLET_VERIFICATION_REQUIRED, COUNTERPARTY_INFORMATION_REQUIRED, COMPLIANCE_REVIEW When the payment was or will be settled
"2025-08-15T14:30:00Z"
When the transaction was created
"2025-08-15T14:25:18Z"
When the transaction was last updated
"2025-08-15T14:30:00Z"
The time at which the platform confirmed delivery of the receipt to their customer.
"2025-08-15T14:31:00Z"
If this transaction was initiated by an agent, the system-generated ID of that agent. Absent for platform-initiated transactions.
"Agent:019542f5-b3e7-1d02-0000-000000000042"
Optional memo or description for the payment
"Payment for invoice #1234"
Amount sent in the sender's currency
Number of sending currency units per receiving currency unit. The rate is fee-exclusive: Grid deducts fees from the sending amount before converting at this rate.
1.08
The ID of the quote that was used to trigger this payment
"Quote:019542f5-b3e7-1d02-0000-000000000006"
The refund if transaction was refunded.
Additional information about the counterparty, if available and relevant to the transaction and platform.
Source account details
- Account Source
- UMA Address Source
- External Funding Source
Amount received in the recipient's currency. This is only absent for rule-based account sweeps if the sweep couldn't be quoted. It's always present otherwise.
The total fees available from the receive quote in the smallest unit of the sending currency (eg. cents).
x >= 010
Included for all transactions except those with "CREATED" status
If the transaction failed, this field provides the reason for failure.
LNURLP_FAILED, PAY_REQUEST_FAILED, PAYMENT_APPROVAL_WEBHOOK_ERROR, PAYMENT_APPROVAL_TIMED_OUT, OFFRAMP_FAILED, MISSING_MANDATORY_PAYEE_DATA, QUOTE_EXPIRED, QUOTE_EXECUTION_FAILED, COMPLIANCE_REJECTED, COLLECTION_FAILED, SWEEP_AMOUNT_OUT_OF_RANGE, SWEEP_QUOTE_FAILED