Para agentes de IA

Construa agentes que emitem cartões de pagamento

Uma camada de API REST + MCP feita para agentes autônomos. Cadastre-se, recarregue com cripto e emita cartões em 4 chamadas — sem nenhum humano no meio, sem KYC, com escopos por chave e limites de taxa completos.

REST + MCP Auth Bearer No KYC
Visa
Agent-issued
4719 38•• •••• ••••
Issued byctk_live_…
CreatedJust now
~5sTempo de emissão do cartão
$1.50Por cartão, taxa única
20 / accountCartões ativos por conta
Zero KYCCadastro só com seed
O que você pode construir

Seis padrões para os quais esta API foi feita

Os endpoints abaixo são a base — os padrões são o que os construtores de agentes realmente colocam em produção.

Agentes de gasto autônomo

Agentes que decidem o que comprar e executam a compra sem aprovação humana. A API emite um cartão novo por transação, cobra e depois o exclui — sem deixar nenhuma superfície de pagamento reutilizável solta por aí.

Automação de campanhas de anúncios

Emissão programática de um cartão BIN-471938 (Visa Business) por conta de anúncios Meta / Google / TikTok. Rotacione cartões a cada 30-60 dias para manter as contas limpas.

Cartões descartáveis por usuário

Marketplaces ou plataformas que precisam de um cartão único por transação de usuário final. Emita, cobre, exclua em menos de 10 segundos — sem escopo PCI, sem peso de armazenar cartões.

Coletores de teste gratuito

Cadastre-se em testes gratuitos em escala. Cada teste recebe um cartão com a recarga mínima; excluir antes da renovação bloqueia a cobrança automática de forma limpa.

Cobrança SaaS por workspace

Agentes multi-tenant que cobram SaaS upstream (AWS, OpenAI, Cloudflare, GitHub) em um cartão por workspace. Os custos passam a ser atribuíveis ao cliente sem vazar sua identidade de cobrança mestre.

Workers de scraping / cadastro

Cada worker solicita um cartão via API no momento em que precisa de uma superfície de pagamento, usa para a ação pretendida e o fecha. O custo unitário de US$ 1,50 é uma fração de qualquer alternativa.

Início rápido

Do zero ao cartão emitido em 4 chamadas

Quatro chamadas de API levam um agente de "sem conta" a "cartão pronto para cobrar". Substitua TOKEN pelo seu bearer e CARD_ID pelo inteiro retornado no passo 3.

1. Cadastre-se (cria uma conta 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. Crie uma recarga (retorna o endereço de depósito + valor exato em 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. Emita um cartão (retorna número, validade e 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. Use o cartão. Quando terminar, exclua (reembolsa o saldo restante instantaneamente)

# 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());
Integração MCP

Chamada nativa de ferramentas no Claude, ChatGPT e Cursor

Os mesmos tokens Bearer funcionam no endpoint MCP em /api/v1/mcp. Uma vez configurado, o LLM chama `list_bins`, `create_topup`, `issue_card`, `freeze_card` como ferramentas nativas — sem nenhum wrapper de código necessário.

Claude Desktop / Claude Code

Adicione em ~/Library/Application Support/Claude/claude_desktop_config.json dentro de mcpServers:

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

ChatGPT Custom GPT

Nas configurações do seu GPT personalizado, adicione uma Action e importe a especificação OpenAPI:

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

Cursor / Continue / Cline

Nas configurações do Cursor → Features → Model Context Protocol, adicione um novo servidor com transporte HTTP:

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

Depois de conectar, peça ao modelo "emita um cartão Visa Business de US$ 200 financiado com USDT" e ele encadeará `list_bins → list_coins → create_topup → issue_card` automaticamente, exibindo o endereço de depósito e aguardando sua confirmação.

Superfície da API

Todos os endpoints num relance

Dezenove rotas no total. Públicas (sem auth) para descoberta + cadastro; todo o resto exige um token Bearer com escopo para sua operação.

MethodPathDescription
GET/api/v1/coinsLista as 20 criptomoedas suportadas (pública).
GET/api/v1/binsLista as 7 categorias de BIN + taxas (pública).
POST/api/v1/auth/signupCria uma conta anônima. Retorna a seed + primeiro token de API (única vez).
POST/api/v1/auth/loginTroca uma frase seed por um token de API novo.
GET/api/v1/meDados da conta atual: saldo, número de cartões, escopos.
POST/api/v1/topupsCria uma fatura de depósito em cripto. O cliente paga o valor bruto (incl. taxa de 2%), o líquido é creditado.
GET/api/v1/topups/:idObtém o status atual de uma recarga.
POST/api/v1/topups/:id/cancelCancela uma recarga pendente (sem efeito se já foi paga).
GET/api/v1/cardsLista cartões ativos + congelados (somente últimos 4 dígitos).
POST/api/v1/cardsEmite um novo cartão. Debita US$ 1,50 + valor do saldo.
GET/api/v1/cards/:idDetalhes completos do cartão (PAN, validade, CVV) para um cartão.
POST/api/v1/cards/:id/freezeBloqueia todas as cobranças no cartão. Reversível.
POST/api/v1/cards/:id/unfreezeReativa um cartão congelado.
POST/api/v1/cards/:id/topupMove fundos do saldo da conta para o saldo do cartão.
DELETE/api/v1/cards/:idEncerra um cartão. Reembolsa o saldo restante para a conta instantaneamente.
GET/api/v1/keysLista as chaves de API do chamador (apenas metadados, sem o token).
POST/api/v1/keysGera uma nova chave de API. Token retornado uma única vez.
DELETE/api/v1/keys/:idRevoga uma chave de API.
POST/api/v1/mcpServidor MCP (JSON-RPC 2.0). Mesma autenticação bearer.
Modelo de segurança

Escopos por chave, limites de taxa deslizantes, sem segredos recuperáveis

Cada requisição é autenticada com um token Bearer por usuário (ctk_live_…). Os tokens são hash sha256 em repouso; nunca armazenamos o valor bruto. Cada token carrega uma lista de escopos separados por vírgula (read, topups, cards) — um token sem "cards" não consegue emitir um cartão.

Limites de taxa

Escopos

Três escopos disponíveis. O padrão para tokens novos é read,topups,cards — remova escopos ao criar um token (POST /keys com scopes: "read") para limitar o raio de impacto.

Modelo de recuperação

Não existe recuperação por e-mail. A frase seed retornada no cadastro é a única credencial — se perdida, a conta e seu saldo ficam irrecuperáveis. Guarde em um gerenciador de segredos. Rotacione tokens de API à vontade com POST /keys.

Conecte seu primeiro agente em menos de 5 minutos

Os endpoints públicos funcionam sem conta. O cadastro leva um POST. Teste o quickstart de ponta a ponta antes de integrar.

Ler o início rápido