Loading the chamber
0%
Live · Solana Mainnet · 6 chambers

One chamber. One holder.
Every 15 minutes.

$RVL runs a single, synchronized draw on a global clock. Creator fees load the bullet pool, the cylinder maps live holders straight from chain, and at 00:00 one wallet is isolated for the payout. No staking. No claim. Just the draw.

Time to ignition
15:00.00
Global clock · synced for all
THE CHAMBER STANDBY · LOAD RPC
Bullet pool
0.110
$RVL · accumulating
RVL-ENGINE · UNIT 001AWAITING SYNCv1.0 · SOL
Market cap
— · load RPC
24h volume
Holders
LIVEAwaiting on-chain sync — set CONFIG in the code to go live for everyone.
How the draw works

A three-stage cycle, on repeat.

Every fifteen minutes the engine runs the same loop. Order matters: discovery feeds the cylinder, the pool builds, and the trigger decides.

01 — DISCOVER

Map the holders

The engine reads every wallet holding $RVL directly from the Helius RPC and loads those addresses into the cylinder. No list, no signup — your position on chain is your entry.

02 — LOAD

Build the pool

Across the cycle, creator fees accumulate into the bullet pool in $RVL. The counter climbs in real time, identical for every viewer, so the stakes are public as they rise.

03 — FIRE

Pull the trigger

At 00:00 the cylinder spins and stops. One holder lands under the firing pin and is isolated as the winner. The pool resets and the next round opens immediately.

The round

Specs & the engine room.

Round parameters

Ticker$RVL
ChainSolana · pump.fun
Cycle length15:00 fixed
Chambers6
Pool floor0.11 $RVL
SelectionLive holder · per cycle
PayoutManual to winner
Contractset on connect

How it runs

ANSEM'S REVOLVER is a synchronized draw, not a staking contract. A single global clock means the countdown is identical for everyone, everywhere — timing can't be gamed, and the pool counts the same for every viewer.

Holder discovery and market data are read live: Helius for the on-chain holder set, DexScreener for price and volume, refreshed every few seconds.

Winners are written to the ledger below the moment the trigger fires. Payouts are sent manually by the team to each winning wallet.

View on GitHub
src/revolver_chamber.rs
// global clock · deterministic 15-minute cycle
#[program]
pub mod ansems_revolver {
    use super::*;
    pub fn fire(ctx: Context<Fire>) -> Result<()> {
        let chamber = &mut ctx.accounts.chamber;
        let clock = Clock::get()?;
        require!(clock.unix_timestamp % 900 == 0, Err::NotZero);
        chamber.last_shot = clock.unix_timestamp;
        msg!("BANG — winner isolated @ {}", clock.unix_timestamp);
        Ok(())
    }
}
The ledger

Last winners.

Every spent round is logged here — wallet, pool taken, and time fired. Most recent shot on top.

#Winning walletPool takenFired
No rounds fired yet — the first shot lands when the clock hits zero.
Payouts are distributed manually by the team to each winning wallet.
Round fired · winner isolated
WINNER
Pulled live from the holder set
Pool taken
0.000 $RVL
Next round in 30s