> For the complete documentation index, see [llms.txt](https://etherfi.gitbook.io/etherfi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://etherfi.gitbook.io/etherfi/security/security-and-risks/audits.md).

# Audits

[ether.fi](http://ether.fi) contracts are reviewed continuously, not once. Since February 2023, the protocol has published +30 reports from +10 independent security firms and audit programs, with new reviews commissioned for each major release. Every report is public in the [audit registry](https://github.com/etherfi-protocol/smart-contracts/tree/master/audits), named by date and firm.

Audits reduce risk. They do not remove it. The bounds that hold even if a review misses something are described in [Multisigs and controls](https://etherfi.gitbook.io/etherfi/security/multisigs-and-controls), and live exploits are addressed by active monitoring and response.

### Security audits

Independent firms that have reviewed [ether.fi](http://ether.fi) smart contracts:

* [Certora](https://www.certora.com/)
* [CertiK](https://www.certik.com/)
* [Decurity](https://www.decurity.io/)
* [Halborn](https://www.halborn.com/)
* [Nethermind](https://www.nethermind.io/smart-contract-audits)
* [Omniscia](https://omniscia.io/)
* [Paladin](https://paladinsec.co/)
* [Solidified](https://solidified.io/)
* [Zellic](https://www.zellic.io/)

Every report is public in the [audit registry](https://github.com/etherfi-protocol/smart-contracts/tree/master/audits), named by its date and firm.

### Latest major release review (July 2026)

The 26Q2 security upgrade — the consolidated RoleRegistry role system, the Blacklister and RevokeAdmin contracts, and the rewritten withdrawal finalization — was reviewed by Certora before going live (report dated 2026-06-28, in the registry). Alongside the manual review, core protocol invariants were formally verified: role membership can only change through the registry's guarded paths, the eETH exchange rate cannot decrease on user entry points, and the pool stays solvent for its withdrawal buffer.

### Bug bounty

[ether.fi](http://ether.fi) runs a public bug bounty on [Immunefi](https://immunefi.com/bug-bounty/etherfi), with rewards for critical findings in the protocol's smart contracts. The protocol also ran a competitive audit with [Hats Finance](https://github.com/hats-finance/ether-fi-0x36c3b77853dec9c4a237a692623293223d4b9bc4/blob/master/report.md) in December 2023, with the findings published in the registry.

### Verify independently

* [Audit registry](https://github.com/etherfi-protocol/smart-contracts/tree/master/audits): all +30 reports, by date and firm.
* [Deployed contracts](https://etherfi.gitbook.io/etherfi/contracts-and-integrations/deployed-contracts): the live addresses each audit covers.
* [Multisigs and controls](https://etherfi.gitbook.io/etherfi/security/multisigs-and-controls): who can change the contracts, and under what delay.


---

# 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://etherfi.gitbook.io/etherfi/security/security-and-risks/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.
