Skip to content
$1,000,000 in security audit grants are live now, Apply here →

Security review · October 2026

EthenaLock

for Ethena

Guardian's review of EthenaLock for Ethena, published October 2026. The report records 3 findings, including 3 informational.

Published
Review window
September 30 to October 6, 2026
Language
Solidity
Chains
Ethereum
Sector
Stablecoins, Payments
  • 0 Critical
  • 0 High
  • 0 Medium
  • 0 Low
  • 3 Informational

3 resolved

Scope

  • GuardianOrg/mirror-chainnodesorg-ethenapay-wallet-contracts-4705b4da 64a8bf6100e1a12efe0a
2 files in scope · 230 nSLOC
FilenSLOCLines
script/DeployEthenaLock.s.sol6092
src/EthenaLock.sol170294

Findings 3

  1. I-01 Informational Incorrect NatSpec for ZeroAddress Documentation Resolved
    Location
    src/EthenaLock.sol:21-22

    Description

    The NatSpec for ZeroAddress incorrectly states that it is raised when the constructor receives a zero admin_ address. That condition actually raises the inherited OwnableInvalidOwner error.

    ZeroAddress is used when the ENA token address, the wallet passed to sunsetRelease, or the recipient passed to rescue is zero.

    This mismatch can mislead integrators relying on generated documentation to identify and handle reverts.

    Recommendation

    Update the NatSpec to describe the actual conditions that raise ZeroAddress.

    Resolution

    Ethena Team: Fixed in 757f2d1

  2. I-02 Informational Incorrect permanent insolvency claim Documentation Resolved
    Location
    docs/ETHENA_LOCK.md:191-203, 429-435

    Description

    The EthenaLock documentation states:

    A shortfall of even 1 wei freezes every position permanently, with no owner lever

    However, _assertSolvent compares the current token balance against totalLockedAll. Anyone can transfer tokens directly to the contract without increasing totalLockedAll or creating a position. Once the transfer covers the shortfall, matured withdrawals can succeed again, assuming normal token transfers.

    This description could mislead operators during incident response, causing them to overlook a valid recovery path and treat recoverable funds as permanently inaccessible.

    Recommendation

    Update the documentation to explain that withdrawals remain blocked while the contract is insolvent and that direct token transfers sufficient to cover the deficit can restore solvency.

    Resolution

    Ethena Team: Fixed in f30e52e

  3. I-03 Informational Misleading custom error argument names Documentation Resolved
    Location
    src/EthenaLock.sol:23-27

    Description

    BelowMinLock and AmountOverflow name their first argument received, but the reported value does not always represent tokens received during a deposit.

    BelowMinLock can report the requested deposit amount, the actual amount received, or the remaining locked balance after a withdrawal. AmountOverflow reports the total position balance after adding the deposit.

    These misleading names may cause integrators to misinterpret decoded revert data.

    Recommendation

    Consider renaming the argument to amount in BelowMinLock and positionAmount in AmountOverflow.

    Resolution

    Ethena Team: Fixed in e1a12ef

More from Ethena

All 8 reports
  1. PSM Adapter

    8 findings 8 findings: 1 low, 7 informational
  2. Ethena Pay Updates

    81 findings3 high 81 findings: 3 high, 14 medium, 39 low, 25 informational
  3. Onchain Minting

    21 findings 21 findings: 3 medium, 9 low, 9 informational
  4. Ethena Pay

    34 findings 34 findings: 3 medium, 7 low, 24 informational

Put your code through the same review.

This review started with a conversation about scope. Tell us what you are building and we will plan yours with you.

Get a quote