Docs / Vault and yield
Protocol
Vault and yield
How fees turn into passive yield for shrouded $OARKEL.
One vault behind every private share
Shrouded $OARKEL does not sit in notes as a token count. It sits as a number of shares in one vault. Shrouding issues shares at today's rate; unshrouding burns them and pays out the $OARKEL they represent. Fees raise the vault's backing and create no new shares.
shares_out = amount_in * (total_shares + OFFSET) / (total_backing + 1)
amount_out = shares_in * (total_backing + 1) / (total_shares + OFFSET)The virtual offset (1,000,000 shares) is a standard guard against the share-inflation trick where a first depositor manipulates the rate. A transfer fee paid in $OARKEL burns shares instead, so each remaining share is backed by a little more.
A worked example
The vault holds 1,000,000 $OARKEL of backing and 1,000,000 shares. You hold a note worth 10,000 shares. Over a month, 30,000 $OARKEL of fees arrive. Shares are now worth 1.03 $OARKEL each, and your note withdraws 10,300 $OARKEL minus the flat exit fee. A public wallet holding 10,000 $OARKEL through the same month still holds 10,000. These numbers are illustrative; real yield depends on real fee income and may be nothing.
What about shrouded ETH
ETH notes stay ETH, one for one, so a shrouded ETH balance is exactly what you deposited minus fees, and it earns no yield. The fees ETH notes pay build up in the pool; anyone can call sweepEthFees() to send them to the fee address fixed at deploy, whose operator is expected to swap them into $OARKEL and donate them to the vault. That swap is an operated, off-chain step, not contract code.