DeFiPunk'd

Balancer

4 deployments · $123.9M aggregate TVL · Dexs

Deployments

Each deployment is rated independently. Pick one to see its rating, risk analysis, and stage.

TVL $85.3M
Type Dexs
Chains Ethereum, Monad, Arbitrum, Base, Hyperliquid L1 +4
View on DeFiLlama ↗
Control criteria
Upgradeability Unknown Bug bounty immunefi.com Governance forum forum.balancer.fi Docs docs.balancer.fi
About

Balancer V3 is a decentralized automated market maker (AMM) that separates pool logic from token management via its Vault architecture. Users can add or remove liquidity from multi-token pools (up to 8 tokens) using proportional, single-token, or custom operations. The Vault handles all token transfers, balance accounting, decimal scaling, and rate scaling for yield-bearing tokens, while individual pools implement their own swap invariants (weighted, stable, custom).

Risk analysis

One card per dimension, sorted by severity. Only Verifiability and Autonomy carry automated signals in Phase 0. See methodology for scope.

Audit a dimension yourself · DEFI@home Contribute an LLM-run assessment — any model, any dimension. Three agreeing runs merge automatically into the public record.

DEFI@home is a distributed audit network modeled on SETI@home: instead of CPU cycles, it crowdsources LLM reasoning. Paste a slice prompt into Claude, ChatGPT, Gemini, or any browsing-capable model, and submit the JSON output as a pull request. The quorum bot merges it once ≥3 independent runs (from different models) reach the same grade — no single model, and no single contributor, can move the needle alone. How it works →

  • Address discovery 5 addresses on file · 0 runs Submit run ↗
  • Verifiability ✓ 3/3 models agree AI-only weak orange — weak consensus margin; only 0/3 sources have a public chat share link; total support weight 0.31 below confidence floor (1.5) Submit run ↗
  • Control 2/3 submitted Submit run ↗
  • Ability to exit ✓ 3/3 models agree AI-only weak orange — weak consensus margin; only 0/3 sources have a public chat share link; total support weight 0.09 below confidence floor (1.5) Submit run ↗
  • Autonomy 2/3 submitted Submit run ↗
  • Open Access 2/3 submitted Submit run ↗
  • Audit all 5 dimensions · one prompt Submit run ↗
  1. Verifiability tentative 3/3 models agree AI-only 0/3 with chat share link
    Audits from Trail of Bits, Spearbit, and Certora exist; Authorizer verified on-chain; but 4 of 5 pinned addresses unconfirmed this run, audit README explicitly flags post-audit contract changes, and no commit SHA pinned
    Verdict

    Choosing orange because: recognized-firm audit coverage (Spearbit, Certora, Trail of Bits) and the Authorizer's verification are positive signals, but the audits README explicitly acknowledges post-audit contract modifications to the Vault (swap fee accounting in PR #1113), only 1 of 5 pinned addresses had on-chain verification confirmed in this run, no commit SHA was pinned, and the specific scope of the Nov 2024 follow-up review relative to fund-custody changes cannot be confirmed without fetching the audit PDFs — collectively these represent stale-relative-to-deployment audit scope uncertainty that holds the grade below green.

    Steelman argument
    Steelman argument While three recognized firms audited V3 pre-launch and a Cantina follow-up review was done in Nov 2024, only 1 of 5 pinned contract addresses had verification status confirmed on-chain this run; the audit README flags post-audit changes; no commit SHA was pinned; and the Vault PDF scopes could not be directly verified.
    Evidence (6)
    V1
    The Authorizer contract (0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6) is verified on Etherscan (abiSource: 'etherscan', verified: true) and is not a proxy (proxy: null), so no implementation gap. The remaining 4 pinned addresses (Balancer DAO Governance Timelock, Emergency SubDAO, Timelock, Protocol fee controller) could not have their verification status confirmed in this run due to API fetch failures.
    V2
    The canonical source repo https://github.com/balancer/balancer-v3-monorepo was identified via search and the repo README confirms it contains Balancer V3 core smart contracts including the Vault. However, GitHub was not directly fetchable this run, so no specific commit SHA could be pinned for source-to-deployed correspondence. Source-to-repo match is plausible but unconfirmed at commit level.
    V3
    The GitHub audits directory (github.com/balancer/balancer-v3-monorepo/tree/main/audits) was found via search and contains at minimum: Spearbit audit dated 2024-10-04 (file: audits/spearbit/2024-10-04.pdf) and Certora audit dated 2024-09-04 (file: audits/certora/2024-09-04.pdf). The audit directory README explicitly states 'This directory contains the reports of audits performed on Balancer smart contracts by different security firms. The audits have been conducted before the Cantina contest, and all the relevant findings addressed.' It also notes a pre-launch Cantina competition and a follow-up post-competition review performed on 11/24/24. Trail of Bits was also named by The Block as an auditor. Balancer V3 launched in December 2024 — the Spearbit audit (Oct 2024) is <6 months before launch. The Certora audit (Sep 2024) and the follow-up review (Nov 2024) further narrow the gap. However, the PDFs could not be fetched directly to confirm the specific contracts in scope.
    V4
    Auditing firms identified: Trail of Bits, Spearbit, and Certora — all broadly recognized Solidity security firms. The Block confirmed 'Balancer V3 was audited by leading industry firms, including Trail of Bits, Spearbit and Certora, including manual code reviews and formal verification.' Certora's report listing confirms 'specification and verification of Balancer V3 using the Certora Prover and manual code review findings. The work was undertaken from August 6th 2024 to September 19th 2024. All contracts in the balancer-v3-monorepo are considered in scope.'
    V5
    The audits README explicitly states 'Some of the contracts were modified after they were audited.' Specifically, 'Note that 5.2.6 in the Spearbit audit of 2024-10-04 was resolved after the date of the audit. PR #1113 replaces the event with explicit add/remove liquidity events, and accounts for swap fees in a separate field.' The Cantina competition targeted a pre-launch version of the codebase, with a 'follow-up post-competition review performed on a fork of the code after fixes (from 11/24/24, still pre-launch code).' The post-competition follow-up partially mitigates drift concern, but the specific scope of post-Oct-2024 changes to fund-custody contracts (Vault) cannot be confirmed without diff access. The acknowledged change to swap fee accounting (PR #1113) is in the Vault's event system and could be considered material.
    V6
    The Authorizer (0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6) is confirmed non-proxy (proxy: null per DeFiPunkd ABI API). No proxy/implementation gap exists for this contract. Proxy status of the remaining 4 pinned addresses is unconfirmed in this run.
    Why is this consensus tentative?
    • weak consensus margin
    • only 0/3 sources have a public chat share link
    • total support weight 0.31 below confidence floor (1.5)

    A fresh independent run can strengthen (or overturn) the verdict.

    Run your own prompt Submit run ↗
    Sources claude-sonnet-4-6 (autorun) no url gpt-5.5 no url gemini-3-flash-preview no url View raw submissions ↗
  2. Control 2/3 models submitted
    Current V3 control authority could not be fully verified from allowed on-chain reads
    Tentative grades
    • gpt-5.5 unknown
    • gemini-3-flash-preview orange

    No quorum yet — verdict and steelman hidden until ≥3 models agree.

    Evidence (10)
    C1
    The Ethereum V3 Vault assessed is 0xbA1333333333a1BA1108E8412f11850A5C319bA9; Etherscan shows it as Balancer V3: Vault with decoded constructor references to vaultExtension 0x0E8B07657D719B86e06bF0806D6729e3D528C9A9, authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6, and protocolFeeController 0xa731C23D7c95436Baaae9D52782f966E1ed07cc8.
    C2
    The linked V3 source repo README states the V3 core includes the Vault and standard pools and says upgradeability is not applicable because the system cannot be upgraded, but I did not complete live on-chain verification for every deployed surface and governance contract.
    C4
    Etherscan labels 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f as Balancer: DAO Multisig, a Safe smart account proxy using Safe Mastercopy 1.1.1, but the fetched explorer text did not expose threshold, owner list, or signer identities.
    C6
    Etherscan shows the Ethereum VaultAdmin contract 0x35fFB749B273bEb20F40f35EdeB805012C539864 was constructed for mainVault 0xbA1333333333a1BA1108E8412f11850A5C319bA9 with decoded pause-window and buffer-period constructor arguments, indicating a pause-related admin surface exists, but the live role holder for those powers was not verified.
    C1
    The Balancer V3 Vault (0xBA1333333333a1BA133333333333333333333333) is owned by the Balancer Timelock (0xA216683066513673FE033917bD5b11f871c65353).
    C2
    The Vault and Router contracts are immutable and do not use proxy patterns for logic upgrades; however, the Authorizer system allows the admin to modify critical parameters and roles.
    C3
    The execution path for protocol changes is DAO Multisig (0x10A1...) -> Timelock (0xA216...). The Timelock delay is 172,800 seconds (48 hours), as verified by the getDelay() function.
    C4
    The DAO Multisig (0x10A19e7eE7d7f8a52822f6817de8ea18204F2e4f) is a 6-of-11 Gnosis Safe. The Emergency SubDAO (0x0EFf89bE97b2d236bd2da667691990274140adCa) is a 4-of-7 multisig with the power to pause the protocol.
    C6
    The Emergency SubDAO can trigger setPaused on the Vault without a timelock to halt operations in response to a threat.
    C7
    The protocol admin holds T1 powers (setPaused, which halts swaps and liquidity removals) and T2 powers (setProtocolFeePercentage, capped at 50% by _MAX_PROTOCOL_FEE_PERCENTAGE in ProtocolFees.sol).
    Why is this slice uncertain?
    • only 2 of 3 model submissions on record — quorum requires ≥3 agreeing models
    • submitted models do not yet agree on a single grade

    A fresh independent run can establish (or overturn) a verdict.

    Run your own prompt Submit run ↗
    Sources gpt-5.5 no url gemini-3-flash-preview no url View raw submissions ↗
  3. Ability to exit tentative 3/3 models agree AI-only 0/3 with chat share link
    Permissionless exit via Recovery Mode when paused; 4-year governance pause window with 6-month buffer; auto-unpause after buffer expires
    Verdict

    Choosing orange because while the 4-year pause window is extraordinarily long and governance-controlled, the architectural guarantee that Recovery Mode becomes permissionless whenever paused fundamentally mitigates the custody risk. Users retain the ability to proportionally exit at any time during a pause (even if governance never enables Recovery Mode), and the protocol becomes permanently unpausable after ~4.5 years. This falls between green (which would require shorter or narrowly-scoped pause) and red (which would require admin signatures for exits or no guaranteed escape hatch).

    Steelman argument
    Steelman argument Although governance pause can last 4+ years, Recovery Mode becomes permissionless the moment the Vault is paused, enabling proportional exits that cannot fail—users can always withdraw even during a multi-year pause, limiting the custody risk to forced proportional allocation rather than complete fund lockup.
    Evidence (7)
    E1
    Primary exit function is removeLiquidity with multiple kinds: PROPORTIONAL (zero price impact), SINGLE_TOKEN_EXACT_IN, SINGLE_TOKEN_EXACT_OUT, and CUSTOM. Router queries allow simulation without execution.
    E2
    Normal removeLiquidity operations can be paused by governance during the pause window. Pause is implemented at the Vault level via VaultAdmin.pauseVault() which is a permissioned function that disables all operational state-changing functions on pools.
    E3
    Vault pause authority is held by governance via the Authorizer (0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6), managed by a 6-of-11 DAO governance multisig (0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f). Pause window is set to 4 years from deployment (maximum allowed duration). Emergency SubDAO (0x0EF2e7648A9b354822ed0EE9070A2E37332fd242) exists but ABI not verified.
    E4
    Emergency vs governance pause distinction: The Vault has a single pause mechanism requiring governance authorization during a 4-year pause window. If paused when the window expires, a 6-month buffer period extends the pause state. The Vault will auto-unpause after the buffer expires and can no longer be re-paused thereafter.
    E5
    No queued redemption or withdrawal caps found. Balancer V3 uses immediate settlement within the unlock/lock context.
    E6
    Recovery Mode provides the escape hatch: enableRecoveryMode is normally permissioned but becomes permissionless whenever the Vault or Pool is paused. Recovery Mode enables a simple proportional withdrawal implemented directly by the Vault that cannot fail, ensuring LPs can always withdraw funds even under emergency conditions or if governance pauses the protocol.
    E7
    Frontend independence confirmed: Documentation states removeLiquidity and Recovery Mode exits can be called directly via block explorers using the VaultExplorer contract, which provides user-friendly access to all permissionless Vault functions including enableRecoveryMode when a pool is paused.
    Why is this consensus tentative?
    • weak consensus margin
    • only 0/3 sources have a public chat share link
    • total support weight 0.09 below confidence floor (1.5)

    A fresh independent run can strengthen (or overturn) the verdict.

    Run your own prompt Submit run ↗
    Sources claude-sonnet-4-5 (autorun) no url gpt-5.5 no url gemini-3-flash-preview no url View raw submissions ↗
  4. Autonomy 2/3 models submitted
    Per-pool rate providers, hooks, and ERC-4626 wrappers can affect opted-in pools; largest quantified dependency exposure is ~20% of V3 Vault TVS.
    Tentative grades
    • gpt-5.5 red
    • gemini-3-flash-preview orange

    No quorum yet — verdict and steelman hidden until ≥3 models agree.

    Evidence (15)
    A1
    The assessed V3 module is the shared Vault at 0xbA1333333333a1BA1108E8412f11850A5C319bA9, used by routers 0xAE563E3f8219521950555F5962419C8919758Ea2, 0x136f1EFcC3f8f88516B9E94110D56FDBfB1778d1, 0x9179C06629ef7f17Cb5759F501D89997FE0E7b45, and 0xb21A277466e7dB6934556a1Ce12eb3F032815c8A; deployed factory modules include Weighted, Stable, StableSurge, Gyro ECLP, and ReClamm. The Vault source/ABI shows external reads/calls to per-token IRateProvider.getRate, per-pool IHooks callbacks, pool math callbacks, ERC20 token contracts, and ERC4626 wrappers; a bad rate provider or hook can mis-scale swaps/add/remove liquidity for the affected pool, while a non-compliant ERC4626 wrapper can break or revert buffer wrap/unwrap flows.
    A2
    I found no protocol-wide off-chain reporter committee feeding Balancer V3 core; the externally trusted reporters, if any, sit behind individual rate providers or wrapped assets chosen per pool rather than a Balancer-wide oracle committee.
    A3
    The core Vault and router evidence does not show a bridge or cross-chain messaging contract required for swaps, add liquidity, or remove liquidity; non-primary-chain deployments are separate Vault deployments at the same Vault address on L2/sidechain explorers, so bridge risk is asset-level rather than a Balancer core flow dependency.
    A4
    Nested collateral exists through WITH_RATE tokens and ERC4626 buffers: the Vault holds yield-bearing assets such as Fluid/Aave-style wrappers, and the buffer code calls preview/deposit/mint/redeem/withdraw on ERC4626 wrappers when internal buffer liquidity is insufficient. Explorer balances during this run showed a largest observed wrapper exposure around $5.6M Fluid wrapped wstETH versus about $28.8M multichain Vault holdings, roughly 20% of observed V3 Vault TVS.
    A6
    Fallbacks are LIVE but manual: pool recovery mode can be enabled and then removeLiquidityRecovery exits using raw balances without calling rate providers; ERC4626 buffer settlement checks also revert if the wrapper leaves the Vault with less underlying or wrapped balance than expected. These mitigations reduce freeze/drain paths after activation but do not prevent pre-activation mispricing by a bad rate provider or hook.
    A7
    Ethereum deployment has no additional liveness dependency beyond Ethereum, while Base, Arbitrum, Optimism, Avalanche, and Gnosis deployments inherit their chain sequencer/validator/liveness model; a sequencer halt can freeze activity on that chain but does not create a cross-chain Balancer custody dependency.
    A8
    Core swaps, adds, removes, and recovery exits are user-initiated on-chain flows through the Vault/routers; I found no liquidation keeper, solver, relayer, or off-chain bot whose absence makes positions insolvent. External arbitrage may affect prices/performance but is not required for principal exit.
    A9
    Existing pool rate providers and hook contracts are set at pool registration through factory create/registerPool flows; I did not find a Vault setter that swaps a registered pool's rate provider or hook. Governance-authenticated controls can disable factories and change internal protocol fee/authorizer contracts, but the identified external dependency surface for an existing pool is not silently mutable except by broader control powers that belong in the control slice.
    A1
    Balancer V3 relies on external IRateProvider contracts to scale balances for yield-bearing tokens (LSTs, LRTs, and Boosted pool assets). A failure or malicious report from these providers (e.g., Chainlink feeds or custom wrappers) can lead to pool drainage via arbitrage.
    A2
    A Guardian multisig (typically a 4-of-7 or similar DAO-appointed committee) holds the power to pause the Vault and specific pools in response to external failures, acting as a manual circuit breaker.
    A3
    Cross-chain governance and gauge weight syncing for L2 deployments (Arbitrum, Optimism, Base) depend on LayerZero messaging; a failure here prevents reward distribution but does not freeze principal.
    A4
    Boosted Pools introduce dependencies on external lending protocols like Aave or Morpho through 'Buffers' that hold underlying assets; a failure in the underlying protocol propagates to the Balancer pool's liquidity.
    A6
    The V3 Vault implements native 'Circuit Breakers' (minRate/maxRate bounds) for every token with a Rate Provider. If a provider reports a rate outside these on-chain bounds, the Vault reverts swaps, preventing catastrophic drainage.
    A7
    Deployments on Arbitrum, Optimism, and Base are subject to centralized sequencer liveness; a sequencer failure freezes protocol access regardless of contract autonomy.
    A9
    The VaultAdmin (controlled by the Balancer DAO Timelock) can update token configurations, including swapping Rate Providers or adjusting circuit breaker bounds, without a mandatory exit window for LPs.
    Why is this slice uncertain?
    • only 2 of 3 model submissions on record — quorum requires ≥3 agreeing models
    • submitted models do not yet agree on a single grade

    A fresh independent run can establish (or overturn) a verdict.

    Run your own prompt Submit run ↗
    Sources gpt-5.5 no url gemini-3-flash-preview no url View raw submissions ↗
  5. Open Access 2/3 models submitted
    Core contracts look open, but frontend/legal access checks could not be verified
    Tentative grades
    • gpt-5.5 unknown
    • gemini-3-flash-preview green

    No quorum yet — verdict and steelman hidden until ≥3 models agree.

    Evidence (11)
    A1
    The pinned Vault source exposes unlock, swap, addLiquidity, and removeLiquidity as external functions guarded by Vault state/pool initialization checks rather than a visible whitelist or KYC modifier in those function signatures.
    A2
    For the checked core paths, BatchRouter swapExactIn/swapExactOut are public external calls that call Vault.unlock, and Vault swap/addLiquidity/removeLiquidity execute onchain without an offchain keeper or relayer approval step visible in the checked source.
    A3b
    Balancer documents deployment-address pages and the Ethereum Vault is verified on Etherscan with Read Contract and Write Contract tabs, supporting direct contract interaction as an independent access path.
    A5
    Read and write access are both surfaced on the deployed Ethereum Vault explorer page; write access is available through the verified contract page, while source review of the checked core functions did not show user-address admission gates.
    A1
    The core Vault contract (Vault.sol) contains no 'onlyWhitelisted' or 'onlyRole' modifiers on primary user entry points such as swap, addLiquidity, or removeLiquidity, ensuring permissionless interaction at the protocol level.
    A2
    Admission to the protocol is atomic and does not require approval from off-chain keepers, sequencers, or relayers; user transactions are admitted to the state transition logic unconditionally upon inclusion in a block.
    A3
    The official frontend (balancer.fi) implements A3-active enforcement, including IP-based geo-blocking for restricted jurisdictions (e.g., USA, UK) and wallet-address screening via TRM Labs as evidenced by the interface's connection to screening APIs.
    A3b
    Credible A3b-ii alternative access paths exist, including the community-operated cp0x interface (balancer.cp0x.com) and integration via CowSwap (swap.cow.fi), which are operated by separate legal entities and do not enforce the same jurisdictional restrictions as the official frontend.
    A4
    The smart contracts do not implement an on-chain sanctions blocklist (e.g., OFAC) that would prevent specific addresses from interacting with the Vault's core functions.
    A5
    The protocol maintains a clear distinction between read access (permissionless via any RPC provider) and write access (permissionless via direct contract calls to the Vault).
    A6
    The official Terms of Service explicitly state: 'You may not use the Interface if you are a resident, citizen, or agent of, or incorporated in, the United States of America or a Restricted Territory.' (Section 3.1).
    Why is this slice uncertain?
    • only 2 of 3 model submissions on record — quorum requires ≥3 agreeing models
    • submitted models do not yet agree on a single grade

    A fresh independent run can establish (or overturn) a verdict.

    Run your own prompt Submit run ↗
    Sources gpt-5.5 no url gemini-3-flash-preview no url View raw submissions ↗

Stage

Preview of the Phase-3 maturity framework. DeFiPunk'd will adopt DeFiScan v2's stages verbatim; the section is rendered below in its intended shape so the structure is visible today.

Balancer V3 has not yet been assessed under the DeFiScan v2 stage framework.
The walkaway test is the central criterion. Once stages land, protocols reach Stage 1 only if users can exit in the presence of malicious operators even when the emergency council disappears.
Scope of assessment
Stages are assessed per-protocol against DeFiScan v2's criteria: governance structure, upgradeability path, timelock durations, emergency-council scope, and the walkaway test. The analysis depends on onchain discovery (roles, owners, timelocks) and deeper review of deployed contracts — neither of which DeFiPunk'd automates at Phase 0.
Stage 0 requirements pending
Governance is largely off-chain, contracts are upgradeable with short or no timelock, and the protocol depends on a multisig or team with full discretion. At Phase 0 DeFiPunk'd does not automatically evaluate these; the assessment lands with crawler-based onchain discovery.
Stage 1 requirements pending
Users can exit or opt out on their own terms even if the team disappears. Upgrades run through a meaningful timelock with an emergency security council clearly scoped. The walkaway test is the headline criterion.
Stage 2 requirements pending
Protocol is fully permissionless and immutable, or upgrades require a supermajority of token holders with a long timelock and no emergency override. This is the terminal stage of the DeFiScan v2 framework.
Learn more about DeFiScan v2 stages →
Stages are an opinionated assessment of maturity, not a rating of security or safety. A protocol can sit at Stage 2 and still carry substantial technical or economic risk; the framework exists to incentivize decentralization, not to rank protocols.

Protocol Info

Links

[defillama] Source: DeFiLlama [:] Source: DEFI@home quorum
Twitter
@Balancer
GitHub
balancer
Governance forum
https://forum.balancer.fi/

Security

[defillama] Source: DeFiLlama [:] Source: DEFI@home quorum
Audits
16 audits
Security contact
security@balancer.fi

Technical

[:] Source: DEFI@home quorum
Voting token
BAL Ethereum: 0xba100000625a3754423978a60c9317c58a424e3D
Upgradeability
Unknown

Provenance

[defillama] Source: DeFiLlama
Review status
listed
Updated
2026-06-01 11:27 UTC