Skip to content

zerolabsgreen/PEACH-DataModel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PEACH - Data Model

Protocol for Environmental Attribute Certificate Harmonization

An open-source, universal data model for Environmental Attribute Certificates (EACs) that brings order to the complexity of sustainability claims across renewable energy, low-carbon fuels, carbon credits and more. PEACH has an open-source companion Demo App here: https://github.com/zerolabsgreen/PEACH-DemoApp

Alt text


Quick Links


1. What is PEACH?

PEACH is a unified data model that harmonizes how we represent and validate Environmental Attribute Certificatesβ€”from Renewable Energy Certificates (RECs) to Sustainable Aviation Fuel (SAF) to Carbon Credits and more.

The Challenge

Today's sustainability landscape is fragmented. Each EAC type speaks its own language, making harmonization nearly impossible:

  • Different EAC types use different names for the same concepts (vintage vs. production period vs. batch date).
  • Same EAC types from different registries have inconsistent data formats (M-RETS RECs vs. I-RECs vs. European GOs).
  • Physical products (RNG, SAF) require chain-of-custody tracking that virtual products (electricity) don't need.
  • Quality varies widely between registry-issued certificates and self-issued Proofs-of-Sustainability(PoS) or other proofs.
  • Languages differ across global markets, making automation difficult.

For a detailed analysis of these challenges, see the guide: Understanding EAC Patterns & Challenges.

The PEACH Solution

PEACH provides a single, extensible data structure that:

  • βœ… Works universally across all EAC types (RECs, RNG, SAF, Carbon Credits, and more)
  • βœ… Handles differences gracefully through flexible metadata and type-specific settings
  • βœ… Tells the complete story using events to capture production, transport, issuance, and redemption
  • βœ… Supports automation with machine-readable, validated data structures
  • βœ… Enables compliance by tracking chain-of-custody, bundling status, and quality indicators

🎯 2. Core Design Philosophy

Read the manifesto: "Climate Action Needs an Open Source Data Model"

PEACH aims to create a universal, extensible data model that harmonizes all Environmental Attribute Certificate (EAC) types while remaining simple enough for rapid adoption and complex enough for regulatory compliance.

Primary Objectives

  • Universal compatibility across all EAC types (RECs, RNG, SAF, carbon credits, and emerging types)
  • Machine-readable automation for corporate sustainability workflows
  • Regulatory compliance enabling automated verification and reporting
  • Future-proof extensibility for new certificate types and methodologies
  • Performance at scale for thousands of organizations and certificates

Sustainability Professionals: What You Need to Know!

PEACH is designed to be readable and understandable without a technical background.

  • πŸ’‘ Certificates contain everything you need
    When you look at a PEACH certificate, you get the complete picture in one placeβ€”amounts, events, documents, and production source. No hunting across multiple systems.

  • πŸ’‘ Events tell the story
    Every certificate has a timeline showing what happened: when energy was produced, when fuel was transported, when the certificate was issued, when it was retired. Each event shows who was involved and what documents prove it happened.

  • πŸ’‘ Documents provide proof
    Every claim is backed by evidenceβ€”registry certificates, transport receipts, audit reports, lab tests. PEACH links these documents to the events they support.

  • πŸ’‘ Different EAC types work differently
    RECs track electricity that can't be stored. RNG tracks physical fuel with complex supply chains. Carbon credits track project-based emissions reductions. PEACH handles all of these while keeping the core structure consistent.

  • πŸ’‘ Quality and traceability are built in
    PEACH captures who issued the certificate, what organizations were involved, what documents support each event, and whether the claim is bundled or unbundled. It even tracks the ExternalIDs used by the EAC source registry or issuer to represent these entities (events, documents, organizations). This transparency helps you assess quality and meet reporting requirements.

Implementation Architecture Principles

PEACH follows clear technical principles that guide every design decision:

  • 🌍 Universal Compatibility β†’ One model works for all EAC types. New types can be added without breaking existing implementations.

  • 🧩 Composition Over Inheritance β†’ Flexible entity relationships enable complex scenarios without rigid type hierarchies.

  • πŸ“… Event-Driven State β†’ Certificate state is reconstructed from events, creating complete audit trails.

  • πŸ”— Denormalize for Display β†’ Store IDs in the database, return full objects in API responses for optimal user experience.

  • πŸ“ Explicit Over Derived β†’ Make relationships clear in the data structure. Don't force users to calculate or infer information.

  • πŸ”§ Extensible Without Breaking β†’ MetadataItem and EACTypeSettings allow type-specific fields without schema changes.

  • 🎯 Optimize for the Common Case β†’ 98% of the time, users want complete certificates. PEACH embeds entities to deliver this efficiently.

For detailed reasoning behind specific design decisions, see the entity documentation (docs/01_entities/) and Architecture Decision Records (docs/03_design-decisions/).


3. Key Concepts

3.1 The Certificate as a Complete Package

Think of a certificate as a complete package containing its documents, events (what happened), and origin (production source). Everything you need is in one place.

You can also think of an EAC certificate like a passport for environmental claims:

  • Identity β†’ Certificate ID, type, and external registry identifiers
  • Quantities β†’ Amounts (MWh, MMBTU, tCO2e) with unit conversions to Emissions
  • Origin Story β†’ Production source (where and how it was generated)
  • Proof Documents β†’ Supporting evidence (certificates, receipts, audit reports)
  • Timeline β†’ Events that tell what happened and when

When you request a certificate from PEACH, you get everything in one responseβ€”no need to fetch related data separately.


### 3.2 EACType Taxonomy

PEACH supports diverse environmental attribute types, organized into major categories. The data model currently implements select examples from each category, with research ongoing for full coverage:

  • ⚑️ Energy Certificates

    • REC (Renewable Energy Certificate) β†’ Electricity from renewable sources
    • RTC (Renewable Thermal Certificate) β†’ Heat/cooling from renewable sources
    • LDES Long-duration energy storage certificates (future)
  • 🌱 Carbon & Climate

    • CC (Carbon Credit) β†’ Emission reductions or removal from projects
    • CR Carbon Removal certificates (technically a carbon credit but diffentiating the sub-type for convenience
    • CBAM Carbon Border Adjustment Mechanism (future)
  • ⛽️ Liquid Fuels

    • RNG (Renewable Natural Gas) β†’ Biomethane and other biogas derivatives
    • SAF (Sustainable Aviation Fuel) β†’ Renewable jet fuel
    • SMF (Sustainable Marine Fuel) (future)
    • Green Hydrogen, (future)
    • Green Ammonia (future)
  • 🏭 Green-X (Industrial Products)

    • Green Steel, Green Aluminum, Green Cement (future research)
  • ♻️ Circularity Certificates

    • Recycled materials: paper, water, plastic (future research)

Example: Currently Implemented Types

EAC Type Full Name Primary Unit Key Differences
REC Renewable Energy Certificate MWh Electricity generation, non-storable
RTC Renewable Thermal Certificate MWh thermal Heat/cooling generation
RNG Renewable Natural Gas MWh (+ MMBTU, mΒ³) Physical fuel, complex supply chain, multiple unit conversions
SAF Sustainable Aviation Fuel Liters Chain-of-custody, end-use verification
CC Carbon Credit tCO2e Project-based, vintage years, linked sources

Why taxonomy matters: Each category has unique tracking requirementsβ€”electricity can't be stored (requiring immediate or hourly matching), physical fuels need chain-of-custody events, carbon projects need linked source documentation, and industrial products require material provenance tracking. PEACH's flexible structure accommodates all of these through type-specific settings and metadata.

Other certificates will probably be a composite of different ones like a REC+RNG to certify green-steel.

Learn more: EACTypeSettings documentation


### 3.3 Events Tell the Story

####πŸ’‘ useful heuristic: Events tell the story. Documents prove the story.

All EACs represent sustainability eventsβ€”things that happened over time and in specific places. PEACH captures these as structured EACEvents.

Example: RNG Certificate Event Timeline

πŸ“… January 15, 2025 β†’ PRODUCTION
   - Dairy farm produces biogas from manure
   - Organizations: Green Farm LLC (producer)
   - Documents: [Feedstock certification]

πŸ“… January 20, 2025 β†’ TRANSPORT
   - Biogas transported to processing facility
   - Organizations: BioPower Transport (carrier)
   - Documents: [Truck consignment receipt]

πŸ“… January 25, 2025 β†’ INJECTION
   - Biomethane injected into natural gas grid
   - Organizations: Pacific Grid Operator (grid operator)
   - Documents: [Grid injection proof]

πŸ“… February 1, 2025 β†’ ISSUANCE
   - Certificate issued by M-RETS registry
   - Organizations: M-RETS (issuer)
   - Documents: [RNG certificate PDF]

πŸ“… March 15, 2025 β†’ REDEMPTION
   - Certificate retired for corporate claim
   - Organizations: Acme Corp (beneficiary)
   - Documents: [Retirement attestation]

Event Categories:

  • Lifecycle β†’ Creation, activation, suspension (for production sources)
  • Production β†’ When the environmental attribute was generated
  • Certificate actions β†’ Issuance, transfer, redemption
  • Chain-of-custody β†’ Transport, injection, storage (for physical products)
  • Verification β†’ MRV audits, lab tests, ratings, certifications

Why events matter:

  • Capture the complete chain-of-custody for physical products (RNG, SAF)
  • Enable hourly matching for time-sensitive electricity claims
  • Track future delivery for carbon removal contracts
  • Support different accounting methods (Mass Balance, Book & Claim, Direct Delivery)
  • Provide audit trails showing who did what and when

Learn more:


### 3.4 Documents as Proof

Every claim needs evidence. PEACH tracks Documents that prove events happened:

  • Certificates β†’ Registry-issued EAC documents
  • Proofs of Sustainability β†’ Third-party verification documents
  • Contracts β†’ offtake agreements, PPAs, green tariffs
  • Audit reports β†’ Third-party verification results
  • Lab tests β†’ Emissions testing, fuel quality analysis
  • Consignment sheets β†’ Transport and delivery receipts
  • Images β†’ Photos of facilities or equipment

Key pattern: Documents are stored once and referenced by ID from multiple events. This prevents duplication when the same truck receipt is used by both a transport event and an injection event.


### 3.5 Production Source: Where It Comes From

The ProductionSource represents where the environmental attribute originated:

  • For RECs: the "generator", Solar farm, wind turbine array, hydroelectric dam
  • For RNG: Anaerobic digester, landfill gas capture facility
  • For Carbon Credits: the "Project", Reforestation project, carbon capture technology
  • For SAF: Biorefinery processing waste oils or agricultural residue

What it captures:

  • Technology or feedstock type (varies by EAC type)
  • Location (country, region, coordinates)
  • Commissioning/operation start date (critical for eligibility)
  • Certifications and labels (Green-e, Gold Standard, ISCC etc)
  • Organizations involved (owner, operator)

Important: A single production source can generate multiple EAC types. A biogas digester might produce both RNG certificates and carbon credits.


### 3.6 Amounts: Flexible Measurement

Different EACs use different units. PEACH's Amount structure handles this elegantly:

RECs (simple):

[
  { "amount": 1000, "unit": "MWh", "isPrimary": true }
]

RNG (complex with conversions):

[
  { "amount": 1000, "unit": "MMBTU", "isPrimary": true },
  {
    "amount": 293,
    "unit": "MWh",
    "conversionFactor": 0.293,
    "conversionFactorUnits": "MWh/MMBTU",
    "conversionNotes": "Standard thermal conversion"
  },
  {
    "amount": 28317,
    "unit": "mΒ³",
    "conversionFactor": 28.317,
    "conversionFactorUnits": "mΒ³/MMBTU"
  }
]

Why explicit conversions matter: Sustainability professionals shouldn't have to calculate conversions. The certificate provides them directly.


### 3.7 MetadataItem: The Flexibility Engine (Use Sparingly)

MetadataItem is the secret to PEACH's universal compatibility, but should be used judiciously. It allows the core data model to stay simple while accommodating unique requirements when type-specific fields don't exist. It's a "Meta" object that can hold any information or data point in a structured and consistent way.

When to use MetadataItem:

  • Type-specific details not in the core model (e.g., RNG feedstock pathways, forest age class for carbon credits)
  • Registry-specific fields not standardized across EAC types
  • Emerging standards where requirements are still evolving

Where it's used:

  • βœ… ProductionSource β†’ Facility-specific details (nameplate capacity, digester temperature etc)
  • βœ… Document β†’ Document-specific metadata (verification methodology version)
  • βœ… EACEvent β†’ Event-specific data (MRV methodology details, lab test parameters)
  • ⚠️ EACertificate β†’ Only as last resort (prefer adding to EACEvents or documents)

Future enhancement: EACTypeSettings will include metadata templates that define expected fields for each EAC type, providing validation while maintaining flexibility.


### 3.8 Organizations and Roles

Organizations appear throughout the certificate lifecycle in different roles. Each organization appears in events with their specific role, creating a complete audit trail.

Examples:

  • M-RETS (Registry/Issuer) β†’ Issues an RNG certificate after biomethane injection
  • Green Farm LLC (Producer) β†’ Produces biogas from dairy manure
  • Acme Corp (Beneficiary) β†’ Retires the certificate for their sustainability claim

See OrganizationRole documentation for all role types including production, transaction, verification (MRV), and physical product handling roles.


4 - Documentation

PEACH documentation is organized to help you find what you need quickly.

πŸ“ Core Entities (docs/01_entities/)

The building blocks of PEACH certificates. Each document includes TypeScript interfaces, JSON examples, business rules, and design rationale.

Essential entities:

  • EACertificate β†’ The complete certificate with all related data
  • EACEvent β†’ Lifecycle events (production, transport, issuance, redemption)
  • ProductionSource β†’ Origin facility or project
  • Document β†’ Supporting evidence and proof
  • Amount β†’ Quantities with units and conversions
  • EmissionsData β†’ Carbon intensity and avoided emissions
  • ExternalID β†’ Registry identifiers and serial numbers
  • MetadataItem β†’ Flexible custom properties

Supporting entities:

  • Organization β†’ Companies and institutions involved
  • Location β†’ Geographic coordinates and regions
  • Enums β†’ Reference for all enumerated types (EACType, EventType, RoleType, etc.)

### βš™οΈ EACType Settings ([docs/02_EACType-settings/](docs/02_EACType-settings/))

Configuration that defines validation rules, units, and required fields for each certificate type. Today there are only some drafts but we will soon be realising more detailed implementations.


### πŸ“ Design Decisions ([docs/03_design-decisions/](docs/03_design-decisions/))

Architecture Decision Records (ADRs) document the reasoning behind key design choices. These provide context for implementers on why entities are structured the way they are.

Each entity documentation (docs/01_entities/) also includes design rationale sections. For foundational architectural decisions, see the ADR folder.

πŸ“– Guides (docs/04_guides/)

Step-by-step guides for using PEACH.


For Developers

While PEACH prioritizes readability for sustainability professionals, developers need implementation details.

Quick Technical Overview

Data Model Type: API Response Model (not a database schema)

  • Defines what APIs should return when querying certificates
  • Backend storage is flexible (PostgreSQL with JSONB recommended)

Key Patterns:

  • Certificates embed related entities (production source, documents, events)
  • Events reference documents by ID (prevents duplication)
  • Organizations appear as lightweight roles within events (not full objects)

TypeScript Definitions: See src/entities/ for canonical interfaces

Validation: Use EACTypeSettings to validate type-specific requirements

Getting Started:

  1. Read EACertificate to understand the top-level structure
  2. Review ADR-002 for design rationale
  3. Check Enums for valid values
  4. Explore entity documentation for detailed field definitions

Roadmap

PEACH is evolving to meet the needs of the sustainability community. Here's what's coming:

In Progress

  • Specific EACTypeSettings implementations (REC, RNG, SAF, Carbon Credit validation rules)
  • SemanticMapper documentation (translating registry field names to PEACH)
  • User guides (Getting started, Mapping your EAC, Contributing)

Planned

  • JSON examples folder with real-world certificates
  • Metadata templates for different EAC types
  • Emissions calculation methodologies
  • Multi-language support
  • Integration guides for major registries

License

PEACH Data Model is licensed under the Mozilla Public License 2.0.

Copyright Β© 2025 Zero Labs - PEACH Protocol Repository: https://github.com/zerolabs/PEACH-DataModel

What this means:

  • βœ… You can use PEACH in commercial products
  • βœ… You can modify PEACH for your needs
  • ⚠️ Any modifications to PEACH files must be shared under the same license
  • ℹ️ You can combine PEACH with proprietary code

For questions about licensing, please open an issue in this repository.


Acknoledgments

PEACH has been and continues to be informed by many sustainability professionals both in non-profit organizations, EAC associations, market operators, registries and corporate buyers. PEACH is generously supported by a grant from the High Tide Foundation and aims at becoming open-source technical infrastructure that will enable companies to consistently report their verified climate actions in alignment with the Task Force for Corporate Action Transparency (TCAT).


Contributing

PEACH is an open standard that benefits from community input.

How to contribute:

  • Report issues or suggest improvements via GitHub Issues
  • Propose new EAC types or validation rules
  • Share example certificates that should be supported
  • Improve documentation clarity

Contact:

For questions or collaboration opportunities, please reach out through the repository or at peach[at]zerolabs.green.


PEACH: Harmonizing environmental attribute certificates for a sustainable future.

About

Data model for PEACH, Protocol for Environmental Attribute Certificate Harmonization

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published