Skip to main content
POST
Execute a payout
Lock + start a payout in one call. Pick the matching tab — shapes differ by corridor. Response: { "success": true, "data": { … } }.
Scope payouts:write · rate-limited

Headers

string
required
API key.
string
Optional. 8–255 url-safe characters. 24h replay window; mismatched bodies on the same key return 409 IDEMPOTENCY_KEY_REUSED.

Common fields

string
required
Source currency. ISO 4217 for fiat, ticker for stablecoin.
string
required
Destination currency.
number
required
Source amount. Must be > 0.
string
required
UUID from POST /recipients.
number
Exact-output target. When set, sizes amount upstream so the recipient receives exactly this much.
string
UUID of the recipient PM, when more than one exists.
string
Opaque route token (rt_…) from a /quotes/* call. Pins the route.
string
Partner-side classification (e.g. salary).
string
Free-text reference echoed back on reads.
string
S3 key for an attached supporting document. Required by some compliance-bearing onramp flows.

Request body

Switch tabs for the type-specific fields and response shape.
Send fiat from your stored payment method; recipient receives fiat.
string
required
UUID of your funding source.

Response

string
UUID of the new payout. Use with GET /payouts/{id}.
string
UUID of the locked quote. Use with GET /rfq/status/{quoteId}.
string
Hard-coded accepted on success.
number
Destination amount the recipient will receive.
number
Quoted FX rate, pre-fees.
number
Effective rate net of fees.
object
Per-payout fee breakdown — see Fees.
object
Map of stringstring describing where to send the source fiat. Keys vary by rail (accountNumber, bankName, swiftCode, etc.).

Fees

number
Teel’s fee, in fromCurrency.
integer
Teel’s fee in basis points (1 bp = 0.01%).
number
Your markup. 0 unless configured.
number
On-chain gas (S2F / stablecoin flows).

Errors

Next steps

Poll GET /rfq/status/{quoteId} or — preferred — subscribe to payout.status.updated and payout.delivered via Webhooks.