← Learn
Livestrategies· 4 min read· #balanced#deposit#fmusdc

Balanced strategy: two deposit transactions explained

How agents implement Balanced routing with separate Core and Middle deposits — dual approve, fUSDC + fmUSDC, and gas checklist.

Last updated: May 28, 2026 · Published 2026-05-28

Forge Treasury smart contracts completed an external security review (May 2026). Yield is variable and not guaranteed. Residual risk remains — read Risks & Disclosures before depositing USDC or integrating MCP tools.

Balanced MCP live (May 2026): `deposit(balanced)` returns two legs — Core + Middle calldata (50/50 effective split with Infra redirect). Agents still sign two transactions from the user EOA. Verify Middle `adapterCount` > 0 on Stats.

Balanced is a strategy, not a vault. MVP agents implement it as two on-chain deposits: one to Core (`0x2C9a3922b426005B979FDD1A8F43Eb61B309193B`) and one to Middle (`0x0cAB46658aFD0F01018117475e17CAE439E36C5D`). Target weights are 50% Core / 40% Middle / 10% Infra, with the Infra slice redirected to Middle until the Infra vault launches — yielding an effective 50% / 50% split today. You receive two share tokens: fUSDC (Core) and fmUSDC (Middle). Phase 2 MCP will bundle multi-vault calldata; this guide covers the manual two-tx workflow integrators ship now.

100%
  • Core: 100%
Balanced strategy target weights — 50% Core, 40% Middle, 10% Infra (redirected to Middle until Infra live).

Why two transactions

Forge uses separate ForgeVault contracts per bucket — Core, Middle, Infra (planned). Each vault has its own ERC-4626 share token, adapter book, and timelock governance. A single `deposit` call cannot atomically split across vaults in MVP. Agents must compute USDC amounts, approve each vault address, and broadcast two deposits. Allowances are not shared — `approve(USDC, coreVault)` does not authorize Middle vault spends.

VaultAddressShare tokenBalanced weight (effective)
Core0x2C9a3922b426005B979FDD1A8F43Eb61B309193BfUSDC50%
Middle0x0cAB46658aFD0F01018117475e17CAE439E36C5DfmUSDC50% (40% + 10% Infra redirect)
InfraPlannedfiUSDC (planned)0% on-chain today
Balanced deposit — two vault destinations

ERC-20 allowance for ForgeVault — not unlimited unless policy allows.

Balanced agent flow — approve, deposit Core, approve, deposit Middle.

Step-by-step: $1,000 USDC example

  1. Compute splits: $500 → Core (50%), $500 → Middle (50% effective).
  2. Approve USDC (`0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`) for Core vault — amount ≥ $500 (or max if policy allows).
  3. Deposit Core: `ForgeVault.deposit(500e6, receiver)` on Core — receive fUSDC.
  4. Approve USDC again for Middle vault address — separate transaction.
  5. Deposit Middle: `ForgeVault.deposit(500e6, receiver)` on Middle — receive fmUSDC.
  6. Verify Middle `adapterCount` > 0 post-timelock before expecting yield routing.
  7. Gas budget: ~4M Core first deposit (post P2-C0) + ~6M Middle first deposit with four adapters.

USDC and chain constants

ParameterValue
Chain ID8453
USDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Core vault0x2C9a3922b426005B979FDD1A8F43Eb61B309193B
Middle vault0x0cAB46658aFD0F01018117475e17CAE439E36C5D
Transactions2 deposits + 2 approves (typical)
Balanced two-deposit parameters (Base mainnet)

MCP vs manual integration

Today's MCP returns two deposit legs for Balanced — Core + Middle calldata arrays from `deposit(balanced)`. Agents compute split amounts, sign two approve + two deposit transactions from the user EOA — non-custodial at the protocol layer. Read MCP-native treasury for calldata-only custody. Multi-vault withdraw/balance tools remain Phase 2b.

ModeTx countAgent responsibility
MCP Balanced (live)2 depositsSign each leg from EOA; simulate first
MCP Conservative1 depositCore only
MCP Phase 2b (planned)Multi-vault withdraw/balanceNot MVP
Integration modes — Balanced deposits

Portfolio accounting with fUSDC + fmUSDC

Balanced holders track two ERC-4626 positions — not one blended share. fUSDC NAV reflects Core Spark/Morpho/Aave legs; fmUSDC NAV reflects Middle wstETH/cbETH/avUSDC/Moonwell book. Performance reporting must show two lines plus optional FORGE Merkle claims per FORGE emissions vs vault yield. fmUSDC is not fungible with fUSDC — do not sum share balances without USDC-denominated conversion via `convertToAssets`.

Middle adapters live — verify before routing

Core and Middle legs are both live on mainnet. Balanced agents should still verify Middle `adapterCount` and routing on Stats before production sweeps. Do not market "full Balanced yield" without per-leg risk disclosure. See Balanced strategy overview for risk comparison tables.

Gas and UX recommendations

  • Batch UX: show four steps (approve Core → deposit Core → approve Middle → deposit Middle).
  • Reserve ~10M total gas for first-time Balanced onboarding (both vaults, first deposits).
  • Use `permit` twice if agent supports EIP-2612 — still two vault-specific authorizations.
  • Surface Middle risk disclosure prominently — link Stats and this guide.
  • Never combine APY lines across fUSDC and fmUSDC in marketing copy.

Frequently asked questions

Can I use one approval for both vaults?

No. ERC-20 `approve(spender)` is per-spender address. Core and Middle vaults are different spenders — two approvals required unless using separate permit signatures per vault.

Does deposit order matter?

Not for final holdings — but agents often deposit Core first (stable leg) before Middle (higher beta). Policy choice, not protocol requirement.

When does Balanced become one transaction?

Phase 2b MCP may add multi-vault withdraw/balance — user still signs each on-chain tx unless a future router contract is deployed (not MVP).

Summary for agents

Balanced = two deposits, two share tokens (fUSDC + fmUSDC), 50/50 effective Core/Middle with Infra redirect. Dual USDC approve, ~4M + ~6M gas first deposits. MCP `deposit(balanced)` returns both legs. MCP guide, Balanced overview, Risks. Externally reviewed.

Forge contracts completed external security review (May 2026). Two vault shells multiply composability risk. TVL is early-stage smoke testing. Educational content — not investment advice.

Share this article

Draft copy for social posts — review before publishing. URL: https://forgetreasury.com/learn/balanced-strategy-two-deposit-transactions

Open Graph / preview card

Balanced = two deposits, two share tokens 50% Core fUSDC + 50% Middle fmUSDC — dual approve, dual deposit. MCP Balanced live. Externally reviewed. https://forgetreasury.com/learn/balanced-strategy-two-deposit-transactions

Twitter / X

Balanced strategy = 2 deposits: Core fUSDC + Middle fmUSDC. MCP returns both legs. Dual USDC approve, ~10M gas first time. Variable yield — /risks: https://forgetreasury.com/learn/balanced-strategy-two-deposit-transactions

LinkedIn

Implementing Forge Balanced routing requires two separate ERC-4626 deposits — Core and Middle vaults with distinct share tokens and approvals. MCP Balanced is live; step-by-step integrator guide with gas checklist: https://forgetreasury.com/learn/balanced-strategy-two-deposit-transactions