Blog · 8 min read ·

How Provably Fair Lotteries Work on Solana

98% of meme coins rug. Here's what happens when transparency is the product.

RugPot · Protocol Team

98% of meme coins are designed to rug you. Liquidity pulled at the peak. Holders left with zeros. The team is anonymous and the contract is a black box.

RugPot does the opposite. It makes the rug the product — on-chain, deterministic, and verifiable by anyone with a Solana explorer. No trust required. Just code.

If you've heard "provably fair" thrown around and wondered what it actually means under the hood, this is the full breakdown.

What "Provably Fair" Actually Means

Most "provably fair" claims in crypto are marketing. They mean the operator says the game is fair. That's not provably fair — that's trust-based.

Real provably fair systems have three properties:

  1. Verifiable randomness. The draw uses a source of entropy that no single party controls. In Solana's case, that's VRF (Verifiable Random Function) built into the protocol itself.
  2. Deterministic execution. The outcome is determined by the on-chain state at draw time. No human, no admin key, no backend can alter it.
  3. Public auditability. Anyone can look up the transaction, the inputs, and verify the winner independently. No operator confession required.

The key technical primitive is Solana VRF — a cryptographic primitive where the random output is itself verifiable. The VRF output is generated on-chain as part of the transaction; there's no off-chain oracle, no randomness beacon to compromise.

On-chain entropy vs. off-chain RNG

If randomness is generated off-chain (a server, a random.org API, anything outside the blockchain), it's not provably fair — the operator can manipulate it. VRF on Solana means the block producer has no ability to influence the output. The protocol enforces it.

How RugPot Implements Provably Fair Draws

RugPot's protocol is deployed on Solana mainnet. Here's how it works:

The Bonding Curve as Entry Mechanism

You enter a pot by minting shares on a bonding curve. As more shares are minted, the price rises. This is the mechanism — you're buying a proportional claim on the pot, not buying a "ticket." The more shares you hold, the higher your probability of winning the draw.

The price curve is mathematically deterministic. There's no backend deciding whether you get in at $0.001 or $0.50 — it's a formula on-chain.

The Draw: Solana VRF

When a round closes (by timer or by threshold), the draw is executed as a Solana transaction. The VRF output is part of the transaction data. No operator. No off-chain step.

The winner receives 95% of the pot. 2.5% reflects to all share holders. 1.5% goes to the house. 1% carry. These splits are hard-coded in the contract — they cannot be changed post-deploy.

The Public Program ID

RugPot's program is identified on Solana by the public key:

Program ID
552HLD8APrtVRHkRvgkKiZw48gsLdiTXC3SS5kDLd2ka

You can look this up on any Solana explorer (Solscan, SolanaFM). Every transaction involving this program is public. Every draw, every payout, every share mint.

No Admin Key. No Upgrade Authority.

The contract is deployed and locked. There's no proxy admin, no multisig that can change the rules mid-round, no upgrade key held by the team. The code that runs today is the code that will run forever.

The "rug" is the guarantee

In a standard meme coin, the rug is hidden — it's the risk you absorb silently. In RugPot, the rug is the draw mechanism. Everyone knows the rules before they enter. That's not a flaw — that's the product.

pump.fun's Opacity vs. RugPot's Transparency

pump.fun is the dominant entry point for Solana meme coins. Here's the uncomfortable truth: it's a black box.

pump.fun / standard meme coins RugPot
Draw mechanism Centralized / opaque
No on-chain draw. Operator can influence or delay.
Solana VRF on-chain
Cryptographic randomness, protocol-enforced.
Who controls the contract? Admin key held by team
Rules can be changed. Rug risk is structural.
No admin key. Contract locked.
Rules are the contract. Cannot be changed.
Can you verify draws? No
No explorer record of winner selection.
Yes — on Solana Explorer
Every draw is a public, auditable transaction.
Fee split adjustable? Yes — team can change it
No hard-coded guarantees for holders.
No — hard-coded in contract
95% jackpot / 2.5% reflect / 1.5% house / 1% carry — forever.

How to Verify a Draw Yourself

You don't need to trust us. You can verify everything on Solana Explorer.

Step 1 — Find the program account

Search for the RugPot program ID on Solscan or Solana Beach:

Solscan search
552HLD8APrtVRHkRvgkKiZw48gsLdiTXC3SS5kDLd2ka

This will show you all transactions associated with the program — every share mint, every round close, every payout.

Step 2 — Find a "draw" transaction

Look for transactions with the program ID that show a state change from "round active" to "round closed." The transaction logs will contain the VRF proof, the winning wallet address, and the payout amount.

Step 3 — Verify the VRF proof

Solana's VRF output is included in the transaction metadata. You can use the Solana Web3.js library to verify the VRF proof against the transaction's cryptographic inputs:

Verify VRF proof (pseudocode)
// VRF output is in transaction logs under "VRF output"
// Verify proof against the program's seed and round state
// Use @solana/web3.js getTransaction() to fetch the tx metadata
// The result: cryptographically provable winner selection

const tx = await connection.getTransaction(txSig, { maxSupportedVersion: 0 });
const logs = tx.meta.logs; // contains VRF proof in program logs

Step 4 — Cross-check payout

Once you have the winning wallet, verify the payout amount matches 95% of the pot at draw time. You can query the token accounts involved in the transaction to confirm the winner received the correct amount.

If the numbers don't add up, the contract has a bug — and it's public for the world to see. That's the point.

Common Questions

Can the team change the odds after I enter?

No. The odds are determined by your share count relative to the total supply at draw time. That math is fixed in the contract. There is no admin key to manipulate it.

What happens if Solana's VRF has a bug?

Solana's VRF is part of the core validator protocol — it's been audited and battle-tested across millions of transactions. It's the same randomness source used by other high-stakes Solana programs. It's not something we built; it's something we depend on.

Is "provably fair" just a marketing term?

It is when projects use it to mean "we promise we're not cheating." It means something concrete when the randomness is on-chain, the program is locked, and the draw transaction is public. RugPot is the latter.

What if I don't understand the code?

That's fine. The key is that the code is there, it's public, and people who do understand it can verify it. You don't need to be a cryptographer — you just need to know that someone can check. And they will.

Live at rugpot.io · Solana mainnet

Play a fair game.

Provably fair draws. 95% to the winner. Every outcome on-chain and verifiable. No trust required.