--- name: avax-euler description: Integrate Avalanche Euler EVK with verified EVC, risk relationships, packed caps and metadata status. --- # Euler EVK and EVC 1. Identify exact product/vault. `examples/protocols/euler/recipe.mjs` targets 9Summits native-USDC EVK on C-Chain, not EulerEarn or arbitrary same-asset vaults. Resolve the chain-43114 core registry and official vault metadata. Paths/commands resolve from the executable bundle root. 2. Run `inspect({provider,blockTag,account,amount})` at a numeric pinned block. Check factory proxy membership/configuration, effective implementation, vault asset/EVC and runtime identities. Fetch metadata separately: current API status is not historical block-pinned metadata. Block new supply/borrow when deprecated or status unknown. 3. Read the risk graph: oracle/unit of account, governor, interest model/fee, hooks, flags, cash/debt, caps, liquidation discount/cooloff and accepted collateral vaults with borrow/liquidation LTVs and ramps. Matching asset() does not prove an accepted collateral relationship. 4. Decode units: LTVs are basis points; packed uint16 cap n decodes as 10^(n & 63) × (n >> 6) / 100, except n=0 is unlimited. Compare risk values in oracle units, not raw token balances. Unavailable/zero oracle values block borrowing. 5. Inspect EVC owner, controllers, collateral and lockdown for the exact account. Do not infer subaccount/operator authority. E_NoLiability means zero liability only after independently proving debtOf()==0; it never establishes positive borrowing capacity. 6. Build `plan(input,evidence)` using exported samplePlanInput: action, chainId:43114, account, receiver, vault, asset and raw amount. Deposit/withdraw call the vault; borrow uses EVC batch with exact target vault/onBehalfOfAccount. Require the exact single controller, accepted collateral, cap/cash, 10% health headroom and successful batch final-status simulation. 7. Refresh after approvals. Native deposit has no minShares/deadline: previews do not enforce a share floor. Run tests/live/fork verification and reconcile actual underlying/share deltas. ```sh node --test examples/protocols/euler/recipe.test.mjs node research/parity-silo-euler/verify-live.mjs node research/parity-silo-euler/verify-fork.mjs ``` ## Identity and demonstrated scope Factory: 0xaf4B4c18B17F6a2B32F6c398a3910bdCD7f26181. EVC: 0xddcbe30A761Edd2e19bba930A977475265F36Fa1. Selected USDC vault: 0x37ca03aD51B8ff79aAD35FadaCBA4CEDF0C3e74e. Factory-created does not mean curator-approved or suitable; many familiar legacy Avalanche clusters are metadata-deprecated. Local-fork deposit/withdrawal use artificial funding. Borrowing has mocked-positive/live-negative coverage, not successful funded execution. Account onboarding, operator/subaccount management, collateral/controller changes, leverage, liquidation and EulerEarn remain outside scope. Evidence expires after 600 seconds. Recheck implementation, metadata, oracle and collateral relationships before separately authorized execution. Deprecated metadata need not prevent exits; withdrawal follows actual account/liquidity constraints. **Deliver:** product/proxy identity; metadata status/time; risk graph/units; EVC authority; unsigned calls; simulation; observed deltas and limits. Sources: [pinned addresses/interfaces](https://github.com/euler-xyz/euler-interfaces/tree/d0e9a428523b3de6cb3e6c7a06ad55b6e59223f3), [current vault discovery](https://docs.euler.finance/build/data-querying/perspectives/), exact source links in the manifest.