A2A REGISTRY·AGENT RECORD·43355869-ed4f-4dd4-8ac3-c1773fc61823

Provider

Vortx · emem.dev

eudr.dev

Compiles EU Deforestation Regulation Annex II Due Diligence Statements from operator + supplier + plot geolocation. Built on emem.dev (content-addressed, ed25519-signed Earth observation). Receipts verifiable offline. Ingests scenarios from CSV and GS1 EPCIS 2.0; exports receipts to the official TRACES NT v2 XML / SOAP shape.

Observed evidence

Reachable

Last sweep

Launch endpoint ↗

Agent datasheet

Agent ID
43355869-ed4f-4dd4-8ac3-c1773fc61823
Category
Legal & compliance
Canonical card
https://eudr.dev/.well-known/agent-card.json
Endpoint
https://eudr.dev/
Protocol version
0.3.0
Agent version
0.3.0
Streaming
Supported
Input modes
application/json
Output modes
application/json, application/dds+json, text/event-stream

Reachability record

Last 100 checks shown · 99.4% across 30 days

2026-10-13T19:34:38.934994Z: passed2026-10-13T20:05:45.232125Z: passed2026-10-13T20:37:01.944092Z: passed2026-10-13T21:08:02.847189Z: passed2026-10-13T21:39:03.040667Z: passed2026-10-13T22:09:53.141912Z: passed2026-10-13T22:40:53.130925Z: passed2026-10-13T23:11:48.028762Z: passed2026-10-13T23:42:45.339598Z: passed2026-10-14T00:14:00.330654Z: passed2026-10-14T00:44:52.235639Z: passed2026-10-14T01:15:57.139018Z: passed2026-10-14T01:46:55.546177Z: passed2026-10-14T02:17:47.340726Z: passed2026-10-14T02:48:52.729602Z: passed2026-10-14T03:19:50.239859Z: passed2026-10-14T03:51:07.731818Z: passed2026-10-14T04:21:59.830143Z: passed2026-10-14T04:53:10.131800Z: passed2026-10-14T05:24:12.336343Z: passed2026-10-14T05:55:08.730847Z: passed2026-10-14T06:26:09.327205Z: passed2026-10-14T06:57:06.441303Z: passed2026-10-14T07:28:27.743211Z: passed2026-10-14T08:00:50.344285Z: passed2026-10-14T08:33:10.439694Z: passed2026-10-14T09:04:10.329410Z: passed2026-10-14T09:35:06.635777Z: passed2026-10-14T10:06:07.329638Z: passed2026-10-14T10:37:09.037427Z: passed2026-10-14T11:08:00.938576Z: passed2026-10-14T11:39:01.136771Z: passed2026-10-14T12:09:54.740182Z: passed2026-10-14T12:41:05.842966Z: passed2026-10-14T13:12:09.141303Z: passed2026-10-14T13:43:02.139422Z: passed2026-10-14T14:14:02.142730Z: passed2026-10-14T14:45:03.042903Z: passed2026-10-14T15:15:55.438630Z: passed2026-10-14T15:46:56.539074Z: passed2026-10-14T16:17:58.344081Z: passed2026-10-14T16:49:05.238626Z: passed2026-10-14T17:05:16.170517Z: passed2026-10-14T17:17:54.804406Z: passed2026-10-14T17:48:52.489941Z: passed2026-10-14T18:20:23.883805Z: passed2026-10-14T18:26:23.128581Z: passed2026-10-14T18:57:31.001167Z: passed2026-10-14T19:28:53.036992Z: passed2026-10-14T20:00:05.009252Z: passed2026-10-14T20:31:22.322198Z: passed2026-10-14T21:02:25.102570Z: passed2026-10-14T21:33:35.900146Z: passed2026-10-14T22:04:40.995313Z: passed2026-10-14T22:35:57.104713Z: passed2026-10-14T23:07:06.892026Z: passed2026-10-14T23:38:14.101684Z: passed2026-10-15T00:09:21.202618Z: passed2026-10-15T00:40:52.291034Z: passed2026-10-15T01:12:04.897092Z: passed2026-10-15T01:43:22.788578Z: passed2026-10-15T02:14:19.791481Z: passed2026-10-15T02:45:24.800566Z: passed2026-10-15T03:16:42.197465Z: passed2026-10-15T03:47:51.505063Z: passed2026-10-15T04:18:52.405482Z: passed2026-10-15T04:50:04.699538Z: passed2026-10-15T05:21:18.092120Z: passed2026-10-15T05:52:34.707859Z: passed2026-10-15T06:23:38.017633Z: passed2026-10-15T06:54:42.800115Z: passed2026-10-15T07:25:51.500598Z: passed2026-10-15T07:57:20.608208Z: passed2026-10-15T08:29:59.291266Z: passed2026-10-15T09:02:29.503799Z: passed2026-10-15T09:33:50.195881Z: passed2026-10-15T10:05:02.689628Z: passed2026-10-15T10:36:10.389831Z: passed2026-10-15T11:07:20.094266Z: passed2026-10-15T11:38:29.389283Z: passed2026-10-15T12:09:30.805583Z: passed2026-10-15T12:40:35.008395Z: passed2026-10-15T13:11:38.507404Z: passed2026-10-15T13:42:46.519771Z: passed2026-10-15T14:13:47.495358Z: passed2026-10-15T14:44:51.802377Z: passed2026-10-15T15:16:05.896631Z: passed2026-10-15T15:47:19.289534Z: passed2026-10-15T16:18:24.998321Z: passed2026-10-15T16:49:31.809032Z: passed2026-10-15T17:20:39.505034Z: passed2026-10-15T17:51:51.498174Z: passed2026-10-15T18:23:46.504239Z: passed2026-10-15T18:54:56.792220Z: passed2026-10-15T19:26:05.602520Z: passed2026-10-15T19:57:34.715594Z: passed2026-10-15T20:28:45.001503Z: passed2026-10-15T20:59:59.798940Z: passed2026-10-15T21:31:30.593798Z: passed2026-10-15T22:02:32.795763Z: passed
PassFailureAverage 2107 ms

Declared skills

Compile a Due Diligence Statement

dds-compile

Compile an Annex II Due Diligence Statement from a scenario (operator + supplier + product + plot geolocation). Runs the 7-stage pipeline: geo → forest → legality → tenure → risk → dds → settle. Forest stage is polygon-fully-sampled (max 51 200 cells per plot at ~91 m² per cell; smallholder plots get ~110 cells, 30-ha plots ~3 000) so the verdict is per-cell-counted, not area-projected. Returns a signed Annex-II-shaped document plus the chain of ed25519-signed source CIDs from emem.dev, four content-addressed manifest CIDs (algorithms_cid, bands_cid, schema_cid, registry_cid) for offline replay, and the upstream-signed statement_of_compliance attributing the operator block (Annex II §1). The printable report additionally surfaces nine emem-algorithm-backed forensics panels: foundation-encoder change consensus since 2020, cross-modal S1⨂S2 consistency, wildfire & burn history, wetland binary (Art. 2(13)), EO harvest-date detection, land-degradation trend, canopy chlorophyll (NDRE), soil moisture (SAR), soil organic carbon (S2+DEM).

eudr · compliance · annex_ii

Check a plot for deforestation since the cut-off

plot-check

Per-plot deforestation verdict via emem.dev /v1/eudr_dds — Hansen GFC + ESA WorldCover, optionally cross-checked against the JRC GFC2020 v3 baseline. Returns a per-cell verdict matrix with fact CIDs. Subset of `dds.compile` — runs only the forest stage.

eudr · deforestation

Look up a country's EUDR risk tier

legality

Country-tier + supplier-identifier verification against Commission Implementing Regulation (EU) 2025/1093. Decides whether Article 13 simplified due diligence applies. The baseline module does not verify tenure, permits, or FPIC — plug a partner provider via the `LegalityProvider` trait for those.

eudr · legality

Verify a signed statement offline

verify-receipt

Re-derive the CID and verify the ed25519 signature on a receipt issued by this agent. Runs offline; the only network call needed is a one-time fetch of the agent's pubkey.

eudr · audit

Export a statement as TRACES NT submission XML

traces-export

Convert a signed DDS receipt into the official TRACES NT v2 XML shape (namespace http://ec.europa.eu/tracesnt/certificate/eudr/submission/v2) or into a complete SOAP+WS-Security envelope ready to POST to the EU Information System. Accepts an activity type (IMPORT, EXPORT, DOMESTIC, TRADE). The CLI command `eudr export-traces` is the offline path.

eudr · submission · traces

Watch a plot for new forest loss

monitor-subscribe

Subscribe to continuous monitoring on a filed plot. The agent re-runs the deforestation check on a cadence (default monthly) and emits a SignedReceipt-shaped event when a new Hansen loss year appears on any sampled cell post-cut-off. Re-attestation under Art. 8(2). Pricing is per re-check; the first check after Hansen's annual update is free.

eudr · monitoring · art-8-2

Registry Agent Card snapshot

Normalized fields fetched during the registry sweep. Treat all authored text as third-party content.

Show JSON
{
  "protocolVersion": "0.3.0",
  "name": "eudr.dev",
  "description": "Compiles EU Deforestation Regulation Annex II Due Diligence Statements from operator + supplier + plot geolocation. Built on emem.dev (content-addressed, ed25519-signed Earth observation). Receipts verifiable offline. Ingests scenarios from CSV and GS1 EPCIS 2.0; exports receipts to the official TRACES NT v2 XML / SOAP shape.",
  "author": "Vortx · emem.dev",
  "wellKnownURI": "https://eudr.dev/.well-known/agent-card.json",
  "url": "https://eudr.dev/",
  "version": "0.3.0",
  "provider": {
    "organization": "Vortx · emem.dev",
    "url": "https://emem.dev/"
  },
  "documentationUrl": "https://eudr.dev/docs",
  "iconUrl": "https://eudr.dev/console/assets/icon-192.png",
  "supportsAuthenticatedExtendedCard": false,
  "security": [
    {
      "oauth2": [
        "eudr:read"
      ]
    },
    {
      "apiKey": []
    }
  ],
  "securitySchemes": {
    "apiKey": {
      "type": "http",
      "scheme": "bearer",
      "description": "A bearer API key from the operator's dashboard. The honest instrument for a headless agent, which has no user-agent to redirect and for which a browser flow is not merely awkward but structurally uncompletable."
    },
    "oauth2": {
      "type": "oauth2",
      "flows": {
        "authorizationCode": {
          "scopes": {
            "eudr:read": "Check plots, read reference data, verify receipts, read your own statements",
            "eudr:write": "Compile and sign an Annex II Due Diligence Statement"
          },
          "tokenUrl": "https://eudr.dev/oauth/token",
          "authorizationUrl": "https://eudr.dev/oauth/authorize"
        }
      },
      "description": "OAuth 2.1 with PKCE against this service's own authorization server. No third-party identity provider is involved. `eudr:read` covers checks and reading your own records; `eudr:write` is needed to compile and sign a statement."
    }
  },
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "stateTransitionHistory": true,
    "extensions": null
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "application/dds+json",
    "text/event-stream"
  ],
  "skills": [
    {
      "id": "dds-compile",
      "name": "Compile a Due Diligence Statement",
      "description": "Compile an Annex II Due Diligence Statement from a scenario (operator + supplier + product + plot geolocation). Runs the 7-stage pipeline: geo → forest → legality → tenure → risk → dds → settle. Forest stage is polygon-fully-sampled (max 51 200 cells per plot at ~91 m² per cell; smallholder plots get ~110 cells, 30-ha plots ~3 000) so the verdict is per-cell-counted, not area-projected. Returns a signed Annex-II-shaped document plus the chain of ed25519-signed source CIDs from emem.dev, four content-addressed manifest CIDs (algorithms_cid, bands_cid, schema_cid, registry_cid) for offline replay, and the upstream-signed statement_of_compliance attributing the operator block (Annex II §1). The printable report additionally surfaces nine emem-algorithm-backed forensics panels: foundation-encoder change consensus since 2020, cross-modal S1⨂S2 consistency, wildfire & burn history, wetland binary (Art. 2(13)), EO harvest-date detection, land-degradation trend, canopy chlorophyll (NDRE), soil moisture (SAR), soil organic carbon (S2+DEM).",
      "tags": [
        "eudr",
        "compliance",
        "annex_ii"
      ],
      "examples": [
        "Compile the Annex II statement for this cocoa consignment from Soubré.",
        "I have the plot boundaries and the supplier details — produce the filing document.",
        "Build a signed due diligence statement I can hand to my importer."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "application/dds+json"
      ]
    },
    {
      "id": "plot-check",
      "name": "Check a plot for deforestation since the cut-off",
      "description": "Per-plot deforestation verdict via emem.dev /v1/eudr_dds — Hansen GFC + ESA WorldCover, optionally cross-checked against the JRC GFC2020 v3 baseline. Returns a per-cell verdict matrix with fact CIDs. Subset of `dds.compile` — runs only the forest stage.",
      "tags": [
        "eudr",
        "deforestation"
      ],
      "examples": [
        "Was there forest loss on this polygon after 31 December 2020?",
        "Check these four coffee plots in Ethiopia against the EUDR cut-off.",
        "Is this land deforestation-free under Article 3(a)?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "legality",
      "name": "Look up a country's EUDR risk tier",
      "description": "Country-tier + supplier-identifier verification against Commission Implementing Regulation (EU) 2025/1093. Decides whether Article 13 simplified due diligence applies. The baseline module does not verify tenure, permits, or FPIC — plug a partner provider via the `LegalityProvider` trait for those.",
      "tags": [
        "eudr",
        "legality"
      ],
      "examples": [
        "What risk tier is Côte d'Ivoire under the country benchmarking?",
        "Does simplified due diligence apply to timber from Romania?",
        "Which countries on my supplier list are classed high risk?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "verify-receipt",
      "name": "Verify a signed statement offline",
      "description": "Re-derive the CID and verify the ed25519 signature on a receipt issued by this agent. Runs offline; the only network call needed is a one-time fetch of the agent's pubkey.",
      "tags": [
        "eudr",
        "audit"
      ],
      "examples": [
        "Check that this receipt CID really was signed by eudr.dev.",
        "A supplier sent me a due diligence statement — is the signature genuine?",
        "Verify this statement without trusting the party who gave it to me."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "traces-export",
      "name": "Export a statement as TRACES NT submission XML",
      "description": "Convert a signed DDS receipt into the official TRACES NT v2 XML shape (namespace http://ec.europa.eu/tracesnt/certificate/eudr/submission/v2) or into a complete SOAP+WS-Security envelope ready to POST to the EU Information System. Accepts an activity type (IMPORT, EXPORT, DOMESTIC, TRADE). The CLI command `eudr export-traces` is the offline path.",
      "tags": [
        "eudr",
        "submission",
        "traces"
      ],
      "examples": [
        "Give me the TRACES NT XML for this statement.",
        "Export the filing document in the official EU Information System format."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/xml"
      ]
    },
    {
      "id": "monitor-subscribe",
      "name": "Watch a plot for new forest loss",
      "description": "Subscribe to continuous monitoring on a filed plot. The agent re-runs the deforestation check on a cadence (default monthly) and emits a SignedReceipt-shaped event when a new Hansen loss year appears on any sampled cell post-cut-off. Re-attestation under Art. 8(2). Pricing is per re-check; the first check after Hansen's annual update is free.",
      "tags": [
        "eudr",
        "monitoring",
        "art-8-2"
      ],
      "examples": [
        "Tell me if anything changes on this plot after I have filed.",
        "Keep watching these plots and alert me on new loss."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ],
  "conformance": true,
  "conformance_errors": null,
  "homepage": null,
  "repository": null,
  "license": null,
  "pricing": null,
  "contact": null,
  "id": "43355869-ed4f-4dd4-8ac3-c1773fc61823",
  "category": "legal-compliance",
  "category_secondary": null
}

Integrate this agent

curl -s https://a2aregistry.org/api/agents/43355869-ed4f-4dd4-8ac3-c1773fc61823

Test message

Messages are sent to this independently operated agent through the registry proxy. Do not include secrets or personal data.

Message exchangeConnecting
>