{"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":false,"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","created_at":"2026-09-22T03:52:10.200983Z","updated_at":"2026-10-12T22:39:25.849496Z","hidden":false,"flag_count":0,"maintainer_notes":"Agent card is valid but the A2A endpoint returns **405 Method Not Allowed**. Ensure your server accepts POST requests for `message/send` at the URL in your agent card.","category":"legal-compliance","category_secondary":null,"uptime_percentage":100.0,"avg_response_time_ms":868,"last_health_check":"2026-10-12T22:39:25.369509Z","is_healthy":true,"status_notes":[],"task_conformance":{"category":"405","passed":false,"checked_at":"2026-10-12T09:44:02.774849Z","response_ms":926}}