> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agribackup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# EUDR Compliance: Requirements and AgriBackup's Approach

> Understand what the EU Deforestation Regulation requires from commodity importers and how AgriBackup satisfies each obligation programmatically.

The EU Deforestation Regulation (EUDR, Regulation (EU) 2023/1115) obliges operators and traders placing specific commodities on the EU market to prove that those goods were not produced on land deforested after 31 December 2020, and that they were produced in compliance with the relevant legislation of the country of production. AgriBackup is designed to make satisfying those obligations programmable.

## What the EUDR requires

The EUDR imposes three core obligations on EU importers:

### 1. Geolocation data for every production unit

You must collect and hold precise geographic coordinates — in practice, polygon boundaries — for every farm, plantation, or forest plot that contributed to a shipment. Coordinates must be accurate enough to verify that the plot did not overlap a deforested area after the regulation's baseline date.

### 2. Due Diligence Statements filed before each shipment

Before a regulated commodity enters the EU market, you must submit a Due Diligence Statement (DDS) to the EU's TRACES NT system. The DDS declares that you have:

* Collected the required geolocation data.
* Assessed the risk that the commodity originates from deforested land.
* Taken sufficient measures to mitigate any identified risk.

The DDS must reference the specific production plots and quantities covered, and carries legal liability for its accuracy.

### 3. Document retention for audits

You must retain the geolocation data, risk assessment evidence, and all supporting documents for at least five years and make them available to competent authorities on request.

## Regulated commodities

The EUDR covers the following commodities and their derived products:

<CardGroup cols={2}>
  <Card title="Cocoa" icon="circle">
    Includes chocolate, cocoa butter, and cocoa powder.
  </Card>

  <Card title="Coffee" icon="mug-hot">
    Includes roasted coffee, coffee extracts, and soluble coffee.
  </Card>

  <Card title="Soy" icon="seedling">
    Includes soybean oil, soy flour, and soy-fed livestock products.
  </Card>

  <Card title="Palm Oil" icon="tree">
    Includes palm kernel oil, palm stearin, and oleochemicals.
  </Card>

  <Card title="Timber" icon="tree-deciduous">
    Includes sawn wood, plywood, pulp, and paper products.
  </Card>

  <Card title="Cattle" icon="cow">
    Includes beef, leather, and live cattle.
  </Card>

  <Card title="Rubber" icon="droplet">
    Includes natural rubber, tyres, and rubber-containing goods.
  </Card>
</CardGroup>

Derived products — any good that contains, has been fed with, or has been made using the commodities above — are also covered. The applicable HS codes determine whether a specific product falls within scope.

## How AgriBackup satisfies each EUDR obligation

### Obligation 1: Geolocation collection and verification

AgriBackup accepts GeoJSON polygon data conforming to RFC 7946 via `POST /api/v1/enterprise/eudr/polygons`. Each polygon is automatically screened against Copernicus Sentinel-2 satellite imagery through the Copernicus Data Space Ecosystem (CDSE). The screening determines a per-polygon deforestation risk verdict and assigns a compliance status.

Key features:

* **Batch ingestion** of up to 5,000 features per request to match enterprise ERP export volumes.
* **Pre-assessment** via `POST /api/v1/enterprise/eudr/risk/assess-polygon` lets you check risk scores before committing a polygon to the full ingestion pipeline.
* **Immutable anchoring** of each verified polygon on the Hedera Hashgraph, producing a `polygonId` that becomes the stable reference for all downstream operations.

### Obligation 2: Due Diligence Statement filing

Once your polygons are verified and a commodity batch is registered, you call `POST /api/v1/enterprise/eudr/declarations/dds` to generate the DDS. AgriBackup:

1. Compiles a TRACES NT V3–compliant XML payload from your batch and polygon data.
2. Anchors any land tenure document hashes you supply (SHA-256) on the Hedera ledger as legal proof of production legality.
3. Submits the completed DDS to TRACES NT and returns the reference number and Hedera consensus transaction ID.

You can monitor submission status via the `dds.submitted`, `dds.validated`, and `dds.rejected` webhook events, or by polling `GET /api/v1/enterprise/eudr/declarations/dds/{referenceId}`.

### Obligation 3: Document retention and audit access

AgriBackup's `Enterprise Archival` API group supports the five-year retention requirement:

* **`POST /api/v1/enterprise/eudr/reports/archive`** triggers an asynchronous bulk archival job that compiles XML payloads, Hedera state proofs, and legal document hashes into a single cryptographic ZIP artifact.
* **`GET /api/v1/enterprise/eudr/reports/archive/{reportId}/download`** streams the ZIP for offline storage or transmission to competent authorities.
* Cryptographic evidence endpoints (`/evidence/ledger/batch`, `/evidence/ledger/polygon`, `/evidence/ledger/shipment`) let auditors independently verify every Hedera state proof without needing access to your ERP.

## The compliance lifecycle

The five steps below represent the end-to-end compliance workflow that AgriBackup automates. Each step maps directly to an API operation:

<Steps>
  <Step title="Pre-assessment (optional)">
    Run a fast risk check on a polygon coordinate or GeoJSON boundary before full ingestion. This non-binding assessment returns a deforestation probability score so you can catch high-risk plots before they block a shipment.

    **Endpoint:** `POST /api/v1/enterprise/eudr/risk/assess-polygon`
  </Step>

  <Step title="Polygon ingestion and satellite verification">
    Submit your farm boundary GeoJSON. The system queues Copernicus satellite screening and anchors each passing polygon on Hedera. You receive a `polygon.verified` webhook when complete.

    **Endpoint:** `POST /api/v1/enterprise/eudr/polygons`
  </Step>

  <Step title="Batch registration">
    Create a consolidated commodity batch that references an array of verified polygon IDs. AgriBackup cross-validates polygon compliance states, runs a final risk assessment, and anchors the batch on Hedera. You receive a `batch.risk_assessed` webhook.

    **Endpoint:** `POST /api/v1/enterprise/eudr/batches`
  </Step>

  <Step title="Shipment linkage">
    Invoke the `BATCH_SHIPMENT_GATEKEEPER` Hedera smart contract to lock the batch to a Bill of Lading. This step is idempotent — attempting to link a batch that is already linked raises a Hedera EVM state violation rather than creating a duplicate record.

    **Endpoint:** `POST /api/v1/enterprise/eudr/shipments/link`
  </Step>

  <Step title="DDS generation and TRACES NT filing">
    Generate the TRACES NT XML payload, anchor land tenure document hashes on Hedera, and submit the DDS. You receive `dds.submitted` → `dds.validated` (or `dds.rejected`) webhooks from TRACES NT clearance.

    **Endpoint:** `POST /api/v1/enterprise/eudr/declarations/dds`
  </Step>
</Steps>

## Risk levels and compliance states

After satellite screening, each polygon receives one of the following compliance states:

| State       | Meaning                                                   | Can proceed to DDS?                      |
| ----------- | --------------------------------------------------------- | ---------------------------------------- |
| `COMPLIANT` | No deforestation detected; land use is legal              | Yes                                      |
| `HIGH_RISK` | Deforestation signal detected within the polygon boundary | No — manual review required              |
| `PENDING`   | Screening is still in progress                            | No — wait for `polygon.verified` webhook |
| `FAILED`    | Screening could not complete (e.g. cloud cover, data gap) | No — resubmit                            |

A batch registration request that references any polygon in `HIGH_RISK` or `FAILED` state is rejected with `400 Bad Request`.

## Competent authority access

If an EU competent authority requests evidence for a shipment, you can retrieve a complete cryptographic evidence bundle using the `Enterprise Evidence` endpoints. The bundle includes raw Hedera transaction IDs, Merkle state proofs, and consensus timestamps — all of which can be independently verified against the public Hedera mirror node without contacting AgriBackup.

See [Cryptographic Evidence](/concepts/cryptographic-evidence) for retrieval instructions.
