Israel Counterparty Intelligence
Portão de pagamento de faturas israelense para agentes de IA. Verifica a aritmética do IVA e a aplicabilidade do número de alocação, resolve o fornecedor contra evidências do registro público de empresas e retorna PAY, HOLD ou BLOCK. Também verificação de empresas, alterações de empresas ($0,01) e risco de pagamento de fornecedores. Pré-visualizações gratuitas + x402 USDC na Base Mainnet. Sem chave de API. Status: Mainnet ativo, aguardando a primeira chamada paga externa.
Servidor MCP hospedado
npx add-mcp 'https://israel-counterparty-intelligence.vercel.app/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Israel Invoice Payment Gate and Counterparty Intelligence
Um gate nativo de agente para verificar uma fatura de fornecedor israelense antes do pagamento, com evidências de contraparte de registros públicos.
Fonte pública: https://github.com/itzikhr18/israel-counterparty-intelligence
Status do projeto (leia isto primeiro)
Para a postura atual de produção, leads em aberto, bloqueios e próximas ações, consulte docs/PROJECT_STATUS.md. Entrada para parceiros: PARTNER_HANDOFF.md.
Traga sua própria carteira confiável: o resultado gratuito da fatura pode preparar uma solicitação privada e validada para um cliente x402 existente, com uma correspondência gratuita de fornecedor e um teto proposto de 0,25 USDC. Nenhum pacote de carteira do vendedor é necessário. O download não é aprovação de pagamento; a carteira do comprador deve aplicar os termos vigentes. Guia de carteira independente.
Comece com a verificação gratuita de fatura, baixe o invoice-request.json validado e continue com a mesma fatura:
npx --yes https://israel-counterparty-intelligence.vercel.app/israel-company-verify-buyer-0.4.0.tgz --invoice-file invoice-request.json
Os metadados públicos do agente estão disponíveis em /.well-known/x402, /llms.txt e /README.md na implantação de produção. Os recursos de pagamento Mainnet e Testnet usam a mesma lógica de negócios, mas permanecem rotas de pagamento separadas para que o USDC de Teste nunca possa desbloquear o recurso Mainnet.
O mesmo mecanismo de verificação também é exposto como um servidor MCP HTTP Streamable Remoto sem estado:
POST /mcp- Base Mainnet, incluindo um gate de pagamento de fatura israelense de 0,25 USDC, além de ferramentas de alterações de empresas, verificação e risco de fornecedor.POST /mcp/testnet- Base Sepolia, 0,05 USDC de Teste por chamadaverify_companybem-sucedida.POST /mcp/pilot- avaliação de parceiro somente por convite com token bearer de tempo limitado.- Pré-visualizações de risco de empresa e pagamento,
preview_agent_payment_trust,describe_serviceeget_schemasão gratuitas em ambos os endpoints MCP.
Caminho mais barato para a Chamada Paga Externa nº 1: alterações de empresa a US$ 0,01 USDC (padrões de corpo omitidos/{} company_number para amostra pública 514744887 para canários de marketplace) (antes de verificar US$ 0,05 / gate de fatura US$ 0,25). POST não pago → HTTP 402 → pague com uma carteira x402 controlada pelo comprador. Consulte public/STATUS.md para o curl exato e a ferramenta MCP get_israeli_company_changes_paid.
Este repositório é um MVP deliberadamente pequeno para a Chamada Paga Externa nº 1. Ele resolve uma empresa israelense registrada, adiciona sua pegada pública de contratos/suporte governamentais, constrói evidências em nível de campo e retorna um sinal heurístico transparente de risco. Não é um serviço jurídico, de crédito, de sanções ou de investimento.
Escopo atual
POST /v1/verify- resolução oficial de empresa e evidências.POST /v1/verify/mainnet- o mesmo resultado de verificação, pago com USDC real na Base Mainnet.POST /v1/pilot/verify- avaliação de parceiro somente por convite; nunca uma rota pública gratuita.POST /v1/government-footprint- contratos e suportes públicos por número exato de empresa.POST /v1/counterparty-risk- resultado combinado e pontuação determinística com código de motivo.POST /v1/payment-risk/mainnet- triagem de fornecedor pré-pagamento Mainnet com resultadoPROCEED,REVIEWouBLOCK.POST /v1/invoice-gate/preview- aritmética gratuita de fatura e pré-visualização de aplicabilidade de alocação usando data, valor, componente de IVA e condições atestadas pelo comprador; nunca autorização para pagar.POST /v1/invoice-gate/mainnet- gate de fatura israelense de 0,25 USDC com respaldo de registro, retornandoPAY,HOLDouBLOCK.POST /v1/company-changes/mainnet- eventos recentes de arquivamento oficial e mudança de status para um número exato de empresa, do mais novo ao mais antigo, com evidência de fonte.POST /v1/agent-payment-trust- firewall gratuito de pré-assinatura x402 comALLOW,REVIEWouDENY; nunca assina ou envia um pagamento.GET /health- verificação de saúde.GET /openapi.json- contrato legível por máquina.- Proteção de preço fixo x402 v2 e metadados Bazaar quando
X402_ENABLED=true. - MCP HTTP Streamable Remoto com
verify_companypago, além depreview_company,preview_agent_payment_trust,describe_serviceeget_schemagratuitos.
A aplicabilidade de alocação usa um limite de valor estritamente maior que e também depende de um componente de IVA, de um comprador revendedor autorizado e de uma solicitação do comprador; a ausência de contexto do comprador falha com segurança para HOLD. Este serviço não chama nem autentica de forma independente a Autoridade Tributária; a verificação oficial de alocação exige a própria conexão do comprador com revendedor/representante autorizado. Os resultados de verificação fornecidos pelo comprador são rotulados como BUYER_ATTESTED e não são autenticados de forma independente. Não incluídos: painéis, contas, assinaturas, relatórios em PDF, raspagem ampla, verificação de titularidade de conta bancária, perícia documental, certificação UBO/PEP/sanções, triagem de mídia adversa, capacidade de crédito, enriquecimento TASE ou um modelo de ML personalizado.
Firewall de Beneficiário Verificado MVP
preview_agent_payment_trust avalia os termos exatos do x402 antes de uma carteira do comprador assinar. Ele resolve a empresa israelense reivindicada, busca /.well-known/agent-payee.json na origem do serviço com proteções SSRF e de redirecionamento, valida o manifesto e a assinatura EVM, verifica o destino de pagamento declarado, verifica a origem do recurso de pagamento e a autorização do comprador e cria uma impressão digital SHA-256 estável do contrato de pagamento.
ALLOW é de falha fechada: exige uma empresa resolvida ativa, um manifesto válido obtido por domínio, um destino de pagamento autorizado, uma origem de recurso correspondente e uma autorização completa do comprador. REVIEW e DENY não devem ser assinados automaticamente. A garantia de Nível 1 e Nível 2 não prova a titularidade legal da carteira do destinatário. A especificação do manifesto é publicada em /agent-payee-manifest-v0.1.md e seu JSON Schema em /.well-known/agent-payee-schema.json.
Status de produção: MAINNET ATIVA - primeira chamada paga externa confirmada. Resumo público voltado ao comprador: public/STATUS.md (servido em /STATUS.md). Nenhum pagamento Mainnet interno é necessário para o lançamento. O primeiro pagamento externo genuíno em USDC na Base Mainnet é também o primeiro acordo fim a fim em produção e a Chamada Paga Externa nº 1.
Fontes públicas
Os adaptadores de empresa usam o conjunto de dados abertos CKAN do Registro de Empresas do Ministério da Justiça e o conjunto de dados de alterações diárias da Autoridade de Corporações em data.gov.il. A fonte de alterações cobre aproximadamente um ano; um resultado vazio não prova que nenhuma alteração anterior ocorreu. Os tipos de solicitação oficiais são retornados como fatos e mapeados para categorias determinísticas de navegação, não conclusões de risco. O adaptador de pegada governamental usa a API pública de tabelas do BudgetKey. URLs de fonte, horário de recuperação, identificadores de registro de fonte e confiança são retornados em evidence.
O serviço retorna null e missing_data quando os dados não estão disponíveis. Ele não converte um contrato governamental em endosso de confiança e não adiciona pontos de risco apenas porque uma fonte está ausente.
Configuração local
Requisitos: Node.js 20 ou mais recente.
npm install
cp .env.example .env.local
npm run dev
Execute todas as verificações:
npm run check
Exemplo
curl -X POST http://localhost:3000/v1/verify \
-H 'content-type: application/json' \
-d '{"company_number":"514744887","language":"en"}'
A busca por nome também é suportada:
{
"company_name": "MONDAY.COM",
"city": "Tel Aviv",
"language": "en"
}
Quando vários candidatos são plausíveis, a API retorna 409 AMBIGUOUS_ENTITY e candidatos. Ela nunca seleciona um silenciosamente. Um número inválido retorna 400; nenhuma entidade confiável retorna 422 para os dois endpoints de enriquecimento.
Configuração x402
A implementação usa os pacotes oficiais x402 v2 e Next.js withX402, de modo que o acordo ocorre somente após uma resposta bem-sucedida. A configuração de teste padrão é Base Sepolia por meio do facilitador de teste público x402.
Necessário para habilitar o pagamento:
X402_ENABLED=true
X402_PAY_TO=0xYourReceivingWallet
X402_NETWORK=eip155:84532
X402_ASSET=0x036CbD53842c5426634e7929541eC2318f3dCF7e
X402_FACILITATOR_URL=https://facilitator.payai.network
PUBLIC_BASE_URL=https://your-public-host.example
Os preços são centralizados em variáveis de ambiente:
X402_VERIFY_PRICE=$0.10
X402_GOVERNMENT_PRICE=$0.35
X402_RISK_PRICE=$0.50
O recurso Mainnet independente usa:
X402_MAINNET_ENABLED=true
X402_MAINNET_PAY_TO=0xYourReceivingWallet
X402_MAINNET_NETWORK=eip155:8453
X402_MAINNET_ASSET=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
X402_MAINNET_FACILITATOR_URL=https://facilitator.payai.network
X402_MAINNET_FACILITATOR_PROVIDER=auto
CDP_API_KEY_ID=
CDP_API_KEY_SECRET=
X402_MAINNET_VERIFY_PRICE=$0.05
X402_MAINNET_PAYMENT_RISK_PRICE=$0.10
X402_MAINNET_INVOICE_GATE_PRICE=$0.25
X402_MAINNET_COMPANY_CHANGES_PRICE=$0.01
X402_MCP_TESTNET_VERIFY_PRICE=$0.05
X402_MCP_MAINNET_VERIFY_PRICE=$0.05
X402_MCP_TESTNET_PAYMENT_RISK_PRICE=$0.10
X402_MCP_MAINNET_PAYMENT_RISK_PRICE=$0.10
X402_MCP_TESTNET_INVOICE_GATE_PRICE=$0.25
X402_MCP_MAINNET_INVOICE_GATE_PRICE=$0.25
X402_MCP_TESTNET_COMPANY_CHANGES_PRICE=$0.01
X402_MCP_MAINNET_COMPANY_CHANGES_PRICE=$0.01
MAINNET_INTERNAL_TEST_PAYER=0xYourIsolatedMainnetTestWallet
Sem uma assinatura de pagamento, um endpoint protegido retorna 402 com PAYMENT-REQUIRED. O desafio inclui metadados de entrada/saída do Bazaar. Um cliente pago compatível deve ecoar essa extensão em sua carga de pagamento. A inclusão no catálogo ocorre somente após um facilitador processar uma carga paga conforme e é, em última instância, controlada por esse facilitador.
X402_MAINNET_FACILITATOR_PROVIDER=auto preserva a URL configurada até que ambas as credenciais CDP estejam presentes. Quando são adicionadas, a verificação e o acordo Mainnet mudam automaticamente para o facilitador autenticado Coinbase CDP. O segredo nunca aparece em desafios, logs ou respostas de saúde. Execute npm run bazaar:check para validar todos os endpoints pagos ativos contra o Coinbase Bazaar; a mesma verificação somente leitura é executada diariamente no GitHub Actions.
Os identificadores de rede Base Sepolia e Base Mainnet e os ativos USDC são validados como valores de configuração distintos. Preço, ativo, rede, facilitador e payTo são de propriedade do servidor e não podem ser substituídos pela entrada da solicitação.
Configuração do cliente MCP
URL MCP de produção:
https://israel-counterparty-intelligence.vercel.app/mcp
O endpoint implementa Streamable HTTP e x402 v2. Clientes MCP padrão podem inicializar o servidor, listar ferramentas e chamar as ferramentas gratuitas. preview_company retorna identidade/status, além de argumentos exatos reutilizáveis para a próxima ação paga. Uma chamada paga verify_company retorna um resultado estruturado PaymentRequired até que o cliente a repita com _meta["x402/payment"]; um acordo bem-sucedido é retornado em _meta["x402/payment-response"]. Use um cliente MCP com reconhecimento x402, como @x402/mcp, para assinatura e repetição automáticas. Nenhuma conta de comprador ou chave de API é necessária.
O PaymentRequired.resource.description de produção inclui o guia canônico do comprador:
https://israel-counterparty-intelligence.vercel.app/x402-buyer-quickstart.md. Ele contém um exemplo de cliente Streamable HTTP, requisitos explícitos de Base Mainnet/USDC, proteções de gasto por ferramenta e os metadados esperados de pagamento/acordo. Um cliente MCP normal sem uma ponte de carteira x402 pode descobrir e chamar as ferramentas gratuitas, mas não pode concluir verify_company automaticamente.
Configuração mínima de cliente para Claude e outros clientes que aceitam servidores MCP HTTP remotos:
{
"mcpServers": {
"israel-business-intelligence": {
"type": "http",
"url": "https://israel-counterparty-intelligence.vercel.app/mcp"
}
}
}
LangChain usa a mesma URL com transporte http; CrewAI e Google ADK usam transporte streamable-http. Seus adaptadores MCP padrão podem descobrir e chamar as ferramentas gratuitas. Chamadas pagas exigem a ida e volta dos metadados de pagamento x402 descrita acima; nenhum SDK específico de framework é necessário.
Uma composição isolada de integração de fornecedor controlada pelo comprador está disponível em examples/aerchain-adapter. Ela inclui uma política estrita de pagamento na Base Mainnet, mapeamento de registro para fornecedor, tratamento de recibo de acordo, fixtures e testes. Ela não altera o serviço de produção nem representa evidências de registro público como KYB completo.
Piloto de parceiro
O piloto de parceiro é isolado de ambas as rotas pagas. Um token bearer válido pode chamar o mesmo mecanismo de verificação por meio de /mcp/pilot ou /v1/pilot/verify enquanto o pagamento é dispensado. A oferta atual é limitada a 100 verificações bem-sucedidas e uma data de expiração fixa. Cada chamada bem-sucedida emite um evento pilot_verification com um identificador de parceiro e sem token bruto ou endereço IP bruto.
O contador em processo é um teto de segurança, não um livro-razão de cobrança globalmente durável. O total autoritativo do piloto é a contagem centralizada de eventos pilot_verification bem-sucedidos. Se o produto avançar além de uma pequena avaliação, substitua este mecanismo por um armazenamento de uso compartilhado atômico antes de vender planos medidos.
Mantenha o token bearer bruto fora do repositório e configure apenas seu digest SHA-256. Consulte o runbook do piloto para etapas de ativação, monitoramento e encerramento.
Testes de fumaça
Contra um serviço desprotegido em execução e as fontes públicas ativas:
BASE_URL=http://localhost:3000 npm run smoke
Contra um serviço habilitado para x402 em execução, sem pagar:
BASE_URL=http://localhost:3000 EXPECT_X402=true npm run smoke
O modo de fumaça x402 verifica HTTP 402, o cabeçalho de pagamento, a versão 2 do protocolo, o preço configurado exato e os metadados do Bazaar. A Base Sepolia já prova o fluxo completo de acordo. A Mainnet permanece ativa sem autopagamento financiado pelo operador e aguarda um pagador externo genuíno.
Teste de fumaça de descoberta MCP e ferramentas gratuitas:
MCP_URL=https://israel-counterparty-intelligence.vercel.app/mcp/testnet npm run smoke:mcp
O script de fumaça MCP pago é estritamente restrito a /mcp/testnet e exige um arquivo de carteira Base Sepolia isolado fornecido fora do repositório:
X402_TEST_WALLET_FILE=/secure/path/test-wallet.json npm run smoke:mcp:paid
Pontuação de risco v0.1.0
- Entidade não ativa: +40.
- Flag de violação de lei no registro: +25.
- Relatório anual com mais de dois anos: +10.
- 0-19: BAIXO, 20-49: MÉDIO, 50-100: ALTO.
- Identidade ambígua não é pontuada.
- Dados críticos de identidade ausentes bloqueiam a pontuação; enriquecimento ausente reduz a confiança.
Toda resposta de risco inclui reason_codes, explanation, confidence, scoring_version e um
registro de evidência de inferência. A interpretação segura é: nenhuma bandeira pública material de alerta foi encontrada
nas fontes verificadas — nunca que uma transação é segura.
Confiabilidade e privacidade
- Adaptadores tipados com validação de resposta Zod.
- Timeouts de abortamento e uma nova tentativa limitada por padrão.
- Cache de fonte em memória por seis horas.
- Limitação de taxa em memória por instância.
- Logs JSON com ID de requisição, tempo, chamadas de fonte, presença de pagamento, confiança, categoria de erro e uma impressão digital de cliente unidirecional abreviada.
- Apenas uma liquidação bem-sucedida na rota exata da Base Mainnet, contrato oficial USDC da Base,
valor configurado e payTo configurado podem emitir
external_paid_call. Testnet e os pagadores internos de teste configurados são excluídos. O evento é emitido pelo hook do SDK pós-liquidação e inclui rede, ativo, pagador, valor, hash da transação, recurso e fonte de descoberta opcional. - Sem banco de dados de usuários e sem registro de IP bruto no código do aplicativo.
- Sem segredos no repositório.
- Autenticação piloto compara um digest de token SHA-256 em tempo constante; a credencial bruta permanece fora do repositório.
Cache em memória e limitação de taxa são suficientes para o primeiro experimento de chamada paga, não um serviço multi-região de alto volume. Adicione infraestrutura compartilhada somente após demanda real aparecer.
Implantação
Compile primeiro:
npm run check
Depois vincule e implante a partir deste diretório:
vercel link
vercel deploy
vercel promote <validated-preview-url>
Configure variáveis de ambiente de runtime na Vercel em vez de commitá-las. Mantenha x402 desabilitado até que a carteira receptora esteja correta. Após habilitar x402, reimplante e execute o teste de fumaça 402 sem pagamento. Não fabrique uma liquidação na Mainnet para ativação ou descoberta.
Chamada Paga Externa #1
- Mantenha o endpoint público da Mainnet e os metadados de descoberta ativos.
- Aguarde um pagador que não seja controlado pelo operador.
- Exija liquidação bem-sucedida na Base Mainnet com USDC real e uma resposta HTTP 200 da API.
- Exclua Testnet, carteiras internas, testes de fumaça, rastreadores e sondas de diretório.
- Emita
external_paid_callcom rede, pagador, valor, hash da transação, recurso e timestamp. - Trate esse mesmo evento como a primeira prova ponta a ponta na Mainnet e a Chamada Paga Externa #1.
Não adicione recursos se nenhuma chamada paga externa ocorrer após um teste razoável de descoberta e divulgação. Altere a oferta ou pare.
Políticas
- Termos
- Aviso de privacidade
- Processo de correção
- Análise de implementação em hebraico
- Bloqueadores atuais
- Teste de liquidação paga
Entrega ao parceiro
Comece em PARTNER_HANDOFF.md (status, mapa do sistema, CRM de divulgação).