Welcome to the GitHub repository of the EthTrust Community Group.
The EthTrust specification describes all known security vulnerabilities that can appear in Smart Contracts written in Solidity for the Ethereum blockchain. It is designed from an auditor's perspective - what should you check for?
The current Editor's Draft follows the publication of version 3 in May 2025, and is expected to be the basis for a version 4, to be released "when it's ready".
The EthTrust spec does not assign a priority for vulnerabilities. The primary reason is that this is very context-dependent: What might be a critical problem in one project, because it is central to the entire operation, could be a minor concern in another, because it is very hard to exploit and can only impact relatively unimportant information.
Instead EthTrust divides requirements roughly according to the kind of checking necessary to find them:
WORK IN PROGRESS. This is still being sorted, but based on years of experience there is a plan that continues the spirit of the last 5 years of development.
The specification draft is in this GitHub repository, and the base working model is:
The EthTrust project began as an effort to show that Smart contracts had been audited, a goal similar to ERC-7512. (There is a website at ethtrust.org that appears to be a link to assorted gambling sites, but maintains some of the 2019 content). Although code was written, the project did not take off, and was eventually handed to EEA to see if they could lead it to success.
The EEA pivoted from the need to identify audited contracts to the need for a basic auditing standard. Thus the EthTrust specification was developed, covering code written in Solidity - the vast majority of Smart Contracts on the Ethereum blockchain.
The project developed the work of the Smart Contract Registry (long outdated but available at swcregistry.io). As the EEA spec began taking shape in 2020 that project stopped being maintained by its developers. Everything in SWC was eventually covered by EthTrust, as were the entire collection of Solidity Compiler bugs, otherwise most easily found in a Javascript file and series of blog posts maintained by the developers of the Solidity compiler. Over time, various other sources of vulnerabilities were scoured, along with the experience of a broad range of expert contributors.
The EEA had stopped maintaining the specification by the release of version 3, in May 2025. Beginning in April 2026, the EthTrust Community Group was created to maintain the specification through an open public process.
The published versions of the specification each attempt to thank all the individuals who contributed to that specific version:
Among the companies and organisations that have participated in or actively supported the work are:
Please note that having participated or supported in the past does not necessarily imply an organization's support for the current project or state of the specification.
The EthTrust Community Group is set up as a W3C Community Group. Anyone can join, by getting a W3C Account (free, but you have to agree to the conditions).
There are many ways to help:
Whether you are directly working on the specification, helping other people to do so, doing security work that the specification builds on, choosing to be a customer of an organization because it supports or participates in this work, or sharing it within your organization or work, we appreciate all the known and unknown contributions to the security ecosystem we are part of.