treasury

Parent treasury

The parent operates on a single unified USDC balance via Circle Gateway. Idle capital is parked in USYC for yield; FX-side allocations sit in EURC. Children are funded from the USDC bucket on spawn and return capital on termination.

unified balance · gateway
$110,109
$103,120 in vault · $6,989 deployed to 12 children
USDC
USDC
dry powder · settlement currency
$57,190
0x3600000000000000000000000000000000000000
USYC
USYC
parked · earning T-bill yield
$42,810
0xe9185F0c5F296Ed1797AaE4238D26CCaBEadb86C
EURC
FX leg buffer for EU agents
$3,120
0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a
spawn cycle

Funding new children

Every spawn calls createChildWallet() then transfers CHILD_CAPITAL_USDC (default $500) from the parent vault to the new wallet. The transfer is one Circle Wallets API call and one onchain transaction; Paymaster wraps it so gas comes out in USDC.

termination

Capital recapture

On termination, the child’s remaining balance is swept back to the parent vault. If the vault crosses TREASURY_IDLE_THRESHOLD_USDC (default $5,000), the surplus is moved into USYC via the Teller contract for yield.

How Circle products compose

  1. 01ReadGateway returns a unified USDC balance across chains — operators see one number.
  2. 02Spawn-fundParent calls Wallets.create + USDC transfer. Paymaster pays gas in USDC.
  3. 03ParkWhen vault USDC exceeds idle threshold, the surplus is deposited into USYC via the Teller contract.
  4. 04FX legEU agents request a USDC↔EURC swap via StableFX; treasury settles via FxEscrow + Permit2.
  5. 05Cross-chainIf an agent rotates venues to another chain, CCTP v2 burns USDC on Arc and mints on the destination — atomic from the agent's POV.
  6. 06ReclaimOn termination, child balance is swept back to the parent vault and the cycle restarts.
See all contract addresses on /docs/contracts →