Purpose: List the canonical shared mainnet addresses that integrators are expected to reference directly. Audience: Developers who need contract addresses for their Octant v2 integration. Level: Beginner Source of truth: Octant v2 developer-team confirmed mainnet deployments, interpreted alongside
[email protected]. Use this page when: you need a shared implementation address, factory address, or the canonical DragonRouter donation target. Do not use this page for: assuming that every contract in the repo has a shared mainnet deployment.
Deployed Addresses
This page lists the current Octant v2 developer-team confirmed mainnet addresses that integrators are expected to reference directly.
Pinned commit: [email protected]
Some addresses on this page are Octant v2 developer-team confirmed deployments that are not fully mirrored by the pinned [email protected] deployment registry. Until the core registry is updated and rechecked, do not "correct" these addresses back to older values from constants.sol or DeployedAddresses.sol when following these docs.
The 1.2.0-develop.15 source still contains registry values that differ from several team-confirmed rows below. For this docs bundle, keep the team-confirmed addresses on this page as canonical for integrators. The pinned registry values remain in footnotes only as provenance and compatibility context.
Which address do I need?
| I'm building... | I need this address |
|---|---|
| A Yield Donating Strategy | YieldDonatingTokenizedStrategy — pass this as the shared implementation in your constructor |
| A Yield Skimming Strategy | YieldSkimmingTokenizedStrategy — pass this as the shared implementation in your constructor |
| A Payment Splitter | PaymentSplitterFactory — call createPaymentSplitter(...) on this to deploy a new splitter |
| A strategy using a pre-built factory | The relevant factory address |
| A donation target for testing | DragonRouter (the canonical Octant routing address) or deploy your own PaymentSplitter |
How to read this page
Not every contract in the octant-v2-core repository is deployed to a single shared mainnet address. The table below covers the shared implementations, pre-deployed factories, and canonical DragonRouter donation target that integrators reference directly. Some rows intentionally point to team-confirmed deployments that are not fully mirrored by the pinned core registry files.
- Shared implementations are singleton contracts that multiple strategies or mechanisms delegate to. You pass their address into a constructor, you do not deploy your own copy.
- Factories are deployment entry points. Call their
createStrategy(...)or equivalent method to deploy a new instance through the audited factory flow. - DragonRouter is the canonical Octant donation target used by the developer guides when a strategy should route yield into the current Octant funding pipeline.
Source-of-truth rule
Use this order when interpreting deployment-address claims in these docs:
- the address on this page, when it is listed here as a team-confirmed mainnet deployment,
- the verified on-chain contract at that address,
- the matching contract source in
[email protected], constants.solandDeployedAddresses.solin the pinned core repo, for contracts that are not listed here.
If a value on this page differs from constants.sol or DeployedAddresses.sol, treat the value on this page as a team-confirmed pending-canonical deployment for the current docs. If a contract appears in the pinned repo but not on this page, absence from this page means not documented here, not proof that no deployment exists. Do not invent a shared mainnet address; use the pinned deployment scripts or ask the Octant team.
Status values:
- Team-confirmed pending canonical — confirmed by the Octant v2 developer team, but not fully mirrored by the pinned core registry files.
- Pinned registry — matches the pinned
[email protected]deployment registry. - Team-confirmed protocol singleton — current Octant protocol instance confirmed by the Octant v2 developer team.
All addresses on this page are on Ethereum Mainnet (Chain ID 1). Etherscan links point to mainnet.
Shared implementations
These addresses are required as constructor parameters when deploying strategies. Use the address that matches the strategy type you are building.
| Contract | Address | Block | Status |
|---|---|---|---|
| YieldDonatingTokenizedStrategy1 | 0xE8797A98710518A6973Cc8612f98154EECF2C711 | 24474087 | Team-confirmed pending canonical |
| YieldSkimmingTokenizedStrategy2 | 0xFe064acA6acFF4eFbE496271A665F0a9D66d6da1 | 24474087 | Team-confirmed pending canonical |
Factories
Call these to deploy new strategy, splitter, or staker instances through the standard factory flow.
| Contract | Address | Block | Status |
|---|---|---|---|
| AllocationMechanismFactory3 | 0x30B980fe1CaF8Fa275e9a364187DB953d08C3ACE | 23773221 | Team-confirmed pending canonical |
| LidoStrategyFactory4 | 0xc69288F65647DDf8FDBfDc905bdBD21b034b61b8 | 24474087 | Team-confirmed pending canonical |
| MorphoCompounderStrategyFactory5 | 0x1eE8Af6604d7e80f155D45a863128Bc79f015275 | 24474087 | Team-confirmed pending canonical |
| PaymentSplitterFactory | 0x5711765E0756B45224fc1FdA1B41ab344682bBcb | 23784110 | Pinned registry |
| RegenStakerFactory | 0x6a8250C95d2e866e95fe4749eD540357B8e44a9a | 24474118 | Pinned registry |
| SkyCompounderStrategyFactory6 | 0x2a3fd5D3ab48cDE74Cb0b179d3C67155119141cC | 24474108 | Team-confirmed pending canonical |
| YearnV3StrategyFactory7 | 0x9A6c9aA80D4A0d8Da29EcbA62c40ccBBB321abB6 | 24474108 | Team-confirmed pending canonical |
Canonical donation target
Use this address when you want a strategy to route donated yield into the current Octant funding pipeline.
| Contract | Address | Block | Status |
|---|---|---|---|
| DragonRouter | 0x4C9268BBf4302D7c489458b3eD0e15c6F7d5206d | 23773221 | Team-confirmed protocol singleton |
Additional pinned-registry deployments
These mainnet addresses are recorded by getMainnetAddresses() in script/helpers/DeployedAddresses.sol at the pinned [email protected] and are mirrored in the machine-readable octant-v2-deployed-addresses.json sidecar. The strategy-deployment tutorials do not require them, but they are listed here so this page stays consistent with the pinned registry. The registry does not record deployment blocks for these entries.
| Contract | Address | Status |
|---|---|---|
| RegenEarningPowerCalculatorFactory | 0xD916da52d277b28CaDFfEE5350bA98cf3d8fa441 | Pinned registry |
| AddressSetFactory | 0x908FA1747a5E12708c0e575875F2685750CFEfD1 | Pinned registry |
| AllocationMechanismAllowset | 0xE000b30E2BC08A39BD863d4df6c42148439A1D1B | Pinned registry |
| RegenEarningPowerCalculator | 0xEa8AEe52411f153547744e98E592dd9FF14b76B0 | Pinned registry |
| StakerAllowset | 0x4FFAb2c015d9dCd5D20d489E644D99ae67a57270 | Pinned registry |
| StakerBlockset | 0xD65B1936D497be8e2f56862664833eB64D1e2d7e | Pinned registry |
The pinned src/constants.sol additionally references the well-known external Safe MultiSend singleton (SAFE_MULTISEND_MAINNET = 0x40A2aCCbd92BCA938b02010E17A5b8929b49130D); it is an external dependency, not an Octant deployment.
Contracts not listed here
The octant-v2-core repository contains additional factories and contracts whose shared mainnet deployment status is not documented here. Absence from this page is not proof that no deployment exists. These include:
- Strategy factories:
AaveV3StrategyFactory,SparkStrategyFactory,ERC4626StrategyFactory - Infrastructure factories:
MultistrategyVaultFactory - Base factory contracts:
BaseStrategyFactory,BaseERC4626StrategyFactory
If your workflow requires one of these contracts, check whether a shared deployment exists by consulting the Octant team or inspecting the deployment scripts in the pinned core repo. Otherwise, deploy your own instance through Foundry using the source in octant-v2-core.
This page will be updated as additional shared deployments are confirmed.
Retrieval cues
This page is the right place for questions like:
- What is the mainnet address of
YieldDonatingTokenizedStrategy? - Which Octant v2 factories are already deployed on mainnet?
- Is
MultistrategyVaultFactorydeployed as a shared mainnet instance? - Which addresses should I pass into strategy deployment flows?