> For the complete documentation index, see [llms.txt](https://docs.suno.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.suno.finance/misc/protocol-implementation.md).

# Protocol implementation

The Suno Protocol is implemented by a set of smart contracts written in the [Solidity language](https://soliditylang.org/), and deployed to the [Polygon blockchain](https://polygon.technology/).

<table><thead><tr><th width="190.30550130208331">Contract Name</th><th width="209.6011962890625">Address</th><th width="349.9342447916667">Description</th></tr></thead><tbody><tr><td><code>ERC20UWatt</code></td><td><a href="https://polygonscan.com/address/0xdD875635231E68E846cE190b1396AC0295D9e577#code"><code>0xdD875635231E68E846cE190b1396AC0295D9e577</code></a></td><td>Implements the <strong>uWatt</strong></td></tr><tr><td><code>ERC20Project</code></td><td>(new instance for every specific Project)</td><td>Implements the <strong>pWatt</strong></td></tr><tr><td><code>PermissionGranter</code></td><td><a href="https://polygonscan.com/address/0x914dD40254151d4b7b9Ff4Ac8E7fbAd0A603CC62#code"><code>0x914dD40254151d4b7b9Ff4Ac8E7fbAd0A603CC62</code></a></td><td>Manages permissions and roles within the Suno Protocol</td></tr><tr><td><code>UnergyData</code></td><td><a href="https://polygonscan.com/address/0xFF772af2fADA9992950FDc53454b2571cbc9865b#code"><code>0xFF772af2fADA9992950FDc53454b2571cbc9865b</code></a> (proxied / upgradable)</td><td>Implements the state variables of the Suno Protocol.</td></tr><tr><td><code>UnergyBuyer</code></td><td><a href="https://polygonscan.com/address/0xD2DCFe4C5D3f101dd1fb45368054e9606a8dbb09#code"><code>0xD2DCFe4C5D3f101dd1fb45368054e9606a8dbb90</code></a>(proxied / upgradable)</td><td>This contract handles interactions with Project installer, manages their payments, and also holds <mark style="color:green;">pWatts</mark> to generate profits for investors.</td></tr><tr><td><code>UnergyLogicReserve</code></td><td><a href="https://polygonscan.com/address/0x6464C0D320599d2E8c2ee3b1E0331Ef8D5bbe035#code"><code>0x6464C0D320599d2E8c2ee3b1E0331Ef8D5bbe035</code></a> (proxied / upgradable)</td><td>This contract handles the energy reporting and the related payments. It also manages the rewards for the <strong>uWatt</strong> holders.</td></tr><tr><td><code>ProjectsManager</code></td><td><a href="https://polygonscan.com/address/0x759676E6F357e4dAE6ee80389DF529b9bf5f74C5#code"><code>0x759676E6F357e4dAE6ee80389DF529b9bf5f74C5</code></a> (proxied / upgradable)</td><td>This contract manages the project-related operations and stores the data related to them</td></tr><tr><td><code>UnergyEvent</code></td><td><a href="https://polygonscan.com/address/0x2E3EE95b3B81712ADD85586EA4F050B0D519Fbe2#code"><code>0x2E3EE95b3B81712ADD85586EA4F050B0D519Fbe2</code></a></td><td>This contract serves as an events router that helps keep track of token movements</td></tr><tr><td><code>CleanEnergyAssets</code></td><td><a href="https://polygonscan.com/address/0x000af4074329b2Ce9805057069401a99Df5a1816#code"><code>0x000af4074329b2Ce9805057069401a99Df5a1816</code></a></td><td>This contract handles the logic to keep track of energy generation and generate Renewable Energy Certificates</td></tr></tbody></table>

{% hint style="info" %}
**Note:** The Suno Protocol was previously known as **Unergy**. The rebranding reflects the evolution of the project from a clean energy investment platform to a broader decentralized infrastructure protocol focused on energy-backed digital assets.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.suno.finance/misc/protocol-implementation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
