SiteCheck
29 ferramentas de agente pay-per-call (página web para Markdown, PDF para texto, stack de tecnologia, verificação de e-mail, RDAP de domínio, Solana, KYB), pagas por chamada em USDC via x402.
Servidor MCP hospedado
npx add-mcp 'https://api.sitecheck-api.workers.dev/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
SiteCheck: ferramentas pay-per-call para agentes de IA (x402 na Base, Solana e Arc)
Ao vivo: https://api.sitecheck-api.workers.dev · listado no x402scan · descoberta: /.well-known/x402, /openapi.json
O SiteCheck é uma API pequena que agentes de IA podem usar sem conta ou chave de API: 29 ferramentas pay-per-call no total. Além de suas ferramentas de IA e web (incluindo um leitor de página web para Markdown), ele vende PDF para texto, tradução, detecção de stack tecnológico, URLs de sitemap, taxas de câmbio, e-mail, domínio e dados de tokens e carteiras Solana, dados empresariais e de conformidade (IVA da UE, IBAN, LEI, recalls dos EUA, execuções OSHA/EPA, avisos de insolvência do Reino Unido), dados de mercados de previsão e transações comerciais não assinadas alimentadas pela Panta. Cada chamada é paga por requisição em USDC com o protocolo x402, na Base, Solana ou Arc (L1 da Circle), dependendo de onde o comprador possui USDC. Chame, receba um 402 Payment Required listando o preço em cada rede, assine o pagamento e obtenha o resultado. Ele roda em Cloudflare Workers e Workers AI.
| Endpoint | Preço | O que faz |
|---|---|---|
GET /api/audit?url= | $0,02 | Auditoria de site: problemas de acessibilidade WCAG 2.2 com correções e pontuação (Lei Europeia de Acessibilidade), noções básicas de SEO, cabeçalhos de segurança, stack tecnológico |
GET /api/contacts?url= | $0,01 | Enriquecimento de contato de empresa a partir de um domínio: e-mails, telefones, redes sociais, tecnologia |
GET /api/hiring?q=&remote= | $0,01 | Pesquisa o tópico atual "Quem está contratando?" do Hacker News |
POST /api/chat | $0,004 | Conclusão de chat Llama 3.3 70B |
POST /api/image | $0,005 | Texto para imagem FLUX.1 schnell |
POST /api/transcribe | $0,01 | Fala para texto Whisper large-v3-turbo |
POST /api/tts | $0,02 | Texto para fala Deepgram Aura-2 |
POST /api/embed | $0,001 | Embeddings BGE-M3 (1024-d, multilíngue) |
GET /api/vat?number= | $0,002 | Verificação de número de IVA da UE: formato e soma de verificação localmente, depois o serviço oficial VIES (27 estados da UE + Irlanda do Norte) |
GET /api/iban?iban= | $0,001 | Validação de IBAN sem chamada de rede: estrutura e comprimento do registro, mod-97, dígitos de verificação nacionais, divisão banco/agência/conta; ibans= para até 50 |
GET /api/lei?q= | $0,005 | Consulta GLEIF por LEI ou nome da empresa: status, registro, controladoras, subsidiárias, kycSummary de uma linha |
GET /api/recalls?q=&source=&since=&classification=&limit= | $0,003 | Recalls de produtos dos EUA da openFDA e CPSC em um único esquema, com gravidade alta/média/baixa |
GET /api/violations?company=&state=&since=&minPenalty=&source=&limit= | $0,005 | Casos de execução dos EUA: OSHA (API DOL, precisa de chave na implantação) e EPA ECHO, com links de registros oficiais |
GET /api/uk-insolvency?since=&q=&postcode=&type=&limit= | $0,003 | Avisos de insolvência de empresas do Reino Unido do The Gazette (nosso cache noturno dos últimos 8 dias), enriquecimento opcional do Companies House |
GET /api/read?url=&format=&maxChars=&links= | $0,002 | Uma página web como Markdown limpo ou texto para um LLM: apenas conteúdo principal, título, descrição, autor, data, idioma, canônico; robots.txt respeitado |
GET /api/email-check?email= | $0,001 | Pré-verificação de e-mail sem SMTP: sintaxe, DNS de e-mail, domínio descartável, conta de função, provedor gratuito, sugestão de erro de digitação; emails= para até 50 |
GET /api/domain?domain= | $0,002 | RDAP (sucessor do WHOIS) e DNS: registrado ou disponível, registrador, datas de criação/expiração, status, DNSSEC, servidores de nomes, IPs, MX |
GET /api/solana/token?address= | $0,002 | Verificação de token Solana: preço, capitalização de mercado, liquidez, detentores, negociação em 24h, pontuação orgânica, participação dos principais detentores, autoridade de cunhagem/congelamento on-chain e extensões Token-2022, sinais de alerta |
GET /api/solana/trending?mode=&interval=&minLiquidityUsd= | $0,003 | Tokens Solana em tendência, novos, mais negociados ou mais orgânicos com os mesmos campos e sinais |
GET /api/solana/wallet?address= | $0,003 | Participações de carteira Solana: SOL e cada token com símbolo, preço e valor em USD, total em USD |
GET /api/tech?url= | $0,003 | Detecção de tecnologia de site (CMS, e-commerce, análise, CDN, hospedagem, chat, pagamentos, provedor de e-mail) com versão, confiança e evidência |
POST /api/pdf | $0,003 | PDF para texto por URL ou base64 (até 15 MB), página por página, com título, autor e datas; apenas PDFs de texto |
GET /api/sitemap?url=&pathPrefix=&since= | $0,002 | Cada URL nos sitemaps XML de um site com lastmod, mais recentes primeiro |
GET /api/fx?from=&to=&amount=&date= | $0,001 | Taxas de câmbio do BCE (mais recentes, uma data passada ou uma série temporal) com conversão de valor |
POST /api/translate | $0,002 | Tradução com Llama 3.1 8B, até 6.000 caracteres, formatação preservada |
Mercados de previsão (Panta)
Agentes podem comprar inteligência de mercado e transações comerciais prontas para assinar por chamada, sem conta e sem chave de API. Um agente pesquisando um evento paga uma fração de centavo para encontrar os mercados e um centavo pelas probabilidades de um mercado e um resumo neutro. Um agente que deseja agir paga por uma transação de compra não assinada da Panta e a assina com sua própria carteira. A Panta executa mercados de previsão em USDC na Solana.
| Endpoint | Preço | O que faz |
|---|---|---|
GET /api/markets?q=&status=&category=&limit= | $0,002 | Pesquisa os mercados da Panta. Linhas compactas: id, pergunta, preços SIM/NÃO e probabilidades implícitas, volume, horários de fechamento e resolução, fonte de resolução |
GET /api/markets/brief?id= | $0,01 | Um mercado: probabilidades atuais, atividade de negociação recente e um resumo curto e neutro de IA sobre o que ele pergunta, o que o resolve e o que o preço implica |
POST /api/markets/quote | $0,005 | Corpo { id, side: "yes"|"no", amountUsdc, wallet }. Cotação da Panta: ações esperadas, preço médio, taxa e impacto no preço em relação ao preço à vista |
POST /api/markets/build-buy | $0,01 | Mesmo corpo, mais um maxSlippageBps opcional. Retorna a transação não assinada (Solana v0, base64) e as instruções da Panta para o agente assinar e transmitir ele mesmo, além dos campos para o relatório de negociação |
POST /api/markets/report | grátis | Após transmitir, envie { signature, orderId, quoteId, id, wallet }. O SiteCheck encaminha para a Panta, que confirma e atribui a negociação |
- Sem custódia. O SiteCheck nunca assina, mantém chaves ou custodia fundos.
build-buydevolve uma transação não assinada cujo único signatário é a carteira do agente. - Apenas informação, não aconselhamento financeiro. Toda resposta diz isso (
disclaimer), e o resumo nunca recomenda uma negociação. Se o texto do modelo parecer aconselhamento, um modelo factual é retornado em seu lugar. - Alimentado pela Panta. Toda resposta carrega
poweredBy: { text: "Powered by Panta", url: "https://panta.market" }, conforme exigido pelos Termos de Uso da Panta. - Pague apenas por resultados, como em todas as ferramentas: se a Panta recusar ou falhar, a chamada retorna um erro e nada é liquidado. O catálogo é armazenado em cache por 45 segundos e os preços por 15 segundos, e as respostas informam a idade dos dados.
- As ferramentas ficam ativas apenas quando o segredo
PANTA_API_KEYestá definido. Caso contrário, ficam ocultas, eGET /healthexplica o motivo. Endpoints, formatos, atribuição e perguntas em aberto: docs/PANTA.md.
node scripts/demo-markets.mjs --q bitcoin # search, brief and quote, paid on Solana (~0.017 USDC)
node scripts/demo-markets.mjs --q bitcoin --build # also builds the unsigned transaction (+0.01); never signs or sends it
Dados de web, documentos, e-mail, domínio e Solana
| Ferramenta | Fonte | Notas |
|---|---|---|
/api/read | A própria página, buscada uma vez com o User-Agent SiteCheckReader | robots.txt é respeitado (uma página não permitida responde 403 e não é cobrada). Nenhum JavaScript é executado, então páginas que só renderizam no navegador retornam vazias (422, não cobradas). PDFs e outros arquivos binários respondem 415. O conteúdo pertence ao seu publicador. |
/api/email-check | DNS sobre HTTPS (Cloudflare, Google) e a lista disposable-email-domains (CC0) | Nenhuma conexão SMTP é feita: unknown significa que não há nada errado com o endereço ou seu domínio, não que a caixa de entrada exista. |
/api/domain | O bootstrap RDAP da IANA e o servidor RDAP de cada registro; DNS sobre HTTPS | available significa que o registro não tem registro; nomes premium ou reservados ainda podem estar indisponíveis para compra. TLDs sem RDAP são inferidos via DNS. |
/api/solana/token, /api/solana/trending, /api/solana/wallet | APIs de token, preço e participações da Jupiter, JSON-RPC da mainnet Solana (conta de cunhagem), GeckoTerminal para pools (melhor esforço) | Apenas informação, não aconselhamento financeiro. Nada é assinado ou enviado. Autoridade de cunhagem e congelamento on-chain prevalece sobre a auditoria da API quando ambas estão disponíveis. |
/api/tech | Página inicial do site, cabeçalhos, cookies e DNS (MX, TXT); 231 impressões digitais próprias (MIT, não derivadas do Wappalyzer) | Nenhum JavaScript é executado; um site atrás de desafio de bot retorna o que seus cabeçalhos e DNS mostram. |
/api/pdf | Camada de texto do PDF, lida com unpdf (PDF.js) | Sem OCR: um PDF escaneado responde 422 e não é cobrado. |
/api/sitemap | robots.txt do site e sitemaps XML | Índices são seguidos até 25 sitemaps filhos por chamada. |
/api/fx | Taxas de referência do Banco Central Europeu via Frankfurter | Publicadas em dias úteis por volta das 16:00 CET; fins de semana retornam o último dia publicado. |
/api/translate | Workers AI @cf/meta/llama-3.1-8b-instruct-fast | Tradução automática: revise textos importantes. |
Dados empresariais e de conformidade
Seis ferramentas para um agente que precisa verificar uma contraparte antes de negociar com ela. Todas leem fontes oficiais gratuitas (ou nosso próprio cache de uma delas), não precisam de chave do chamador e seguem a mesma regra de todas as rotas aqui: uma chamada que falha (entrada inválida, upstream fora do ar, timeout) retorna 4xx/5xx e não é liquidada, então o comprador não é cobrado.
| Ferramenta | Fonte | Termos |
|---|---|---|
/api/vat | API REST VIES da Comissão Europeia | Serviço público da Comissão. Um estado-membro fora do ar dá HTTP 503 com um viesStatus como MS_UNAVAILABLE, então uma resposta desconhecida nunca é relatada como "inválida". Alguns estados (ex.: DE, ES) confirmam validade, mas não divulgam nome e endereço: esses campos são null. |
/api/iban | Calculado localmente a partir da estrutura do registro SWIFT IBAN (versão 101) | Sem rede, sem consulta de nome de banco ou BIC (nenhum conjunto de dados aberto é incluído; a resposta diz bankLookup: false). Dígitos de verificação nacionais são aplicados apenas onde existe um algoritmo público (FR, ES, IT, BE, NL para ABNA/INGB/RABO, NO, FI, PL, PT, RS, ME, MK, XK, SI); outros países relatam not-available. A Alemanha não tem algoritmo nacional geral. |
/api/lei | Índice Global LEI da GLEIF | Domínio público CC0. Sem chave. |
/api/recalls | Relatórios de execução da openFDA (alimentos, medicamentos, dispositivos) e a API de recalls do CPSC SaferProducts.gov | Os dados da openFDA são domínio público sob seus termos de uso (não para decisões médicas). O CPSC não classifica recalls: sua gravidade é derivada do texto de perigo, Classe I/II/III da FDA mapeia para alta/média/baixa. |
/api/violations | Data API v4 do Departamento do Trabalho dos EUA (OSHA) e EPA ECHO | Trabalhos do governo dos EUA. A OSHA precisa do segredo opcional DOL_API_KEY: sem ele, a rota retorna apenas EPA e diz que a OSHA está desativada. Registros são correspondidos por nome e mostram inspeções e casos, não culpa. |
/api/uk-insolvency | The Gazette, através do nosso próprio cache noturno (gazette-cache.sitecheck-api.workers.dev, últimos 8 dias úteis do Reino Unido). The Gazette nunca é chamado diretamente. | Open Government Licence v3.0. As respostas carregam o dataTimestamp do cache e qualquer missingDays. Enriquecimento opcional do Companies House (status, data de incorporação, códigos SIC, endereço; no máximo 10 linhas por chamada) quando COMPANIES_HOUSE_API_KEY está definido. |
Os limites do Workers são respeitados: toda chamada upstream tem timeout (no máximo 10 s) e um User-Agent SiteCheck/1.x, toda ferramenta fica bem abaixo de 50 sub-requisições, e nada grande é analisado por requisição (o texto do Gazette é escaneado e apenas avisos correspondentes são analisados). Respostas upstream estáveis são armazenadas em cache com a Cache API onde funciona.
curl -s "https://api.sitecheck-api.workers.dev/api/vat?number=DE811907980" # 402 first: pay with any x402 client
Servidor MCP
https://api.sitecheck-api.workers.dev/mcp é um servidor MCP remoto (HTTP Streamable, sem estado, respostas JSON). Todo endpoint pago é uma ferramenta MCP com o mesmo esquema de entrada (read, pdf, tech, email_check, domain, solana_token, vat, lei, ...), e o mesmo preço.
Payment uses the x402 MCP transport: a tools/call without payment returns isError with the x402 PaymentRequired object in structuredContent; the client signs one option and repeats the call with the PaymentPayload in params._meta["x402/payment"]; the answer carries the settlement in result._meta["x402/payment-response"]. A tool call that fails is not settled. Each call is replayed inside the Worker against the matching /api route, so MCP and HTTP buyers go through the same payment checks.
import { createx402MCPClient } from "@x402/mcp";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const client = createx402MCPClient({
name: "my-agent", version: "1.0.0",
schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }], // a viem account holding USDC on Base
autoPayment: true,
});
await client.connect(new StreamableHTTPClientTransport(new URL("https://api.sitecheck-api.workers.dev/mcp")));
const page = await client.callTool("read", { url: "https://docs.x402.org/introduction" }); // pays $0.002
Clientes MCP sem suporte a x402 (por exemplo, um conector remoto simples) podem listar as ferramentas e ver cada preço, mas uma chamada retorna os requisitos de pagamento em vez de um resultado.
Redes
| Rede | CAIP-2 | USDC | Facilitador |
|---|---|---|---|
| Base | eip155:8453 | 0x8335…2913 | PayAI |
| Solana | solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp | EPjF…Dt1v | PayAI |
| Arc | eip155:5042 | 0x3600…0000 | Circle Facilitator Service |
O preço é o mesmo em todas as redes. Os compradores precisam apenas de USDC: pagamentos EVM são assinaturas EIP-3009, e o facilitador paga as taxas de gas e da Solana. Fontes e decisões de design: docs/NETWORKS.md.
Experimente
curl -si "https://api.sitecheck-api.workers.dev/api/audit?url=example.com" \
| grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 -d
# {"x402Version":2,"error":"Payment required", ..., "accepts":[{ "network":"eip155:8453", "amount":"20000", ... }, ...]}
Pague com qualquer cliente x402. Base ou Arc, com @x402/fetch e uma conta viem:
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.EVM_PRIVATE_KEY); // holds a little USDC
const client = x402Client.fromConfig({
schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }], // Arc: "eip155:5042"
// Arc only: its USDC is not in @x402/evm's built-in asset list yet, so opt in (cap: $0.10 per call).
// spendControls: { allowedAssets: [{ network: "eip155:5042", asset: "0x3600000000000000000000000000000000000000", maxAmountPerPayment: "100000" }] },
});
const pay = wrapFetchWithPayment(fetch, client);
const res = await pay("https://api.sitecheck-api.workers.dev/api/audit?url=example.com");
console.log(await res.json());
Solana, com @x402/svm e um assinante @solana/kit:
import { readFileSync } from "node:fs";
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactSvmScheme } from "@x402/svm/exact/client";
import { createKeyPairSignerFromBytes } from "@solana/kit";
const signer = await createKeyPairSignerFromBytes(Uint8Array.from(JSON.parse(readFileSync("buyer.json", "utf8"))));
const client = new x402Client().register("solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", new ExactSvmScheme(signer));
const pay = wrapFetchWithPayment(fetch, client);
console.log(await (await pay("https://api.sitecheck-api.workers.dev/api/audit?url=example.com")).json());
Cada endpoint declara seu esquema de entrada e um exemplo de saída por meio da extensão de descoberta x402 Bazaar, para que agentes possam encontrá-lo e chamá-lo sem ler a documentação.
Agente de demonstração
scripts/demo-agent.mjs descobre a API por meio de /.well-known/x402, paga por uma auditoria na rede que você escolher e imprime o resultado e o link da transação:
node scripts/demo-agent.mjs --network base # or arc, solana
Na primeira execução, ele cria uma carteira descartável em um arquivo ignorado pelo git (.env.evm para Base e Arc, .env.solana para Solana) e imprime o endereço dela. Financie-a com cerca de 0,10 USDC nessa rede; uma auditoria custa 0,02 USDC, e não é necessário ETH ou SOL. --dry-run para antes de pagar, e --url aponta para outra implantação.
Notas de design
- Pague apenas por resultados. A liquidação ocorre após o handler. Se um modelo ou upstream falhar, o handler retorna um status de erro e o pagamento não é liquidado, então o comprador não é cobrado. Isso vale para as três redes e é coberto pelos testes.
- Uma rota, várias redes. Cada rota lista uma entrada
acceptsx402 por rede configurada. Base e Solana liquidam por meio da PayAI. Arc liquida por meio do Facilitator Service da Circle em seu teste sem chave: cada requisição carrega uma prova do vendedor assinada pela chave da carteira receptora da Arc (veja abaixo). Cada cliente facilitador reporta apenas as redes atribuídas a ele (lib/payments.js). - Middleware x402 seguro para Workers. Um Worker não pode aguardar uma promise criada por outra requisição, e o middleware x402 inicializa de forma lazy. Cada requisição constrói e inicializa seu próprio middleware até que um termine; esse então é reutilizado (
lib/app.js). - Sem chaves no repositório. Os endereços receptores ficam em
wrangler.toml[vars](vazios por padrão). A chave do vendedor da Arc (ou, como fallback, a chave de API da Circle) é um segredo do Worker. Os scripts auxiliares mantêm suas carteiras em arquivos.env.*ignorados pelo git.
Arc: teste sem chave da Circle e uma carteira quente
O Facilitator Service da Circle normalmente exige uma chave de API e, na mainnet, uma conta Circle com cartão de crédito cadastrado. O SiteCheck usa o teste sem chave da Circle. Cada requisição /verify e /settle carrega um cabeçalho Facilitator-Seller-Proof: uma assinatura EIP-712 pela chave que controla o payTo da Arc, vinculada à rota, ao corpo exato da requisição e a um nonce novo (lib/sellerProof.js, lib/circle.js).
A contrapartida: essa chave precisa viver no Worker, como o segredo ARC_SELLER_KEY. Portanto, o payTo da Arc é uma carteira quente dedicada que apenas recebe pagamentos. O proprietário a varre regularmente para uma carteira fria (scripts/sweep-arc.mjs), então uma chave vazada exporia no máximo o que entrou desde a última varredura. A cota do teste também é limitada, e a Circle não a publica. Quando ela acaba, a Circle responde 403 registration_required. O pagamento não é liquidado e o comprador não é cobrado, o Worker registra isso, e GET /health mostra arc.trialExhausted: true. A partir daí, a Arc precisa de uma chave de API da Circle ou precisa ser desligada. Detalhes: docs/NETWORKS.md.
Execute o seu próprio
npm install
npm test # no network needed: the facilitators and Panta are mocked
npx wrangler dev # local
Implantação: defina account_id e pelo menos um endereço receptor em wrangler.toml (ou passe-o com --var). Para Arc, crie a carteira quente e armazene a chave primeiro:
node scripts/new-arc-wallet.mjs # Arc only: prints the new address; the key goes to .env.arc-seller
npx wrangler secret put ARC_SELLER_KEY # paste the key from .env.arc-seller
npx wrangler secret put PANTA_API_KEY # optional: a pk_live_... key switches the prediction-market tools on
npx wrangler secret put DOL_API_KEY # optional: switches OSHA on in /api/violations
npx wrangler secret put COMPANIES_HOUSE_API_KEY # optional: enriches /api/uk-insolvency rows
npx wrangler deploy
node scripts/sweep-arc.mjs --to 0xYourColdWallet # later, regularly: shows what it would send
node scripts/sweep-arc.mjs --to 0xYourColdWallet --yes # sends it
| Variável | Rede | Notas |
|---|---|---|
PAY_TO | Base | endereço EVM |
PAY_TO_SOLANA | Solana | endereço da carteira; ela já deve ter uma conta de token USDC |
ARC_SELLER_KEY (segredo) | Arc | chave privada da carteira receptora dedicada da Arc; ativa a Arc e define seu payTo |
PAY_TO_ARC | Arc | opcional com ARC_SELLER_KEY (se definido, deve ser igual ao endereço da chave); sem chave de vendedor, o endereço da Arc a usar com CIRCLE_API_KEY |
CIRCLE_API_KEY (segredo) | Arc | apenas fallback, usado quando ARC_SELLER_KEY não está definido |
FACILITATOR_URL | Base, Solana | padrão https://facilitator.payai.network |
FACILITATOR_URL_ARC | Arc | padrão https://api.circle.com/v1/facilitator/x402 |
PANTA_API_KEY (segredo) | todas | ativa as ferramentas de mercado de previsão: npx wrangler secret put PANTA_API_KEY (veja docs/PANTA.md) |
PANTA_BASE_URL | todas | padrão https://live-api.panta.market/api/v1 |
DOL_API_KEY (segredo) | todas | opcional: ativa a OSHA em /api/violations: npx wrangler secret put DOL_API_KEY. Sem ela, a rota é apenas EPA |
COMPANIES_HOUSE_API_KEY (segredo) | todas | opcional: enriquecimento da Companies House em /api/uk-insolvency: npx wrangler secret put COMPANIES_HOUSE_API_KEY |
Deixe um endereço vazio para desligar essa rede. GET /health mostra quais redes estão ativas e por que as outras não estão, e se as ferramentas Panta estão ligadas. Para Arc, também mostra o modo de autenticação, o endereço receptor e o status do teste.
Licença
MIT
Transações na mainnet
Liquidações x402 reais nas três redes:
- Solana (nosso teste): https://solscan.io/tx/4DQcTjw791d83iUFU7NBbyi3JZxXsvHbNHWgcXb9eeVT4tqReDV4ZFqYanUpJXnGP2ogucsWHqehioJd6Dq1ghDJ
- Base (nosso teste): https://basescan.org/tx/0xf4e4a1aeeff698706e49cd921321cda9dba79babefd00b624bdf836fda57beb1
- Arc (nosso teste): https://explorer.arc.io/tx/0xb6abceb6108099730c31b00f9140288585a869029bc5c922b88f0df5e8289476
- Base, paga por um agente de IA externo que não controlamos (uma de suas 12 chamadas pagas até agora): https://basescan.org/tx/0x9e37d0287f04f7c1f89f159f839c0f391230dab6c21aeead58d6a29588239ea9
- Base, paga por uma segunda carteira externa (6 de outubro de 2026): https://basescan.org/tx/0x9d5f1cae2c5016f165eead7dc56f51a3d74a1ea90a06270d4b0ca8bf97d8d211