twofold×2Docs
Documentation Deposit rewards

Deposit rewards

Every dollar supplied to a V2 pool earns USDG every second it is there, on top of the swap fees and the vault yield the position already earns. The rate is the same for every V2 pool: the day's budget is split across the pools by the depth outside wallets hold in each, then inside a pool by share-seconds. Deposit and you start earning that second; withdraw and you keep every cent accrued up to that second. There is no warm-up, no forfeit and no lock.

Two ceilings set the day's budget. A fixed USDG figure caps what is paid in total, and a maximum APR caps what any depth can earn, so the rate on the pools page reads "up to" that APR. While depth is small the APR ceiling binds and the payout is proportional to what is actually supplied; when depth is large the fixed budget binds and the APR falls with it. Both numbers can change at any time, and the pools page always shows the current ceiling.

Rewards are paid in USDG from a dedicated contract, RewardsPayer, that holds the budget. It is funded by hand from trading fees the protocol's own positions earn, nothing is minted and no TWO is sold to pay it. Payments go out every Monday to every wallet owed at least 1 USDG; smaller amounts roll into the following week. A wallet that withdraws its whole position is paid in the next payout cycle. The pools page shows the wallet's live rate, what it has earned so far and what it is owed, and the payout history is on chain as Paid events from the contract.

First-stack pools, the keys that take no new deposits, earn no rewards; their positions can still be withdrawn at any time. Deposits made by the protocol itself, through the operator controllers or the deployer, are excluded from both the accrual and the depth split, so the whole budget goes to outside wallets.

This is one section of the Twofold documentation. Read all of it.