--- name: avax-silo description: Integrate a Silo market with exact implementation, paired debt context and explicit collateral type. --- # Silo isolated market integration 1. Resolve the market, not only the brand. `examples/protocols/silo/recipe.mjs` targets C-Chain 43114 WAVAX/USDC market 103 and source-recorded implementation 3.8.0. It is not a managed SiloVault or universal release interface. Paths/commands resolve from the executable bundle root. 2. Run `inspect({provider,blockTag,account,amount,collateralType,silo})` at a numeric block. Verify factory.idToSiloConfig, config.getSilos/SILO_ID, assets and exact minimal-clone delegation. A guessed VERSION() or nonempty bytecode is not version proof. 3. Choose Protected=0 or Collateral=1 explicitly. Protected deposits are not lent and do not earn lending interest; Collateral deposits can be borrowed and accrue interest. Bind mode to previewDeposit, deposit, maxWithdraw and withdraw. Do not substitute a generic ERC-4626 method. 4. Inspect both sides: share/debt token addresses, solvency/max-LTV oracles, interest model, hooks, maximum LTV, liquidation threshold/target and fees. Ratios use 1e18, not Euler basis points. Read borrowerCollateralSilo, debtSilo, opposite debt, solvency, liquidity and exact maxBorrow/maxWithdraw. 5. Use exported samplePlanInput to build `plan(input,evidence)` with action, chainId, account, receiver, silo, asset, raw integer-string amount and collateralType. Receiver must equal account. The planner binds the exact market/mode/evidence and returns reset-if-needed/exact allowance plus unsigned operation. 6. Re-simulate after approval changes. Native deposit(uint256,address,uint8) has no minShares/deadline; a preview is not an enforceable floor. Withdrawal needs mode-specific capacity and exact-call success. Borrowing requires existing opposite-Silo collateral, no opposite debt, solvency, liquidity, 10% margin below maxBorrow and successful simulation. This policy margin is not liquidation insurance. 7. Run the commands below. Reconcile actual underlying and share mint/burn; distinguish synthetic local funding from public reads and preserve failed simulations as failures. ```sh node --test examples/protocols/silo/recipe.test.mjs node research/parity-silo-euler/verify-live.mjs node research/parity-silo-euler/verify-fork.mjs ``` ## Identity and scope Factory: 0x92cECB67Ed267FF98026F814D813fDF3054C6Ff9. Config: 0xF806aF0CC54197E7850a33f8101916752fE72f55. WAVAX Silo: 0xDa4b05e351696296060e6a1245C55e32DF8bFC84. USDC Silo: 0xfA5f7d5BcD70dC2F031eE906fc692a9e19584CB0. Implementation linkage is recorded in the manifest. Stateful deposit/withdrawal are demonstrated. Borrowing has mock-positive/live-negative coverage, not successful funded-borrow fork proof. Collateral onboarding, leverage, liquidation and managed SiloVault operations are outside this recipe. A verified market can have negligible borrow liquidity; inspect the requested amount rather than inferring usability from existence. Evidence expires after 600 seconds. Even fresh archived evidence must be refreshed after approvals or changed account state. **Deliver:** market/version/clone identity; mode; both risk configurations; account debt; exact unsigned calls; simulation or blocker; local proof and limits. Sources: [deployed versions](https://github.com/silo-finance/silo-contracts-v3/blob/564fcf86f6e64171f2f7f9402d50ad63d2b54c83/silo-core/docs/DeployedSiloVersions.md), [market registry](https://github.com/silo-finance/silo-contracts-v3/blob/564fcf86f6e64171f2f7f9402d50ad63d2b54c83/silo-core/deploy/silo/_siloDeployments.json), pinned config/interfaces in the manifest.