Tout ce dont vous avez besoin pour intégrer Toreador dans votre application.
Référence complète de l'API HTTP pour générer des QR codes et créer des sessions de paiement.
Le SDK officiel @toreador/sdk pour Node.js, Deno et les runtimes edge.
Notifications HTTPS signées HMAC-SHA256 quand vos sessions changent d'état.
Toutes les requêtes API nécessitent une clé API Pro. Ajoutez-la dans le header X-API-Key.
https://toreador.io/api/v1/public
Génère une image QR code en base64 pour les tokens natifs, avec les détails de session.
_meta avec le tier et les compteurs.
| token* | string — BTC, ETH, SOL, POL, USDC (Solana) |
| chainId* | string — bitcoin, ethereum, solana, polygon, base |
| amount* | string — Montant en unité du token (ex: "0.001") |
| recipientAddress* | string — Adresse du wallet destinataire |
Crée une session de données pour les tokens EVM (USDC, USDT) ou les intégrations DApp.
| token* | string — USDC, USDT, EURC |
| chainId* | string — ethereum, polygon, base |
| amount* | string — Montant en unité du token (ex: "50") |
| recipientAddress* | string — Adresse du wallet destinataire |
Récupère le statut courant d'une session de paiement EVM (créée via /create-session).
| id* | string — L'ID de session retourné par /create-session |
Statuts possibles : pending, submitted, confirming, completed, expired, failed.
Liste les 50 dernières générations de QR codes (créés via /generate-qr).
Liste les 50 dernières sessions de paiement EVM (créées via /create-session).
| Token | Blockchains | Méthode |
|---|---|---|
| BTC | bitcoin | generate-qr |
| ETH | ethereum, polygon, base | generate-qr |
| SOL | solana | generate-qr |
| POL | polygon | generate-qr |
| USDC | ethereum, polygon, base, solana | create-session / generate-qr (Solana) |
| USDT | ethereum, polygon, base | create-session |
| EURC | ethereum, base | create-session |
Le SDK officiel @toreador/sdk fournit une interface TypeScript type-safe pour l'API Toreador. Compatible avec Node.js 18+, Deno et les navigateurs modernes.
npm install @toreador/sdk
client.qrcode.generate(params)
Génère un QR code pour les tokens natifs (BTC, ETH, SOL, POL) ou les tokens SPL Solana.
Retourne: { success, type, qrData, qrCodeURL, token, chain, amount, recipientAddress }
client.qrcode.history()
Liste les 50 dernières générations de QR codes.
Retourne: { payments: PaymentRecord[] }
client.sessions.create(params)
Crée une session de paiement pour les tokens EVM non-natifs (USDC, USDT, EURC).
Retourne: { sessionId, url, expiresIn, ... }
client.sessions.list()
Liste les 50 dernières sessions de paiement.
Retourne: { sessions: SessionRecord[] }
client.sessions.getStatus(sessionId)
Récupère le statut d'une session de paiement.
Retourne: { status: 'pending' | 'submitted' | 'confirming' | 'completed' | 'expired' | 'failed', ... }
| Option | Type | Requis | Description |
|---|---|---|---|
| apiKey | string | Oui | Votre clé API (tdr_xxxx) |
| baseURL | string | No | URL de base de l'API. Par défaut : https://toreador.io/api/v1/public |
| fetch | function | No | Implémentation fetch custom. Par défaut : globalThis.fetch |
Recevez en temps réel des événements signés HMAC-SHA256 quand vos sessions changent d'état. Configurez vos endpoints depuis le dashboard.
| Event | Déclenchement |
|---|---|
| session.created | Quand /create-session réussit |
| session.submitted | Le payeur a diffusé la transaction |
| session.confirming | Première confirmation on-chain |
| session.completed | Confirmations requises atteintes |
| session.expired | Délai de 15 minutes dépassé |
| session.failed | Transaction échouée on-chain |
Chaque livraison inclut un header Toreador-Signature: t=<unix>,v1=<hex>. La signature est un HMAC-SHA256 sur la chaîne <timestamp>.<rawBody> avec le secret de votre endpoint. Toujours vérifier la signature avant de traiter l'évènement.
| Toreador-Signature | t=1761123121,v1=0xabc... |
| Toreador-Event-Id | evt_xxx — idempotence côté consommateur |
| Toreador-Event-Type | session.completed |
| Toreador-Delivery-Id | whd_xxx |
| Toreador-Attempt | numéro de tentative (1, 2, 3, ...) |
Si votre endpoint répond autre chose qu'un 2xx ou ne répond pas dans les 10 secondes, Toreador rejoue avec un backoff exponentiel : 0s, 5s, 5min, 30min, 2h, 5h, 10h, 24h, 48h (9 tentatives au total sur ~3 jours), puis statut failed. Un endpoint est désactivé automatiquement après 50 échecs consécutifs.
Les livraisons sont retentables manuellement depuis le dashboard. Idempotence côté consommateur : utilisez le header Toreador-Event-Id pour détecter les doublons.
Créez un compte Pro pour obtenir votre clé API et commencer à intégrer Toreador.
Passer Pro