Play & Draw Rules

Prize Claims & 72h Rollover

Every prize awarded in QanVault follows a strict, non-custodial settlement lifecycle designed to eliminate counterparty risk while ensuring that no funds are ever permanently trapped in smart contract storage.


Canonical Settlement on BNB Smart Chain#

Regardless of whether a player purchased tickets using Ethereum (ETH / ERC-20 USDT) or BNB Smart Chain (BNB / BEP-20 USDT), all prize distributions and claims settle canonically on BNB Smart Chain.

Why Settlement Lives on BSC

  1. Negligible Gas Costs: Claiming a prize on BNB Smart Chain costs less than $0.05 in BNB gas, compared to $5 to $20 on Ethereum mainnet.
  2. Deep On-Chain Liquidity: BSC hosts the primary high-volume liquidity pool for wrapped QANX on PancakeSwap v3 (0xAAA7915B350aE002B4109403423A39C57cf30663).
  3. Instant Finality: 3-second block times ensure winners receive their tokens immediately upon signing.

The 72-Hour Claim Window#

When a draw concludes and winning ticket IDs are finalized on-chain, a 72-hour claim timer (259,200 seconds) starts:

\text{Claim Deadline} = \text{Draw Finalized Timestamp} + 259{,}200 \text{ seconds}
Step 1

Draw Finalized

Daily draw resolves at 00:00:00 UTC. The smart contract validates entropy and derives winning ticket IDs via binary search.

Hour 0 to 72

Active Winner Claim

Winner calls claimPrize(drawId) on BNB Smart Chain. QANX payout transfers instantly to wallet.

Hour 72+

Automated Rollover

If unclaimed after 72 hours, keeper executes rollover. 100% of unclaimed funds roll into the next draw, growing future pots.

Winner Claim Steps

  1. Navigate to the Winners Dashboard.
  2. Connect the winning wallet address on BNB Smart Chain.
  3. Click Claim Prize.
  4. Confirm the transaction in your wallet. The contract automatically verifies your address against the winning ticket batch and transfers your QANX payout in a single operation.

The Automated Rollover Mechanism#

Unlike traditional lotteries where unclaimed jackpots are retained as corporate profit or surrendered to state treasuries, QanVault returns 100% of unclaimed funds back to the player community:

solidity
function triggerRollover(uint256 drawId) external {
    DrawInfo storage draw = draws[drawId];
    require(block.timestamp > draw.finalizedAt + CLAIM_WINDOW, "Claim window still active");
    require(!draw.claimed, "Prize already claimed");
    require(!draw.rolledOver, "Already rolled over");

    draw.rolledOver = true;
    uint256 unclaimedAmount = draw.prizeAmount;

    // Direct 100% of unclaimed pot into the next scheduled draw
    uint256 nextDrawId = drawId + 1;
    draws[nextDrawId].rolloverSeedAmount += unclaimedAmount;

    emit PrizeRolledOver(drawId, nextDrawId, unclaimedAmount);
}

Community Benefits of Rollover

  • Massive Escalating Pots: If a major monthly or weekly jackpot is left unclaimed, the subsequent draw pot doubles or triples in size.
  • Zero Protocol Confiscation: The protocol operator cannot seize, sweep, or redirect unclaimed prize pools.
  • Game-Theoretic Incentive: If a winner loses access to their private key or fails to claim in time, active community players benefit directly from an amplified future prize pool.

Next Steps#