> 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/protocol/security-audits.md).

# Security audit

The independent security review of the protocol's smart contracts by Nethermind Security: scope, findings, fixes, and the trust assumptions it rests on.

The protocol's smart contracts have been through one independent security review, by Nethermind Security, completed on 2026-09-14. This page summarizes what was reviewed, what was found, and what was done about it. The full report is the reference.

{% file src="/files/LRLM1hF9RQYrPk6embFD" %}
Nethermind Security, Security Review Report NM-1010, Suno (final, 2026-09-14)
{% endfile %}

## The review

| Item                     | Detail                                                                                                                                                                                                                                                                                                                    |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Auditor                  | Nethermind Security                                                                                                                                                                                                                                                                                                       |
| Type                     | Security review: manual analysis of the codebase plus automated tools                                                                                                                                                                                                                                                     |
| Initial report           | 2026-08-21, at commit `c96c981`                                                                                                                                                                                                                                                                                           |
| Final report             | 2026-09-14, at commit `e1555fb`                                                                                                                                                                                                                                                                                           |
| Scope                    | 28 Solidity files, 2,472 lines of code: the desk, the uWatt token, the Reserve, projects and project tokens, the yield controller, the staking vault, the registry, the attestation reporter, the price oracles, the sUSDS adapter, and the cross-chain contracts (lockbox, LayerZero adapter, xc-uWatt, L2 price oracle) |
| Documentation assessment | Medium                                                                                                                                                                                                                                                                                                                    |
| Test suite assessment    | Medium                                                                                                                                                                                                                                                                                                                    |

The contracts in scope are the ones listed on [Current designations](/legal/current-designations.md). The review covers the code at the final commit; changes deployed after it are outside it until a further review. The valuation model and the off-chain reconciliation monitor are not smart contracts and were not in scope.

## Findings

Twelve findings: one High, three Medium, five Low, three Informational. Eleven are fixed and one is mitigated. None is unresolved.

| #  | Finding                                                                                                                | Severity      | Status       |
| -- | ---------------------------------------------------------------------------------------------------------------------- | ------------- | ------------ |
| 1  | While the collateral ratio is under par, transactions that raise it can be sandwiched for risk-free profit             | High          | 🟢 Fixed     |
| 2  | A hardcoded USDC value in the yield controller dilutes collateralization                                               | Medium        | 🟢 Fixed     |
| 3  | Inconsistent valuation of custody USDC moves the collateral ratio spuriously, and the move can be sandwiched           | Medium        | 🟢 Fixed     |
| 4  | The risk posture sizing rule understates the collateral ratio needed to absorb the design shock                        | Medium        | 🟢 Fixed     |
| 5  | Disabled deposit assets break the protocol's cash valuation and operations                                             | Low           | 🟢 Fixed     |
| 6  | The dynamic daily redemption limit restricts withdrawals more than intended                                            | Low           | 🔵 Mitigated |
| 7  | The de-peg band admits one basis point more than the redemption fee, making a deposit-and-redeem round trip profitable | Low           | 🟢 Fixed     |
| 8  | The energy issuance path in the Reserve does not enforce the solar concentration ceiling                               | Low           | 🟢 Fixed     |
| 9  | Project tokens can be swapped only once per holder, leaving later tokens stuck                                         | Low           | 🟢 Fixed     |
| 10 | Atomic acquisitions and disposals incorrectly refresh the aggregate energy valuation timestamp                         | Informational | 🟢 Fixed     |
| 11 | Incorrect event emission in the swap function can trip the reconciliation monitor into a permanent halt                | Informational | 🟢 Fixed     |
| 12 | The blocker role can freeze all uWatt issuance and redemption, which pausing is supposed to gate                       | Informational | 🟢 Fixed     |

Three findings bear on what these pages say.

**The High finding** concerned the recapitalization mode described in [The uWatt](/protocol/the-uwatt.md). Below par the desk prices both sides at the live collateral ratio, and a routine treasury action that raises the ratio, such as an energy payment arriving in custody, could be sandwiched by a mint before and a redemption after. The fix bounds what the desk can pay relative to what it charged. At launch the desk is par-only and the window is closed, so the mode the finding applies to is not active.

**The sizing rule** in finding 4 is the rule stated on [The Reserve](/protocol/the-reserve.md) and [Governance and parameters](/protocol/governance-and-parameters.md). The earlier form added the shock times the energy ceiling to one. The auditors showed that because the ceiling is enforced as a share of the Reserve rather than of the supply, the loss it permits scales with the collateral ratio itself, and the correct requirement is `C* ≥ 1 / (1 − design shock × energy ceiling)`. The contract now enforces that form, the genesis posture is validated against it, and both pages state it.

**The mitigated finding** is the daily redemption limit. Because the limit was computed from the live supply, and redemptions shrink the supply, a heavy day could push the limit below what had already been redeemed and halt the desk early. The base is now the day-start supply reconstructed from the desk's own burns, so sequential redemptions reach the configured share. The auditors note a residual case: privileged operations that burn uWatt outside the desk during the day can still lower the base, which Suno tracks in its operational runbook rather than in code. That is why the status is mitigated rather than fixed.

## What the review assumes

The auditors state the trust model the review was carried out under, and it matches the boundary these pages draw between code and management:

* USDC remains an enabled deposit asset with a maintained, fresh price feed.
* The administrative, treasury, oracle, attestation, and pause roles act in the protocol's interest and are exercised continuously. Part of the safety perimeter is deliberately off-chain, so monitoring, acknowledgement of legitimate valuation moves, and upkeep of risk parameters are assumed to be performed diligently and in the right order.
* Energy attestations and price feeds reflect reality and arrive within their expected cadence.
* Integrated contracts (bond adapters, the custody account, accepted tokens) conform to their documented interfaces.

Who holds those roles, and what each can and cannot do, is on [Governance and parameters](/protocol/governance-and-parameters.md). The monitoring the assumptions lean on is described under protocol-level risk in [Risk management](/protocol/risk-management.md).

## About the auditor

Nethermind is a blockchain research and engineering company. Its security team performs smart contract audits, formal verification, and real-time monitoring on EVM-compatible chains and Starknet, and the company maintains the Nethermind Ethereum execution client.


---

# 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/protocol/security-audits.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.
