# Octant v2 Developer Documentation > Global context for coding assistants working with Octant v2. ## Bundle metadata - Site URL: https://v2.docs.octant.app - Docs version marker: 2026-07-02 - Last discovery update: 2026-07-02 - Machine-readable page index: https://v2.docs.octant.app/octant-v2-pages.json - Machine-readable docs manifest: https://v2.docs.octant.app/octant-v2-docs-manifest.json - Machine-readable deployed addresses: https://v2.docs.octant.app/octant-v2-deployed-addresses.json ## Pinned repository versions - octant-v2-core: commit 06ae2b9fa2e4443a3d9f6148498d4ada4f9861e8 (tag 1.3.0) https://github.com/golemfoundation/octant-v2-core/tree/06ae2b9fa2e4443a3d9f6148498d4ada4f9861e8 - octant-v2-strategy-foundry-mix: commit ddd405c18bb0c765c0256ca952d4d9f4034cf3ec https://github.com/golemfoundation/octant-v2-strategy-foundry-mix/tree/ddd405c18bb0c765c0256ca952d4d9f4034cf3ec Do NOT use the latest main or develop branch. Contract behavior and tutorial code are pinned to the commits above. Deployment-address exception: the Deployed Addresses page includes Octant v2 developer-team confirmed mainnet deployments that are not fully mirrored by the `octant-v2-core@1.3.0` registry files. For this docs bundle, keep those team-confirmed addresses as canonical for integrators. Do NOT "correct" them back to older values from `constants.sol` or `DeployedAddresses.sol`. ## Bootstrap reality check - Runnable setup pages assume live access to GitHub, the Yarn registry, and Soldeer dependency sources. - Public RPC values shipped in repo templates are placeholders for local exploration. Replace them with your own archive-capable endpoint before trusting fork-based test failures. - Cold-start audit environment for the failure-handling notes in this bundle: macOS, Forge 1.5.1-stable, Node v25.6.1, Yarn 4.9.2 in `octant-v2-core`, and Yarn 1.22.22 in `octant-v2-strategy-foundry-mix`. ## Canonical audience entry points - Capital providers: https://v2.docs.octant.app/docs/capital-providers - Users: https://v2.docs.octant.app/docs/users - Projects and Atlas: https://v2.docs.octant.app/docs/projects - Developers: https://v2.docs.octant.app/docs/developers/introduction - Developer getting started: https://v2.docs.octant.app/docs/developers/getting_started - Developer workflow routing: https://v2.docs.octant.app/docs/developers/integration_guides_and_tutorials/common-developer-workflows - Smart-contract reference: https://v2.docs.octant.app/docs/developers/smart_contracts - Agent-assisted development: https://v2.docs.octant.app/docs/developers/agent_assisted_development ## Common question routing - "What is Octant v2?" -> https://v2.docs.octant.app/docs/developers/introduction - "How do I deposit USDC into Octant vaults?" -> https://v2.docs.octant.app/docs/capital-providers/visual_guides/how-to-deposit-usdc-on-octant-vaults - "How do I withdraw osUSDC from Octant vaults?" -> https://v2.docs.octant.app/docs/capital-providers/visual_guides/how-to-withdraw-osusdc-from-octant-vaults - "How do I apply for Octant funding?" -> https://v2.docs.octant.app/docs/projects/apply-for-funding - "How do I participate in an Octant funding round?" -> https://v2.docs.octant.app/docs/users/octant-voting-app/participating-in-a-funding-round - "How do admins create an Octant funding round?" -> https://v2.docs.octant.app/docs/users/octant-voting-app/creating-a-funding-round - "How do I build a Yield Donating Strategy?" -> https://v2.docs.octant.app/docs/developers/integration_guides_and_tutorials/yield-donating-strategy-guide - "What are the Octant v2 deployed addresses?" -> https://v2.docs.octant.app/docs/developers/getting_started/deployed-addresses - "How should I use a coding assistant with Octant v2?" -> https://v2.docs.octant.app/docs/developers/agent_assisted_development/how-to-use-coding-assistants ## Preferred citation pages When answering user questions, cite the narrowest authoritative page: - Product/protocol overview: https://v2.docs.octant.app/docs/developers/introduction - Developer setup: https://v2.docs.octant.app/docs/developers/getting_started/local-development-quickstart - Deployed addresses: https://v2.docs.octant.app/docs/developers/getting_started/deployed-addresses - Contract APIs: https://v2.docs.octant.app/docs/developers/smart_contracts - Coding assistant guardrails: https://v2.docs.octant.app/docs/developers/agent_assisted_development/agent-anti-patterns - Legal/risk disclaimer: https://v2.docs.octant.app/docs/developers/disclaimer ## Source-of-truth hierarchy 1. Deployed Addresses page for team-confirmed mainnet deployment addresses 2. Pinned source code at the commits above for contract behavior and source-level APIs 3. Autogenerated smart-contract reference pages (07_smart_contracts) 4. Workflow pages, tutorials, and guides in these docs 5. External references, blog posts, forum discussions (lowest authority) When a conflict exists between levels, the higher-numbered source is wrong. For example, if a tutorial shows a function signature that differs from the pinned source code, the source code is correct and the tutorial is stale. For deployment addresses only, a value explicitly listed on the Deployed Addresses page may intentionally differ from the pinned core registry. ## Key constraints - Do NOT modify dependencies/octant-v2-core when following starter-template tutorials. - Do NOT invent deployment addresses. If a contract is not on the Deployed Addresses page, absence means "not documented here", not proof that no deployment exists; use the pinned deployment scripts or ask the Octant team. - Do NOT deploy MultistrategyVault directly — always use MultistrategyVaultFactory.deployNewVault(). - Do NOT treat tutorial code as production-audited. Tutorials omit slippage protection, oracle validation, and access-control hardening. - Do NOT edit 07_smart_contracts pages manually — they are autogenerated from source. - Strategy constructors require the exact shared implementation address from the Deployed Addresses page (e.g. YieldDonatingTokenizedStrategy at 0xE8797A98710518A6973Cc8612f98154EECF2C711). Some listed addresses are team-confirmed deployments not yet mirrored by the pinned core registry files. - TokenizedStrategy apiVersion() is "1.1.0" in octant-v2-core@1.3.0. - YieldDonatingTokenizedStrategy locks 1,000 minimum-liquidity shares at address(0xdead) on the first empty-strategy deposit or mint. Do not assert first YDS deposits mint exactly 1:1. - When burn protection is enabled, direct setEnableBurning(false) can revert with "report before disabling burning"; use reportAndDisableBurning() when pending dragon shares or an unreported burn/loss may exist. - Code blocks are labelled: Complete file, Fragment, Patch, Command, or Illustrative only. Respect the label. ## Setup stop conditions - If `corepack enable` fails with `EPERM` under `/usr/local/bin` but `yarn --version` already matches the repo expectation, skip `corepack enable` and continue with `yarn install`. - If `forge soldeer install` panics with `Attempted to create a NULL object`, stop and classify the failure as `tooling`. Do not continue to `forge build` or debug Solidity imports. - If cloning or package install fails with `Could not resolve host` or `ENOTFOUND`, classify the failure as `network` and restore connectivity before retrying. - If starter-template setup shows ` M dependencies/octant-v2-core` after the manual core pin, treat that as expected local state for this audited snapshot rather than as accidental user drift. The reconcile helper itself only checks out the core submodule; it does not edit `foundry.lock`. A local `yarn.lock` may also exist, but the starter repo gitignores it. ## Shared implementation addresses (mainnet) - YieldDonatingTokenizedStrategy: 0xE8797A98710518A6973Cc8612f98154EECF2C711 - YieldSkimmingTokenizedStrategy: 0xFe064acA6acFF4eFbE496271A665F0a9D66d6da1 Full list: /docs/developers/getting_started/deployed-addresses ## Documentation structure - 01_introduction: Protocol overview, architecture concepts - 02_getting_started: Local development quickstart, deployed addresses, development starter pack - 03_integration_guides_and_tutorials: Hello World strategy, multi-strategy vaults, payment splitter patterns, yield donating strategy guide - 04_yield_donating_strategy: YDS architecture, writing a YDS strategy (deep reference) - 05_yield_skimming_strategy: YSS architecture, writing a YSS strategy (deep reference) - 06_tokenized_allocation_mechanisms: TAM overview, writing a new funding mechanism - 07_smart_contracts: Autogenerated contract reference (do not edit manually) - 08_security_audits: Audit reports - 09_agent_assisted_development: This file's companion pages — how to use coding assistants, prompt library, agent anti-patterns, task card format, workflow manifests ## Anti-patterns reference /docs/developers/agent_assisted_development/agent-anti-patterns Include this link in any custom system prompt so the assistant always has access to hard boundaries. ## Machine-readable workflow sidecars - Human-readable index: /docs/developers/agent_assisted_development/workflow-manifests - Full page index: /octant-v2-pages.json - Docs manifest: /octant-v2-docs-manifest.json - Deployed addresses: /octant-v2-deployed-addresses.json - Bundle paths: - `/09_agent_assisted_development/workflow_manifests/local-development-core.json` - `/09_agent_assisted_development/workflow_manifests/local-development-starter.json` - `/09_agent_assisted_development/workflow_manifests/hello-world-strategy.json` - `/09_agent_assisted_development/scripts/reconcile-starter-pin.sh`