ArcYield
Launch app

Contracts

Small contracts, no owner, no upgrade path. Deployed on Arc.

Addresses

ContractAddress
ARC10 vault0xe30F8128DEb386d7E6464ce88D2fAD8C3312a064
FXX vault0x5c86Ed6C20bb79c7CB72e207f2882587C0CD220d
YLD1 vault0x722743ABaCb89c95AD889858b3dFd55d8105645D
ARC10 v1.1 vault0x849e4d8fD8dFA17d2Ec93eDd52367ee392C1a25e
AssetRegistry0x5e3A78D1FDA637A2e7803b1355951815168B667d
RevenueExecutor (yield leg, v1.1)0xb873a8cB82354E8845308651DdE003cA22458b12
BootstrapExecutor0xEb973052951fCC923597c53da9E46C8D8D2a4748
USDC (Arc native, ERC-20 face)0x3600000000000000000000000000000000000000
EURC (upstream, Circle)0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1
USYC (upstream, Hashnote)0x8a5D989Bbb96929F689B0200f435f53dA42bF490

The machine-readable list is at /api/contracts.

Architecture

Arc-native assets

USDC, EURC, USYC: ERC-20 float, decimals

AssetRegistry

permissionless listing, eligibility rules

ArcYieldVault ×3

ERC-4626 shares, NAV, epoch rebalance

reads flow left to right; each vault delegates position management and yield collection to its executor module

Sources are published and verifiable on the Arc explorer. The vault core is deliberately small enough to read in one sitting; position management and yield collection live behind an executor module set once at deployment.

The launch vaults run the bootstrap executor: it reports zero positions and harvests zero, so they hold exactly the USDC deposited in them. Executor addresses are immutable, so new executor logic means a new vault; migration is one redeem and one deposit.

ARC10 v1.1 is the first yield-leg vault. Its RevenueExecutor accepts native USDC from the ArcYield revenue wallet, counts it toward NAV immediately, and each epoch's rebalance sweeps it into the vault for shareholders. No owner, no withdraw path: USDC that enters the executor can only ever reach the vault. This is revenue share, stated as such; constituent positions and yield harvesting remain the next executor generation.

One Arc-specific note: native USDC reaches contracts with 18 decimals, so every amount in these contracts is an 18-decimal figure even though the USDC ERC-20 face shows 6. The site divides by 1012 for display.

AssetRegistry

FunctionWhoWhat
register(token)anyonelists an ERC-20 on Arc, snapshots its float
refreshSnapshot(token)anyoneupdates the float used for weighting
isEligible(token)viewlisted, 7+ days old, 25,000+ USDC of float

ArcYieldVault

FunctionWhoWhat
deposit()anyone, payablemints shares at NAV for the sent USDC
redeem(shares)holderburns shares, pays USDC at NAV from idle balance
rebalance()anyone, once per epochharvests yield, recaps weights, pays the 0.05 USDC tip
totalAssets()viewidle USDC plus the executor's position mark

The vault has no owner functions at all: no pause, no allowlist, no parameter setters. The constants (15% cap, 24h epoch, 0.05 USDC tip) are compiled in.