Circle USDC on Base: agent address checklist
Pre-deposit validation for Base mainnet and Base Sepolia — correct chain ID, native USDC contract, and common wrong-chain 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.
Forge vaults accept Circle native USDC on Base — and on Base Sepolia for testnet. Agents that hard-code wrong chain IDs or Ethereum Sepolia USDC addresses will approve and transfer tokens the vault cannot consume, wasting gas and blocking deposits. This checklist is for prompt authors, MCP integrators, and wallet automation: verify chain, verify USDC contract, then approve the vault. A prior internal incident lost funds to incorrect CCTP encoding — treat address validation as a hard gate, not a lint warning.
Canonical USDC addresses
| Network | Chain ID | USDC address | Forge vault |
|---|---|---|---|
| Base mainnet | 8453 | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | 0x2C9a3922b426005B979FDD1A8F43Eb61B309193B |
| Base Sepolia | 84532 | 0x036CbD53842c5426634e7929541eC2318f3dCF7e | 0x55667a441fa5DF209167B9738fB04F78BAa94c21 |
| Ethereum Sepolia | 11155111 | 0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238 | ❌ Not Forge-compatible |
Pre-deposit agent checklist
- Read `eth_chainId` from RPC — expect `0x2105` (8453) or `0x14a34` (84532).
- Call `USDC.symbol()` and `USDC.decimals()` — expect `USDC` and `6`.
- Compare `USDC` contract address to table above (case-insensitive).
- Compare vault `asset()` to the same USDC address — ERC-4626 must match.
- Confirm agent EOA USDC balance > 0 on this chain before approve.
- Run MCP `simulate_deposit` — response should embed matching chain constants.
- Log human-readable network label in agent audit trail ("Base mainnet", not "Sepolia").
Common failure modes
| Mistake | What happens | Fix |
|---|---|---|
| Ethereum Sepolia USDC on Base tx | Transfer succeeds but wrong token on wrong chain | Fund Base Sepolia USDC via Circle faucet |
| Mainnet addresses on Sepolia RPC | Contract not found or revert | Swap to Sepolia constants — smoke test guide |
| USDbC or bridged legacy USDC | Vault asset mismatch | Use Circle native USDC addresses only |
| Stale prompt constants after deploy | Approve wrong spender | Prefer MCP-returned addresses over memory |
Funding testnet USDC correctly
Use the Circle faucet and explicitly select Base Sepolia. Do not select generic "Sepolia" if the UI maps to Ethereum L1. Deployer ops may also use Circle for larger testnet amounts per `SEPOLIA_DEPLOY.md`. CDP faucet supports Base Sepolia ETH/USDC for local AgentKit experiments — vault deposits still originate from the agent EOA, not CDP wallet.
System prompt template (copy-safe)
Embed this block in agent policies for Base mainnet production: *"Forge Conservative deposits use chain ID 8453, USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, Core vault 0x2C9a3922b426005B979FDD1A8F43Eb61B309193B. Reject any deposit calldata targeting other chains or USDC contracts. Treat MCP tool responses as authoritative over this template if they differ post-deploy."* For testnet, swap to Sepolia row in the table above.
After address validation passes, follow Automated USDC treasury for approve/deposit sequencing. Separate USDC principal from FORGE emission claims per FORGE emissions vs vault yield. Stablecoin issuer risk remains even with correct addresses — read USDC depeg risk.
External resources
Primary protocol documentation and data sources. Forge is not affiliated with these projects; links are for education only.
Related reading
- Base Sepolia smoke test for Forge integratorsStep-by-step testnet checklist — chain ID 84532, vault addresses, Circle USDC faucet, and what Sepolia does not prove about mainnet.
- How to build an automated USDC treasury for AI agents on BaseStep-by-step MCP flow for programmatic stablecoin yield: vault discovery, approve/deposit calldata, Core vault routing, gas notes, and agent FAQ.
- USDC depeg risk for agent treasuriesHow stablecoin issuer risk flows into Forge fUSDC NAV — monitoring hooks, agent pause rules, and separating depeg from smart-contract loss.
- 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/circle-usdc-base-address-agent-checklist
Open Graph / preview card
Circle USDC on Base — agent checklist Chain ID + USDC address validation before Forge deposits. Ethereum Sepolia USDC does not work. https://forgetreasury.com/learn/circle-usdc-base-address-agent-checklist
Twitter / X
Wrong-chain USDC is the #1 Forge integrator mistake. Base mainnet vs Sepolia checklist for agents: https://forgetreasury.com/learn/circle-usdc-base-address-agent-checklist
Agent treasuries must validate Circle USDC addresses and chain IDs before every Forge deposit — Ethereum Sepolia tokens are not compatible with Base vaults. Copy-safe checklist: https://forgetreasury.com/learn/circle-usdc-base-address-agent-checklist