Overview Coming Soon
Cross-border payments are coming soon. This preview gives you an early look at the expected experience so you can begin planning your integration.
As we prepare for launch, API fields, scopes, statuses, webhook events, and other details may evolve. Review the final documentation before moving your integration to production.
Cross-border payments let your end-users move USD from their Unit bank account to recipients in 100+ countries, delivered in the destination currency via the SWIFT network.
The flow:
- Save a counterparty
- Create a quote
- Submit a payment
Available for business and sole proprietorship customers.
See the API, Webhook Events, and Resources pages for endpoint details, event payloads, and JSON:API schemas.
Cross-border Counterparties
cross-border counterparty is the recipient of a cross-border payment. You must create a counterparty in order to send a payment.
Counterparty is created under a Customer.
You can create multiple counterparties and reuse them across payments.
More counterparty types will follow as we add cross-border payment rails.
See Create Cross-border Counterparty and Cross-border Counterparty for the full schema.
Cross-border Quotes
A quote is an offer for a cross-border payment.
It defines the payment amounts and FX rate when applicable.
You can review the quote before confirming the payment.
Create quotes via POST /quotes and retrieve them via GET /quotes/{quoteId}.
See Create Quote and Get Quote in the API reference, and Quote Lifecycle for statuses and expiry.
Cross-border Payments
A cross-border payment is an international transfer of funds.
To initiate a cross-border payment, a previously created quote must be provided.
See Cross-border Payment for the full attribute schema and example payload.
Foreign currency quotes expire 15 minutes after creation.
If you create a payment after the quote's expiresAt, the payment will be rejected with QuoteExpired.
Quote Lifecycle
Quotes are single-use — once used to create a payment, they cannot be reused.
Statuses
| Status | Description |
|---|---|
New | The quote has been created and is available to use. |
Used | The quote has been consumed by a payment. |
Expired | The quote expiresAt has passed, and it cannot be used to create a payment. |
Payment Lifecycle
Statuses
Payments transition through the following statuses asynchronously after creation.
| Status | Description |
|---|---|
Pending | Payment created; ledger debit posted to the source account. Processing is underway. |
PendingReview | Additional information is required before the payment can continue processing. The payment remains in this status until the necessary information is submitted, then returns to Pending. |
Initiated | Remittance submitted to the payment network. |
Sent | Funds dispatched to the recipient's bank. |
Completed | Payment confirmed as received by the recipient. |
Rejected | Payment failed. rejectionReason is populated. See Rejection reasons. |
Returned | Payment was sent or completed but subsequently returned by the beneficiary bank. returnReason is populated. See Return reasons. |