Reentrancy enables direct fund theft
Root cause: Ability to reenter contract and perform theft of protocol tokens by injecting malicious token in user-provided swap path.
Independent smart contract audits for Solidity and Rust projects.
We combine attacker-mindset threat modeling with deep protocol-level understanding to keep your users’ funds where they belong.
Trusted for high-stakes deployments
Live funds saved from direct theft.
Security reviews completed by our team.
We're ready to go.
• Findings delivered continuously so your team can patch as we go.
• Fuzzing, differential testing, and economic attack simulations where relevant.
Teams behind high-TVL protocols and ambitious new primitives trust Birdseye to harden their contracts before they go live.

Beanstalk

Reserve

Gains

BendDao

PancakeSwap

Sovryn

Optimism

Alchemix

Eco

Beanstalk

Reserve

Gains

BendDao

PancakeSwap

Sovryn

Optimism

Alchemix

Eco
We are the top auditors and bug bounty hunters in Web3. Each auditor has been hand-picked based on their skill, background, and ability to uncover deep bugs missed by most auditors.
Birdseye Security is a specialist smart contract auditing firm with deep experience across DeFi, NFTs, and on-chain infrastructure. We approach every engagement as if funds are already at risk.
Chief Security Officer, 0xDjango, is a leading security expert in the Web3 space. He is among the top auditors and bug bounty hunters globally. To date, he has saved over $14M in live contract funds from direct theft.
Our mission is simple: make Web3 safer by delivering clear, actionable audits that give projects and their users genuine confidence in what they deploy.
Not all audits are created equal. We approach each codebase like an attacker would: with curiosity, skepticism, and a bias toward breaking things.
We treat your codebase as an adversary would: mapping trust boundaries, modeling incentives, and deliberately looking for places where assumptions break under stress.
Get started quickly. We share findings in real time so you can patch as we go, then ship a clear final report with severity, impact, and remediation guidance.
We speak the same language as your engineers and your founders. No fluff, no boilerplate — just grounded risk analysis your team can act on.
Ready To Schedule An Audit?
Share your repo, deployment plans, and target timelines. We’ll respond with availability and a scoped proposal.
We make web3 safer by reporting vulnerabilities in live contracts.
Root cause: Ability to reenter contract and perform theft of protocol tokens by injecting malicious token in user-provided swap path.
Root cause: Allowance checks are only enforced when an internal balance decreases; external transfer modes skip the check and let arbitrary transfers occur. Impact: An attacker can steal ERC-20 funds from any wallet or contract that has approved the protocol, including large protocol-controlled balances.
Root cause: Minting updates balances but not delegation checkpoints, while transfers and delegation do, causing a mismatch where delegate votes lag behind real balances. Impact: An attacker can mint a small amount to a victim to permanently revert later transfers and redelegations, effectively freezing funds and pinning governance voting power.
Root cause: Mint/stake functions let an allowlisted caller set both the victim sender and swap parameters, including minOut and path, while pulling tokens from the victim. Impact: After approval, an attacker can execute victim swaps at maliciously bad rates and capture the price difference via repeatable sandwich-style theft.
Root cause: Deposit/withdraw functions are public, track balances by caller and user, and accept arbitrary token sources; once a victim approves the manager, anyone can pull tokens from them and credit themselves. Impact: An attacker can front-run a user’s collateral addition, steal approved tokens, and withdraw them as their own collateral.
Root cause: Deposits into an existing lock add the locked amount to the global total each time in the same block, letting users inflate totalLocked arbitrarily. Impact: Inflated totals can cause underflows or skewed share calculations, leading to reverted deposits/withdrawals and users losing expected boost or temporarily frozen exits.
Root cause: The same key order is used in both permission setting and checks, allowing callers to grant themselves rights over a victim’s account instead of requiring victim consent. Impact: An attacker can create long-term locks for any user’s tokens, denying liquidity for up to the maximum lock period.
Root cause: Delegation mappings are not cleared on withdrawal, so a delegate keeps their rights after the NFT is redeemed or sold. Impact: The attacker can continue claiming airdrops and passing ownership checks (Discord, allowlists, etc.), effectively stealing benefits from the new or rightful owner.
Root cause: Anyone can challenge still-pending proposals and share in proposer fees if those proposals are later auto-rejected, even when challenging just before acceptance of another proposal. Impact: An attacker can atomically spam challenges, trigger a proposal acceptance, and claim most proposer/challenge fees from rejected proposals.
Root cause: Partial seizures reduce staked balances but do not reduce total supply, inflating the exchange rate between stake and voting power. Impact: After a seizure, new stakers can mint disproportionately large voting weight, letting an attacker cheaply gain control over governance decisions.
Root cause: Extensions subtract overdue interest from the deposit, then add the resulting time onto the original end timestamp instead of from ‘now’, charging twice for the same overdue period. Impact: Borrowers overpay and receive shorter extensions than intended when extending after expiry, systematically losing funds.
Root cause: Order fills ignore the maker’s signed minOut and instead trust attacker-supplied output amounts and swap paths, only checking a trivial rate condition. Impact: Makers’ orders can be filled at arbitrarily bad prices or via malicious routes, letting fillers capture most of the order’s value while still earning fees.
Root cause: Anyone can create the first lock for any address as long as basic value and time checks pass; ownership is never validated. Impact: An attacker can grief users by opening minimal, max-duration locks that constrain withdrawals and their future voting power schedule.
Root cause: Vote casting allows repeat votes with the same support value, and signature-based voting lacks nonces or replay protection. Impact: Attackers can replay a victim’s signed vote to repeatedly lock their tokens during a proposal and inflate their apparent participation across proposals.
Root cause: Profit-share setting (and related operator functions) have no ownership or approval checks, allowing arbitrary callers to set borrower and profit shares. Impact: An attacker can assign themselves as borrower and redirect 100% of earnings from a victim’s wrapped NFT, hijacking future yield.
Root cause: Stake functions only enforce authorization when delegatee ≠ recipient, so anyone can call stake with user == delegatee and bypass checks, resetting the user’s delegation. Impact: Attackers can cheaply pull delegated votes back to the user address before a snapshot, stripping voting power from targeted delegatees and skewing outcomes.
Root cause: A gas-charge helper is exposed as public without auth, letting anyone submit an order that passes the ‘first fill’ check with a victim as maker. Impact: Attackers can drain users’ margin into the gas pool, freezing or severely reducing their trading collateral.