Une surface d'API REST + MCP conçue pour les agents autonomes. Inscription, rechargement crypto et émission de carte en 4 appels — sans aucun humain dans la boucle, sans KYC, avec des scopes et des limites de débit par clé.
Les endpoints ci-dessous forment la fondation — les patterns sont ce que les concepteurs d'agents livrent réellement en production.
Des agents qui décident quoi acheter et exécutent l'achat sans approbation humaine. L'API émet une carte fraîche pour chaque transaction, la débite, puis la supprime — sans laisser de surface de paiement réutilisable dans la nature.
Émission programmatique d'une carte BIN-471938 (Visa Business) par compte publicitaire Meta / Google / TikTok. Faites tourner les cartes tous les 30 à 60 jours pour garder vos comptes propres.
Places de marché ou plateformes qui ont besoin d'une carte unique par transaction utilisateur final. Émission, débit, suppression en moins de 10 secondes — pas de scope PCI, pas de fardeau de stockage de carte.
Inscrivez-vous aux essais gratuits à grande échelle. Chaque essai reçoit une carte avec la recharge minimum ; sa suppression avant renouvellement bloque le prélèvement automatique proprement.
Agents multi-tenant qui facturent les SaaS amont (AWS, OpenAI, Cloudflare, GitHub) sur une carte par workspace. Les coûts deviennent attribuables au client sans exposer votre identité de facturation principale.
Chaque worker demande une carte via l'API au moment où il a besoin d'une surface de paiement, l'utilise pour l'action prévue, puis la ferme. Le coût unitaire de 1,50 $ est une fraction de toute approche alternative.
Quatre appels API font passer un agent de « pas de compte » à « carte prête à être débitée ». Remplacez TOKEN par votre bearer, CARD_ID par l'entier retourné à l'étape 3.
/.well-known/openapi.json
AI plugin manifest /.well-known/ai-plugin.json
MCP endpoint POST /api/v1/mcp
# Create an anonymous account. Returns seed + Bearer token (ONE TIME). curl -X POST https://cryptotopcard.com/api/v1/auth/signup \ -H "Content-Type: application/json" \ -d '{"name":"my-agent"}'
# Create a top-up: request $100 net in USDT (TRC-20). # Returns the deposit address + exact crypto amount (gross, includes 2% fee). curl -X POST https://cryptotopcard.com/api/v1/topups \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"coin":"USDTTRC","amount":100}' # {... "deposit_address":"T...", "crypto_amount":"102.92", "net_credit_usd":100}
# Once the balance shows the credited amount, issue a card. curl -X POST https://cryptotopcard.com/api/v1/cards \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"bin_id":"471938","amount":150,"label":"meta-acct-7"}' # {... "card_number":"4719 ...", "card_exp":"02/29", "card_cvv":"136"}
# When the card has served its purpose, delete it. Remaining balance refunds instantly. curl -X DELETE https://cryptotopcard.com/api/v1/cards/$CARD_ID \ -H "Authorization: Bearer $TOKEN"
Les mêmes tokens Bearer fonctionnent sur l'endpoint MCP à /api/v1/mcp. Une fois configuré, le LLM appelle `list_bins`, `create_topup`, `issue_card`, `freeze_card` comme outils natifs — aucun wrapping de code requis.
Ajoutez à ~/Library/Application Support/Claude/claude_desktop_config.json sous mcpServers :
"cryptotopcard": {
"command": "npx",
"args": ["-y", "mcp-remote",
"https://cryptotopcard.com/api/v1/mcp",
"--header", "Authorization:Bearer ctk_live_..."]
}
Dans les paramètres de votre GPT personnalisé, ajoutez une Action et importez la spec OpenAPI :
Import OpenAPI from:
https://cryptotopcard.com/.well-known/openapi.json
Auth: API Key (Bearer)
Dans les paramètres Cursor → Features → Model Context Protocol, ajoutez un nouveau serveur avec transport HTTP :
HTTP transport:
url: https://cryptotopcard.com/api/v1/mcp
authorization: Bearer ctk_live_...
Une fois connecté, demandez au modèle « émets une carte Visa Business à 200 $ financée en USDT » et il chaînera `list_bins → list_coins → create_topup → issue_card` automatiquement, en affichant l'adresse de dépôt et en attendant votre confirmation.
Dix-neuf routes au total. Publiques (sans auth) pour la découverte + l'inscription ; tout le reste nécessite un token Bearer avec le scope adapté à son opération.
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/coins | Liste les 20 cryptomonnaies prises en charge (public). |
| GET | /api/v1/bins | Liste les 7 gammes de BIN + frais (public). |
| POST | /api/v1/auth/signup | Crée un compte anonyme. Retourne la seed + le premier token API (unique). |
| POST | /api/v1/auth/login | Échange une phrase seed contre un nouveau token API. |
| GET | /api/v1/me | Infos du compte courant : solde, nombre de cartes, scopes. |
| POST | /api/v1/topups | Crée une facture de dépôt crypto. Le client paie le brut (frais 2 % inclus), le net est crédité. |
| GET | /api/v1/topups/:id | Récupère le statut courant d'un rechargement. |
| POST | /api/v1/topups/:id/cancel | Annule un rechargement en attente (sans effet une fois payé). |
| GET | /api/v1/cards | Liste les cartes actives + gelées (4 derniers chiffres seulement). |
| POST | /api/v1/cards | Émet une nouvelle carte. Débite 1,50 $ + le montant du solde. |
| GET | /api/v1/cards/:id | Détails complets de la carte (PAN, exp, CVV) pour une carte. |
| POST | /api/v1/cards/:id/freeze | Bloque tous les débits sur la carte. Réversible. |
| POST | /api/v1/cards/:id/unfreeze | Réactive une carte gelée. |
| POST | /api/v1/cards/:id/topup | Transfère des fonds du solde du compte vers le solde de la carte. |
| DELETE | /api/v1/cards/:id | Ferme une carte. Rembourse le solde restant sur le compte instantanément. |
| GET | /api/v1/keys | Liste les clés API de l'appelant (métadonnées uniquement, pas de token). |
| POST | /api/v1/keys | Génère une nouvelle clé API. Le token est retourné une seule fois. |
| DELETE | /api/v1/keys/:id | Révoque une clé API. |
| POST | /api/v1/mcp | Serveur MCP (JSON-RPC 2.0). Même auth Bearer. |
Chaque requête est authentifiée avec un token Bearer par utilisateur (ctk_live_…). Les tokens sont hashés en sha256 au repos ; nous ne stockons jamais la valeur brute. Chaque token porte une liste de scopes séparés par des virgules (read, topups, cards) — un token sans « cards » ne peut pas émettre de carte.
Trois scopes disponibles. Par défaut pour les nouveaux tokens : read,topups,cards — retirez des scopes à la création d'un token (POST /keys avec scopes: "read") pour limiter le rayon d'impact.
read — Endpoints GET (infos compte, liste des cartes, liste des rechargements).topups — POST /topups, /topups/:id/cancel.cards — POST /cards, /cards/:id/freeze, /cards/:id/unfreeze, /cards/:id/topup, DELETE /cards/:id, GET /cards/:id (sensible).Il n'y a pas de récupération par email. La phrase seed retournée à l'inscription est l'unique identifiant — si elle est perdue, le compte et son solde sont irrécupérables. Conservez-la dans un gestionnaire de secrets. Faites tourner les tokens API librement via POST /keys.
Les endpoints publics fonctionnent sans compte. L'inscription tient en un POST. Essayez le démarrage rapide de bout en bout avant d'intégrer.
Lire le démarrage rapide