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 string → string 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.