Para agentes de IA

Construye agentes que emiten tarjetas de pago

Una superficie API REST + MCP diseñada para agentes autónomos. Regístrate, recarga con cripto y emite tarjetas en 4 llamadas: sin intervención humana, sin KYC, con scopes por clave y límites de tasa completos.

REST + MCP Autenticación Bearer No KYC
Visa
Agent-issued
4719 38•• •••• ••••
Issued byctk_live_…
CreatedJust now
~5sTiempo de emisión
$1.50Por tarjeta, pago único
20 / accountTarjetas activas por cuenta
Cero KYCRegistro solo con seed
Lo que puedes construir

Seis patrones para los que se diseñó esta API

Los endpoints son la base; los patrones son lo que los constructores de agentes realmente lanzan.

Agentes de gasto autónomos

Agentes que deciden qué comprar y ejecutan la compra sin aprobación humana. La API emite una tarjeta nueva por transacción, la cobra y la elimina, sin dejar ninguna superficie de pago reutilizable.

Automatización de campañas publicitarias

Emisión programática de una tarjeta BIN-471938 (Visa Business) por cada cuenta publicitaria de Meta / Google / TikTok. Rota las tarjetas cada 30-60 días para mantener las cuentas limpias.

Tarjetas desechables por usuario

Marketplaces o plataformas que necesitan una tarjeta única por transacción de usuario final. Emite, cobra y elimina en menos de 10 segundos: sin alcance PCI, sin carga de almacenamiento de tarjetas.

Recolectores de pruebas gratuitas

Date de alta en pruebas gratuitas a escala. Cada prueba recibe una tarjeta con la carga mínima; eliminarla antes de la renovación bloquea el cobro automático de forma limpia.

Facturación SaaS por workspace

Agentes multi-tenant que facturan SaaS upstream (AWS, OpenAI, Cloudflare, GitHub) con una tarjeta por workspace. Los costes se imputan al cliente sin filtrar tu identidad de facturación maestra.

Workers de scraping / registro

Cada worker solicita una tarjeta vía API justo cuando necesita una superficie de pago, la usa para la acción prevista y la cierra. El coste unitario de 1,50 $ es una fracción de cualquier alternativa.

Inicio rápido

De cero a tarjeta emitida en 4 llamadas

Cuatro llamadas a la API llevan a un agente de "sin cuenta" a "tarjeta lista para cobrar". Sustituye TOKEN por tu bearer y CARD_ID por el entero devuelto en el paso 3.

1. Regístrate (crea una cuenta anónima + token bearer)

# 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"}'
import requests
r = requests.post(
    "https://cryptotopcard.com/api/v1/auth/signup",
    json={"name": "my-agent"},
).json()
TOKEN = r["data"]["token"]
SEED  = r["data"]["seed"]    # persist both!
auth  = {"Authorization": f"Bearer {TOKEN}"}
const r = await fetch("https://cryptotopcard.com/api/v1/auth/signup", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ name: "my-agent" }),
}).then(r => r.json());
const TOKEN = r.data.token;       // persist!
const SEED  = r.data.seed;
const auth  = { "Authorization": `Bearer ${TOKEN}` };

2. Crea una recarga (devuelve la dirección de depósito + el importe exacto en cripto)

# 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}
t = requests.post(
    "https://cryptotopcard.com/api/v1/topups",
    json={"coin": "USDTTRC", "amount": 100},
    headers=auth,
).json()["data"]
# Send t["crypto_amount"] USDT-TRC20 to t["deposit_address"].
# When confirmed (poll GET /topups/<id>), $100 lands on the balance.
const t = (await fetch("https://cryptotopcard.com/api/v1/topups", {
  method: "POST",
  headers: { ...auth, "Content-Type": "application/json" },
  body: JSON.stringify({ coin: "USDTTRC", amount: 100 }),
}).then(r => r.json())).data;
// Send t.crypto_amount USDT-TRC20 to t.deposit_address.

3. Emite una tarjeta (devuelve número, exp y CVV)

# 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"}
c = requests.post(
    "https://cryptotopcard.com/api/v1/cards",
    json={"bin_id": "471938", "amount": 150, "label": "meta-acct-7"},
    headers=auth,
).json()["data"]
print(c["card_number"], c["card_exp"], c["card_cvv"])
const c = (await fetch("https://cryptotopcard.com/api/v1/cards", {
  method: "POST",
  headers: { ...auth, "Content-Type": "application/json" },
  body: JSON.stringify({ bin_id: "471938", amount: 150, label: "meta-acct-7" }),
}).then(r => r.json())).data;
console.log(c.card_number, c.card_exp, c.card_cvv);

4. Usa la tarjeta. Cuando termines, elimínala (reembolsa el saldo restante al instante)

# 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"
requests.delete(
    f"https://cryptotopcard.com/api/v1/cards/{c['card_id']}",
    headers=auth,
).json()  # {"ok":true,"data":{"deleted":true,"refunded_usd":150.0}}
await fetch(`https://cryptotopcard.com/api/v1/cards/${c.card_id}`, {
  method: "DELETE", headers: auth,
}).then(r => r.json());
Integración MCP

Llamada nativa a herramientas en Claude, ChatGPT, Cursor

Los mismos tokens Bearer funcionan en el endpoint MCP en /api/v1/mcp. Una vez configurado, el LLM llama a `list_bins`, `create_topup`, `issue_card`, `freeze_card` como herramientas nativas, sin envoltorio de código.

Claude Desktop / Claude Code

Añade en ~/Library/Application Support/Claude/claude_desktop_config.json bajo mcpServers:

"cryptotopcard": { "command": "npx", "args": ["-y", "mcp-remote", "https://cryptotopcard.com/api/v1/mcp", "--header", "Authorization:Bearer ctk_live_..."] }

ChatGPT Custom GPT

En los ajustes de tu GPT personalizado, añade una Action e importa la spec OpenAPI:

Import OpenAPI from: https://cryptotopcard.com/.well-known/openapi.json Auth: API Key (Bearer)

Cursor / Continue / Cline

En Cursor: Settings → Features → Model Context Protocol, añade un servidor nuevo con transporte HTTP:

HTTP transport: url: https://cryptotopcard.com/api/v1/mcp authorization: Bearer ctk_live_...

Tras conectar, pide al modelo "emite una tarjeta Visa Business de 200 $ financiada con USDT" y encadenará `list_bins → list_coins → create_topup → issue_card` automáticamente, mostrando la dirección de depósito y esperando tu confirmación.

Superficie de la API

Todos los endpoints de un vistazo

Diecinueve rutas en total. Públicas (sin auth) para descubrimiento + registro; el resto requiere un token Bearer con scope acorde a su operación.

MethodPathDescription
GET/api/v1/coinsLista las 20 criptomonedas compatibles (público).
GET/api/v1/binsLista los 7 niveles de BIN + comisiones (público).
POST/api/v1/auth/signupCrea una cuenta anónima. Devuelve la seed + el primer token API (una sola vez).
POST/api/v1/auth/loginCanjea una frase seed por un token API nuevo.
GET/api/v1/meInfo de la cuenta actual: saldo, número de tarjetas, scopes.
POST/api/v1/topupsCrea una factura de depósito en cripto. El cliente paga el bruto (incl. 2 % de comisión), se acredita el neto.
GET/api/v1/topups/:idObtén el estado actual de una recarga.
POST/api/v1/topups/:id/cancelCancela una recarga pendiente (sin efecto una vez pagada).
GET/api/v1/cardsLista las tarjetas activas + congeladas (solo last4).
POST/api/v1/cardsEmite una tarjeta nueva. Debita 1,50 $ + importe del saldo.
GET/api/v1/cards/:idDatos completos de la tarjeta (PAN, exp, CVV) para una tarjeta.
POST/api/v1/cards/:id/freezeBloquea todos los cargos en la tarjeta. Reversible.
POST/api/v1/cards/:id/unfreezeReactiva una tarjeta congelada.
POST/api/v1/cards/:id/topupMueve fondos del saldo de la cuenta al saldo de la tarjeta.
DELETE/api/v1/cards/:idCierra una tarjeta. Reembolsa el saldo restante a la cuenta al instante.
GET/api/v1/keysLista las claves API de quien llama (solo metadatos, sin token).
POST/api/v1/keysGenera una nueva clave API. El token se devuelve una sola vez.
DELETE/api/v1/keys/:idRevoca una clave API.
POST/api/v1/mcpServidor MCP (JSON-RPC 2.0). Misma autenticación bearer.
Modelo de seguridad

Scopes por clave, límites de tasa deslizantes, sin secretos recuperables

Cada petición se autentica con un token Bearer por usuario (ctk_live_…). Los tokens se almacenan con hash sha256; nunca guardamos el valor en claro. Cada token lleva una lista de scopes separados por comas (read, topups, cards): un token sin "cards" no puede emitir una tarjeta.

Límites de tasa

Scopes

Tres scopes disponibles. El predeterminado para tokens nuevos es read,topups,cards: reduce scopes al crear un token (POST /keys con scopes: "read") para limitar el radio de impacto.

Modelo de recuperación

No hay recuperación por email. La frase seed que se devuelve al registrarse es la única credencial: si se pierde, la cuenta y su saldo son irrecuperables. Guárdala en un gestor de secretos. Rota tokens API libremente con POST /keys.

Conecta tu primer agente en menos de 5 minutos

Los endpoints públicos funcionan sin cuenta. El registro es un POST. Prueba el quickstart de principio a fin antes de integrar.

Leer el inicio rápido