Proven is a habit-accountability app where participants stake tokens into a challenge escrow, submit daily proof, and get paid out according to completion performance. The on-chain program handles stake custody, settlement, and payout distribution.
proven_stakeprograms/proven-stake/src/lib.rs#[derive(Accounts)] context structs: 15EscrowFactory, ChallengeEscrow, Participant)require! validationsEscrowFactory (113 bytes): global authority config (authority, treasury, oracle), challenge_count, day_length_seconds, bumpChallengeEscrow (226 bytes): per-challenge config + lifecycle + payout accounting (stake_amount, total_days, threshold_bps, status, timestamps, winner/loser counters, forfeiture and remainder tracking, claim counters, bump)Participant (82 bytes): per-user challenge state (stake_deposited, proof_days, is_winner, is_settled, claim flags, bump)["factory"]