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. Passdrawas 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. Passcontestantsandprizes, optionallytitle,alternates(backup winners),station,showandvisibility. Returns the winners, averificationUrland a one-timemanageToken.
{ "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>/verifyreturnsverdict,fair,summary, the list ofchecks,limits, masked winners and ananswerGuide.POST https://rfwin.uk/api/draws/instantcreates, 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
| Verdict | Meaning |
|---|---|
verified | Every check recomputes; the winner could not have been hand-picked |
verified_hash_level | A free draw whose entrant list was archived after 12 months; all hashes still recompute |
partially_verified | The drand network was unreachable for the cross-check; the hashes are fine |
mismatch | A check failed; the draw could not be verified |
not_drawn_yet | The 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.