Yield routes idle escrow into an ERC-4626 vault. On executeCycle, YieldEscrow withdraws the exact amount needed and returns it to PayrollFactory. Everything else keeps earning.
Runway extension
A 100k USDT escrow at 4.5% APY earns 4,500/yr. A 6-month base runway becomes ~7.2 months without any operational change.
Modes
- Auto-compound — yield stays in vault, extending runway.
- Manual — employer claims yield via
claimYield().
Interface
enableYield(payrollId, vault, autoCompound)
disableYield(payrollId)
claimYield(payrollId) returns (uint256)
availableBalance(payrollId) view returns (uint256)
accruedYield(payrollId) view returns (uint256)
runwayWithYield(payrollId, cycleCost) view returns (base, extended)Swap for any ERC-4626
MockYieldVault ships with 4.5% simulated APY. In production, pass any ERC-4626 vault address to enableYield().