Open Source Software
Grid Coordination develops and publishes open-source libraries that make it practical to build applications using the standards we advocate. All of it is on GitHub. Our libraries are MIT licensed. Our public copy of the OpenADR 3 specification is Apache 2.0, and the specification documents in it remain copyright the OpenADR Alliance.
OpenADR 3 Libraries
Implementations of the OpenADR 3 protocol in Clojure and Python. Each language has a pure API library and a higher-level client framework.
Specification
| Repository |
Description |
| openadr3-specification |
OpenAPI specifications for the OpenADR 3 protocol (versions 3.0.0 through 3.1.1) |
Each language has a two-layer stack: a pure API library (spec-driven HTTP client with full CRUD, two-layer data models, extensible payload coercion) and a client framework (lifecycle management, VEN/BL client roles, MQTT and webhook notification channels, mDNS/DNS-SD service discovery).
Clojure
Python
VTN Server
| Repository |
Description |
Package |
| clj-oa3-vtn |
OpenADR 3.1.0 VTN server with BL/VEN two-port architecture, MQTT notifications, pluggable storage |
clj-oa3-vtn on Clojars |
Live Services
The price server is a live deployment of clj-oa3-vtn, composed with a price-fetching layer. It publishes hourly prices of two kinds: dynamic CAISO Day-Ahead Market prices via GridX, and prices computed mathematically from published rate schedules. It also publishes hourly marginal GHG emissions from SGIP Signal. A client sees hourly price intervals either way, and does not need to know which kind it is reading.
| Service |
Endpoint |
| REST API base (OpenADR 3.1.0) |
https://price.grid-coordination.energy/openadr3/3.1.0/ |
| Try it in a browser |
/programs?limit=5 |
| MQTT push (TLS) |
mqtts://mqtt.grid-coordination.energy:8883 |
| MQTT push (plain) |
mqtt://mqtt.grid-coordination.energy:1883 |
| User guide & tutorials |
price-server-user-guide |
No authentication required. About 1,700 programs: PG&E and SCE tariffs across 105 distribution circuits and substations, prices computed directly from published PG&E, SCE, SDG&E, LADWP and City of Palo Alto rate schedules, and hourly marginal GHG emissions for 11 California grid regions. Tutorials available for Python, Clojure, and Rust clients.
Home Assistant Integration
| Repository |
Description |
| openadr3-ven-hass |
OpenADR 3 VEN integration for Home Assistant — real-time pricing and GHG emissions sensors, MQTT push updates, multi-program support. Available via HACS. Announcement. |
GridX Pricing API
Client library for the GridX dynamic pricing API.
Specification
| Repository |
Description |
| gridx-api-specs |
OpenAPI specifications for GridX pricing APIs, derived from public documentation |
Client Library
CEC MIDAS API
Client libraries for the California Energy Commission’s MIDAS (Market Informed Demand Automation Server) API.
Specification
| Repository |
Description |
| midas-api-specs |
Unofficial OpenAPI 3.1 and JSON Schema specifications for the CEC MIDAS API |
Client Libraries
Emissions & Rate Data
Client libraries for grid emissions and utility rate data services.
Supporting Libraries
| Repository |
Language |
Description |
Package |
| clj-mdns |
Clojure |
mDNS/DNS-SD service discovery |
clj-mdns on Clojars |
Analysis & Proposals
| Repository |
Description |
| caiso-flex-alert |
Documentation and analysis of the CAISO Flex Alert API, with an enhancement proposal to support machine-to-machine signalling |
Architecture
The libraries are designed in layers, each building on the one above it.

The pure API libraries provide spec-driven HTTP access and data coercion. The client frameworks add lifecycle management, notification channels, and service discovery. The VTN server provides a composable OpenADR 3.1.0 server that can be embedded into larger systems. Applications compose these layers to build grid-coordinated energy management systems.
The Clojure and Python implementations are semantically equivalent, so a team can pick either and get the same behavior.