Elements and Actors
There are only actually two core concepts to our service and the protocol. They are the Agents which we call NanoGrids, and SupplyAgreements which are the trading partnerships and arrangements that an agent chooses to participate in.

A Nanogrid is an Agent in our system. It is the point of boundary to external markets. The point where an entity will transact buy and/or sell energy with 3rd party peers.
For most examples this boundary point is a Meter or Gateway device but that is not necessarily the case.
For most homes a user will wish to optimize energy usage amongst their own assets (solar, battery, appliances, etc) automatically and at no cost/price and without special terms. The user will typically have a higher level of trust in these devices as they are managed by that user.
Eg. A user may have solar and battery assets within their home. Those two devices are part of that users Nanogrid (Agent). The Nanogrid configuration will be configured to use surplus solare to fill the battery for example before selling energy outside. Similarly a Nanogrid may opt to ''turn down'' a connected Airconditioner Unit if it is deemed to be consuming too much energy.
Outside of that system however the user may have energy it wishes to buy/sell/trade with external parties. The Nanogrid actor is the broker that handles this capability (both internal optimization and/or external engagements).
Note: a Nanogrid is not only a meter or gateway. I could as well be a single appliance in your configuration. It should rather be considered as the Agent that will buy/sell to and from 3rd parties in your system.
Typically a Nanogrid will apply the following policy to service its energy needs:
- 1.Self Consume: Use Energy Produced within my boundary to service my own needs first and optimize within my own environment. (optimise appliances, fill my battery, put my solar to productive use)
- 2.Trade with Community Peers: Trade energy locally through local supply agreements.
- 3.Buy Energy from Retailer: Procure my energy from a Retail Provider supply agreement.
The Nanogrid software provides a framework for defining all 3 items above.
Supply Agreements are contracts between Nanogrid agents. They define the nature and price of an energy transaction between players.
They are generated by an energy supplier for each trading arrangement they approve. A supplier will create a seperate Supply Agreement for each interactions "Sell to Home 1", "Sell to Home 2".
Nanogrid agents who purchase energy will maintain an ordered list of Supply Agreements.
When that agent has a need for energy they will work through the list of Supply Agreements and procure energy to fill their needs.
In the model the Agent is in control and can form general or specific agreements at its discretion and for prices that the transacting parties agree.
Eg. A nanogrid agent may have surplus energy that it is able to offer to the community. In that scenario the agent will create and agree a specific supply agreement with another specific Nanogrid agent in the system.
That agreement will specify a price and terms.The creator of the Supply Agreement in this case may have several agreements that are managed in an ordered list.When that agent has energy to offer it will iterate through its supply agreement list hierarchy and perform the transaction with the willing remote agent.
In this way the market is not centrally controlled and effectively there is no central ''grid''. Rather transactions are Peer to Peer between Nanogrid Agents and the transactions are privately performed between the Peers and at their individual discretion.
A Nanogrid (Agent) may represent a single energy appliance, device or user, or it may be a aggregation of several (i.e. a home with a meter, battery, solar, and appliances).
Typically the assets represented will be one of three classification; sink (energy consumer), tap (energy producer), monitor.
Obviously an Asset like a battery is unique in that it is both a sink and a tap.
Any network connected device can be integrated to a Nanogrid Agent.
Important to note however is that any Nanogrid agent in a system that will be ''selling'' energy to external 3rd parties must meet validation and trust characteristics of that system.
Those characteristics are configurable by the developer but should be considered in design to ensure trust that the Nanogrid is acting in a trustworthy manner.
Although customizable for the specific implementation and use case the IOEN protocol team will in future implement certification standards and likely provide a certification program for Nanogrid Device providers to ensure integrity in the system.