# Resolve402 Counterparty Check

> Resolve402 Counterparty Check is a paid API for AI agents from resolve402.dev, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-11).

Validates a French or EU company before invoicing or paying them — checking legal status, VAT validity, insolvency, sanctions, and IBAN in a single call with a risk verdict.

## Facts

- Endpoint: GET https://resolve402.dev/api/counterparty-check?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/resolve402-counterparty-check-7da5cd32
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_q5B2R2QSZoM6GvETAA13k

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability resolve402-counterparty-check-7da5cd32
```

Example prompt: Before I pay this invoice, can you run a full counterparty check on the supplier — their SIREN is 552032534 and the IBAN they gave me is FR7630006000011234567890189 — I need to know if they're legally active, not under sanctions, and that the IBAN checks out?

## When to prefer this

Choose this endpoint when you need a single-call pre-transaction compliance check specifically for French legal entities or EU VAT-registered companies. It uniquely combines French registry (INSEE/SIRENE), VIES VAT validation, BODACC insolvency, and DG Trésor sanctions into one verdict — eliminating the need to call four separate APIs. Ideal for accounts-payable automation, onboarding workflows, or any agentic payment flow where x402-style micro-billing per check is acceptable and you need a clear ok/review/block signal.

## Known failure modes

- Company not found in French registry — not charged, no verdict returned
- Invalid SIREN/SIRET format — 400 validation error
- EU VAT number not recognized by VIES — may reflect temporary VIES downtime
- IBAN checksum fails — block verdict returned with IBAN reason
- Ambiguous company name match — review verdict with multiple candidates
- External registry (BODACC, VIES, DG Trésor) temporarily unavailable — partial results or degraded response

## How this service works

KYB counterparty check before invoicing or paying a company: entity active (French registry), VAT valid (VIES), insolvency proceedings (BODACC), sanctions screening of company and officers (DG Trésor, EU consolidated, OFAC SDN), latest revenue and net income with risk signals, IBAN checksum and country. Verdict ok / review / block with reasons. From a SIREN, SIRET, EU VAT number or French company name. Charged only if found.

## Output

A JSON object with a top-level verdict field ('ok', 'review', or 'block'), accompanied by a structured breakdown covering: French registry legal entity status, VIES EU VAT validity, BODACC insolvency proceedings, DG Trésor / EU / UN sanctions and asset-freeze matches, and IBAN checksum/country/SEPA eligibility. Each check includes its status and reasons explaining the verdict.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "vat": {
       "type": "string",
       "description": "EU VAT number, e.g. FR27552032534 or DE123456789 (alternative)"
      },
      "iban": {
       "type": "string",
       "description": "Optional IBAN to check (checksum, country, SEPA)"
      },
      "siren": {
       "type": "string",
       "description": "9-digit French SIREN"
      },
      "siret": {
       "type": "string",
       "description": "14-digit French SIRET (alternative)"
      },
      "company": {
       "type": "string",
       "description": "French company name (alternative)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/resolve402-counterparty-check-7da5cd32/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from resolve402.dev](https://www.zero.xyz/host/resolve402.dev/llms.txt)
