Israel Counterparty Intelligence
Pasarela de pago de facturas israelíes para agentes de IA. Verifica la aritmética del IVA y la aplicabilidad del número de asignación, resuelve al proveedor contra la evidencia del registro público de empresas y devuelve PAGAR, RETENER o BLOQUEAR. También verificación de empresas, cambios de empresa ($0.01) y riesgo de pago al proveedor. Vistas previas gratuitas + x402 USDC en Base Mainnet. Sin clave API. Estado: Mainnet en vivo, en espera de la primera llamada paga externa.
Servidor MCP alojado
npx add-mcp 'https://israel-counterparty-intelligence.vercel.app/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Israel Invoice Payment Gate and Counterparty Intelligence
Una puerta agéntica para verificar una factura de proveedor israelí antes del pago, con evidencia de contraparte de registros públicos.
Fuente pública: https://github.com/itzikhr18/israel-counterparty-intelligence
Estado del proyecto (léase primero)
Para conocer la postura actual de producción, oportunidades abiertas, bloqueos y próximas acciones, consulte docs/PROJECT_STATUS.md. Entrada para socios: PARTNER_HANDOFF.md.
Use su propia billetera de confianza: el resultado gratuito de factura puede preparar una solicitud privada y validada para un cliente x402 existente, con una coincidencia gratuita de proveedor y un límite propuesto de 0.25 USDC. No se requiere ningún paquete de billetera del vendedor. La descarga no es aprobación de pago; la billetera del comprador debe aplicar los términos vigentes. Guía de billetera independiente.
Comience con la verificación gratuita de factura,
descargue el invoice-request.json validado y continúe con la misma factura:
npx --yes https://israel-counterparty-intelligence.vercel.app/israel-company-verify-buyer-0.4.0.tgz --invoice-file invoice-request.json
Los metadatos públicos del agente están disponibles en /.well-known/x402, /llms.txt y /README.md en el
despliegue de producción. Los recursos de pago de Mainnet y Testnet usan la misma lógica de negocio pero
siguen siendo rutas de pago separadas, de modo que el USDC de prueba nunca puede desbloquear el recurso de Mainnet.
El mismo motor de verificación también se expone como un servidor MCP HTTP remoto y sin estado:
POST /mcp- Base Mainnet, incluyendo una puerta de pago de facturas israelíes de 0.25 USDC, además de cambios de empresa, verificación y herramientas de riesgo de proveedor.POST /mcp/testnet- Base Sepolia, 0.05 USDC de prueba por llamada exitosa averify_company.POST /mcp/pilot- evaluación de socios solo por invitación con un token portador de tiempo limitado.- Vistas previas de riesgo de empresa y pago,
preview_agent_payment_trust,describe_serviceyget_schema, son gratuitas en ambos endpoints MCP.
Ruta más económica hacia la Llamada Externa Pagada #1: cambios de empresa a $0.01 USDC (los valores predeterminados del cuerpo omitido/{} establecen company_number a la muestra pública 514744887 para canarios de marketplace) (antes de verificar $0.05 / puerta de factura $0.25). POST no pagado → HTTP 402 → pague con una billetera x402 controlada por el comprador. Consulte public/STATUS.md para el curl exacto y la herramienta MCP get_israeli_company_changes_paid.
Este repositorio es un MVP deliberadamente pequeño para la Llamada Externa Pagada #1. Resuelve una empresa registrada israelí, agrega su huella pública de contratos/soporte gubernamental, construye evidencia a nivel de campo y devuelve una señal de riesgo heurística transparente. No es un servicio legal, crediticio, de sanciones ni de inversión.
Alcance actual
POST /v1/verify- resolución oficial de empresa y evidencia.POST /v1/verify/mainnet- el mismo resultado de verificación, pagado con USDC real en Base Mainnet.POST /v1/pilot/verify- evaluación de socios solo por invitación; nunca una ruta pública gratuita.POST /v1/government-footprint- contratos y soportes públicos por número exacto de empresa.POST /v1/counterparty-risk- resultado combinado y puntuación determinista con código de motivo.POST /v1/payment-risk/mainnet- triaje de proveedor previo al pago en Mainnet con un resultadoPROCEED,REVIEWoBLOCK.POST /v1/invoice-gate/preview- aritmética gratuita de factura y vista previa de aplicabilidad de asignación usando fecha, monto, componente de IVA y condiciones atestiguadas por el comprador; nunca autorización para pagar.POST /v1/invoice-gate/mainnet- puerta de facturas israelíes respaldada por registro de 0.25 USDC que devuelvePAY,HOLDoBLOCK.POST /v1/company-changes/mainnet- eventos recientes de presentación oficial y cambios de estado para un número exacto de empresa, más recientes primero, con evidencia de fuente.POST /v1/agent-payment-trust- firewall gratuito de pre-firma x402 en seco conALLOW,REVIEWoDENY; nunca firma ni envía un pago.GET /health- verificación de salud.GET /openapi.json- contrato legible por máquina.- Protección de precio fijo x402 v2 y metadatos de Bazaar cuando
X402_ENABLED=true. - MCP HTTP remoto y sin estado con
verify_companypagado, además depreview_company,preview_agent_payment_trust,describe_serviceyget_schemagratuitos.
La aplicabilidad de asignación usa un umbral de monto estrictamente mayor que y también depende de un componente de IVA, un comprador distribuidor autorizado y una solicitud del comprador; la falta de contexto del comprador falla de forma segura a HOLD. Este servicio no llama ni autentica de forma independiente a la Autoridad Tributaria; la verificación oficial de asignación requiere la propia conexión del comprador con su distribuidor/representante autorizado. Los resultados de verificación proporcionados por el comprador se etiquetan como BUYER_ATTESTED y no se autentican de forma independiente. No incluido: paneles, cuentas, suscripciones, informes PDF, raspado amplio, verificación de propiedad de cuentas bancarias, análisis forense de documentos, certificación UBO/PEP/sanciones, cribado de medios adversos, solvencia crediticia, enriquecimiento TASE o un modelo de ML personalizado.
Firewall de Beneficiario Verificado MVP
preview_agent_payment_trust evalúa los términos x402 exactos antes de que una billetera del comprador firme. Resuelve
la empresa israelí reclamada, obtiene /.well-known/agent-payee.json del origen del servicio con
protecciones SSRF y de redirección, valida el manifiesto y la firma EVM, verifica el destino de pago declarado,
verifica el origen del recurso de pago y el mandato del comprador, y crea una huella
SHA-256 estable del contrato de pago.
ALLOW es de cierre ante fallos: requiere una empresa resuelta activa, un manifiesto válido obtenido del dominio,
un destino de pago autorizado, un origen de recurso coincidente y un mandato completo del comprador.
REVIEW y DENY no deben firmarse automáticamente. Los niveles de aseguramiento 1 y 2 no prueban la propiedad legal
de la billetera del destinatario. La especificación del manifiesto se publica en
/agent-payee-manifest-v0.1.md y su JSON Schema en
/.well-known/agent-payee-schema.json.
Estado de producción: MAINNET EN VIVO - primera llamada externa pagada confirmada. Resumen público orientado al comprador: public/STATUS.md (servido en /STATUS.md). No se requiere ningún pago interno de Mainnet
para el lanzamiento. El primer pago externo genuino de USDC en Base Mainnet es también el
primer acuerdo de extremo a extremo en producción y la Llamada Externa Pagada #1.
Fuentes públicas
Los adaptadores de empresa usan el conjunto de datos abiertos CKAN del Registro de Empresas del Ministerio de Justicia y
el conjunto de datos de cambios diarios de la Autoridad de Corporaciones en data.gov.il. La fuente de cambios cubre hasta
aproximadamente un año; un resultado vacío no prueba que no haya ocurrido ningún cambio anterior. Los
tipos de solicitud oficiales se devuelven como hechos y se asignan a categorías de navegación deterministas, no a conclusiones
de riesgo. El adaptador de huella gubernamental usa la API pública de tablas de BudgetKey. Las URL de fuente,
el tiempo de recuperación, los identificadores de registro de fuente y la confianza se devuelven en evidence.
El servicio devuelve null y missing_data cuando los datos no están disponibles. No convierte un
contrato gubernamental en un respaldo de confianza y no agrega puntos de riesgo simplemente porque una fuente
falta.
Configuración local
Requisitos: Node.js 20 o más reciente.
npm install
cp .env.example .env.local
npm run dev
Ejecute todas las verificaciones:
npm run check
Ejemplo
curl -X POST http://localhost:3000/v1/verify \
-H 'content-type: application/json' \
-d '{"company_number":"514744887","language":"en"}'
La búsqueda por nombre también es compatible:
{
"company_name": "MONDAY.COM",
"city": "Tel Aviv",
"language": "en"
}
Cuando varios candidatos son plausibles, la API devuelve 409 AMBIGUOUS_ENTITY y candidatos. Nunca
selecciona uno en silencio. Un número inválido devuelve 400; ninguna entidad confiable devuelve 422 para
los dos endpoints de enriquecimiento.
Configuración de x402
La implementación usa los paquetes oficiales x402 v2 y Next.js withX402, por lo que el acuerdo ocurre
solo después de una respuesta exitosa. La configuración de prueba predeterminada es Base Sepolia a través del facilitador
de prueba público x402.
Requerido para habilitar el pago:
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
Los precios están centralizados en variables de entorno:
X402_VERIFY_PRICE=$0.10
X402_GOVERNMENT_PRICE=$0.35
X402_RISK_PRICE=$0.50
El recurso independiente de Mainnet 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
Sin una firma de pago, un endpoint protegido devuelve 402 con PAYMENT-REQUIRED. El
desafío incluye metadatos de entrada/salida de Bazaar. Un cliente pagado compatible debe repetir esa extensión
en su carga útil de pago. La inclusión en el catálogo ocurre solo después de que un facilitador procesa una carga útil
pagada conforme y está controlada en última instancia por ese facilitador.
X402_MAINNET_FACILITATOR_PROVIDER=auto conserva la URL configurada hasta que ambas credenciales CDP
estén presentes. Cuando se agregan, la verificación y el acuerdo de Mainnet cambian automáticamente al
facilitador autenticado Coinbase CDP. El secreto nunca aparece en desafíos, registros o respuestas
de salud. Ejecute npm run bazaar:check para validar todos los endpoints pagados en vivo contra Coinbase Bazaar;
la misma verificación de solo lectura se ejecuta diariamente en GitHub Actions.
Los identificadores de red de Base Sepolia y Base Mainnet y los activos USDC se validan como valores de configuración distintos. El precio, el activo, la red, el facilitador y payTo son propiedad del servidor y no pueden ser anulados por la entrada de la solicitud.
Configuración del cliente MCP
URL de MCP de producción:
https://israel-counterparty-intelligence.vercel.app/mcp
El endpoint implementa Streamable HTTP y x402 v2. Los clientes MCP estándar pueden inicializar el
servidor, listar herramientas y llamar a las herramientas gratuitas. preview_company devuelve identidad/estado más
argumentos reutilizables exactos para la próxima acción pagada. Una llamada pagada a verify_company devuelve un resultado
estructurado PaymentRequired hasta que el cliente lo reintente con _meta["x402/payment"]; un
acuerdo exitoso se devuelve en _meta["x402/payment-response"]. Use un cliente MCP compatible con x402 como
@x402/mcp para firma y reintento automáticos. No se requiere cuenta de comprador ni clave API.
El PaymentRequired.resource.description de producción incluye la guía canónica del comprador:
https://israel-counterparty-intelligence.vercel.app/x402-buyer-quickstart.md. Contiene un
ejemplo de cliente Streamable HTTP, requisitos explícitos de Base Mainnet/USDC, protecciones de gasto por herramienta
y los metadatos esperados de pago/acuerdo. Un cliente MCP normal sin un puente de billetera x402 puede
descubrir y llamar a las herramientas gratuitas, pero no puede completar verify_company automáticamente.
Configuración mínima de cliente para Claude y otros clientes que aceptan servidores MCP HTTP remotos:
{
"mcpServers": {
"israel-business-intelligence": {
"type": "http",
"url": "https://israel-counterparty-intelligence.vercel.app/mcp"
}
}
}
LangChain usa la misma URL con transporte http; CrewAI y Google ADK usan transporte
streamable-http. Sus adaptadores MCP estándar pueden descubrir y llamar a las herramientas gratuitas. Las llamadas pagadas
requieren el viaje de ida y vuelta de metadatos de pago x402 descrito anteriormente; no se necesita ningún SDK específico del marco.
Una composición aislada de incorporación de proveedores controlada por el comprador está disponible en
examples/aerchain-adapter. Incluye una política de pago estricta de Base
Mainnet, mapeo de registro a proveedor, manejo de recibos de acuerdo, fixtures y
pruebas. No altera el servicio de producción ni representa la evidencia del registro público como KYB completo.
Piloto de socios
El piloto de socios está aislado de ambas rutas pagadas. Un token portador válido puede llamar al mismo
motor de verificación a través de /mcp/pilot o /v1/pilot/verify mientras el pago se exime. La oferta
actual está limitada a 100 verificaciones exitosas y una fecha de vencimiento fija. Cada llamada exitosa
emite un evento pilot_verification con un identificador de socio y sin token bruto ni dirección IP bruta.
El contador en proceso es un límite de seguridad, no un libro mayor de facturación duradero a nivel global. El total
autoritativo del piloto es el conteo centralizado de eventos exitosos de pilot_verification. Si el producto
avanza más allá de una evaluación pequeña, reemplace este mecanismo con un almacén de uso compartido atómico antes de
vender planes medidos.
Mantenga el token portador bruto fuera del repositorio y configure solo su digest SHA-256. Consulte el runbook del piloto para los pasos de activación, monitoreo y cierre.
Pruebas de humo
Contra un servicio desprotegido en ejecución y las fuentes públicas en vivo:
BASE_URL=http://localhost:3000 npm run smoke
Contra un servicio habilitado para x402 en ejecución, sin pagar:
BASE_URL=http://localhost:3000 EXPECT_X402=true npm run smoke
El modo de humo x402 verifica HTTP 402, el encabezado de pago, la versión 2 del protocolo, el precio configurado exacto y los metadatos de Bazaar. Base Sepolia ya prueba el flujo completo de acuerdo. Mainnet permanece en vivo sin un auto-pago financiado por el operador y espera un pagador externo genuino.
Descubrimiento de MCP y prueba de humo de herramientas gratuitas:
MCP_URL=https://israel-counterparty-intelligence.vercel.app/mcp/testnet npm run smoke:mcp
El script de humo MCP pagado está estrictamente restringido a /mcp/testnet y requiere un archivo de billetera aislado de Base
Sepolia proporcionado fuera del repositorio:
X402_TEST_WALLET_FILE=/secure/path/test-wallet.json npm run smoke:mcp:paid
Puntuación de riesgo v0.1.0
- Entidad no activa: +40.
- Indicador de violación de la ley en el registro: +25.
- Informe anual con más de dos años de antigüedad: +10.
- 0-19: BAJO, 20-49: MEDIO, 50-100: ALTO.
- La identidad ambigua no se puntúa.
- La falta de datos críticos de identidad bloquea la puntuación; la falta de enriquecimiento reduce la confianza.
Cada respuesta de riesgo incluye reason_codes, explanation, confidence, scoring_version y un
registro de evidencia de inferencia. La interpretación segura es: no se encontraron indicadores públicos de advertencia materiales
en las fuentes consultadas, nunca que una transacción sea segura.
Fiabilidad y privacidad
- Adaptadores tipados con validación de respuesta Zod.
- Tiempos de espera de cancelación y un reintento limitado por defecto.
- Caché de fuentes en memoria de seis horas.
- Limitación de velocidad en memoria por instancia.
- Registros JSON con ID de solicitud, tiempos, llamadas a fuentes, presencia de pago, confianza, categoría de error y una huella digital de cliente unidireccional abreviada.
- Solo un acuerdo exitoso en la ruta exacta de Base Mainnet, el contrato oficial de USDC de Base,
el monto configurado y el payTo configurado pueden emitir
external_paid_call. Testnet y los pagadores de prueba internos configurados están excluidos. El evento se emite mediante el hook del SDK posterior al acuerdo e incluye red, activo, pagador, monto, hash de transacción, recurso y fuente de descubrimiento opcional. - Sin base de datos de usuarios y sin registro de IP sin procesar en el código de la aplicación.
- Sin secretos en el repositorio.
- La autenticación piloto compara un resumen de token SHA-256 en tiempo constante; la credencial sin procesar permanece fuera del repositorio.
La caché en memoria y la limitación de velocidad son suficientes para el primer experimento de llamada de pago, no un servicio de alto volumen multirregional. Agregue infraestructura compartida solo después de que aparezca demanda real.
Implementación
Compile primero:
npm run check
Luego enlace e implemente desde este directorio:
vercel link
vercel deploy
vercel promote <validated-preview-url>
Configure las variables de entorno de ejecución en Vercel en lugar de confirmarlas. Mantenga x402 deshabilitado hasta que la billetera receptora sea correcta. Después de habilitar x402, vuelva a implementar y ejecute la prueba de humo 402 sin pago. No fabrique un acuerdo de Mainnet para activación o descubrimiento.
Llamada de pago externa #1
- Mantenga el endpoint público de Mainnet y los metadatos de descubrimiento activos.
- Espere a un pagador que no esté controlado por el operador.
- Requiera un acuerdo exitoso de Base Mainnet con USDC real y una respuesta HTTP 200 de la API.
- Excluya Testnet, billeteras internas, pruebas de humo, rastreadores y sondeos de directorio.
- Emita
external_paid_callcon red, pagador, monto, hash de transacción, recurso y marca de tiempo. - Trate ese mismo evento como la primera prueba de extremo a extremo de Mainnet y la Llamada de pago externa #1.
No agregue funciones si no ocurre ninguna llamada de pago externa después de una prueba razonable de descubrimiento y divulgación. Cambie la oferta o deténgase.
Políticas
- Términos
- Aviso de privacidad
- Proceso de corrección
- Análisis de implementación en hebreo
- Bloqueadores actuales
- Prueba de acuerdo de pago
Entrega al socio
Comience en PARTNER_HANDOFF.md (estado, mapa del sistema, CRM de divulgación).