TGRGB Raffles — raffles and giveaways for your Telegram group

For group hosts and community managers

Run a paid raffle in your Telegram group without chasing anyone for money.

Post one banner, set the seats and the prize tiers, and let the bot hold each number while the payment clears. Every draw is commit-and-reveal, so anyone in the group can re-check the winner list with nothing but a hash and your published numbers.

  • Money goes to your own account, never ours
  • Seats reserved while payment clears
  • Winner list recomputable by any entrant

Holiday headphone raffle

Entry
$10 · 200 seats
Close
Fri 9 Nov, 11:59 PM
Prizes
1st: Sony WH-1000XM5 · 2nd–3rd: earbuds
Commitment
3f9c…e1a4 (published now)

Pay by Venmo, Cash App, PayPal, Zelle or USDC — in a DM to the bot.

Illustrative. The commitment hash on a real post is the one the draw is held to.

What you actually do

Everything a host needs, nothing a host has to babysit

Built around the tasks in a real raffle: post it, hold seats, take payment, review, draw, announce.

One banner post, then the bot does the rest

Publish a raffle from the bot's admin menu in your group. The card carries the prize tiers, the closing time, the seat count and the commitment hash. The entry button lives on the post, so nobody has to scroll for a link.

Seats are held while payment clears

Number 042 is reserved for the person choosing it, for as long as the hold you configured lasts. If the payment never arrives the number goes back on sale by itself, and two people cannot end up on the same ticket.

Take Venmo, Cash App, PayPal, Zelle or stablecoins

Each payment profile is a bundle of the rails your members actually use, with the handle, the deep link and the reference code they must quote. USDC on Solana or Ethereum and USDT on Tron get a QR code of the receiving address generated on our server, not by a third-party QR site.

Prize tiers that match what you are giving away

First, second, third, or eleven identical prizes. The draw goes tier by tier and one account can win at most one tier per raffle, so a three-tier prize pool cannot be swept by a single person.

A draw anyone in the group can check

We publish the commitment before entries open, the entry-list hash when they close, and the seed when the draw runs. The verification page recomputes the winners instead of displaying ours, and gives you the commands to reproduce it with openssl.

Payments stay between you and the entrant

Entrants pay you in a DM to the bot. Handles, transaction references and screenshots never appear in the group, and the counters members see are counts, not names.

Admin menus other members cannot see

The controls live in the bot's private menu and in the operator dashboard, so a raffle cannot be cancelled by whoever noticed the button. Staff rights are per-group and separate from being a Telegram admin.

Giveaways, for the free ones

No seats, no money, no price. Free entry lists with optional caps, the same commitment and the same verifiable draw.

How the draw works

Three published numbers, and a winner list you can recompute

Not a promise to be honest — a mechanism that makes dishonesty visible. It does not remove the host's power to cancel, and we say that out loud below.

1 · We promise a number

Before entries open, the post carries SHA-256 of a secret seed plus the closing time, price and seat count.

2 · We freeze the list

When entries close, the eligible list is published as a canonical string and its hash — so the pool is visible before the seed is.

3 · We show the working

The verification page recomputes every winner index from the revealed seed and the pick log, and prints the openssl commands to repeat it.

Verify a draw yourself → The whole scheme, limits included

Provably fair

The winner list is not our answer. It is yours to recompute.

Commit before entries open, freeze and hash the list when they close, reveal the seed at the draw, publish the pick-by-pick log.

Before entries open

A SHA-256 commitment is published on the post. It binds the server seed and the parameters named in it — the code, the declared closing time, the price and the seat count — so those cannot be quietly changed afterwards.

When entries close

The eligible list is frozen and its canonical hash is published, so the exact set of entries the draw will use is visible before the seed is revealed. This is a second, separate publication — not part of the commitment.

At the draw

The seed is revealed, the pick-by-pick log is published, and every winner index can be recomputed from the hash — with or without our software.

What that does not prove

  • The commitment binds the seed and the deadline printed on the post. The moment the pool is frozen is a separate published hash, not part of the commitment.
  • A commitment cannot stop a host from closing early or cancelling before the reveal. What constrains that is automatic closing at the published time, the visible snapshot hash, an early close that demands a recorded reason, and a re-draw that is always a new record.
  • Entrant contributions are assigned by the bot at entry time, not typed by the entrant.
  • Re-running a draw creates a second draw row. The old winner list is never edited, so “why was my number taken” has an answer with a timestamp.
  • Payment review on Venmo, Cash App, PayPal and Zelle is a human decision, because those rails expose no API to check a payment against. We do not call that automated.

Read the whole scheme

Pricing

Pay for the bot. Your entrants pay you, not us.

A 30-day pass for a one-off event, or a subscription while the group keeps asking for raffles.

Sign up

Three steps, and none of them is "install something"

  1. Open the bot

    Press start on the bot and sign in with the same Telegram account. No email, no password, no card yet.

  2. Add it to your group and run your first raffle

    Promote the bot to admin so it can post and edit the banner, then run “New raffle” in the group: title, banner, price, seats, prize tiers, closing time. Nothing exists until you publish it — there is no half-saved raffle sitting on a server, and the web dashboard never creates one behind your back.

  3. Choose a plan and pay

    A 30-day pass if you are running one event, monthly if the group is a habit. Payment is by card through Stripe and only covers our fee — entrant money keeps going straight to your own Venmo, bank or wallet.

Were you invited to a giveaway or a raffle?

You do not need an account, and you do not need to trust the host's word. Paste the code from the post and see the entry list, the published commitment and the recomputed winner draw.

Questions

The awkward ones, answered

Can other group members see what an entrant paid, or how?

No. Payment details are exchanged in a private message to the bot between that entrant and you. The group sees the banner and the running count of paid seats, never a name attached to a payment, a Venmo handle, a transaction reference or a screenshot.

Do you hold my entrants' money?

No, and that is deliberate. Entrants pay you directly through your own Venmo, Cash App, PayPal, Zelle, bank or crypto address. The only money that touches us is your subscription or day pass, charged by Stripe. We cannot refund an entrant because we never received it — which is also why a raffle you cancel means you refund the entrants yourself.

What happens if a raffle is cancelled?

Sales stop, held seats are released, and the draw does not run. Everything is recorded: the status, who cancelled it, when, and the reason. Entrants who had already paid are shown to you with their reference codes so you can send that money back — we do not take a cut of it, so we cannot hand it back for you.

Is the draw actually checkable, or is that marketing?

Check it. The public verification page for every finished raffle recomputes the winner list from the published commitment, entry-list hash, entrant contributions and revealed seed, and shows PASS or FAIL for each stage. It does not read our answer. The same page prints the commands you can run yourself with openssl. There is a live example at /verify/demo.

Could you or the host rig it anyway?

Here is the honest limit. The commitment stops a seed from being changed after the entries are in: the hash is published before anyone joins, and the revealed seed has to match it. It does not stop a host from closing early or cancelling before the reveal, and we cannot cryptographically force a draw to happen. What reduces that risk is automatic closing at the published time, the entry-list hash everyone can see first, and the audit trail that keeps a re-draw as a new record rather than an edit. If a host cancels a raffle that was about to pay out, that shows up in their history.

All questions