🇺🇸 What we support
- Virtual Accounts - Deposit USD via ACH, Wire, or FedNow and receive payments from 3rd party businesses.
- Transfers - Onramp USD via Wire, ACH, Same Day ACH, or FedNow as a 1st party or from 3rd party businesses, offramp to any recipient including via FedNow.
- Liquidation Addresses - Offramp from stablecoin or crypto to USD via Wire, ACH, or FedNow.
- Supported Countries - We support USD on/offramps for customers in +100 countries.
Logistics
Virtual accounts are fully permitted to receive the following transactions:- First-party payments where you are sending USD from your bank, fintech app, or brokerage account
- Payroll payments from businesses
- Third-party payments where a registered business sends USD from its bank account
- Third-party payments from a family member’s bank account, where you share a surname
- Third-party Person-to-Person payments for an amount less than $4,000
Request / Response Examples
Related APIs
- Create a USD External Account to use as a Transfer or Liquidation Address offramp destination.
- Create a USD Virtual Account to onramp funds using a unique account and routing number.
The examples below include
// comments for readability. Strip these (and any trailing commas) before sending — they are not valid JSON and will cause a parse error if sent as-is.- External Account
- Virtual Account
- Transfer Onramp
- Transfer Offramp
Request
Response
ACH
payment_rail: Useachfor outbound (offramp) transfers. Inbound (onramp) ACH pushed by the customer’s bank uses theach_pushrail, which is also what appears in Virtual Account deposit instructions.ach_reference: Optional reference included with an ACH offramp. Maximum 10 characters; allowed characters areA–Z,a–z,0–9, and spaces. Set this on thedestinationobject.trace_number: A unique 15-digit number assigned to each ACH transaction. Use this to uniquely identify ACH payments.description: The ACH description set by the sender, configurable via API for offramps. For onramps, this is a read-only field returned when available.sender_name/sender_bank_routing_number: Sender identity fields returned read-only in onramp responses when available.
Same Day ACH
payment_rail:ach_same_day- Same response fields as standard ACH (
trace_number,description,sender_name,ach_reference).
Wire
payment_rail:wirewire_message: Optional memo included with the transfer. Up to 140 characters, validated as 4 lines of 35 characters each per the Fedwire standard. Set this on thedestinationobject of an offramp transfer.imad: The Input Message Accountability Data — a unique identifier assigned to each incoming Fedwire transaction. Returned read-only in onramp transfer responses and useful for reconciliation and tracing with your bank.originator_name/originator_address: Name and address of the sender, returned read-only in onramp responses when available.bank_beneficiary_name/bank_beneficiary_address: Beneficiary details returned read-only in onramp responses when available.
FedNow ⚡️
- Maximum $10,000,000 per onramp (this is the FedNow network limit)
- 1st and 3rd party onramps and offramps are supported
- FedNow operates 24/7/365 and settles in seconds
- Payment tracking identifiers: FedNow onramps will include the following identifiers:
end_to_end_id: The end-to-end identifier assigned by the originator that travels with the payment across the FedNow network. Available across both the Transfers and Virtual Accounts APIs.transaction_id: The unique transaction identifier assigned to the FedNow payment. Available across both the Transfers and Virtual Accounts APIs.- We may add more identifiers where helpful.
- Originator details: FedNow onramps will include, if supplied:
sender_name: The name of the business or individual who initiated the transactionsender_bank_routing_number: The routing number of the entity that initiated this transaction
- How to identify whether a deposit arrived via FedNow? Use the
payment_received_railfield on the Transfer source, or thepayment_railfield on the Virtual Account source. For FedNow onramps,payment_received_railwill befednow. - Please note you must clearly disclose fee details applicable to FedNow transfers (e.g., FedNow send/receive fees) in a way that is clear, concise, and accessible to your end users.
Offramps (Beta)
FedNow offramps are currently in beta. Reach out to sales to join the waitlist and we’ll open spots as we can!
Register a USD external account
payment_rails object indicating which USD payment rails are supported for this account. Check payment_rails.supported before routing a payment on a given rail — see the eligibility note above.
Create an offramp
To create a FedNow offramp, setdestination.payment_rail to fednow.
