# Contract addresses

Every Noderr contract address on the Base Sepolia testnet.

- **Network:** Base Sepolia
- **Chain ID:** 84532
- **Deployment Date:** November 29, 2025 (Core), December 28, 2025 (ERC-7540 Vaults)
- **Status:** Deployed on Base Sepolia testnet

> **Testnet.** These contracts are deployed for testing. Do not send mainnet assets to these addresses. See [Testnet Status](../../introduction/testnet-status.md).

## Vaults

The user facing vaults are six per-tier **EIP-2535 Diamonds** implementing the **ERC-7540** asynchronous vault standard (request → fulfill → claim). Each tier vault is its own single-vault Diamond, denominated in **tUSDC** (test USDC), with a principal protected **Floor** bucket and a **Trading** bucket.

The vaults hold seeded test funds, about 54.3M tUSDC across the six vaults, seeded by the protocol wallet. They are not depositor funds. No capital has been deployed to strategies yet. Test funds are minted from the tUSDC faucet.

**Underlying asset:** tUSDC `0x740f31bB858f1eE74eC8b5E32975b8d697Db5B5e` (18 decimals, mintable via faucet)

### Deployed vaults (6)

These are the live dApp configuration set, the set the front end transacts against.

| Vault | Proxy Address | Risk Level | BaseScan |
|-------|---------------|------------|----------|
| **Conservative** | `0x49f747BBac988Cd628a5D79AAdF865EBaDe6a34f` | Low | [View ↗](https://sepolia.basescan.org/address/0x49f747BBac988Cd628a5D79AAdF865EBaDe6a34f) |
| **Moderate** | `0x4B183AfF072C7DFf09bc8eB4B7f59eB3D030EEdc` | Medium | [View ↗](https://sepolia.basescan.org/address/0x4B183AfF072C7DFf09bc8eB4B7f59eB3D030EEdc) |
| **Aggressive** | `0x1444Fb96961fD9b8Fc14Aa4D9A7198465b7d8CA3` | High | [View ↗](https://sepolia.basescan.org/address/0x1444Fb96961fD9b8Fc14Aa4D9A7198465b7d8CA3) |
| **Hedged** | `0xDDa7655AD3c53f0F7EC5CCbc346c18baB53C5a92` | Low | [View ↗](https://sepolia.basescan.org/address/0xDDa7655AD3c53f0F7EC5CCbc346c18baB53C5a92) |
| **Inverse** | `0xE2E4d181f2eAd5B380026Ab71F49FEBCb93f641c` | High | [View ↗](https://sepolia.basescan.org/address/0xE2E4d181f2eAd5B380026Ab71F49FEBCb93f641c) |
| **Configurable** | `0x53A2EfFaDE21055b8f81e1dE96dC5cfc29B75a83` | Medium | [View ↗](https://sepolia.basescan.org/address/0x53A2EfFaDE21055b8f81e1dE96dC5cfc29B75a83) |

### Vault configuration

| Vault | Symbol | Target APY | Min Deposit | Fulfillment Delay |
|-------|--------|------------|-------------|-------------------|
| Conservative | nCONS | 5–8% | None (0) | None (0) |
| Moderate | nMOD | 6–12% | None (0) | None (0) |
| Aggressive | nAGGR | 8–15% | None (0) | None (0) |
| Hedged | nHEDG | 6–10% | None (0) | None (0) |
| Inverse | nINV | 7–13% | None (0) | None (0) |
| Configurable | nCFG | Custom | None (0) | None (0) |

Target APY bands are targets, not guaranteed. No capital is deployed on testnet. See the vault table in [Core Concepts](../../introduction/core-concepts.md#vaults).

Symbols, `minDeposit()` and `fulfillmentDelay()` are read from each vault. A deposit or redeem request is ready to claim once a keeper fulfils it.

The advertised **8–28%** range is the **combined** vault yield plus node operator revenue share, not a vault deposit alone. It is a target. Node rewards are a revenue share, not a fixed APY.

### Fee model

Every vault charges a **0% management fee**. The only fee is a **performance fee** on the high-water mark (NAV/share above its prior peak). It is taken **strictly from the trading bucket**, never from the principal protected floor, and only on returns above a **per-vault soft hurdle**. The contracts have no share class concept.

| Vault | Management | Performance | Soft Hurdle |
|-------|-----------|-------------|-------------|
| Conservative | 0% | 10% | 4% |
| Moderate | 0% | 10% | 6% |
| Aggressive | 0% | 15% | 8% |
| Hedged | 0% | 12% | 4% |
| Inverse | 0% | 15% | 8% |
| Configurable | 0% | 10% | 6% |
| PredictionMarkets (planned) | 0% | 25% | 15% |

Performance fees go to the protocol treasury wallet. Every vault's `feeCollector()` returns that wallet, and every vault's `owner()` is the MultiSigTimelock.

### Coming soon

| Vault | Status | Description |
|-------|--------|-------------|
| **PredictionMarkets** | Not yet deployed | Automated prediction market strategies across Polymarket, Gnosis, and other platforms |

## Vault UX contracts

Single transaction interfaces over the two step ERC-7540 flow. Full documentation is in [Vault Contracts](./vault-contracts.md#vault-ux-contracts).

| Contract | Proxy Address | Description | BaseScan |
|----------|---------------|-------------|----------|
| **VaultRouter** | `0x28EE676B682052bf84c6fc9e6c063df2B822881f` | Single-transaction deposit/redeem with auto-claim | [View ↗](https://sepolia.basescan.org/address/0x28EE676B682052bf84c6fc9e6c063df2B822881f) |
| **AutoClaimKeeper** | `0x5Fea6b1370dde67c0b6248B4948103307a5DB7e0` | Keeper auto-claim service with TrustFingerprint | [View ↗](https://sepolia.basescan.org/address/0x5Fea6b1370dde67c0b6248B4948103307a5DB7e0) |
| **InstantLiquidityPool** | `0x3953135f61bf011b75B92d2ccFC23426FA92bc4f` | Instant liquidity AMM for immediate deposits/redeems | [View ↗](https://sepolia.basescan.org/address/0x3953135f61bf011b75B92d2ccFC23426FA92bc4f) |
| **ApprovedApplicantRegistry** | `0xB3b707eD9ce9F67673d2824049bEA555ff4436aC` | Typeform applicant bypass with grace period | [View ↗](https://sepolia.basescan.org/address/0xB3b707eD9ce9F67673d2824049bEA555ff4436aC) |

The fee, premium, gas savings and multiplier figures below are testnet parameters and are subject to change.

### VaultRouter features

- **Single-Transaction UX**: Bundles request + claim into one user action
- **Auto-Claim Service**: Keeper operators monitor and execute claims automatically (0.1% fee)
- **Batch Operations**: Deposit/redeem across multiple vaults in one transaction (50-70% gas savings)
- **Gasless Transactions**: EIP-712 signature support for gas-free operations
- **Slippage Protection**: Configurable minShares/minAssets parameters

### AutoClaimKeeper features

- **Keeper Registration**: Stake NODR to become an auto-claim operator
- **TrustFingerprint Integration**: Rewards scaled by reputation (0.8x to 1.5x multiplier)
- **Batch Execution**: Process up to 50 claims per transaction
- **Performance Tracking**: Onchain metrics for success rate and execution time

### InstantLiquidityPool features

- **Instant Deposits**: Skip the keeper fulfilment step (2-5% premium)
- **Instant Redeems**: Immediate asset return from liquidity pool
- **LP Rewards**: Liquidity providers earn 90% of instant transaction fees
- **Dynamic Pricing**: Fees scale with pool utilization

## Galxe integration contract

> **Status: deployed onchain, but not wired into the app.** The `GalxeIntegration` contract **is deployed on Base Sepolia**. It is an ERC-1967 proxy at `0xFFeF9627BDA5C966a70C839E340CF9bB4D63f08E` whose implementation (`0x5275b0265afdbe26e1c680ff4d41278fbf28385a`) carries real code. The app **does not currently call it**. The Noderr Odyssey campaign verifies quests **offchain** (points, tasks and leaderboard), so onchain quest wiring is not active. Do not describe it as a live onchain quest verification or multiplier system.

## Core protocol contracts

### Phase 1 contracts (9)

| Contract | Proxy Address | Blockscout |
|----------|---------------|------------|
| **NODRToken** | `0x61318A5e42612f1d0B67f443E457B8E9C2F001D6` | [View ↗](https://base-sepolia.blockscout.com/address/0x61318A5e42612f1d0B67f443E457B8E9C2F001D6) |
| **TrustFingerprint** | `0xD000CbF56411fC82e87d13aBaa9a8310e816F88C` | [View ↗](https://base-sepolia.blockscout.com/address/0xD000CbF56411fC82e87d13aBaa9a8310e816F88C) |
| **StakingManager** | `0x72221929d4658F33A11180EE1F5D01E7Be67b42F` | [View ↗](https://base-sepolia.blockscout.com/address/0x72221929d4658F33A11180EE1F5D01E7Be67b42F) |
| **GovernanceManager** | `0x7c5D1dD662caf8C1934b70237f86bAAc08AD5FB7` | [View ↗](https://base-sepolia.blockscout.com/address/0x7c5D1dD662caf8C1934b70237f86bAAc08AD5FB7) |
| **VaultManager** | `0xDde0abb5Fd46C6CA2CC8A85563213ca6BF66A6Df` | [View ↗](https://base-sepolia.blockscout.com/address/0xDde0abb5Fd46C6CA2CC8A85563213ca6BF66A6Df) |
| **FeeCollector** | `0x89818d932607c8482fd214e0C33122124DE54390` | [View ↗](https://base-sepolia.blockscout.com/address/0x89818d932607c8482fd214e0C33122124DE54390) |
| **RewardDistributor** | `0x36Cb2dD59Df06fE483facbb85841850c5D810445` | [View ↗](https://base-sepolia.blockscout.com/address/0x36Cb2dD59Df06fE483facbb85841850c5D810445) |
| **OracleManager** | `0x58c5536dC8661196f26513C79769cB7f9d84Fea4` | [View ↗](https://base-sepolia.blockscout.com/address/0x58c5536dC8661196f26513C79769cB7f9d84Fea4) |
| **EmergencyModule** | `0xBd3D0F598af42a5d649Ca1db155BF23A14E311Ee` | [View ↗](https://base-sepolia.blockscout.com/address/0xBd3D0F598af42a5d649Ca1db155BF23A14E311Ee) |
| **UpgradeController** | `0x008bdD543b56cDEC9bf85Be5A4f8a432E5De9068` | [View ↗](https://base-sepolia.blockscout.com/address/0x008bdD543b56cDEC9bf85Be5A4f8a432E5De9068) |

### Phase 2 contracts (11)

**Two UtilityNFT contracts exist on Base Sepolia. The one in the table below is the live one.**

- **Retired:** `0x09768D65057436b3911cF228ba6F67f0F8091957`. This page used to list it. The node sale does not mint there.
- **Live:** `0xD67326eE24F3a5fcb8a12AaD294Dc610642F96cC`. Every node licence sold today is issued here.

You can check this onchain (all measured 2026-08-25, chain 84532):

- On the live contract `version()` returns `"5.0.0"` and `ownerOf(93)` returns a holder. On the retired one both revert.
- The sale contract `0x910dCc22dB343CA38A186580318Ad642b521A0Fd` reports `utilityNFT() = 0xD67326eE24F3a5fcb8a12AaD294Dc610642F96cC`.
- The sale contract holds `MINTER_ROLE` on the live contract but not on the retired one.

Node licences are non-transferable, so tokens already issued on the retired contract stay there and are not reissued. Some protocol contracts still read the retired address. Repointing them is a pending governance action and does not change which contract the sale mints on.

| Contract | Proxy Address | Blockscout |
|----------|---------------|------------|
| **MultiSigTimelock** | `0x0400bFbFbaB33A1Bb6Ea8973261b9e267003D3A7` | [View ↗](https://base-sepolia.blockscout.com/address/0x0400bFbFbaB33A1Bb6Ea8973261b9e267003D3A7) |
| **ProtocolRegistry** | `0x44b197cb1124316d0bacfb95eb2Cd46693688487` | [View ↗](https://base-sepolia.blockscout.com/address/0x44b197cb1124316d0bacfb95eb2Cd46693688487) |
| **UtilityNFT** | `0xD67326eE24F3a5fcb8a12AaD294Dc610642F96cC` | [View ↗](https://base-sepolia.blockscout.com/address/0xD67326eE24F3a5fcb8a12AaD294Dc610642F96cC) |
| **NodeRegistry** | `0x1F236Ea17338937f7f4005013E346F7cC216A16E` | [View ↗](https://base-sepolia.blockscout.com/address/0x1F236Ea17338937f7f4005013E346F7cC216A16E) |
| **PriceOracle** | `0x8423097c8c9e4AbC84C628265e58467FfB445CE0` | [View ↗](https://base-sepolia.blockscout.com/address/0x8423097c8c9e4AbC84C628265e58467FfB445CE0) |
| **StrategyRegistry** | `0x3B7CF2663B5155c904E1E325B03b6498C3780e00` | [View ↗](https://base-sepolia.blockscout.com/address/0x3B7CF2663B5155c904E1E325B03b6498C3780e00) |
| **RiskManager** | `0x306B26d5c42C44cd2Fb1E09b044dA00120878148` | [View ↗](https://base-sepolia.blockscout.com/address/0x306B26d5c42C44cd2Fb1E09b044dA00120878148) |
| **ExecutionRouter** | `0x79b875efc40FDB4e53fe918EfB249429bd321480` | [View ↗](https://base-sepolia.blockscout.com/address/0x79b875efc40FDB4e53fe918EfB249429bd321480) |
| **TreasuryManager** | `0x257db11bf3EEDB4E832D821742eBF09338C4CD42` | [View ↗](https://base-sepolia.blockscout.com/address/0x257db11bf3EEDB4E832D821742eBF09338C4CD42) |
| **BaseRateGovernor** | `0x87602a4e5812FeD7B7F1C1FDf10F124595CECCd7` | [View ↗](https://base-sepolia.blockscout.com/address/0x87602a4e5812FeD7B7F1C1FDf10F124595CECCd7) |
| **MerkleRewardDistributor** | `0xCcDB471823C4F14Ffa4814641eafDa63fb526834` | [View ↗](https://base-sepolia.blockscout.com/address/0xCcDB471823C4F14Ffa4814641eafDa63fb526834) |

### UX contracts (December 2025)

VaultRouter, AutoClaimKeeper, InstantLiquidityPool and ApprovedApplicantRegistry are listed above under [Vault UX contracts](#vault-ux-contracts). The contract below is the additional December 2025 deployment.

| Contract | Address | Blockscout |
|----------|---------|------------|
| **ContributionStaking** | `0x9d817856CC8859422d3c85bfEaf34B4Ce0E73A7d` | [View ↗](https://base-sepolia.blockscout.com/address/0x9d817856CC8859422d3c85bfEaf34B4Ce0E73A7d) |

## Testnet infrastructure

### Faucet

**Address:** `0x5bbf3F7411dB942c1ee4084080406d69293628c9`  
**Blockscout:** [View ↗](https://base-sepolia.blockscout.com/address/0x5bbf3F7411dB942c1ee4084080406d69293628c9)

- **Drip Amount:** 1,000 tUSDC per request
- **Cooldown Period:** 24 hours
- **Daily Limit:** 100,000 tUSDC
- **Status:** Active

The faucet mints **tUSDC** (test USDC), the underlying asset for all vaults.

## Token information

### NODR token

**Address:** `0x61318A5e42612f1d0B67f443E457B8E9C2F001D6`

- **Name:** Noderr Token
- **Symbol:** NODR
- **Decimals:** 18
- **Total Supply:** 100,000,000 NODR (100 million, fixed)
- **Network:** Base Sepolia (Chain ID: 84532)

## Governance authority

A **2-of-3 Gnosis Safe → MultiSigTimelock (7-day delay)** structure holds governance and upgrade authority over the core contracts. See [Governance](../governance/README.md).

- **Gnosis Safe (2-of-3):** `0x62c12b8bb25bd2f3430e4d759ebba835dc19788d`. Drives the timelock (holds PROPOSER + EXECUTOR + DEFAULT_ADMIN).
- **MultiSigTimelock (7-day delay):** `0x0400bFbFbaB33A1Bb6Ea8973261b9e267003D3A7`. Holds DEFAULT_ADMIN + UPGRADER over the core contracts.

**Flow:** the Safe proposes an operation → signers approve → 7-day timelock elapses → the Safe executes. The timelock enforces a standard 7-day delay (grace period 7 days, MIN_DELAY 1 hour / MAX_DELAY 30 days).

The two-chamber `GovernanceManager` is deployed for planned node and oracle elections and parameter votes. No proposal has been created yet. It is **not** the admin authority over the core contracts.

Operators join by application. See the [Node Setup Guide](../../node-operators/setup-guide.md).

## Notes

- **Verification:** Per the Base Sepolia verification manifest (2025-12-28), 15 contracts are verified on BaseScan/Blockscout, including 3 of the deployed vaults. Use the "View" links to inspect code and transactions. Verification status may vary by contract.
- **Address drift:** Core contract addresses can drift between deployment manifests. The **dApp configuration is the canonical source of truth** for the live address set. Treat the core addresses here as current best and confirm against the dApp config before relying on a specific value.
- **Source:** The live address set is defined by the dApp configuration (`client/src/config/contracts.ts` / `contracts7540.ts`).
- **Upgradeability:** Most core contracts use UUPS (Universal Upgradeable Proxy Standard). The Diamond vaults use the EIP-2535 upgrade mechanism (facet cuts). MultiSigTimelock is non-upgradeable for security.
- **Standard:** ERC-7540 extends ERC-4626 with async deposit and redeem operations. See the [ERC-7540 Specification](https://eips.ethereum.org/EIPS/eip-7540).

## Next

- [Vault Contracts](vault-contracts.md)
- [Smart Contracts index](README.md)
- [Noderr White Paper v7.1](../../white-papers/white-paper-v7-1.md)
- [Noderr Lite Paper v3.1](../../white-papers/lite-paper-v3-1.md)

**Last Updated:** February 27, 2026  
**Version:** 2.3  
**Source:** `client/src/contracts/addresses.ts` (dApp source of truth)
