Ethereum Smart Contract Audit

A Ethereum smart contract audit is a security review of code deployed to Ethereum, carried out against the Ethereum Virtual Machine execution model and written in Solidity / Vyper — covering both the bug classes shared across EVM Layer 1 systems and the failure modes specific to Ethereum.

Ethereum carries the largest concentration of value in Web3 and the most sophisticated attacker population. An Ethereum audit is a review under the assumption that every profitable mistake will be found, priced and executed within one block.

Auditing on Ethereum

Ethereum mainnet is adversarial in a way testnets are not. Every deployed contract is public, composable and permanently readable, and there is a well-funded population of searchers running simulations against new deployments within seconds. Contracts that behave correctly against a friendly caller regularly fail against one who controls the token, the pool, the ordering and the counterparty.

Our Ethereum reviews focus on the mainnet reality: MEV-aware threat modelling, invariant fuzzing against forked state with real liquidity, proxy and upgrade path analysis, and exploit-path simulation using the same tooling searchers use. Findings arrive with a working proof of concept against a fork, not a severity label.

What we test that is specific to Ethereum

Mainnet-specific economic attack paths

Flash-loan-funded manipulation using real pool depth, not testnet liquidity — including donation attacks and share inflation against vault accounting.

Upgrade and admin blast radius

What a compromised proxy admin, timelock proposer or multisig signer achieves in a single transaction on live state.

Composability with live protocols

Every integration reviewed as untrusted: pause rights, upgrade rights, fee switches, and re-entrancy through partner callbacks.

EIP-4844 and calldata cost changes

Fee assumptions that shift with blob pricing, and rollup-facing contracts that price data availability incorrectly.

Shared EVM Layer 1 attack surface

Ethereum runs on Ethereum Virtual Machine, so it inherits the bug classes below from every system in that family.

Reentrancy across the call graph

External calls before state settles — including cross-function and read-only reentrancy through view functions used for pricing.

Proxy and storage-layout risk

Storage collisions between implementations, uninitialised implementations, and upgrade functions reachable without the intended authority.

ERC-20 integration assumptions

Missing return values, fee-on-transfer and rebasing tokens, and approval race conditions that break accounting.

Oracle and price-feed handling

Spot reads from manipulable pools, missing staleness and deviation checks, and fallback logic that degrades silently.

MEV and ordering dependence

Sandwichable swaps, unenforced deadlines, and liquidation or arbitrage paths that can be grief-front-run.

Gas griefing and unbounded loops

Iteration over user-controlled arrays, and push-payment patterns to addresses that can revert.

Tooling we use on this runtime

Ethereum contracts are written in Solidity / Vyper. See our Solidity audit methodology.

How the engagement runs

  1. Scoping and threat modelling

    We fix a commit hash, agree the in-scope contracts and read your architecture docs, then build a threat model: who the actors are, what the trust boundaries are, and which invariants must never break. Nothing is reviewed against assumptions we have not written down.

  2. Manual review

    Line-by-line review by at least two auditors working independently, focused on authorisation, accounting, upgrade paths, external integrations and the gap between what the code does and what the documentation claims it does. Most critical findings come from this phase, not from tooling.

  3. Static and dynamic analysis

    Static analysers appropriate to the language, plus property-based fuzzing and invariant testing to push the system into states no unit test covers. Tooling is used to widen coverage, never to replace the manual pass.

  4. Exploit-path simulation

    Candidate findings are proven on a forked network with a working proof of concept. We report what an attacker can actually do and what it costs them, not a theoretical severity label.

  5. Reporting

    Every finding gets a severity rating, reproduction steps, the affected code, the impact in concrete terms and a specific remediation. You get a draft for discussion before anything is finalised.

  6. Fix review and re-test

    We re-test every remediation against the original proof of concept and check that the fix has not opened a new path. The final report is yours to publish.

What you receive

Ethereum audit: frequently asked questions

What does an Ethereum smart contract audit include?

Manual review of all in-scope Solidity or Vyper at a frozen commit, invariant and fuzz testing, proxy and upgrade path analysis, MEV and ordering review, exploit-path simulation on forked mainnet, a severity-rated report and a fix-review pass.

Do you test against real mainnet liquidity?

Yes. Exploit simulation runs on a forked mainnet with live pool depth, because an attack that is unprofitable on a testnet with synthetic liquidity is frequently profitable against real markets.

Can you audit contracts that are already deployed?

Yes. For live contracts we prioritise what is exploitable now and what can be mitigated without a migration, then what requires an upgrade path.

What do you need from us to start an audit?

A repository or contract address, a commit hash to freeze the scope, whatever architecture or spec documentation exists, and a point of contact who can answer design questions. If documentation is thin we will write our understanding of the system back to you and ask you to confirm it — that step alone catches design-level bugs.

How long does an audit take?

A single token contract is 24–48 hours. A typical dApp or mid-sized protocol runs one to two weeks. Large DeFi systems, L2s, bridges and ZK circuits are scoped per project after we have seen the code. We will give you a fixed timeline with the quote, not an estimate that moves.

Is a re-test included after we fix the issues?

Yes. Fix review is part of the engagement, not an upsell. We re-run the original proof of concept against your patched code and confirm the fix has not introduced a new path.

Audits on related chains

Get a fixed quote in 24 hours

Send the repository and a commit hash through the contact form, message @bugtester25 on Telegram, or book a 30-minute scoping call. 200+ protocols audited · $4B+ secured · 0 hacks post-audit. Prefer email? info@safeedges.in.