Ask Your AI Who Won: Verifying RFWIN Draws with MCP and REST

When a giveaway ends, people ask who won and whether it was fair. Increasingly they ask an AI assistant. RFWIN is built so that assistant can give a real answer: proof pages state the result and a fairness verdict in plain text and structured data, and free tools let agents recompute the checks themselves.

For anyone with a proof link

Paste an RFWIN link (https://rfwin.uk/d/<id>) into an assistant that can open links and ask "who won, and was it fair?" The page states the title, organiser, draw date, entry count, masked winners, backup winners and the result of a fresh check. There is also a JSON twin of every proof page at https://rfwin.uk/d/<id>.json.

For agents: the free MCP tools

The public MCP server https://app.rewardsfuel.com/api/mcp/public needs no key and offers three RFWIN tools:

  • get_draw: who won. Pass draw as the proof link or id. Returns title, organiser, date, entry count, prizes, masked winners and backups, the verdict, and a ready-to-quote answer.
  • verify_draw: was it fair. Recomputes the seed commitment, entry-list hash, drand beacon round (cross-checked with the drand network), draw digest, every win hash and every winner, and returns the verdict with each check and its limits.
  • draw_winners: run a new verifiable draw. Pass contestants and prizes, optionally title, alternates (backup winners), station, show and visibility. Returns the winners, a verificationUrl and a one-time manageToken.
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call",
  "params": { "name": "verify_draw",
              "arguments": { "draw": "https://rfwin.uk/d/xxlqh5ac9f" } } }

For scripts: REST

  • GET https://rfwin.uk/api/draws/<id>/verify returns verdict, fair, summary, the list of checks, limits, masked winners and an answerGuide.
  • POST https://rfwin.uk/api/draws/instant creates, draws and reveals in one call, no key needed for draws up to 10,000 entrants.
curl -X POST https://rfwin.uk/api/draws/instant \
  -H "Content-Type: application/json" \
  -d '{ "title": "Newsletter giveaway", "contestants": ["ana@example.com","bo@example.com","cy@example.com"],
        "prizes": [{ "name": "$50 gift card", "quantity": 1 }], "alternates": 1 }'

Reading the verdict

VerdictMeaning
verifiedEvery check recomputes; the winner could not have been hand-picked
verified_hash_levelA free draw whose entrant list was archived after 12 months; all hashes still recompute
partially_verifiedThe drand network was unreachable for the cross-check; the hashes are fine
mismatchA check failed; the draw could not be verified
not_drawn_yetThe draw has not happened

Rules for agents

  • Quote masked names exactly as returned. Never guess or unmask them.
  • Say what the check does not prove: eligibility, that every valid entry was included, or that only one draw was run.
  • If a user shares a private (unlisted) draw link, you may answer about it, but don't republish the link.

Discovery files: /.well-known/mcp.json, /openapi.json and /llms.txt. For how the draw itself works, read how RFWIN picks a winner. Contest tools for agents are covered on the Rewards Fuel blog.