RoyalBet Documentation
The complete guide to P2P Clash Royale betting on Solana via Telegram.
RoyalBet is a Telegram bot that lets you bet SOL on real Clash Royale 1v1 matches against other players. Battles are automatically detected via the official Clash Royale API, and winnings are paid out instantly on the Solana blockchain.
Core Sections
- Getting Started — Launch the bot and create your account
- Wallet Setup — Fund and manage your Solana wallet
- Clash Royale Setup — Link your CR account and invite link
- Joining the Lobby — Queue for P2P matches
- Duels — Challenge players directly
- Match System — How matches, escrow, and payouts work
- Profile & Stats — Track your performance
- Referral Program — Earn 5% from referred players
- Notifications — Configure your alerts
- Commands Reference — Full list of bot commands
- Fees & Economics — Platform fees and payouts
- Security — How your funds and data are protected
- FAQ — Frequently asked questions
Quick Start
Open RoyalBet on Telegram
Search for the bot and send /start. A Solana wallet is auto-generated for you.
Link your Clash Royale account
Send /link #YOURTAG to connect your CR player profile.
Fund your wallet & play
Deposit SOL, join the lobby with /queue <amount>, and start playing!
Getting Started
Launch the bot and create your RoyalBet account in under a minute.
Starting the Bot
Find RoyalBet on Telegram and send the /start command. The bot will automatically:
- Create your account with your Telegram username
- Generate a Solana wallet with a unique address and private key
- Create a referral code you can share with friends
- Display the main menu with all available actions
/start <referral_code>. You'll be linked to their account and they'll earn referral rewards from your matches.Main Menu
After /start, you'll see the main menu with these options:
| Button | Action |
|---|---|
| 💰 Wallet | View your wallet address, balance, export/import keys |
| 🎮 Play | Join the lobby, view lobby, or start a duel |
| 👑 Clash Royale | Link/unlink CR account, view CR profile, manage invite link |
| 👤 Profile | View your stats, match history, and earnings |
| 🔗 Referrals | Your referral link and invited players |
| 🔔 Notifications | Toggle notification preferences |
| ℹ️ Help | Full list of commands and how-to guide |
Setup Checklist
Before you can play, you need to complete two steps. The bot guides you through each one:
Link your Clash Royale account
Required for battle detection. See Clash Royale Setup.
Add your CR invite link
Required so opponents can join your game. See Clash Royale Setup.
Wallet Setup
Manage your Solana wallet, deposit funds, and export your private key.
Your Auto-Generated Wallet
When you first use /start, RoyalBet generates a Solana wallet for you. This wallet is used for all bets, payouts, and on-chain transactions.
Access your wallet from the main menu by clicking 💰 Wallet, or use the inline buttons to view:
- Wallet address — Your public Solana address (copy to deposit SOL)
- On-chain balance — Live balance fetched from the Solana blockchain
Depositing SOL
To fund your wallet, send SOL from any Solana wallet or exchange to your RoyalBet wallet address. The balance updates automatically.
Exporting Your Private Key
Use /privatekey to export your wallet's private key (base58-encoded). This lets you import your wallet into Phantom, Solflare, or any Solana wallet.
Importing a Wallet
If you already have a Solana wallet, you can import it:
/import <base58_private_key>
This replaces your current wallet with the imported one. Your previous wallet's private key remains valid — export it first if it contains funds.
Clash Royale Setup
Link your Clash Royale account and configure your invite link for matches.
Linking Your Account
RoyalBet needs your Clash Royale player tag to detect battle results. Link it with:
/link #YOUR_TAG
Example: /link #8QJLYR2G
The bot will verify your tag against the official Clash Royale API and display your player name, trophies, and clan.
Where to find your tag
- Open Clash Royale
- Tap your player name/avatar (top left)
- Your tag is displayed below your name (e.g.
#8QJLYR2G)
Setting Your Invite Link
For opponents to join your friendly battle, you need to provide a Clash Royale invite link:
/invite <your_cr_invite_url>
Invite links are valid for 12 hours and must be refreshed afterwards. The bot will warn you when your link is about to expire.
Viewing Your CR Profile
Use /crprofile or the 👑 Clash Royale menu to see your full CR stats: trophies, wins, losses, arena, clan, and card count.
Unlinking
To remove your Clash Royale link:
/unlink
Joining the Lobby
Queue for automatic matchmaking against opponents with the same bet amount.
How the Lobby Works
The lobby is a matchmaking queue. When you join with a bet amount, RoyalBet searches for another player who queued with the exact same amount. Once matched, both bets are locked in escrow and the match begins.
Bet Limits
| Limit | Value |
|---|---|
| Minimum bet | 0.1 SOL |
| Maximum bet | No limit |
You can choose from preset amounts (0.1, 0.5, 1, 2, 5 SOL) or enter a custom amount via the ✏️ Custom button.
Joining
/queue <amount_in_sol>
Example: /queue 0.1
This will:
- Lock your bet amount from your wallet into the escrow wallet
- Place you in the lobby
- Automatically match you when an opponent with the same bet joins
Viewing the Lobby
/lobby
Shows all players currently waiting in the lobby, their usernames, and bet amounts.
Leaving the Lobby
/cancel
Removes you from the lobby and refunds your bet on-chain.
Matchmaking
The bot runs matchmaking every 3 seconds. It pairs players with identical bet amounts in FIFO order (first in, first matched). Once matched, both players receive a notification with their opponent's info and invite links.
Duels
Challenge a specific player to a 1v1 bet.
Starting a Duel
Instead of waiting in the lobby, you can directly challenge another player:
/duel @username <amount_in_sol>
Example: /duel @player123 0.5
This sends the challenged player a notification. They can accept or decline the duel.
Accepting a Duel
When challenged, you'll receive a message with the bet amount and two buttons:
- Accept — Locks your bet in escrow and starts the match
- Decline — Rejects the duel, challenger is refunded
Cancelling
Only the challenger can cancel a pending duel with /cancel. Their bet is refunded on-chain.
Match System
How matches work from creation to payout.
Match Lifecycle
Pending Invite
Match is created. Both players receive invite links. At least one player must click an invite to confirm. 10 minutes to confirm.
Active
Once confirmed, the match is active. Players have 30 minutes to play a friendly 1v1 in Clash Royale.
Battle Detection
The bot polls the Clash Royale API every 15 seconds, looking for a battle between the two players.
Validation & Payout
The battle is validated (1v1 format, correct tags, friendly mode). The winner receives the pot minus the 3% platform fee, paid on-chain in a single transaction.
Escrow System
When a match is created, both players' bets are transferred to the manager/escrow wallet. This wallet holds funds until the match concludes:
- Winner — Receives the full pot minus fee
- Loser — Bet is lost
- Timeout/Cancel — Both players are refunded
Draw Handling
If a battle ends in a true draw (equal crowns, equal trophy change), neither player wins. The bot notifies both players to play again to break the tie. The match remains active.
Timeouts
| Phase | Timeout | Result |
|---|---|---|
| Invite confirmation | 10 minutes | Both refunded |
| Active match | 30 minutes | Both refunded |
Forfeiting
Use /forfeit during an active match to surrender. You'll be asked to confirm. Your bet goes to the opponent.
Profile & Stats
Track your wins, losses, earnings, and match history.
Your Profile
Use /profile or the 👤 Profile menu to view:
- Username and wallet address (truncated)
- Total matches played
- Wins / Losses and winrate percentage
- Total SOL earned from matches
Detailed Stats
/stats
Shows an extended breakdown of your performance with additional metrics.
Match History
/history
Shows your last 10 completed matches with opponent name, bet amount, result, and crown scores.
Referral Program
Earn RB Points by inviting players to RoyalBet.
How It Works
- Get your referral link with
/referralsor the 🔗 Referrals menu - Share the link:
https://t.me/YourBot?start=YOUR_CODE - When someone starts the bot via your link, they become a pending referral
- Once they hold ≥ 0.1 SOL and play 1 game, they become validated and you earn 10 RB
Validation Criteria
| Condition | Requirement |
|---|---|
| Minimum balance | ≥ 0.1 SOL |
| Games played | ≥ 1 match (win or loss) |
| Reward | +10 RB Points to referrer |
| Timing | Awarded automatically when both conditions are met |
Referral Dashboard
The /referrals command shows:
- Your unique referral link
- Your total RB Points
- Valid referrals — confirmed and rewarded
- Pending referrals — waiting for validation criteria
Notifications
Control which alerts you receive from RoyalBet.
Notification Settings
Access via /notifications or the 🔔 Notifications menu. Toggle each category on or off:
| Notification | Default | Description |
|---|---|---|
| Match Found | ✅ On | Alert when you're matched with an opponent |
| Duel Received | ✅ On | Alert when someone challenges you |
| Match Finished | ✅ On | Result notification (win/loss/draw) |
| Earnings | ✅ On | Payout confirmations |
| Referral Joined | ✅ On | When someone joins via your referral link |
Commands Reference
Complete list of all RoyalBet bot commands.
General
| Command | Description |
|---|---|
/start | Open main menu, create account if first time |
/current | View your current status (lobby, match, duel) |
/cancel | Leave lobby, cancel duel, or cancel pending match |
/forfeit | Surrender an active match (bet is lost) |
Wallet
| Command | Description |
|---|---|
/privatekey | Export your wallet's private key |
/import <key> | Import a wallet from a base58 private key |
Clash Royale
| Command | Description |
|---|---|
/link #TAG | Link your Clash Royale player tag |
/unlink | Remove your linked CR account |
/crprofile | View your full Clash Royale stats |
/invite <url> | Set your CR invite link (valid 12h) |
Playing
| Command | Description |
|---|---|
/queue <SOL> | Join the lobby with a bet amount |
/lobby | View players currently in the lobby |
/duel @user <SOL> | Challenge a player to a direct duel |
Profile
| Command | Description |
|---|---|
/profile | View your profile and basic stats |
/stats | Detailed performance statistics |
/history | Last 10 match results |
/referrals | Your referral link and invited players |
/notifications | Toggle notification preferences |
Fees & Economics
Platform fees, payout calculations, and transaction costs.
Platform Fee
RoyalBet charges a 3% fee on the total match pot (both bets combined).
Payout Example
| Item | Amount |
|---|---|
| Player A bets | 0.1 SOL |
| Player B bets | 0.1 SOL |
| Total pot | 0.2 SOL |
| Platform fee (3%) | -0.006 SOL |
| Winner receives | 0.194 SOL |
| Net profit for winner | +0.094 SOL |
RB Points
Both players earn RB Points after each match based on the bet amount:
| Bet Amount | Winner (x2) | Loser (x1) |
|---|---|---|
| 0.1 SOL | +20 RB | +10 RB |
| 0.5 SOL | +100 RB | +50 RB |
| 1 SOL | +200 RB | +100 RB |
| 5 SOL | +1000 RB | +500 RB |
Formula: base = bet × 100 — winner gets x2, loser gets x1.
Referral Reward
Referrers earn 10 RB Points per valid referral. A referral is validated when they hold ≥ 0.1 SOL and play at least 1 game. There is no SOL commission — the full 3% fee goes to the treasury.
Transaction Fees
Solana network fees are approximately 0.000005 SOL (~$0.00025) per transaction. RoyalBet batches multiple transfers (payout + referral + treasury) into a single transaction to minimize costs.
Treasury
Platform fees are sent to the RoyalBet treasury wallet. The treasury address is public and all transactions are verifiable on Solana Explorer.
Contracts
On-chain wallet addresses and fund flow architecture.
Wallet Addresses
| Role | Address | Description |
|---|---|---|
| MANAGER | FKb3qBvS84unKRxiCQr2Jm1J3JSnUZbik9ddAXqagAfF |
Escrow wallet — holds all active bets during matches |
| TREASURY | MoEcUAUh3zC8gGMh2wiRJx3ShbAoHqpxLKeGfJ1KFcm |
Receives the 3% platform fee from each match |
Fund Flow
The diagram below illustrates how SOL flows through the system during a match.
How It Works
- Matchmaking — Two players queue with the same bet amount.
- Escrow Lock — Both players' bets are sent to the MANAGER wallet on-chain.
- Game Run — Players fight a friendly 1v1 in Clash Royale. The bot detects the result automatically.
- Payout — The winner receives the pot minus the 3% fee. The fee is sent to TREASURY.
- Abort — If the match is cancelled or times out, both players are refunded from the MANAGER wallet.
Security
How RoyalBet protects your funds, data, and fair play.
On-Chain Escrow
All bets are locked in a dedicated escrow wallet before any match begins. Funds are only released when:
- A valid battle result is detected (winner gets payout)
- The match times out (both players refunded)
- A player cancels before the match starts (both refunded)
Battle Verification
RoyalBet validates every battle through the official Clash Royale API with multiple checks:
| Check | Rejects If |
|---|---|
| 1v1 format | Battle is 2v2 or other format |
| Player tags | Players in battle don't match the match participants |
| Game mode | Battle is a ladder/ranked game (must be friendly) |
| Timing | Battle occurred before the match was created |
Self-Custody
You control your private key at all times. RoyalBet stores your encrypted key to sign escrow transactions, but you can:
- Export your key with
/privatekey - Import your own wallet with
/import - Withdraw anytime by sending SOL from your wallet to an external address
Automatic Refunds
If no battle is detected within the timeout period, funds are automatically refunded to both players on-chain. No manual intervention needed.
FAQ
Frequently asked questions about RoyalBet.
What happens if the battle is a draw?
Both players are notified and asked to play again. The match stays active until a winner is determined or the 30-minute timeout is reached (both refunded).
Can I bet any amount of SOL?
The minimum bet is 0.1 SOL with no maximum limit. You can pick a preset amount or enter a custom amount. Matchmaking requires an exact amount match — another player must queue with the same bet.
What if my opponent doesn't play?
If no battle is detected within 30 minutes, the match expires and both players are automatically refunded on-chain.
Can I play ladder matches for bets?
No. RoyalBet only accepts friendly battles. Ladder, ranked, and challenge modes are rejected by the anti-cheat validation.
How fast are payouts?
Payouts are sent immediately after the battle is detected and validated. Solana transactions confirm in ~400ms.
What if the bot goes offline during my match?
Your funds are safe in the escrow wallet. When the bot restarts, it resumes monitoring active matches and will process any pending results.
Can I use my own Solana wallet?
Yes! Use /import <private_key> to import any Solana wallet. You can also export your auto-generated wallet with /privatekey.
How does the referral program work?
Share your referral link from /referrals. When someone joins via your link, they become a pending referral. Once they hold ≥ 0.1 SOL and play 1 game, you earn 10 RB Points.
What are RB Points?
RB Points are earned by playing matches and referring players. Both winners and losers earn RB based on bet amount (winner gets x2). They are displayed in your profile and referral dashboard.
Is my private key safe?
Your private key is stored locally in the bot's database to sign escrow transactions. We recommend exporting it and keeping a backup. RoyalBet staff will never ask for your key.
What Solana network is used?
Solana Mainnet. All transactions are real and verifiable on any Solana explorer.
Changelog
Version history and patch notes.
v0.6 Latest
February 19, 2025 — 2 Updates • 1 Fix • 1 New Feature
Bet / Lobby Matchmaking Update
- Minimum bet: 0.1 SOL
- Maximum bet: no limit
- New preset buttons: 0.1, 0.5, 1, 2, 5 SOL
- New Custom button for any amount
Gas Griefing Protection Fix
- Rate limit on
/cancel: max 20 cancellations per 30 minutes - Prevents abuse of on-chain refund transactions
RB Points System New
- Earn RB Points after every match:
base = bet × 100 - Winner earns x2 RB, loser earns x1 RB
- Example: 0.1 SOL bet → winner +20 RB, loser +10 RB
- RB Points displayed in profile and match results
- Earn +10 RB per valid referral
Referral System Update
- Referral validation: user must hold ≥ 0.1 SOL and play 1 game
- Valid referrals award 10 RB Points to the referrer
- Dashboard shows validated vs pending referrals
- Removed: 5% SOL commission (replaced by RB Points)
Contracts
| Wallet | Address | Status |
|---|---|---|
| MANAGER | FKb3qBvS84unKRxiCQr2Jm1J3JSnUZbik9ddAXqagAfF | No change |
| TREASURY | MoEcUAUh3zC8gGMh2wiRJx3ShbAoHqpxLKeGfJ1KFcm | No change |
