Instant Flows
Value passes from one external account to another without touching your balance.
✅ What this flow doesMoves value from one external account to another without it ever sitting in your TransFi balance. Fiat or crypto comes in from the payer, is converted if the currencies differ, and goes straight out to the receiver's account. Nothing to top up, nothing to settle.
📘 Use this when
- A payer is paying you and you want the value delivered straight to your bank account or wallet, not held on a balance
- You are paying a recipient and funding it directly, not from a pre-funded balance
- Your end user is buying or selling crypto for themselves — see On-Ramp, Off-Ramp & Exchange
How the money moves
Payin leg: the payer sends fiat via a local method, or crypto to a deposit address.
Conversion: if the currencies differ, TransFi converts at the quoted rate. Payout leg: the value is delivered to the external account or wallet named on the order.
Payer's account → TransFi (in transit) → receiver's account. Your balance is untouched.
The four instant flows
Which of the four you are running depends only on the currency pair.
| Flow | Pair | Example |
|---|---|---|
| 1 | Fiat → Crypto | A business pays EUR by bank transfer; you receive USDT in your wallet |
| 2 | Crypto → Fiat | You send USDT; a supplier receives EUR in their bank account |
| 3 | Fiat → Fiat | A sender pays GBP; a recipient receives PHP |
| 4 | Crypto → Crypto | USDT on one network in; USDC on another out |
Who is on each side
Each of the four flows can run in three party configurations. The API call is the same; what changes is who is named on the order.
| Configuration | Payer | Receiver | Sub-page |
|---|---|---|---|
| Instant collection | A registered sender | You | Instant Collections |
| Instant payout | You | A registered recipient | Instant Payouts |
| Same party | Your end user | The same end user | On-Ramp, Off-Ramp & Exchange |
📘 Same party is the difference between "convert" and "pay"
When the payer and the receiver are the same person, no money changes hands between parties — they are converting what they hold. That is an on-ramp, an off-ramp, or an exchange. When the payer and receiver are different, it is a collection or a payout, even if the currency changes on the way. See Who's on Each Side.
Before you start
- Sandbox credentials and your mid from displai.transfi.com
- No balance needed. Instant flows never draw from or credit your balance
- The payer and the receiver must each exist as users before the order does
- The external destination — bank account or wallet address — must be known at order creation
- A webhook endpoint, so you learn when the payout leg completes
The flow at a glance
- Register the parties → save each userId
- Quote the pair → GET /v3/rates?orderType=...
- Create the order naming payer, receiver, and the external destination
- The payer pays (fiat via payUrl, or crypto to the returned address)
- Value is converted and delivered to the destination
- Act on the terminal status
Order Statuses
An instant flow has two legs, so it passes through both payin and payout statuses.
| Status | Type | What it means | What to do |
|---|---|---|---|
initiated | Intermediate | Order created, waiting for the payer | Show pending |
fund_processing | Intermediate | Payer's fiat submitted, awaiting confirmation | Show "processing" |
fund_deposited | Intermediate | Payin leg complete, conversion in progress | Show "processing" |
asset_processing | Intermediate | Payout leg in progress | Show "delivering" |
fund_settled / asset_settled | Terminal ✓ | Delivered to the destination (fiat / crypto) | Mark complete |
fund_failed | Terminal ✗ | Payin never arrived | New order, new partnerId |
asset_settle_failed | Terminal ✗ | Payout leg could not complete | Contact support with the orderId |
→ Full reference: Orders & Statuses
APIs used in this flow
| Step | Endpoint | Reference |
|---|---|---|
| Register a sender | POST /v3/senders/individual | Create Individual Sender |
| Register a recipient | POST /v3/recipients/individual | Create Individual Recipient |
| Quote | GET /v3/echange-rates | Get Exchange Rates |
| Create the order | POST /v3/orders | Create Order |
| Track | GET /v3/orders/{orderId} | Get Order by ID |
| Simulate (sandbox) | POST /v3/simulation/order | Simulate Order Status |
Related
Instant Collections · Instant Payouts · On-Ramp, Off-Ramp & Exchange · Collections — when you want the value on your balance · Who's on Each Side
Updated about 4 hours ago