AgentKit x402

API de utilidade de pagamento por chamada para agentes via x402 (USDC na Base): verificações de e-mail/domínio, auditoria de DMARC, auditoria de site, URL para markdown, validadores de IBAN.

Servidor MCP hospedado

npx add-mcp 'https://agentkit-x402.erikssonanton2001.workers.dev/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

API utilitária de pagamento por chamada e servidor MCP remoto para agentes de IA no Cloudflare Workers, pago em USDC via x402: validação de e-mail, SPF/DMARC, DNS, contatos de sites, URL para Markdown, IBAN, validadores suecos.

  • JavaScript 100%

moneyman-code 88fdc131ef x402: build payment middleware per request (cached init promise can hang across requests in workerd)

2026-10-17 02:39:31 +02:00
registryx402: build payment middleware per request (cached init promise can hang across requests in workerd)2026-10-17 02:39:31 +02:00
scriptsAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
shimsAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
srcx402: build payment middleware per request (cached init promise can hang across requests in workerd)2026-10-17 02:39:31 +02:00
testAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
testlibAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
.gitignoreAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
LICENSEAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
package-lock.jsonAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
package.jsonAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
README.mdAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00

AgentKit x402

Dê a um agente de IA ferramentas pequenas e componíveis sem conta ou chave de API: valide um e-mail antes de enviar, inspecione SPF/DMARC/DKIM, consulte DNS, transforme uma página pública em Markdown, extraia contatos publicados, audite SEO, valide IBANs ou lide com personnummer, orgnr, bankgiro e cálculos de dias bancários suecos. Cada requisição é um HTTP GET que retorna JSON e é paga em USDC na Base com x402 v2.

Preços e endpoints

EndpointPreçoCaso de uso
/v1/email-check?email=$0.002Sintaxe, flags de descartável/papel/provedor gratuito, sugestão de erro de digitação e verificações MX/A
/v1/email-auth?domain=$0.01Auditoria de SPF, DMARC, seletor DKIM, MX, BIMI, MTA-STS e TLS-RPT
/v1/domain-dns?domain=$0.005Registros A, AAAA, NS, MX, TXT, CAA, SOA, CNAME, DNSSEC
/v1/site-contacts?url=$0.02E-mails, telefones, redes sociais, dicas de endereço e números de organização suecos publicados
/v1/site-audit?url=$0.02Auditoria técnica de SEO e tecnologia de uma página
/v1/url-markdown?url=$0.005HTML estático para Markdown limpo para um LLM
/v1/se/validate?type=&value=$0.001personnummer, samordningsnummer, orgnr, bankgiro, plusgiro e OCR suecos
/v1/iban?iban=$0.001Validação de formato IBAN e mod-97
/v1/se/account-to-iban?clearing=&account=$0.002Conta sueca para IBAN/BIC com checksum
/v1/bank-days?from=&add=$0.001Aritmética de dias bancários suecos

Exemplos estáticos são gratuitos em /v1/demo/{slug}. Documentos de descoberta são /openapi.json, /llms.txt e /.well-known/x402.

MCP

O endpoint MCP remoto é https://agentkit-x402.erikssonanton2001.workers.dev/mcp (HTTP streamable, JSON-RPC 2.0). Claude Desktop ou Cursor podem usar a ponte mcp-remote:

{
  "mcpServers": {
    "agentkit-x402": {
      "command": "npx",
      "args": ["mcp-remote", "https://agentkit-x402.erikssonanton2001.workers.dev/mcp"]
    }
  }
}

Ferramentas gratuitas incluem pricing e demo. Ferramentas pagas retornam requisitos de pagamento quando chamadas sem PAYMENT-SIGNATURE; reenvie a requisição MCP com um payload de pagamento x402 v2 ou chame o endpoint REST diretamente. A maioria dos clientes MCP não consegue assinar pagamentos x402, então use um cliente compatível com x402 (por exemplo, um wrapper @x402/fetch) ao chamar ferramentas pagas.

Pagamento: 402 → assinar → tentar novamente

Uma chamada não paga intencionalmente retorna 402 Payment Required; ela não cobra nada.

# 1. Request the resource and save/read the PAYMENT-REQUIRED header.
curl -i 'https://agentkit-x402.erikssonanton2001.workers.dev/v1/email-check?email=anna@example.com'

# 2. Have an x402 v2 exact-scheme client sign that header's requirements
#    with a wallet funded in USDC on Base. The signature is request-specific.

# 3. Retry with the client-produced header (placeholder shown here).
curl -i \
  -H 'PAYMENT-SIGNATURE: <base64 x402 v2 payment signature>' \
  'https://agentkit-x402.erikssonanton2001.workers.dev/v1/email-check?email=anna@example.com'

Em JavaScript, o wrapper oficial de fetch x402 executa os passos 1–3:

import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const signer = privateKeyToAccount(process.env.PRIVATE_KEY);
const client = new x402Client().register("eip155:*", new ExactEvmScheme(signer));
const payFetch = wrapFetchWithPayment(fetch, client);
const response = await payFetch(
  "https://agentkit-x402.erikssonanton2001.workers.dev/v1/email-check?email=anna@example.com"
);
console.log(await response.json());

Python

Use qualquer biblioteca/cliente de carteira Python compatível com x402 que você já utilize. O fluxo do protocolo é HTTP comum: faça o GET com requests, leia o cabeçalho base64 PAYMENT-REQUIRED no 402, assine seus requisitos exatos com uma carteira Base e tente novamente com PAYMENT-SIGNATURE.

import requests

url = "https://agentkit-x402.erikssonanton2001.workers.dev/v1/iban?iban=GB82WEST12345698765432"
first = requests.get(url)
if first.status_code == 402:
    requirements = first.headers["PAYMENT-REQUIRED"]
    signature = sign_x402_exact(requirements)  # supplied by your x402 client
    result = requests.get(url, headers={"PAYMENT-SIGNATURE": signature})
else:
    result = first
result.raise_for_status()
print(result.json())

Financiando USDC na Base

  1. Use uma carteira que suporte Base e o esquema exato x402.
  2. Adquira USDC e selecione Base como a rede ao retirar ou fazer bridge; não envie na Ethereum ou em outra chain.
  3. Financie o endereço da carteira usado pelo seu signatário com USDC suficiente para as chamadas esperadas (mais uma pequena quantidade de ETH Base para transações da carteira, se sua carteira exigir).
  4. Comece com uma resposta gratuita de /v1/demo/{slug} e depois faça uma requisição paga. Os requisitos do 402 e /.well-known/x402 identificam a rede, o contrato USDC e o endereço de pagamento para o deployment.

Erros e cobrança

O pagamento é liquidado apenas para respostas HTTP 2xx. Cada JSON de erro inclui charged: false; um 402 também não é cobrado porque nenhum pagamento foi aceito ainda.

Status HTTPCódigos de erroCobrado?
400missing_*, invalid_* (incluindo invalid_url, invalid_email, invalid_domain, invalid_iban, invalid_input, invalid_type, invalid_value, invalid_from, invalid_add, invalid_mode)Não
403blocked_by_robotsNão
404domain_not_found ou rota desconhecidaNão
402Pagamento necessário / pagamento inválido ou ausenteNão
502upstream_error, robots_unavailable, redirect_blocked, dns_unavailableNão
504upstream_timeoutNão
500internal_errorNão

Limites e notas honestas

  • Verificações de e-mail são apenas sintaxe, listas e DNS (incluindo MX/A); elas não fazem uma conexão SMTP, então a entregabilidade da caixa de entrada não é confirmada.
  • Nenhum JavaScript é renderizado. Páginas são limitadas a 1,5 MB, cerca de 6 requisições de saída por chamada e um timeout de 8 segundos. robots.txt é respeitado.
  • Validadores suecos verificam formatos e checksums; eles não provam que uma pessoa, empresa ou conta existe. DNS usa um resolvedor Cloudflare DoH.
  • O serviço não tem armazenamento em nível de aplicação e nenhum banco de dados KV/D1. A extração de contatos retorna apenas informações que um site publica; os chamadores permanecem responsáveis pelo uso legal (incluindo GDPR).
  • Ele roda no plano gratuito do Cloudflare Workers; limites de taxa, limites de CPU e falhas upstream podem ocorrer. Chamadas HTTP 4xx/5xx com falha não são liquidadas.

Desenvolvimento

npm test          # builds dist/worker.js, then runs node --test (no network needed)
npm run build     # esbuild bundle
npm run make-deploy

Variáveis opcionais do Worker: PAY_TO, NETWORK (padrão eip155:8453), FACILITATOR_URL e PUBLIC_BASE_URL. O bundle inclui um shim mínimo de Buffer porque o Worker é implantado sem nodejs_compat.

Atribuição e licença

Dados de domínios descartáveis vêm do projeto bulk-email-verifier-mx. Validadores suecos, dados de compensação e lógica de calendário são adaptados do SweKit (https://codeberg.org/moneyman-code/swekit-api). Fonte: https://codeberg.org/moneyman-code/agentkit-x402. MIT; veja LICENSE.