Agent treasury bookkeeping: yield vs FORGE vs buffer
Three-layer accounting for agent treasuries — USDC vault NAV, FORGE Merkle claims, and operating buffer — without blended APY mistakes.
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.
Agent treasuries holding Forge positions must maintain three distinct accounting layers: USDC vault yield (share price NAV), optional FORGE token claims (Merkle emissions), and operating USDC buffer (idle wallet cash). Conflating these in dashboards, tax exports, or user-facing APY copy creates compliance risk and bad rebalance decisions. This guide gives integrators a bookkeeping framework aligned with Forge product canon and Risks & Disclosures.
USDC
Deposit asset
fUSDC / fmUSDC / fiUSDC
Vault shares
FORGE
Merkle emissions
Layer 1 — Vault yield (USDC NAV)
Vault yield accrues inside ERC-4626 share price as adapters earn interest, LST exchange-rate gains, or other venue mechanics. Denominated in USDC NAV for share conversion — even when Middle legs hold ETH-beta positions internally. Track fUSDC (Core) and fmUSDC (Middle) separately; they are not fungible. Derive performance from `convertToAssets(shares)` over time — not from MCP default APY constants.
| Field | Source | Agent note |
|---|---|---|
| Position | fUSDC / fmUSDC balances | Per-vault share tokens |
| NAV | totalAssets / totalSupply | On-chain or subgraph |
| P&L basis | USDC cost basis vs current assets | Exclude FORGE from this layer |
| Fees | 15% performance fee on withdraw profits | High-water mark — not on principal |
| Rate label | Variable protocol-sourced | Never quote fixed APY |
- Conservative routing: Layer 1 = Core fUSDC only — Conservative strategy.
- Balanced routing: two Layer 1 lines — fUSDC + fmUSDC — Balanced strategy.
- Middle LST legs: report exchange-rate delta as ETH beta sleeve, not USDC coupon.
- avUSDC leg: label perp-adjacent — separate from lending yield lines.
Layer 2 — FORGE emissions (Merkle claims)
600M FORGE from the incentives pool distributes via weekly Merkle roots through `RewardDistributor`. Claims require a separate transaction with proof — not auto-compounded into vault shares. FORGE is a usage subsidy / governance token, not vault yield. Book claims at fair value on receipt per your accounting policy; do not add unclaimed FORGE to USDC NAV.
| Dimension | Vault yield (Layer 1) | FORGE claims (Layer 2) |
|---|---|---|
| Denomination | USDC NAV | FORGE tokens |
| Accrual | Continuous in share price | Discrete on claim tx |
| Schedule | Variable protocol rates | Front-loaded 24-month emission |
| Marketing | Variable yield proxy OK with disclaimers | No ROI or price targets |
| Tax / policy | Treasury yield treatment | Separate token receipt event |
Read FORGE emissions vs vault yield for emission schedule detail and compliance guardrails. Agents quoting "total return" must show two numbers or a stacked chart with clear labels — never one blended APY.
Layer 3 — Operating USDC buffer
Agents keep idle USDC in the EOA for gas, pending rebalance, payroll, or MCP-signing workflows — outside Forge vaults. Buffer USDC earns 0% from Forge unless manually deployed. Confusing buffer balance with vault TVL inflates "deployed yield" metrics. Read Idle USDC management for AI agents for buffer sizing heuristics.
- Buffer ≠ vault deposit — separate line in treasury dashboard.
- Rebalance triggers compare buffer vs target strategy weights — agent-side policy.
- USDC approvals for vault deposits spend from buffer/wallet — track allowance separately.
- Do not subtract buffer from vault share price calculations.
Sample portfolio snapshot
| Layer | Instrument | Example balance | Performance metric |
|---|---|---|---|
| 1 — Vault yield | fUSDC (Core) | $50,000 assets | Share price delta / USDC cost basis |
| 1 — Vault yield | fmUSDC (Middle) | $50,000 assets | Separate NAV line — LST/avUSDC labeled |
| 2 — FORGE | Unclaimed Merkle allocation | 12,000 FORGE (unclaimed) | Book on claim — not in USDC NAV |
| 3 — Buffer | USDC in agent EOA | $5,000 USDC | 0% Forge yield — operational cash |
Total USDC-equivalent treasury for liquidity planning = Layer 1 assets + Layer 3 buffer. Layer 2 FORGE is optional risk asset — illiquid, no price promise. Reporting "Treasury USDC yield" should use Layer 1 only divided by deployed USDC — exclude buffer unless policy defines total AUM differently.
Reconciliation workflow
- Daily: Read fUSDC/fmUSDC `convertToAssets` from chain or Stats subgraph.
- Weekly: Check Merkle root updates — queue FORGE claim if policy requires.
- On deposit/withdraw: Update cost basis; note 15% performance fee on profitable withdraws.
- Monthly: Reconcile buffer vs target strategy weights; plan rebalance txs.
- Never: Merge Layer 1 + Layer 2 into single APY for marketing or DAO reports.
MCP and automation notes
MCP vault tools return calldata for Layer 1 deposits — user EOA signs. FORGE claims use separate contract interaction. Buffer management is agent policy outside MCP. When MCP returns illustrative APY strings, override with on-chain share price math for bookkeeping. See MCP-native treasury and MCP vs REST.
Common bookkeeping mistakes
| Mistake | Why it fails | Fix |
|---|---|---|
| Single "Forge APY" | Mixes USDC yield + FORGE inflation | Split Layer 1 and Layer 2 |
| fUSDC + fmUSDC summed as shares | Different share prices | Convert to assets first |
| Buffer counted as vault TVL | Overstates deployed yield | Separate Layer 3 line |
| Unclaimed FORGE in NAV | Wrong denomination | Track off-NAV until claim |
| LST leg as USDC APY | ETH beta mislabeled | Exchange-rate / beta sleeve label |
Export formats for DAO reporting
Recommended CSV columns: `date`, `vault`, `share_token`, `shares`, `assets_usdc`, `cost_basis_usdc`, `unrealized_pnl_usdc`, `forge_claimed`, `forge_unclaimed`, `buffer_usdc`. Add footnotes linking Risks & Disclosures and stating contracts are unaudited. TVL figures from early mainnet smoke testing (~$10 as of May 2026) are not production AUM — disclose scale.
Frequently asked questions
Should FORGE claims auto-compound into vault deposits?
Not automatically. FORGE must be sold/swapped to USDC (or held as FORGE) per agent policy, then optionally deposited as a new Layer 1 transaction. Each step is separate bookkeeping.
How do performance fees affect Layer 1 books?
15% fee applies on withdraw profits above high-water mark — reduce realized USDC on withdraw event, not continuous accrual. Unrealized NAV is pre-fee until exit.
One wallet — how many ledger accounts?
Minimum three conceptual accounts (Layer 1 vault, Layer 2 FORGE, Layer 3 buffer). Layer 1 splits further per vault (fUSDC vs fmUSDC) for Balanced/Aggressive holders.
Summary for agents
Book Forge treasuries in three layers: (1) USDC vault NAV via fUSDC/fmUSDC share price, (2) FORGE Merkle claims separate, (3) operational USDC buffer outside vaults. Never blend into one APY. Reconcile on-chain; ignore MCP default rates for accounting. FORGE emissions guide, Tokenomics, Risks. Unaudited contracts.
External resources
Primary protocol documentation and data sources. Forge is not affiliated with these projects; links are for education only.
Related reading
- FORGE emissions vs vault yield — keep them separateWhy USDC adapter yield and FORGE token emissions must not be blended in agent prompts or marketing copy.
- Idle USDC management for AI agents and botsWhen to vault vs keep USDC liquid, opportunity cost math, minimum sweep sizes, simulate-before-deposit gates, and withdrawal triggers for agent treasuries.
- What is an MCP-native treasury?How Forge Treasury uses the Model Context Protocol so AI agents can discover, quote, and deposit into USDC vaults without custodial intermediaries.
Share this article
Draft copy for social posts — review before publishing. URL: https://forgetreasury.com/learn/agent-treasury-bookkeeping-yield-vs-forge
Open Graph / preview card
Three layers: vault yield, FORGE, buffer Book agent treasuries without blended APY — USDC NAV, Merkle FORGE, and idle buffer as separate layers. https://forgetreasury.com/learn/agent-treasury-bookkeeping-yield-vs-forge
Twitter / X
Agent treasury bookkeeping: 3 layers — (1) USDC vault NAV fUSDC/fmUSDC, (2) FORGE Merkle claims, (3) idle buffer. Never blend APY: https://forgetreasury.com/learn/agent-treasury-bookkeeping-yield-vs-forge
Forge agent treasuries need three-layer accounting — ERC-4626 USDC yield, separate FORGE emission claims, and operational USDC buffer. This guide helps integrators avoid blended APY mistakes in DAO reporting: https://forgetreasury.com/learn/agent-treasury-bookkeeping-yield-vs-forge