# Security

### <img src="/files/UxcoxCMKd43s8WbFwOwF" alt="" data-size="line">Audits

<table><thead><tr><th width="215">Auditor</th><th width="275">Scope</th><th width="80">URL</th><th>Date</th></tr></thead><tbody><tr><td>OpenZeppelin</td><td>Lending System</td><td><a href="https://audit.neverland.money/lending-system/01-11-2021_OpenZeppelin_AaveV3.pdf">PDF</a></td><td>2021-11-01</td></tr><tr><td>Trail of Bits</td><td>Lending System</td><td><a href="https://audit.neverland.money/lending-system/07-01-2022_TrailOfBits_AaveV3.pdf">PDF</a></td><td>2022-01-07</td></tr><tr><td>PeckShield</td><td>Lending System</td><td><a href="https://audit.neverland.money/lending-system/14-01-2022_PeckShield_AaveV3.pdf">PDF</a></td><td>2022-01-10</td></tr><tr><td>ABDK</td><td>Lending System</td><td><a href="https://audit.neverland.money/lending-system/27-01-2022_ABDK_AaveV3.pdf">PDF</a></td><td>2022-01-26</td></tr><tr><td>PeckShield</td><td>Lending System</td><td><a href="https://audit.neverland.money/lending-system/09-12-2022_PeckShield_AaveV3-0-1.pdf">PDF</a></td><td>2022-12-22</td></tr><tr><td>Sigma Prime</td><td>Lending System</td><td><a href="https://audit.neverland.money/lending-system/23-12-2022_SigmaPrime_AaveV3-0-1.pdf">PDF</a></td><td>2022-12-26</td></tr><tr><td>Sigma Prime</td><td>Lending System</td><td><a href="https://audit.neverland.money/lending-system/27-01-2022_SigmaPrime_AaveV3.pdf">PDF</a></td><td>2023-04-01</td></tr><tr><td>Composable Security</td><td>Tokenomics &#x26; Revenue</td><td><a href="https://audit.neverland.money/tokenomics-and-revenue/2025-08-22_ComposableSecurity_NeverlandContracts.pdf">PDF</a></td><td>2025-08-22</td></tr><tr><td>Composable Security</td><td>Tokenomics &#x26; Revenue</td><td><a href="https://audit.neverland.money/tokenomics-and-revenue/2025-10-10_ComposableSecurity_NeverlandContracts.pdf">PDF</a></td><td>2025-10-10</td></tr><tr><td>Octane</td><td>Oracle Adapters &#x26; Aggregators</td><td><a href="https://audit.neverland.money/price-oracles/2026-02-17_Octane_NeverlandContractsOracles.pdf">PDF</a></td><td>2026-02-17</td></tr></tbody></table>

### <img src="/files/UxcoxCMKd43s8WbFwOwF" alt="" data-size="line">Monitoring

Monitoring is not a visibility layer. It is a control surface.

Neverland does not treat monitoring as a passive reporting layer. Coverage extends beyond privileged operations to broader protocol-critical activity across governance workflows, administrative control surfaces, oracle behavior, reserve conditions, and live transaction patterns. Operationally sensitive actions and abnormal protocol conditions are observed continuously so that unexpected behavior can be identified early, escalated immediately, and contained before it can propagate.

This monitoring is designed to provide visibility not only into what is executed, but into the surrounding protocol context in which activity occurs. The objective is straightforward: actions that affect protocol integrity, user safety, or system stability must remain observable, accountable, and defensible at every stage.

**Coverage**

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Multisig proposals and privileged transaction flows\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Timelocked governance and risk actions\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Administrative role and ownership changes\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Oracle behavior and pricing integrity\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Risk parameter movement and reserve conditions\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Protocol-wide transaction patterns and abnormal activity

**Response**

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Unexpected or inconsistent activity is treated as a security event\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Events are escalated internally for immediate review\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Preventive action can be taken before an issue is allowed to propagate\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Review continues until the affected action or protocol condition is fully understood

{% hint style="info" icon="shield" %}
Monitoring is not limited to isolated contract events.
{% endhint %}

Neverland also maintains ecosystem-level awareness around the conditions in which protocol activity occurs, including relevant market behavior, dependency health, and broader operational context. This helps distinguish routine activity from activity that may be technically valid at face value but inconsistent with the environment around it.

For example, an action may appear ordinary in isolation yet warrant immediate scrutiny when it coincides with unusual market conditions, irregular oracle behavior, unexpected administrative movement, or abnormal protocol activity.

Security monitoring is designed to evaluate that wider context, not just the single transaction.

### <img src="/files/UxcoxCMKd43s8WbFwOwF" alt="" data-size="line">Operations

#### Safe Multisig Architecture

All privileged operations across Neverland are executed through dedicated multisig wallets. These multisigs act as the sole entry point for proposing and executing timelocked actions.

<table><thead><tr><th width="125">Safe</th><th width="387">Address</th><th>Role</th></tr></thead><tbody><tr><td>Governance</td><td><code>0x57976e192C45461F5958045a0bC57102e90440eD</code></td><td><code>PROPOSER_ROLE</code>, <code>CANCELLER_ROLE</code>, <code>EXECUTOR_ROLE</code> on <code>GovernanceTimelock</code> &#x26; <code>RiskTimelock</code></td></tr><tr><td>Sentinel</td><td><code>0xe72df2DDE84880DD706C5976E92ed34BB586A38F</code></td><td><code>EMERGENCY_ADMIN</code> of Neverland's Lending Pool</td></tr><tr><td>Revenue</td><td><code>0x909b176220b7e782C0f3cEccaB4b19D2c433c6BB</code></td><td>Authorized distributor of <code>RevenueReward</code> and revenue receiver of fees and revenue</td></tr><tr><td>Treasury</td><td><code>0xe72df2DDE84880DD706C5976E92ed34BB586A38F</code></td><td>Neverland Reserves</td></tr><tr><td>Guardian</td><td><em>TBA</em></td><td>External party <code>CANCELLER_ROLE</code> of <code>GovernanceTimelock</code> &#x26; <code>RiskTimelock</code></td></tr></tbody></table>

#### Real-Time Transactions Monitoring & Execution Validation

All multisig activity and protocol level transactions are continuously monitored in real time.

<details>

<summary><strong>On-chain detection</strong></summary>

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Transactions are detected immediately upon submission\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Matched against the pre-announced operation

</details>

<details>

<summary><strong>Human-readable validation</strong></summary>

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Monitoring system broadcasts a clear breakdown of what the transaction does

</details>

<details>

<summary><strong>Signature verification</strong></summary>

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Signers re-verify the live transaction before execution signatures are completed\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Every signature is recorded and tracked against the expected signer set

</details>

<details>

<summary><strong>Execution confirmation</strong></summary>

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">System confirms completion\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Publishes a final verification event with full context

</details>

#### Drift Detection & Cancellation

If any transaction deviates from the expected verification flow at any stage, it is treated as compromised.

**Triggers include**

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Mismatched calldata\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Unexpected nonce usage\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Missing or invalid signer acknowledgments\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Unverified on-chain submissions

**Response**

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Transaction is immediately cancelled\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Execution is blocked\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Incident is escalated internally for review

There is zero tolerance for mismatch between what is approved offchain and what is executed onchain.

***

### <img src="/files/UxcoxCMKd43s8WbFwOwF" alt="" data-size="line">Timelocks

All governance and risk parameter changes are enforced through on-chain timelocks. No privileged action can take immediate effect, every change must be publicly scheduled, wait through a mandatory delay, and only then be executed. This gives users, integrators, and monitoring systems a guaranteed window to review upcoming changes and react before they take effect.

#### Two-Lane Architecture

Neverland operates two independent timelocks, each purpose-built for a different class of action:

<table><thead><tr><th width="200">Timelock</th><th width="149">Minimum Delay</th><th>Scope</th></tr></thead><tbody><tr><td><code>GovernanceTimelock</code></td><td><code>24H</code></td><td>Lending governance (pool admin, ACL admin), proxy upgrades for tokenomics, revenue, leaderboard, and nToken wrappers</td></tr><tr><td><code>RiskTimelock</code></td><td><code>1H</code></td><td>Risk parameter changes (supply/borrow caps, reserve configurations, interest rate updates)</td></tr></tbody></table>

The two timelocks are deployed at separate addresses and can never collapse into a single contract. This separation ensures that routine risk tuning does not require the same delay as structural governance changes, while still preventing instant parameter manipulation.

#### Immutable Delay Floors

Each timelock is deployed with a hardcoded `MIN_DELAY_FLOOR` embedded directly in the contract bytecode as an `immutable` value. This floor cannot be changed, upgraded, or bypassed by any governance action; it is fixed at deployment and persists for the lifetime of the contract.

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">**GovernanceTimelock**: 24-hour floor (`86400` seconds)\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">**RiskTimelock**: 1-hour floor (`3600` seconds)

A governance proposal can *increase* the active delay beyond the floor but can never *reduce* it below. Any attempt to call `updateDelay` with a value below the floor reverts with `DelayBelowMinimumFloor`. This guarantees a permanent minimum observation window regardless of future governance decisions.

The contract that enforces this is `NeverlandTimelockController`, which extends [OpenZeppelin v5's TimelockController](https://docs.openzeppelin.com/contracts/5.x/api/governance#TimelockController) with the floor check.

#### Self-Administered Role Model

Each timelock holds its own `DEFAULT_ADMIN_ROLE`, meaning that any change to the timelock's role assignments (adding or removing proposers, executors, or cancellers) must itself be scheduled and executed through that same timelock's delay.

{% hint style="warning" icon="xmark" %}
There is no external admin that can reconfigure the timelocks instantly
{% endhint %}

<table><thead><tr><th width="194">Role</th><th width="271">Holder</th><th>Capability</th></tr></thead><tbody><tr><td><code>DEFAULT_ADMIN_ROLE</code></td><td>Timelock itself</td><td>Grant/revoke timelock roles</td></tr><tr><td><code>PROPOSER_ROLE</code></td><td>Governance Safe (multisig)</td><td>Schedule new operations</td></tr><tr><td><code>EXECUTOR_ROLE</code></td><td>Governance Safe (multisig)</td><td>Execute operations after the delay</td></tr><tr><td><code>CANCELLER_ROLE</code></td><td>Governance Safe (multisig)</td><td>Cancel pending operations</td></tr></tbody></table>

#### Operation Lifecycle

Every timelocked action follows the same onchain lifecycle:

```
schedule → [delay] → execute
              ↓
            cancel
```

1. **Schedule**: The **Governance Safe** multisig submits a transaction.
2. **Wait:** The operation enters the `Waiting` state for at least the timelock's delay.
3. **Execute:** After the delay elapses, the **Governance Safe** submits the execution.
4. **Cancel:** At any point before execution, the Governance Safe can cancel a pending operation.

Once executed, an operation is permanently `Done` and cannot be reversed through the timelock itself.

#### What the Timelocks Protect

The following surfaces are exclusively controlled through timelocks:

{% tabs %}
{% tab title="GovernanceTimelock (24-hour delay)" %}
Lending pool administration: `POOL_ADMIN`, `DEFAULT_ADMIN` on `ACLManager`

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">**ACL admin authority**\ <img src="/files/vocvsZBQsq3tRSlGnTrt" alt="" data-size="line"><img src="/files/vHlrolnjsLKYBPRAEx0U" alt="" data-size="line">`PoolAddressesProvider.getACLAdmin()`\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">**Protocol ownership surfaces:**\
​​​​​​<img src="/files/vocvsZBQsq3tRSlGnTrt" alt="" data-size="line"><img src="/files/vHlrolnjsLKYBPRAEx0U" alt="" data-size="line">`PoolAddressesProvider`\ <img src="/files/vocvsZBQsq3tRSlGnTrt" alt="" data-size="line"><img src="/files/vHlrolnjsLKYBPRAEx0U" alt="" data-size="line">`PoolAddressesProviderRegistry`\ <img src="/files/vocvsZBQsq3tRSlGnTrt" alt="" data-size="line"><img src="/files/vHlrolnjsLKYBPRAEx0U" alt="" data-size="line">`ReservesSetupHelper`\ <img src="/files/vocvsZBQsq3tRSlGnTrt" alt="" data-size="line"><img src="/files/vHlrolnjsLKYBPRAEx0U" alt="" data-size="line">`WrappedTokenGatewayV3`\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">**All proxy upgrades:**\ <img src="/files/vocvsZBQsq3tRSlGnTrt" alt="" data-size="line"><img src="/files/vHlrolnjsLKYBPRAEx0U" alt="" data-size="line">Core Tokenomics & Revenue `ProxyAdmin`\ <img src="/files/vocvsZBQsq3tRSlGnTrt" alt="" data-size="line"><img src="/files/vHlrolnjsLKYBPRAEx0U" alt="" data-size="line">Leaderboard `ProxyAdmin`\ <img src="/files/vocvsZBQsq3tRSlGnTrt" alt="" data-size="line"><img src="/files/vHlrolnjsLKYBPRAEx0U" alt="" data-size="line">Wrapped Tokens `ProxyAdmin`\ <img src="/files/vocvsZBQsq3tRSlGnTrt" alt="" data-size="line"><img src="/files/vHlrolnjsLKYBPRAEx0U" alt="" data-size="line">Self-Repay Vaults `UserVaultBeacon`
{% endtab %}

{% tab title="RiskTimelock (1-hour delay)" %}
Risk parameter administration: `RISK_ADMIN` on `ACLManager`
{% endtab %}
{% endtabs %}

#### Future Timelock Canceller Role

Neverland will introduce a new dedicated multisig wallet with the `CANCELLER_ROLE` on both `GovernanceTimelock` and `RiskTimelock` within the system.

**Responsibilities**

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Operates independently from proposers and executors\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Has exclusive authority to cancel scheduled operations during the delay window\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Acts as an additional safety layer in case of compromised proposals or changing conditions

This adds another layer of defense by ensuring scheduled operations can be halted by an external trusted authority before execution if needed. This multisig, **“Guardian Safe”**, will consist of one Neverland team member alongside several external security analysts and trusted ecosystem participants, with a high threshold to prevent griefing and ensure responsible use.

#### What Remains Outside Timelocks

Emergency pause actions are intentionally kept outside the timelock system. The **“Sentinel Safe”** holds `EMERGENCY_ADMIN` directly and can pause the protocol without delay. This is a deliberate design choice; an emergency pause that requires a 24-hour wait would defeat its purpose.

Certain runtime governance surfaces (e.g., `Dust`, `DustLock`, leaderboard configuration) also remain under direct ownership, as they do not control user funds or protocol upgrades.

***

### <img src="/files/UxcoxCMKd43s8WbFwOwF" alt="" data-size="line">Posture

#### Internal Security & Monitoring

In addition to external partners, Neverland maintains in-house security capabilities.

**Internal coverage**

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Dedicated security analysts monitor all protocol activity\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Multisig operations, oracle behavior, and risk parameters are continuously tracked

**Monitoring capabilities**

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Real-time alerting covering all Neverland transactions\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Nadette AI Assistant built-in multisig transaction summary alerts\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Public Indexer tracking protocol-wide admin roles\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Automated sanity checks\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Immediate intervention when required

#### External Security Partnership

Neverland works closely with <img src="/files/99cFac1okuk4QMrhg9Tl" alt="octane" data-size="line"> [Octane](https://www.octane.security/) for continuous security monitoring and analysis via AI-driven tooling.

**Scope**

<img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Review of critical components such as oracle adapters and protocol integrations\ <img src="/files/SF9LdED5Js29fKzmG21A" alt="" data-size="line">Security tooling and infrastructure support across the protocol

{% hint style="success" icon="shield" %}
**Security is treated as an ongoing process.**

Every transaction, role change, and parameter update is observed, verified, and accountable.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.neverland.money/security.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
