Reentrancy in Smart Contracts

A contract sends funds, then updates its balance. Between those two steps, the attacker calls back in — and withdraws again. That is reentrancy.

How Reentrancy Works

Reentrancy happens when a contract makes an external call before updating its own state. The called contract — which the attacker controls — calls back into the original function while the balance still shows the old value. The withdraw runs twice on one balance.

The classic case is a pool or vault with a naive withdraw. It is the bug behind several famous nine-figure exploits, and it is still shipped because the pattern looks correct on first read.

The Fix

Update state before any external call, or guard the entry with a reentrancy lock, or use the checks-effects-interactions pattern. The key is one rule: internal state must be consistent before you hand control to an untrusted address.

What an Audit Actually Covers

A technical report with a working proof-of-concept for every critical finding and a code-level fix — the evidence investors and listing partners ask for.

FAQ

How long does a smart contract audit take?

One to two weeks for a single contract, three to five for a full protocol with tests and a re-audit of fixes.

Do you re-audit after fixes?

Yes — every audit includes 30 days of support and a free re-scan of fixed items.

Audit Your Contract Before It Ships

Send us your contract — audit proposal within 48 hours.
Request a Smart Contract Audit