Decaf
Sommaire

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

GET/channels

Every 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

GET/channels/{channel}/requirements

Paramè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

POST/quotes

Price one payout on one channel. Provide source_amount or destination_amount. Valid 60 seconds.

ChampTypeobligatoireNotes
channelstringobligatoire
source_amountAmountfacultatifDecimal string. Up to two decimals for fiat, six for USDC.
destination_amountAmountfacultatifDecimal 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.