← Learn
Liveproduct· 5 min read· #erc-4626#fusdc#fmusdc#fiusdc

ERC-4626 share tokens: fUSDC, fmUSDC, and fiUSDC explained

How Forge vault share tokens work on Base — ERC-4626 NAV, three bucket symbols, and what agents should display to users.

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

Forge Treasury smart contracts are unaudited. Yield is variable and not guaranteed. Read Risks & Disclosures before depositing USDC or integrating MCP tools.

Forge Treasury vaults are ERC-4626 tokenized vaults over USDC. When you deposit native USDC on Base, you receive a vault share token — not a claim on a single protocol position. Each vault bucket (Core, Middle, Infra) has its own `ForgeVault` contract and its own share symbol. Today fUSDC is live for the Core vault; fmUSDC and fiUSDC map to Middle and planned Infra buckets. Share price equals total vault assets divided by total supply — standard ERC-4626 accounting. This guide explains symbols, NAV mechanics, and how agents should report balances without conflating share tokens with underlying USDC.

Forge vault contracts are unaudited. Share price can fall on smart-contract failure, adapter loss, or USDC depeg. Underlying protocol audits (Spark, Morpho, Aave) do not eliminate Forge wrapper risk. Yield is variable — not guaranteed.

USDC

Deposit asset

fUSDC / fmUSDC / fiUSDC

Vault shares

FORGE

Merkle emissions

Three vault buckets — three share tokens (Infra planned)

ERC-4626 basics for agents

ERC-4626 standardises `deposit(assets, receiver)`, `withdraw(assets, receiver, owner)`, `convertToShares`, and `convertToAssets`. Forge extends the shell with adapter routing, 48-hour timelock governance, and a 15% performance fee on withdraw profits above high-water mark. Agents integrating via MCP receive calldata for these functions — signing happens on the agent EOA. Read MCP-native treasury for custody posture and Risks & Disclosures before production routing.

Share symbolVault bucketStatusMainnet vault address
fUSDCCoreLive0x2C9a3922b426005B979FDD1A8F43Eb61B309193B
fmUSDCMiddleTimelock-pending adapters0x0cAB46658aFD0F01018117475e17CAE439E36C5D
fiUSDCInfraPlannedNot deployed
Forge share tokens — May 2026 mainnet

fUSDC — Core vault shares

fUSDC is the ERC-4626 share token for the Core vault. Depositors approve Circle native USDC (`0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`) and call `deposit`; the vault routes USDC across Spark Savings, Morpho Steakhouse Prime, and Aave V3 adapters per governance weights. Conservative strategy routing sends 100% of allocated USDC here — see Conservative strategy. NAV rises as adapters accrue yield; it is not a fixed 1:1 USDC peg if losses occur.

  • Symbol in UI and docs: fUSDC (legacy naming — treat as Core share token).
  • Verify live TVL and share price on Stats — subgraph may lag blocks.
  • Do not confuse fUSDC balance with wallet USDC — redeem via `withdraw` or `redeem`.
  • FORGE emissions are separate — FORGE emissions vs vault yield.

fmUSDC and fiUSDC — other buckets

fmUSDC is the Middle vault share token. The Middle contract is deployed on Base mainnet, but adapter wiring may be timelock-pending until owner execution — verify `adapterCount` on Stats before Balanced routing. fiUSDC is reserved for the planned Infra vault (Virtuals, Venice — counsel-gated). Until Infra deploys, Balanced strategy redirects the 10% Infra weight to Middle per product canon — Balanced strategy.

fUSDC

fmUSDC

fiUSDC

Compare fUSDC, fmUSDC, and fiUSDC at a glance

Share price vs APY (honest framing)

There is no fixed APY on fUSDC. Reported yield should derive from share price delta over time, not from MCP default constants. May 2026 research snapshots for Core legs cluster around ~3.5–4% at underlying adapters (Aave Base USDC, Morpho Steakhouse Prime) — variable daily. MCP `get_current_apy` and `simulate_deposit` return target / illustrative blends — label them accordingly in agent UX.

DriverEffect on NAVAgent note
Adapter yield accrualShare price up (typical)Spark, Morpho, Aave rates float
Performance fee on withdrawNet to user lower on exit15% on profits above HWM
Adapter loss / exploitShare price downComposability risk
USDC depegAccounting stressCircle native USDC assumption
What moves share price

Decimals, previews, and rounding

USDC uses 6 decimals; ERC-4626 share tokens inherit vault `decimals()` (typically 6 for Forge). Use `previewDeposit` / `previewWithdraw` before broadcasting large amounts — rounding can leave dust on partial redeems. Agents should display assets (USDC) and shares (fUSDC) in separate fields to prevent user confusion. For cross-vault portfolios, sum USDC-equivalent via `convertToAssets(shares)` per vault, not by adding raw share balances across symbols.

Reading balances on-chain and via MCP

  1. Wallet USDC: ERC-20 `balanceOf` on `0x833589…2913`.
  2. Vault shares: ERC-4626 `balanceOf` on the vault contract (shares are the vault token).
  3. USDC equivalent: `convertToAssets(shares)` or MCP `get_balance` with agent address.
  4. Protocol-level detail: Stats for TVL; Basescan for `totalAssets()` / `totalSupply()`.

Integrator checklist

Frequently asked questions

Is fUSDC a stablecoin?

No. fUSDC is an ERC-4626 vault share representing a pro-rata claim on Core vault assets (mostly USDC-denominated positions across adapters). It is not issued by Circle and is not redeemable 1:1 at a central issuer — redemption is via the vault `withdraw` path subject to liquidity and fees.

Can I transfer fUSDC to another wallet?

Yes — shares are standard ERC-20 transferable unless future governance adds restrictions (none today). The recipient inherits vault exposure and must understand unaudited risk. Treasury policies often block share transfers without multisig approval.

Why three symbols instead of one?

Each vault bucket has separate risk books (stable Core vs LST/Middle vs Infra). Separate share tokens preserve clear NAV per book and enable strategy-level allocation without merging incompatible adapter sets into one ERC-4626 pool.

How do I verify share price before a large deposit?

Read `totalAssets()` and `totalSupply()` on Basescan, cross-check Stats, and run MCP `simulate_deposit` for planning UX — not a guarantee. After timelock events, re-verify adapter count.

Summary for agents

Forge share tokens (fUSDC, fmUSDC, fiUSDC) are ERC-4626 claims on separate vault buckets — not USDC itself. Core fUSDC is live on Base mainnet; Middle fmUSDC requires timelock verification; Infra fiUSDC is planned. Report variable underlying yield separately from FORGE Merkle emissions. Verify on Stats; read Risks before user funds.

Principal loss is possible. This article is educational content — not investment, tax, or legal advice. Forge provides no insurance and no principal protection.

Share this article

Draft copy for social posts — review before publishing. URL: https://forgetreasury.com/learn/erc-4626-share-tokens-fusdc-explained

Open Graph / preview card

Forge ERC-4626 shares: fUSDC explained fUSDC, fmUSDC, fiUSDC — three vault buckets on Base. ERC-4626 NAV, variable yield, unaudited. Verify on /stats. https://forgetreasury.com/learn/erc-4626-share-tokens-fusdc-explained

Twitter / X

Forge vault shares are ERC-4626 — fUSDC (Core live), fmUSDC (Middle), fiUSDC (planned). Variable yield, unaudited contracts. Agent guide: https://forgetreasury.com/learn/erc-4626-share-tokens-fusdc-explained

LinkedIn

AI treasury agents need clear share-token semantics. Forge separates Core, Middle, and Infra vaults with distinct ERC-4626 symbols. This explainer covers NAV, decimals, and honest APY framing for integrators on Base mainnet: https://forgetreasury.com/learn/erc-4626-share-tokens-fusdc-explained