Free · Public · Cryptographically verified

Pick a winner.
Prove it publicly.

Results are permanently stored on a tamper-proof ledger and verified by the drand randomness beacon. Anyone can recompute the exact winner — no trust required.

How the cryptography works →

Contestants
Columns Up to 3 columns on Free

First column is the draw identity. Import a CSV to auto-detect headers. Separate values with commas in the list below.

0 entries
📻 Radio & show details (optional · backup winners)
Shown on the proof page. Backups are drawn in order after the main prizes, in the same verifiable draw. Radio guide →
Permanent · public · verified by drand beacon
Product

Everything included

Run draws here or in your dashboard — then share hosted certificates, embed widgets, and branded layouts.

⚡
API & MCP
Run instant draws from your app, script, or AI assistant (Claude, Cursor) — same verification as the browser picker.
📄
Hosted pages
Every draw gets a permanent certificate with full verification inputs. Optional bio link pages on paid plans.
🧩
Embed widgets
Compact winner pill widgets for your site — Verified badge, auto-resize, link to full proof. Embed docs →
🎨
Layouts & customize
Classic and branded presets in the dashboard. Tune colors, profile links, section order, and custom CSS.
✨
AI assistant
Describe the winner page you want — colors, logo, tone — and apply styling from natural language (paid plans).
📊
Draw stats
Track verified draws, winners, and entrants. Reopen any draw for certificate links and embed code.
How it works

Cryptographic proof, not promises

Every draw produces a public, immutable certificate that anyone can independently verify.

🔒
Commit–reveal scheme
A server seed hash is published before entries close. The seed is only revealed after the draw — so no one, including us, could have rigged it.
🎲
drand public randomness
The draw uses a future round of the drand randomness beacon — a distributed network nobody controls. Unpredictable and independently verifiable.
🔍
Anyone can verify
Every winner certificate shows the full inputs. Hit "Verify" to recompute the result in your own browser using SHA-256 — no downloads, no trust.
Stack pricing

Contests · RFWIN · RankFuel

One Rewards Fuel subscription — same plans on rewardsfuel.com and rnkfl.com. Every tier includes all three products.

Get two months free when you pay annually (10 months billed for 12 months of service).

Free
$0/mo
Try contests, verified draws, and leaderboards together.

  • Contests: core entry methods · unlimited contests
  • RFWIN: unlimited draws · up to 10,000 entries/draw · public proof page (RFWIN branding) · entry lists archived after 12 months
  • RankFuel: 3 leaderboards · 10k writes/mo · public proofs
Start now
Promoter
$16.63/mo
Geo targeting, analytics, and scale across the stack.

  • Contests: 19 entry methods · country geo blocking
  • RFWIN: draws over 10,000 entries · bio links · no RFWIN branding
  • RankFuel: 25 leaderboards · 500k writes/mo · MCP
Get started
Promoter Pro
$24.96/mo
Full automation — contests, winner picks, and settlement rails.

  • Contests: all methods · auto winner pick · scheduled draws
  • RFWIN: auto pick & email · scheduled drawings · white label
  • RankFuel: unlimited boards · 2M writes/mo · RF + RFWIN rails
Get started

Same plans on rewardsfuel.com and rnkfl.com. Upgrade or cancel anytime.

AI-ready proof

Ask your AI who won

Entrants can paste the proof link into ChatGPT, Claude, Gemini, Perplexity or Grok and ask who won and whether it was fair. RFWIN pages are built for AI assistants to read and check.

Proof page

The answer is in the page

Every proof link carries the draw, date, entry count, masked winners, backup winners and a fresh fairness verdict, in plain text and structured data, plus a JSON record at /d/<id>.json.

Free tool

verify_draw

On the public MCP server (and GET /api/draws/<id>/verify): recomputes the seed commitment, entry-list hash, drand beacon round and every winner, and says what the check does and doesn't prove.

Questions

Can listeners check the result with ChatGPT, Claude or another AI assistant?
Yes. Every RFWIN proof page states the draw, the date, the number of entries, the winners (masked for privacy) and the result of a fresh fairness check in the page itself, and links a machine-readable record. Paste the proof link into an AI assistant that can open links, such as ChatGPT, Claude, Gemini, Perplexity or Grok, and ask who won and whether the draw was fair. Assistants that use MCP can also call the free verify_draw tool, which recomputes the seed commitment, entry-list hash, drand beacon round and every winner.

Can I keep a draw out of search?
Yes. Tick Private draw (unlisted) before you draw (or send visibility: "private" to the API or draw_winners). Anyone with the link can still open the proof page, ask their AI about it and verify it; it's just marked noindex and never listed. Draws are public by default, and you can switch later from the proof page in the browser you drew from.

What does the AI fairness check actually prove?
That the published winners follow exactly from the published inputs: a server seed committed by hash, a public drand randomness round and the hash of the entry list. Change any of them and the check fails, so no one could have hand-picked the winner. It doesn't prove who was eligible or that every valid entry was included; that's down to the contest rules and the organiser.

Developer Integration

Use RFWIN from Claude or Cursor

Run verifiable draws directly inside your AI assistant. No copy-paste, no browser tabs.

MCP Tool

draw_winners

Pass a list of entrants and prizes (plus optional backup winners, station/show name, and visibility: "private" to keep the proof page out of search). RFWIN runs the draw in one step, commits to drand randomness, and returns the winners and a public proof link. Free, no sign-in, on the public MCP server.

MCP Tool

GET /api/draws/:id

Retrieve the full verification bundle for any draw ID — winners, entrant hashes, drand round, draw digest, and server seed — for auditing or display. Public REST, no key.

Connect in 30 seconds

Add the Rewards Fuel MCP server to Claude Desktop, Cursor, or any MCP-compatible client. draw_winners is free on the public server (no sign-in; free tier: up to 10,000 entries per draw). Paid plans use the authenticated server at /api/mcp for every Rewards Fuel tool and larger draws.

Claude Desktop — claude_desktop_config.json
// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "rewards-fuel": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://app.rewardsfuel.com/api/mcp/public"]
    }
  }
}
Available draw tools
  • draw_winners Run a complete draw in one call (MCP, free).
    title contestants[] prizes[] algorithm? uniqueWinners? alternates? station? show? visibility? → returns drawId + verification URL
  • get_draw Who won an RFWIN draw (MCP, free).
    draw (proof link or id) → returns title, station/show, date, entry count, masked winners + backups, verdict
  • verify_draw Was it fair (MCP, free; REST GET /api/draws/:id/verify).
    draw (proof link or id) → recomputes commitment, entry hash, drand round, digest and every winner
  • GET /api/draws/:id Fetch results and full proof chain for any draw (REST, public).
    drawId → returns winners, entrants, drand values, server seed
Example prompts
Pick 3 winners from my contest — here are 200 email addresses: …
Run a weighted draw where premium members get 3 tickets each
Draw 2 concert-ticket winners plus 2 backups from these callers, for WXYZ Morning Drive: …
Who won this giveaway, and was it fair? https://rfwin.uk/d/…

Full technical details: commit-reveal, drand, REST API, MCP spec →