What is an asset?

An asset is a source of flexible electricity demand. We currently support:

  • electric vehicles
  • chargers
  • battery storage
  • HVAC systems

The core requirement is that the asset consumes energy, and that you are able to issue digital commands for it to reduce or increase its energy demand - it is flexible.

If you’d like to connect a type of asset not listed above, please let us know.

Asset eligibility

For many ancillary services market, an asset must be certified to a set of standards to participate.

We ask that you report the metering standards which your asset meets when you register your asset. In the near future we’ll retrieve the applicable standards based upon existing knowledge of the model of asset you’re registering.

What do I need to add an asset?

Asset Properties

When you register an asset, we’ll assess which markets it’s eligible to participate in. To do this, we compare properties of the asset to properties of each market.


One of our covered geographies. Assets can only be registered to a specific geography, so if your asset moves, please choose the place it is connected most often.


We need to know the import and export maximum rates for the asset. Most assets are unidirectional i.e. they can only import electricity. Battery storage systems and V2G car & charger combinations are the exception to this rule.

Median Response time

This describes how fast the asset will respond when we call upon it. This depends upon the mechanics of the asset itself, but the primary determinant is how you are connected to it.

We ask for a median response time. We will refine this estimate based upon our own experience operating the asset.

Capacity kWh

The total capacity of an asset, if it stores energy. Not relevant for HVAC or chargers.

How do we control the asset?

If a market in which your asset participates is activated, we need to instruct it to change its power consumption.

To do so, we call a webhook that you provide to request a change in power output.

This set_level_webhook should accept POST requests of the format:

    level: float
        received_callback_url: str
        failure_callback_url: str
        executed_callback_url: str

You can use the callback urls to provide us with updates on whether the command has been successfully received and executed. We use this to improve our understanding of the reliability of each asset, and to determine compensation.

Each of our requests will be authenticated with a Bearer token. You should provide us with this token via your Account page.

Register your first asset

See the add asset endpoint for full documentation.