Référence API/Devis et corridors
Devis et corridors
Les canaux listent chaque destination avec son type de bénéficiaire, ses limites, sa fenêtre d’arrivée et vos frais selon votre palier. Un devis tarife un paiement sur un canal et vaut 60 secondes. Les frais baissent avec le volume des 30 derniers jours ; les paliers sont convenus par compte. Pour le tableau des corridors à jour, utilisez l’explorateur de corridors.
List channels
/channelsEvery destination with status, coverage, recipient type, limits, typical arrival and your fee at your current tier.
Réponse 200
{
"data": [
{
"id": "spei_mxn",
"status": "live",
"country": "MX",
"currency": "MXN",
"rail": "spei",
"recipient_type": "bank_account",
"arrival": {
"min": "PT0M",
"max": "PT5M"
},
"limits": {
"min": "30.12",
"max": "300000.00",
"currency": "USDC"
},
"fee": {
"percent": "0.35",
"flat": "0.50",
"currency": "USDC"
}
},
{
"id": "claim_link",
"status": "live",
"country": null,
"currency": "USDC",
"rail": "claim_link",
"recipient_type": "phone",
"arrival": {
"min": "PT0M",
"max": "P30D"
},
"limits": {
"min": "1.00",
"max": "50000.00",
"currency": "USDC"
},
"fee": {
"percent": "0",
"flat": "0",
"currency": "USDC"
}
}
]
}Required recipient fields for a channel
/channels/{channel}/requirementsParamètres
channelpathstringobligatoire
Réponse 200
{
"channel": "spei_mxn",
"recipient_type": "bank_account",
"fields": [
{
"name": "holder_name",
"type": "string",
"required": true
},
{
"name": "clabe",
"type": "string",
"required": true,
"pattern": "^[0-9]{18}$"
},
{
"name": "recipient_kind",
"type": "enum",
"values": [
"individual",
"business"
],
"required": true
}
],
"limits": {
"min": "30.12",
"max": "300000.00",
"currency": "USDC"
}
}Create a quote
/quotesPrice one payout on one channel. Provide source_amount or destination_amount. Valid 60 seconds.
| Champ | Type | obligatoire | Notes |
|---|---|---|---|
| channel | string | obligatoire | |
| source_amount | Amount | facultatif | Decimal string. Up to two decimals for fiat, six for USDC. |
| destination_amount | Amount | facultatif | Decimal string. Up to two decimals for fiat, six for USDC. |
Requête
{
"channel": "chats_hkd",
"source_amount": "2500.00"
}Réponse 201
{
"id": "qt_5m2n",
"channel": "chats_hkd",
"source_amount": "2500.00",
"source_currency": "USDC",
"destination_amount": "19491.72",
"destination_currency": "HKD",
"rate": "7.8280",
"fees": {
"provider": "1.25",
"decaf": "8.75",
"fx_spread": "3.90",
"total": "13.90",
"currency": "USDC"
},
"arrival": {
"min": "PT1M",
"max": "P3D"
},
"expires_at": "2026-09-16T15:04:05Z"
}Erreurs: 400 validation_error, channel_unavailable, amount_out_of_range
Exemples: Create a quote
curl -X POST https://sandbox.api.decaf.so/v1/quotes \
-H "Authorization: Bearer $DECAF_API_KEY" \
-H "Content-Type: application/json" \
-d '{"channel":"chats_hkd","source_amount":"2500.00"}'Obtenir l’accès
Développez sur le sandbox dès cette semaine.
Dites-nous les corridors dont vous avez besoin et qui vous payez. Les clés sandbox sont délivrées par une personne.