Energy Web Origin Overview
Energy Web (EW) Origin is a set of software development kits (SDKs) and backend services that together provide a platform for the issuance, management and trading of Energy Attribute Certificates (EACs).
An Energy Attribute Certificate (EAC) is an official document that guarantees that produced energy comes from a renewable source. There are different standards that regulate how data is stored and validated. In Europe, this document is called Guarantee of Origin (GO), in North America, it's called Renewable Energy Certificate (REC), and in parts of Asia, Africa, the Middle East, and Latin America governing standard is International REC (I-REC). Standards do vary, but they all share the same core principles.
The main purpose of EACs is to act as an accounting vehicle to prove that consumed energy came from a renewable source. EACs can be traded and purchased on a marketplace so they can be used to address sustainability reports regarding Scope 2 emissions.
We provide more information on EACs in the glossary here.
This site provides technical documentation for each SDK's generic implementations (i.e. not I-REC specific implementations), as well as user guides on how to navigate the reference implementation platform's user interface (read more about the reference implementation below).
Although this documentation only covers the packages built for generic (i.e. not I-REC compliant) implementation, each SDK does contain I-REC specific packages that comply and integrate with the I-REC registry. You can find those packages in the SDK's GitHub repository.
Origin is comprised of multiple SDKs that can be used individually or in unison.
The core SDKs are:
The SDKs integrate with the Origin Backend, which provides authorization, and organization and user management functionality.
Below we provide a brief description of each SDK's core functionality and a link to further documentation.
Device Registry SDK
The Device Registry SDK is used to register, manage and fetch devices. ‘Devices’ are electricity generating assets (e.g solar pv, hydroelectric dam, steam turbine). Because Energy Attribute Certificates are always tied to the device for which generation evidence was submitted, generation devices must be registered with Origin. Read more about the role of devices on the platform here.
See documentation for the Device Registry SDK here.
The Traceability SDK is used to enable certificate issuing bodies to mint on-chain EAC's upon request based on provided generation evidence, and to manage the on-chain lifecycle (transferring, claiming) of certificates. This SDK contains the smart contracts for certificate issuance, as well as methods to interact with and manage certificates on the blockchain after issuance.
The Traceability SDK ensures that the certificate lifecycle and its owners are in compliance with regulation at all times. Each issuing standard (e.g. I-REC) has its own implementation of the traceability SDK to meet its regulatory needs. To ensure compliance with widely adopted standards EW Origin team is working directly with regulators and standardization bodies.
See documentation for the Traceability SDK here.
The Trade SDK is used to facilitate trading of EACs between buyers and sellers, and to manage EACs that are active on the Exchange (transferring, withdrawing, claiming).
This SDK is built on the basis of the order book system, where sellers post asks and buyers post bids. When there is a match based on EAC criteria and price, a trade is executed.
See documentation for the Trade SDK here.
Implementing Origin SDKs
The Origin SDKs are developed to be agnostic of registry and certificate standard implementation. Depending on implementation needs, users can implement one or all of the SDKs. By design, the SDK packages are loosely coupled, which enables the possibility to implement solutions that consist of only part of the Origin features, such as:
- Issuance only
- Device registry only
- Trading only
The Origin Backend package provides authorization and user/organization management, however users can integrate their backend implementation.
The Origin Backend is a NestJS application that provides services to manage authorization and user and organization management. The Origin Backend application can be used in conjunction with one, several or all of the Origin SDKs to provide integrated user management and authorization.
See documentation for the Origin Backend application here.
The Origin UI package provides the code for the full, end-to-end I-REC-compliant reference implementation (see the source code here), as well as modularized libraries for each interface component. Note that the UI components use the I-REC implementation of the SDKs, so these serve more as a reference guide for generic implementations rather than for direct use. See an overview of the reference implementation here in the User Guides section.
All UI components are built with React. For data fetching, UI components use React Query to access each SDK's controller methods.
UI libraries provide packages that are modularized according to each reference implementation view:
Origin Platform Reference Implementation
The Origin repository provides a full reference implementation for an end-to-end, I-REC-compliant platform for device and organization registry, user management and Certificate issuance and trading.