How It Works
Follow the full Moocon Vaults lifecycle from deposit to prize drawing and claim.
The short version
Moocon Vaults redirects lending yield into prize drawings. Depositors keep redeemable pTokens, while the yield generated by the vault is paid to one winner per round.
Deposit -> Jupiter Lend -> pTokens -> round snapshot -> VRF draw -> winner claimDeposits and yield
When you deposit into a vault, the underlying tokens flow into Jupiter Lend and begin earning yield. The vault tracks your position with pTokens.
The yield source is still Jupiter Lend. Moocon Vaults changes how the yield is distributed: instead of paying everyone a small pro-rata amount, it pools yield into prizes.
pTokens and tickets
pTokens are the position tokens for a vault.
- They are minted when you deposit.
- They are burned when you withdraw.
- They represent your share of the vault.
- They determine your ticket weight.
1 pToken = 1 ticket in the drawing. More tickets means better odds, but every eligible depositor has a chance.
Round lifecycle
Round timing is shown in the app and may vary by vault.
- Snapshot: eligible vault positions are captured into a Merkle tree.
- Commit: the operator commits a secret hash and the Merkle root on-chain.
- Delegate and request: the reward account is delegated to a MagicBlock Ephemeral Rollup and a MagicBlock VRF request is issued.
- Fulfill: the VRF oracle writes randomness into the reward.
- Reveal: the operator reveals the secret, which is combined with VRF randomness to select the winner.
- Claim: the winner claims the pooled yield.
Why two entropy sources?
The drawing uses both an operator secret and MagicBlock VRF randomness. The final seed is derived from both values, so neither source alone can determine the winner before the reveal.
This protects against predictable drawings while keeping the result verifiable after the round settles.
What can be verified?
After a round settles, the committed Merkle root defines the eligible participant set and ticket weights. The revealed secret and VRF fulfillment define the final randomness.
That means anyone with the round data and Merkle proof can verify:
- whether a wallet was included in the snapshot;
- how much ticket weight it had;
- that the selected winner follows the published round data.
What happens to yield?
The yield generated by the vault funds the prize pool. When a winner claims, the reward is paid as pTokens of the same vault.
Depositors who are not selected keep their pTokens and remain eligible for future rounds unless they withdraw.