Payouts
Execute a payout
Lock a quote and start the payout in one call.
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-limitedHeaders
API key.
Optional. 8–255 url-safe characters. 24h replay window; mismatched bodies on the same key return
409 IDEMPOTENCY_KEY_REUSED.Common fields
Source currency. ISO 4217 for fiat, ticker for stablecoin.
Destination currency.
Source amount. Must be
> 0.UUID from
POST /recipients.Exact-output target. When set, sizes
amount upstream so the recipient receives exactly this much.UUID of the recipient PM, when more than one exists.
Opaque route token (
rt_…) from a /quotes/* call. Pins the route.Partner-side classification (e.g.
salary).Free-text reference echoed back on reads.
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.- Fiat-to-fiat
- Stablecoin-to-fiat
- Onramp (fiat → stablecoin)
Send fiat from your stored payment method; recipient receives fiat.
UUID of your funding source.
Response
UUID of the new payout. Use with
GET /payouts/{id}.UUID of the locked quote. Use with
GET /rfq/status/{quoteId}.Hard-coded
accepted on success.Destination amount the recipient will receive.
Quoted FX rate, pre-fees.
Effective rate net of fees.
Map of
string → string describing where to send the source fiat. Keys vary by rail (accountNumber, bankName, swiftCode, etc.).Fees
Teel’s fee, in
fromCurrency.Teel’s fee in basis points (1 bp = 0.01%).
Your markup.
0 unless configured.On-chain gas (S2F / stablecoin flows).
Errors
| Status | Code | When |
|---|---|---|
400 | INVALID_JSON / INVALID_PARAMETER | Body malformed, required field missing, or a UUID doesn’t belong to your account. |
401 | UNAUTHORIZED | Missing or invalid key. |
403 | FORBIDDEN | Key lacks payouts:write. |
409 | IDEMPOTENCY_KEY_REUSED / IDEMPOTENCY_REQUEST_IN_FLIGHT | Idempotency conflict — back off per Retry-After for in-flight. |
429 | RATE_LIMITED | Per-key rate limit. |
Next steps
PollGET /rfq/status/{quoteId} or — preferred — subscribe to payout.status.updated and payout.delivered via Webhooks.Execute a payout