Audits
Smart-contract auditsthat read like an attack.
I go through your Solidity code line by line, write the tests an attacker would write, and give you a report you can act on: what is wrong, why it matters, how to prove it and how to fix it.
- tests in my own protocols
- 838
- real hacks in my checklist
- 860
- report languages: English and Arabic
- 2
What I check
The bugs that cost real money
My checklist comes from the root causes of 860 real incidents.
- 01
Access control
Who can call what: missing modifiers, unprotected initializers, roles that are too wide.
- 02
Reentrancy
External calls before state changes, cross-function and read-only reentrancy.
- 03
Oracle and price manipulation
Spot prices, thin pools, stale data, flash-loan-driven prices.
- 04
Math and rounding
Rounding direction, precision loss, share inflation and first-depositor attacks.
- 05
Business logic
Rules that work alone but break together, edge cases in state machines.
- 06
Signatures and replay
EIP-712, nonces, chain IDs, permit and signature malleability.
- 07
Upgrades and storage
Proxy patterns, storage layout, initializers and admin keys.
- 08
Denial of service and griefing
Unbounded loops, blocked withdrawals, gas traps.
How it works
Six steps, from scope to the fix review
Scope and quote
You send the repository and the commit. I look at the size and the risk, and I send you a fixed price and a date.
Threat model
I write down what must never break: the invariants, the roles and the money flows.
Manual review
Line by line, with the checklist from real exploits next to me.
Fuzz and invariant tests
Foundry tests that try to break the invariants with random inputs.
Report
Each finding with a severity, the impact, a proof of concept and a fix.
Fix review
When you fix the issues, I check every fix again. This is included.
What you get
A report you can act on
Clear findings
Severity, impact, location in the code and the steps to reproduce.
Proof of concept
Foundry tests that show the bug, so your team can see it fail and then pass.
Fix advice
A concrete fix for every finding, not only a description of the problem.
Fix review
A second pass over your fixes, with the final status of every finding.
Severity
How I rate a finding
- Critical
- Direct loss or lock of funds, or full control of the protocol, with no special conditions.
- High
- Loss of funds or a broken core function, under conditions that are likely.
- Medium
- Loss is possible but needs special conditions, or a function breaks in a way that can be fixed.
- Low
- Small risk, a missing check or a bad pattern without a direct loss.
- Informational
- Code quality, gas and best practice. No security risk.
Questions
How much does it cost?
Every audit gets a fixed price after I see the code. The price depends on the size and the complexity, not on the hours I spend.
How long does it take?
Most audits take one to three weeks. You get the date with the price.
Do you sign an NDA?
Yes. Your code stays private. I publish a finding only when you allow it.
Which code do you audit?
Solidity on Ethereum and EVM chains: DeFi, tokens, NFTs, governance, vaults and more.
Audits
Request an audit
Send the link to your code and a short description. I answer by email with the next steps.
What happens next
- You send the requestThe link to your code, the commit to audit and a short description.
- You get a fixed priceI look at the size and the risk, then I send you a price and a date by email.
- The audit startsWhen you are ready. You get the report, then a free check of your fixes.
Every request goes straight to my inbox, and I answer by email.