Proof, not promises
Everything here is on-chain.
There is no private database and no hidden ledger. Every deposit, withdrawal, drawing, winner, and charitable gift is a public record on Base. The contract's source is verified — anyone can read exactly what the code does, and confirm it can never reach your principal.
Live On-Chain State
Read straight from the vault.
Network: Base mainnet · Figures update every 30 seconds from the contract.
The Contracts
Addresses, verified and public.
| Component | Address (Base mainnet) |
|---|---|
| Prize VaultHolds deposits, runs the draw | 0x3993bD557E0d4a1E5A8Ec09a005E7Eee3E032f70Source verified ✓ |
| Randomness AdapterChainlink VRF v2.5 | 0x604585F750cDCc503ABb65eBcD5b656FBEe6925cSource verified ✓ |
| VRF Owner-LockMakes the coordinator unchangeable | 0xcA5002B3C7c5F92Ddb3c0C4D2fefEdD57F9A3418Source verified ✓ |
| Automation TargetFires the weekly draw, self-heals, forwards the gift | 0x5c09c9D0aCF8E00FF1CB54b87b019f780a7cFD48Source verified ✓ |
| Charity ForwarderSends the weekly 5% to each charity via Endaoment | 0x79f36B9Fba86aC8A020ABBd08B6ee2F201Ab3C77Source verified ✓ |
| Asset — USDCThe deposited stablecoin | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| Yield Source — Aave v3 PoolWhere deposits earn interest | 0xA238Dd80C259a72e81d7e4664a9801593F98d1c5 |
| Interest Receipt — aUSDCTracks accrued yield | 0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB |
Never send USDC directly to any of these addresses. Deposits work only through the Make a Deposit flow on this site (the contract's deposit() function), which records your balance and your entry. A plain transfer earns no entry and is unrecoverable — by design, no one (including us) can move tokens out of the vault.
The Rules, In Code
Fixed, automated, no discretion.
The split
90 / 5 / 5
Of the interest only: 90% to one winner, 5% to charity, 5% to the platform. Principal is never part of the split. The charity gift is delivered on-chain through Endaoment, a 501(c)(3) donor-advised fund, which grants it to the week's named charity.
The cadence
Weekly
One drawing every 7 days. The schedule is enforced by the contract itself — starting a due draw is permissionless (our open-source trigger does it automatically, and anyone can), so no human chooses the timing or the winner.
The odds
Equal per dollar. Every $1 deposited is one equal, verifiable chance. Splitting funds across wallets gives no advantage.
The randomness
Chainlink VRF v2.5 — cryptographically provable on-chain randomness. The operator cannot influence who wins.
The operator
The platform's own address can deposit but is excluded from ever winning, in code.
Your principal
No function exists by which any operator can move your deposit. Only interest above tracked principal is ever distributed.
The Record
Every drawing, every gift.
Reading the raw event log, you will notice the charity address on recent draws is the
Charity Forwarder, not the charity itself. That is deliberate. The draw pays the winner
and hands the 5% to the forwarder in one transaction, and the forwarder donates it onward to that
week's charity moments later in its own transaction — a CharityForwarded event you can
follow to the receiving organisation. Splitting it in two is what keeps a problem on the donation side
from ever being able to block a winner from being paid. The table below already follows that second
hop for you and shows the charity that actually received the gift.
Loading drawings…
The Automation
Watch it run, yourself.
Randomness is Chainlink VRF, and the weekly draw is fired by an open-source keeper — both public and verifiable. The contract itself enforces the Thursday 9 PM ET schedule on-chain, so no one can change the timing or pick the winner.