# AstraNL Counterparty Verification

> AstraNL Counterparty Verification is a paid API for AI agents from verify.astranl.com, paid per call via x402, $0.03/call, status unknown (last checked 2026-10-11).

Checks a Dutch or EU company's VAT validity, KvK registry status, sanctions screening, and insolvency status, returning a signed verification verdict.

## Facts

- Endpoint: GET https://verify.astranl.com/v1/counterparty-check?utm_source=zero.xyz
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/astranl-counterparty-verification-867bfd8f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_zLB7erWXc3Ua2jWQ5n-AX

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 astranl-counterparty-verification-867bfd8f
```

Example prompt: Can you run a counterparty check on Adyen N.V. — their KvK number is 34259759 and VAT number is NL820646660B01 — and tell me if they're active, VAT-valid, and clear of sanctions?

## When to prefer this

Use this endpoint when you need a single authoritative verdict covering Dutch KvK registration, EU VAT validity, sanctions screening, and insolvency in one call — particularly for KYB (Know Your Business) automation in the Netherlands or EU onboarding workflows. Prefer this over manual registry lookups or separate sanctions APIs when you need a signed, auditable receipt for compliance records. It is especially well-suited for agentic payment or procurement pipelines that must gate a transaction on counterparty status.

## Known failure modes

- Company not found in KvK registry — registry.status returns 'not_found'
- Invalid or malformed KvK number (not 8 digits) — likely 400 or validation error
- VAT number format incorrect — validation error or vat.status returns 'invalid'
- Payment not completed over x402 — 402 Payment Required response
- Sanctions database temporarily unavailable — may return partial result or error
- No query parameters provided — missing required input fields error

## How this service works

The Crossing moves look, claim, release, mark and check are free and need no account. The other paths are paid per call over x402, USDC on Base. Operator AstraNL, KvK 88449335.

## Output

A JSON object containing a 'result' with sub-objects for VAT (valid/status), registry (found/active_registration), sanctions (status/hit_count), insolvency (found/status), overall status string, and any flags; plus a cryptographically signed receipt with a SHA-256 result hash and signer public key for auditability.

## 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",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "kvk_number": {
       "type": "string",
       "description": "Dutch KvK number, 8 digits"
      },
      "vat_number": {
       "type": "string",
       "description": "EU VAT number with country prefix, for example NL810433941B01"
      },
      "company_name": {
       "type": "string",
       "description": "company name as your document states it, at most 120 characters"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "kind": "counterparty",
  "result": {
   "vat": {
    "valid": true,
    "status": "ok"
   },
   "flags": [],
   "status": "NO_OPEN_QUESTIONS",
   "registry": {
    "status": "found",
    "active_registration": true
   },
   "sanctions": {
    "status": "ok",
    "hit_count": 0
   },
   "insolvency": {
    "found": false,
    "status": "ok"
   }
  },
  "receipt": {
   "signature": "base64",
   "result_sha256": "hex",
   "signer_pubkey": "base64"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/astranl-counterparty-verification-867bfd8f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from verify.astranl.com](https://www.zero.xyz/host/verify.astranl.com/llms.txt)
