OpenChainGraph Suite · Supply-Chain Due Diligence

EUDR Due Diligence Statement Validation

Note (dated 2026-08-04): a chain composes independent computations performed in an analytical order. No step's output is carried into the next step by the execution model; each step computes from its own declared inputs. This is true of every chain on this site, including chains whose per-step copy below reads as a data handoff.

Validate EUDR Due Diligence Statement fields structurally (art-165) → validate plot-level geolocation (GeoJSON type, coordinate ranges, size rule art-166) → classify HS code against EUDR Annex I, determine SME status and enforcement deadline (art-167). Full DDS submission pipeline for Regulation (EU) 2023/1115. Mandatory 2026-12-30 (large/medium) / 2027-06-30 (micro/SME). Zero network, zero PII.

OpenChainGraph · 3 Steps compliance mandate EUDR 2023/1115 TRACES NT W3C VC §13.11 Hash-Anchored §4 chain_depth:3 · Zero PII
Chain Topology — EUDR Due Diligence Statement Validation (Regulation (EU) 2023/1115)
art-165 DDS Field Validator art-166 Geolocation Validator art-167 Commodity Classifier ⊥
§4 Execution Hash · Chain Definition Anchor
execution_hash:computing…
Chain Stages · 3 Steps
1ROOT · D0node
DDS field conformance feeds geolocation validator
MCP Call · validate_eudr_due_diligence_statement
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "validate_eudr_due_diligence_statement",
    "arguments": {
      "dds": {
        "operator_name": "Amazon Timber GmbH",
        "operator_address": "Industriestr. 12, 10115 Berlin, DE",
        "eori": "DE123456789012",
        "hs_code": "4407",
        "trade_name": "Tropical Sawn Timber",
        "quantity": 5000,
        "country_of_production": "BR",
        "geolocation_present": true
      }
    }
  },
  "id": 1
}
↓
2MIDDLE · D1node
Geolocation validity feeds commodity scope classifier
MCP Call · validate_eudr_geolocation
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "validate_eudr_geolocation",
    "arguments": {
      "geo": {
        "type": "Point",
        "coordinates": [-47.8762, -15.7942],
        "area_ha": 2.5,
        "declared_country": "BR"
      }
    }
  },
  "id": 2
}
↓
3TERMINAL · D2node
Exports commodity scope, SME status, and enforcement deadline — final stage
MCP Call · classify_eudr_commodity_scope
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "classify_eudr_commodity_scope",
    "arguments": {
      "hs_code": "4407",
      "entity": {
        "entity_type": "operator",
        "employee_count": 500,
        "annual_turnover_eur": 80000000
      }
    }
  },
  "id": 3
}
Export Artifacts
Download the §4 chain definition artifact or the §13.11 W3C VC view.

Ask your agent

Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this whole workflow on the server and check one field that answers a real question.

Question: The broker reclassified this consignment under a new HS line. Does it now fall inside EUDR scope with a DDS filing obligation?
Run the AINumbers MCP tool `run_chain` with {"chain":"eudr-due-diligence-statement-validation"} and read `art-167-eudr-commodity-scope-classifier.dds_filing_required`.
Re-run with `inputs` for `art-167-eudr-commodity-scope-classifier`, reusing the values that result echoed, with `hs_code` set to "7404". Compare the same field.
Verify: call `verify_execution_hash` (https://mcp.ainumbers.co/mcp) with `claimed_hash` set to `composite_execution_hash` and the full `composite_artifact`.
Ledger, for a human re-check: https://ledger.ainumbers.co/
PII rule: send synthetic or anonymised inputs only. The MCP server runs these kernels and logs no payloads.
Chain page: https://ainumbers.co/chaingraph/chains/eudr-due-diligence-statement-validation.html