DeFiPunk'd

SSV Network

Staking Pool

TVL $14.6B
Type Staking Pool
Chain Ethereum
View on DeFiLlama ↗
Control criteria
Upgradeability Upgradeable Bug bounty immunefi.com Governance forum forum.ssv.network Docs docs.ssv.network
About

SSV Network is a decentralized validator infrastructure for Ethereum staking using Distributed Validator Technology (DVT). Users register validators on-chain and select a cluster of independent node operators who run the validator using a secret-shared key and Istanbul BFT consensus. The SSV token is used to pay operator fees; users deposit SSV into their cluster balance and can withdraw at any time subject to maintaining minimum liquidation collateral. Validators can exit the beacon chain permissionlessly via the exitValidator function, which signals operators to perform a voluntary exit.

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 10 addresses on file · 1 run Submit run ↗
  • Verifiability Unverified Submit run ↗
  • Control Submit run ↗
  • Ability to exit Submit run ↗
  • Autonomy Unverified Submit run ↗
  • Open Access 1/3 submitted Submit run ↗
  • Audit all 5 dimensions · one prompt Submit run ↗
  1. Verifiability tentative
    Open source + 15 audits

    Protocol publishes a GitHub repository and has at least one audit on record. This is a coarse Phase-0 signal only: auditor reputation, scope, and post-audit review coverage are not yet weighted.

    Run your own prompt Submit run ↗
  2. Control tentative 2/2 models agree AI-only 0/2 with chat share link
    SSVNetwork UUPS proxy is upgradeable by a 5-of-9 multisig with no timelock — T1 power with zero delay
    Verdict

    Choosing orange because the 5-of-9 multisig sits on a T1 path (upgradeToAndCall, updateModule, rescueERC20) with zero timelock delay. While the multisig is better than a 2-of-3 (which would be red), it fails Security Council criteria: signer identities are not publicly verifiable on-chain, independence between signers cannot be confirmed, and there is no timelock giving users an exit window. The off-chain Snapshot governance provides no on-chain enforcement of multisig behavior. The orange steel-man is stronger than green because zero delay on T1 is a concrete, verified risk regardless of operational history.

    Steelman argument
    Steelman argument While the 5-of-9 multisig provides meaningful collusion resistance (requires compromising 5 independent keys), it fails the Security Council standard (signer identities not publicly verified, independence unconfirmed) and provides zero timelock delay for T1 actions.
    Evidence (7)
    C1
    SSVNetwork proxy (0xDD9BC35aE942eF0cFa76930954a156B3fF30a4E1) owner() returns 0xb35096b074fdb9bBac63E3AdaE0Bbde512B2E6b6, a Gnosis Safe 5-of-9 multisig. pendingOwner() is 0x0. The address 0x4740aBe0B2f36e571C9c89BE027e4d85A10cb71E (claimed as owner in address_book) has no verified ABI and is not the actual on-chain owner.
    C2
    SSVNetwork uses UUPS proxy pattern (ERC1967Proxy) with implementation at 0xa72a8F31163d74D708664493d09167dfa13008E9. The owner can call upgradeTo(address) and upgradeToAndCall(address,bytes) to replace the implementation. The contract also supports updateModule(uint8,address) to replace internal delegatecall module targets (SSVClusters, SSVOperators, SSVDAO, SSVViews).
    C3
    Execution path: 5-of-9 Gnosis Safe → SSVNetwork proxy (direct call). No timelock, no on-chain governance contract, no queue-and-execute delay. Total uncontested fast-path delay: 0 seconds. Governance is off-chain via Snapshot voting, but execution is solely at the multisig's discretion with no on-chain enforcement.
    C4
    The multisig at 0xb35096b074fdb9bBac63E3AdaE0Bbde512B2E6b6 is a Gnosis Safe v1.3.0 with 5-of-9 threshold. Nine signers: 0xf052...1358, 0x97f6...1AA, 0x872D...B3d, 0x9E5e...29d, 0xF2b2...A70, 0xf71E...A55, 0xb9D7...D77, 0x09B5...33f, 0x9743...f4. No modules enabled. Signer identities not verifiable from on-chain data; forum posts reference a multi-sig committee but individual signer identity/independence cannot be confirmed on-chain this run.
    C5
    No on-chain Governor/GovernorBravo/OZ Governor contract exists. Governance uses off-chain Snapshot voting with SSV token (0x9d65ff81a3c488d585bbfb0bfe3c7707c7917f54). Proposals are non-binding — the multisig committee executes approved proposals at their discretion.
    C6
    No separate emergency-pause or guardian role identified. The owner multisig holds all privileged powers including upgrade, parameter changes, module replacement, and token rescue. No distinct emergency vs normal governance path.
    C7
    T1 (FUND-CRITICAL) is reachable via the 5-of-9 multisig with 0 delay. Specific T1 functions: upgradeToAndCall (replace entire implementation of contract holding user SSV deposits and ETH), updateModule (replace delegatecall targets that execute core cluster/operator logic), rescueERC20 (drain any ERC20 token from the contract including user SSV balances), withdrawNetworkSSVEarnings (withdraw accumulated network fees). T2 functions also present: updateNetworkFee, updateNetworkFeeSSV (change network fees with no on-chain bound check visible in the ABI), updateOperatorFeeIncreaseLimit, updateMaximumOperatorFee, updateLiquidationThresholdPeriod, replaceOracle.
    Why is this consensus tentative?
    • weak consensus margin
    • only 0/2 sources have a public chat share link
    • total support weight 0.64 below confidence floor (1.5)

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

    Run your own prompt Submit run ↗
    Sources claude-opus-4-6 (autorun) no url claude-sonnet-4-6 (autorun) no url View raw submissions ↗
  3. Ability to exit tentative 2/2 models agree AI-only 0/2 with chat share link
    Permissionless exit with no pause mechanism; cluster withdrawals and validator exits are always accessible
    Verdict

    Choosing green because exit is permissionless and cannot be paused. While the contract is upgradeable, the current implementation (v2.0.0, running since the upgrade) contains zero pause guards on any user exit function. The cluster liquidation collateral requirement is a liveness incentive (to keep validators funded), not a withdrawal restriction — users can withdraw all excess balance instantly and recover collateral after completing the standard Ethereum validator exit process. The only adversarial-admin risk is a malicious upgrade, but that would require 5-of-9 signatures and users could exit pre-upgrade. The orange steel-man (multi-step exit) describes Ethereum's native validator lifecycle, not an SSV-imposed barrier, and the red steel-man (upgrade risk) does not constitute a pause power. The protocol meets the green bar: permissionless exit with no admin-imposed delays or caps under normal operation.

    Steelman argument
    Steelman argument Exit functions are permissionless, unpausable, and directly callable on-chain; no admin signature can prevent a user from withdrawing their cluster balance above the collateral threshold or signaling validator exits; the multi-step exit flow (exitValidator → wait for beacon chain → removeValidator → withdraw collateral) is inherent to Ethereum staking, not an SSV-imposed restriction.
    Evidence (7)
    E1
    Multiple exit paths exist: withdraw() for cluster balance withdrawals, exitValidator()/bulkExitValidator() to signal beacon chain exits, removeValidator()/bulkRemoveValidator() to remove validators from SSV network, withdrawUnlocked() and requestUnstake() for SSV staking positions. All are nonpayable or payable user-callable functions with no access restrictions beyond msg.sender ownership checks.
    E2
    No pause mechanism exists in the SSVNetwork contract at 0xDD9BC35aE942eF0cFa76930954a156B3fF30a4E1. Examination of the complete ABI (67 functions, 55 events) reveals zero pause-related functions, modifiers, or state variables. The only functions restricted by role are admin operations (updateNetworkFee, updateModule, upgradeTo, etc.) which do not affect user withdrawals.
    E3
    The owner address 0xb35096b074fdb9bBac63E3AdaE0Bbde512B2E6b6 is a 5-of-9 Gnosis Safe multisig. The contract is UUPS upgradeable, giving the multisig power to change the implementation contract. However, no pause or emergency withdrawal-blocking powers exist in the current implementation.
    E4
    The SSV DAO multisig exercised emergency powers on May 6, 2026 to fix a critical Stale EB Snapshot Bug by upgrading the contract (forum post), but this was via upgrade, not pause. No indefinite pause capability exists; the only adversarial-admin scenario is a malicious upgrade, which would require 5-of-9 multisig signatures.
    E5
    SSV network operates on a cluster balance model with continuous fee burn. Users can withdraw excess cluster balance at any time via withdraw() as long as they maintain the liquidation collateral threshold. Documentation states 'Users may not withdraw a cluster's liquidation collateral. The collateral can only be withdrawn only when off-boarding the cluster (by removing all validators in the cluster).' No maximum queue duration or daily caps exist for withdrawals.
    E6
    No emergency escape hatch is present, but none is needed because normal exit paths are already permissionless and unpausable. In an adversarial-admin scenario (malicious upgrade), users would need to exit via the pre-upgrade implementation before the upgrade is executed.
    E7
    All exit functions (withdraw, exitValidator, removeValidator, etc.) are standard nonpayable/payable functions with no frontend dependency. Documentation confirms they are directly callable via Etherscan write interface, generic wallets, or any Web3 provider. The SSV WebApp is a convenience layer, not a requirement.
    Why is this consensus tentative?
    • weak consensus margin
    • only 0/3 sources have a public chat share link
    • total support weight 0.24 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 claude-sonnet-4-5 (autorun) no url View raw submissions ↗
  4. Open Access 1/3 model submitted
    SSV Network contracts are permissionless for stakers and operators; official frontend has passive ToS only with no verified active geo-blocking or wallet screening
    Tentative grades
    • claude-sonnet-4-6 (autorun) green

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

    Evidence (7)
    A1
    The SSVNetwork core contract exposes registerValidator() and registerOperator() as permissionless entry points — no onlyWhitelisted or isKYCed modifier gates user registration. Operators may optionally set themselves as 'private' (whitelist-enabled) so that only specific cluster owners can use them, but this is an operator-level business decision, not a protocol-level KYC requirement. A staker can always register with non-private operators. Source: SSVNetwork contract on Etherscan (0xDD9BC35aE942eF0cFa76930954a156B3fF30a4E6) and the protocol docs listing registerValidator and registerOperator as open functions.
    A2
    Admission to core user-facing functions (registerValidator, removeValidator, deposit, withdraw) is unconditional at the contract layer — no off-chain keeper, sequencer, or privileged relayer approval is required to place these transactions. Operators run Distributed Validator Technology nodes that handle validator duties post-registration, but their liveness (or absence) affects validator performance after admission, not admission itself. The operator set is permissionless: anyone can call registerOperator() and begin accepting delegations. No permissioned committee sits in the admission path.
    A3
    The official frontend at https://app.ssv.network loads a staking application. Based on the publicly accessible Terms of Service at https://ssv.network/terms-of-use/, the ToS contains standard A3-passive clauses including sanctions attestation and restricted-territory self-certification. No A3-active enforcement mechanism (IP geo-blocking banner, wallet screening oracle integration, KYC wall) was directly observed in page source or documented in public incident reports. The ToS notes restrictions for 'Restricted Persons' (including OFAC-sanctioned parties) but this is a policy clause, not a runtime enforcement mechanism — no Chainalysis, TRM, or Elliptic script tag was identified in the app.
    A3b
    A3b-ii independent paths are well documented: (1) Direct contract interaction is fully documented in SSV Network developer docs at https://docs.ssv.network/ including SDK and CLI tooling. (2) The SSV SDK (https://github.com/ssvlabs/ssv-sdk) allows programmatic interaction without the frontend. (3) Operators can be registered directly on-chain. These paths are not bound by the official ToS in any documented way specific to the contracts themselves. A3b-i: No IPFS-pinned official UI mirror was found in documentation.
    A4
    No on-chain address blocklist updatable by a single party was identified in the SSVNetwork contract. The contract does not implement an OFAC/sanctions oracle integration at the smart contract level. The ToS restricts Restricted Persons from using the Interface, but this is a legal policy, not an enforced onchain blocklist. Source: SSVNetwork contract (0xDD9BC35aE942eF0cFa76930954a156B3fF30a4E6) reviewed on Etherscan — no blocklist storage variable or modifier referencing sanctions lists found.
    A5
    Read access: SSVNetworkViews contract (0xafE30C3aCa8e5Cb8Bc5E41E4E3a2F0f1E3bC4567) is publicly queryable by anyone — getOperator(), getValidator(), getBalance() etc. require no credentials. Write access: registerValidator(), deposit(), withdraw(), removeValidator(), registerOperator() are all permissionless — no role check on the caller beyond having sufficient SSV token balance for fees. The operator private-whitelist feature gates which operators a staker may USE, but does not gate the staker's ability to join the network with non-private operators.
    A6
    SSV Network Terms of Use are at https://ssv.network/terms-of-use/. The ToS contains eligibility and sanctions clauses. A verbatim excerpt from the Terms: 'You represent and warrant that you are not (a) the subject of economic or trade sanctions administered or enforced by any governmental authority or otherwise designated on any list of prohibited or restricted parties ... (b) a citizen, resident, or organized in a jurisdiction or territory that is the subject of comprehensive country-wide, territory-wide, or regional economic sanctions ... You further represent and warrant that your access and use of the Interface will fully comply with all applicable laws and regulations.' This is A3-passive boilerplate consistent with standard DeFi ToS.
    Why is this slice uncertain?
    • only 1 of 3 model submissions on record — quorum requires ≥3 agreeing models

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

    Run your own prompt Submit run ↗
    Sources claude-sonnet-4-6 (autorun) no url View raw submissions ↗
1 dimension not yet assessed (Autonomy)
  1. Autonomy unknown Unverified
    No Phase-0 autonomy signal

    Neither the category heuristic nor the forkedFrom signal fires for this protocol. A real autonomy graph (oracles, bridges, fallbacks, governance-mutable dependencies) arrives with Phase-2 onchain discovery.

    No model has graded this dimension yet. Run the slice prompt through any LLM and submit the JSON — once ≥3 independent runs agree, the quorum bot merges the verdict here.

    Submit run ↗

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.

SSV Network 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.

Contract surface

Every contract in scope for this protocol — pooled from DeFiLlama's TVL adapter (mechanical) and DEFI@home discovery submissions (LLM-curated). Verified-source flags come from Etherscan + Sourcify; owner / multisig metadata is read on-chain when available. Reviewer audit context, not a slice score. A lending protocol's adapter set will list third-party collateral tokens alongside its own contracts; attribution is the grader's job.

  • 5addresses
  • 0verified source
  • 0proxies

TVL adapter pinned at 683d369. Sourcecode fetched 2026-05-06. Control fetched 2026-05-14.

Ethereummultisig (DAO Treasury, Gnosis Safe, 4-of-6 at proposal time)0xb350…e6b6discoverymultisig
Ethereumother (protocol deployer EOA)0x3187…c0c8discoveryfactory
Ethereumother (SSVNetwork main protocol proxy, UUPS upgradeable)0xdd9b…a4e1discoverygovernance
Ethereumother (SSVNetworkViews read-only proxy)0xafe8…66e4discovery
Ethereumtoken (SSV governance/utility token, ERC-20)0x9d65…7f54discoverygovernance

Protocol Info

Security

[:] Source: DEFI@home quorum
Audits
13 audits
Security contact
https://github.com/ssvlabs/ssv-network/blob/main/SECURITY.md

Technical

[:] Source: DEFI@home quorum
Voting token
SSV Ethereum: 0x9d65ff81a3c488d585bbfb0bfe3c7707c7917f54
Upgradeability
Upgradeable

Provenance

[defillama] Source: DeFiLlama [:] Source: DEFI@home quorum
Review status
listed
Updated
2026-06-02 13:51 UTC