# Product Summary

OpenVPP’s tech stack is designed to deliver the first purpose‑built, on‑chain payment layer for the energy utility sector.  By combining a stablecoin-based settlement layer with a decentralized integration layer for distributed‑energy resources (DERs), it enables utilities, device vendors, and end‑users to transact in real time, at machine scale, and without relying on fragile centralized gateways. The strategic and timely dispatch of the platform in its entirety forms an open-source virtual power plant (VPP).

At its core, OpenVPP’s payments engine integrates wrapped dollar-pegged stablecoins in energy‑aware smart contracts so a single token can just as easily represent one dollar units, one kilowatt‑hour, or one kilogram of avoided CO₂.  In tandem, a universal “DNS for DERs” protocol lets meters, EV chargers, home batteries, and grid operators discover one another, authenticate securely, and exchange value peer‑to‑peer.

The result is a fully automated, auditable, and globally interoperable payment solution. Utilities unlock instant cash flow and programmable tariffs, device makers gain plug‑and‑play revenue streams, and consumers enjoy transparent bills plus real‑time rewards for flexible, low‑carbon energy behavior.

The OpenVPP system consists of 4 core services:

Routing Service: Interacts with utility and device program enrollment services via a set of APIs to provide back device to utility connectivity parameters and routing data needed to form a secure connection.

**Registry Service:** Acts as a decentralized storage, containing all of the necessary data required to identify, locate, and authenticate a device to utility connection.

**Integration Service**: Onboards utility and device partners, manages certificates, validates the capability of utility and device end points, and updates the registry as needed.&#x20;

**Stablecoin On-Ramp & Customization Service**: Allows payments and disbursements to be made in stablecoins and allows customization of the stablecoins using oracles to tailor them to specific use case-dependent units and functions.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://openvpp.gitbook.io/openvpp-docs/technology-overview/product-summary.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
