Skip to content
Claudia Barcelo edited this page Feb 24, 2026 · 3 revisions

Stargate V2 USDC.e Deployment Wiki

Overview

Stargate V2 USDC.e is a bridged USDC token deployed from Circle’s official stablecoin-evm repository. It follows the Bridged USDC Standard and uses the same FiatToken contracts as native USDC. This token is used by StargateV2 OFT (StargateV2 repo) for cross-chain transfers.

TokenName Bridged USDC (Stargate)
TokenSymbol USDC.e
Source Repo Circle stablecoin-evm
Branch stargate-deployment (Stargate-specific code)
Standard Bridged USDC Standard

Important

Deploy using the stargate-deployment branch. This branch contains the Stargate-specific configuration (e.g., .env.example.stargate, Makefile targets) required for Stargate V2 USDC.e deployments.


Deployment Steps

Prerequisites

  1. Foundry version – Use 0.2.0; newer versions use CREATE2 for libraries and can break deployments:

    foundryup -u foundry-rs-commit-156cb13
  2. Environment – Use .env.example.stargate as the template. Copy it to .env, fill in all variables, and confirm they are correct. Important: Verify PROXY_ADMIN_ADDRESS is the intended oneSig address on the chain.

Deployment

Step Command / Action
1 Run make d to confirm everything passes
2 Run make deploy-verify or make deploy (manual verification required if using only make deploy)
3 On the block explorer, verify contracts are deployed and verified

Verification & Pipeline

Step Command / Action
4 Prepare a PR in the Circle repo to verify the deployment
5 On main, fill contract addresses and creation txs from verification-artifacts/input.template.json
6 Generate artifacts: make gen
7 Open a PR in the Circle repo
8 Upload the deployment artifacts to the shared drive
9 Run make verify-mainnet to execute:
verifyBridgedTokenBytecode.ts – Circle pipeline validation
verifyProxySlotImplementation.ts – Implementation slot check to mitigate CPIMP attack

Notes

  • Verification fallback: If Foundry verification fails, use Hardhat. Example for a proxy on Somnia:
    npx hardhat verify --contract contracts/v1/FiatTokenProxy.sol:FiatTokenProxy \
      --network somnia \
      0x28bec7e30e6faee657a03e19bf1128aad7632a00 \
      0xa6f01ccc347f07256bec0dc7d1a3b62adc3f1a68 \
      --force

Common Failures

Issue Solution
Failed to get EIP-1559 fees Add --legacy to the deployment script in the Makefile

Related Documentation