Smart contract security checklist for web3 developers
For teams shipping Solidity or EVM contracts. Use it before mainnet, and before a paid audit. Doing so is called audit readiness.
Copy it, print it, tick it per contract.
How to use this checklist
Go through each section for each contract. Every section links to the standard it comes from (OWASP Smart Contract Top 10, 2025 edition, and the SWC Registry). Where a 2026 hack was caused by that class, it links to the entry on DeFi hacks in 2026.
Each item has a short reason and a way to test it.
Business logic
OWASP SC03
Upgrades and deployment
Keys, signers and operations (off-chain)
This is not a code issue. A code audit does not cover it, ours included.
Why: Halborn says off-chain causes drove 96% of H1 2026 losses (report). See Drift, KelpDAO and Resolv on DeFi hacks in 2026.
Audit readiness
Automate the code part
Guardix runs a pre-audit check on a Solidity repo at one commit. $200 flat per repo and commit. Results in 2 to 10 hours, depending on code size.
104 of 117 known high-severity bugs (88.9%) on EVMBench.
Guardix checks code. It does not cover keys, signers or infrastructure.
Standards and sources
- OWASP Smart Contract Top 10 (2025 edition)
- SWC Registry. No longer actively maintained; content has not been thoroughly updated since 2020. The page points to the EEA EthTrust Security Levels and the Smart Contract Security Verification Standard for maintained guidance.
- EIP-712: typed structured data
- Halborn: Top 100 digital asset hacks, H1 2026
- DeFi hacks in 2026
FAQ
- What is smart contract security?
- It is the work of making sure a contract can't be made to lose or lock funds. It covers the code, and the keys and systems around it.
- What should I check before a smart contract audit?
- Freeze a commit, list the scope, write a spec, make tests pass and triage tool output. See the audit readiness section.
- What are the most common smart contract vulnerabilities?
- OWASP's 2025 Top 10 lists: access control, price oracle manipulation, logic errors, lack of input validation, reentrancy, unchecked external calls, flash loan attacks, integer overflow and underflow, insecure randomness, and denial of service.
- Is web3 development security different from web2?
- Yes, in several ways. Deployed contracts are hard to change. Code and transactions are public. Contracts call each other, so one weak input can reach many protocols. And a stolen key is often enough to lose everything.
- Does an audit make my contract safe?
- No. No audit guarantees safety. An audit reviews code. It does not cover keys, signers or infrastructure, which caused most 2026 losses by value. See DeFi hacks in 2026.