fYield enables FXRP deposits on Flare to earn Aave or Curve yield on Ethereum without bridging tokens. The system uses ERC4626 vaults, FTSO oracles, and an off-chain coordinator to synchronize deposits and withdrawals across chains.
fYield consists of three components:
FlareVault (Flare) <β events β> Coordinator (Node.js) <β transactions β> AAVEManager (Ethereum)
![]() |
![]() |
![]() |
![]() |
Location: fyield-router/contracts/FlareVault.sol
- ERC4626 vault for FXRP
- Accepts FXRP deposits and mints vFXRP vault shares
- On withdraw, burns vFXRP and waits for coordinator to return yield
- Tracks total FXRP, shares, withdrawal requests, and operator fee configuration
- FXRP always remains on Flare
Locations:
fyield-router/api/
fyield-router/utils/
Responsibilities:
- Listen for Deposit and Withdraw events from FlareVault
- Fetch XRP USD price from FTSO v2
- Convert FXRP to USD value
- Trigger Ethereum AAVEManager actions
- Deposit USDC or withdraw yield
- Complete withdrawal back on Flare
- Handles batching, fee logic, and RPC operations
- Never holds assets, only metadata
Location: fyield-router/contracts/AAVEManager.sol
- ERC4626 vault for USDC
- Supplies USDC into Aave V3 lending markets
- Tracks principal, APY yield, shares, and operator fees
- Withdraws the yield portion when instructed by coordinator
- Principal stays in the vault and yield is returned cross-chain
- User deposits FXRP into FlareVault
- FlareVault emits Deposit event
- Coordinator detects event and fetches FXRP USD price
- Coordinator deposits the equivalent amount of USDC into AAVEManager
- User receives vFXRP shares on Flare
FXRP stays on Flare and USDC stays on Ethereum.
- User calls redeem on FlareVault with vFXRP
- FlareVault emits RedeemRequested
- Coordinator calculates user yield
- Coordinator withdraws USDC yield from AAVEManager
- Coordinator completes withdrawal on Flare
- User receives original FXRP plus yield converted back from USDC via price oracle
- Operator fee applied to yield
- Withdrawal fee for coordinator execution
- No deposit fees
Both vaults implement the same configurable fee pattern.
| Contract | Chain | Description |
|---|---|---|
| FlareVault.sol | Flare | ERC4626 vault for FXRP and vFXRP shares |
| AAVEManager.sol | Ethereum | ERC4626 vault supplying USDC to Aave V3 |
| interfaces folder | Shared | ERC4626, Aave, and protocol interfaces |
| utils folder | Off-chain | FTSO pricing and helper utilities |
Smart Contracts
- Solidity
- ERC4626
- OpenZeppelin
- Hardhat
- Aave V3 Lending Pool
Coordinator
- Node.js
- Express
- ethers.js v6
- Flare FTSO v2 oracles
Frontend
- Next.js
- React
- TailwindCSS



