Dashboard and projects
The dashboard is where you set up and run your projects. It lives at https://api.rolink.tech/dashboard. Nothing in it needs code: your game only ever needs the API key you copy from it.
Sign in
Section titled “Sign in”You sign in to the dashboard with a Solana wallet:
- Open the dashboard. It lists the wallets it detects in your browser: Phantom, Solflare, Backpack or any other Wallet Standard wallet that can sign messages.
- Choose your wallet and connect it.
- Approve the message it shows: “Sign in to the Rolink dashboard. Signing is free and does not send a transaction.” Its first line names the Rolink API’s domain, so wallets that understand Sign-In With Solana can warn you when it doesn’t match the site asking.
Approve it within 10 minutes, or choose the wallet again. Signing in brings you back to the page you asked for.
Your wallet address is your Rolink account: there’s no password or email, and the wallet needs no funds. The first time a wallet signs in, Rolink creates its account. Your projects belong to that account, so sign in with the same wallet each time.
A dashboard session lasts 12 hours. Sign out, in the top bar, ends it on that browser.
Projects
Section titled “Projects”A project is one Roblox experience. Each project has its own API keys, linking page, managed wallet, transaction policy, live event settings, watched addresses and quotas. Projects never share data. Only you can see or change your projects.
The Projects page lists them, with each project’s cluster and whether its wallet and live events are set up. The project switcher in the top bar moves between them.
Create a project
Section titled “Create a project”Fill in the New project form:
| Field | What to enter |
|---|---|
| Project name | 2 to 48 characters. Players see it on the linking page and in the message their wallet asks them to sign. You can rename the project later. |
| Solana cluster | Devnet uses test SOL and is the place to start. Mainnet moves real funds. The cluster can’t be changed later. |
Rolink derives a slug from the name, such as my-roblox-game, and adds a short suffix if that slug is taken. The slug never changes, even if you rename the project, so your linking page keeps its address:
https://api.rolink.tech/link/<project-slug>During the beta, you can have up to 5 projects.
Overview
Section titled “Overview”A project opens on its Overview:
- Setup checklist. Create an API key, set up Roblox sign-in, call the API from a server, create the managed wallet, turn on live events. It disappears once every step is done.
- Linked players, plus requests today and transactions today against their beta limits: 100,000 requests per day and 600 per minute, and 1,000 transactions per 24 hours.
- Usage. API requests per day over the last 14 days (UTC), with the daily numbers in a table. Counts update every few seconds.
- Managed wallet. Create the wallet here, then see its address, its SOL balance and its cluster, with a link to Solana Explorer.
- Linking page. The URL to send players to, with a button to open it.
- Quick start. A server script with your project’s linking page URL and, if you changed it, your event topic. Copy it into
ServerScriptServiceonce the SDK and the Secret are in place.
The managed wallet
Section titled “The managed wallet”Transactions from your game are signed by a Solana wallet dedicated to the project. Choose Create wallet on the Overview to make it. Each project has one wallet.
The wallet is created in Turnkey. Its private key is generated and kept inside Turnkey’s secure enclaves, and Rolink only stores the wallet’s ID and public address. When your game requests a transaction, Rolink checks it against your policy, asks Turnkey to sign, and verifies the signature before it sends.
Fund the address with SOL for network fees, for SOL transfers, and for the token accounts Rolink creates for recipients who don’t have one yet. Send it the tokens your game transfers too. To mint a token, make the wallet the mint’s authority. Until the wallet exists, transaction calls fail with wallet_not_configured.
API keys
Section titled “API keys”Game servers send an API key in the x-api-key header, and the SDK does this for you. Keys look like rlk_live_ followed by 43 characters.
- Create a key with a name such as “Studio” or “Live servers”. Use one key per environment, so you can rotate one without touching the other.
- Copy it right away. The full key is shown once, with the steps to store it as the
rolink_api_keyRoblox Secret. Rolink keeps only a SHA-256 hash and the first 16 characters, so it can’t show the key again. If you lose it, create another and revoke the lost one. - The list shows each key’s name, first characters, creation time, last use and status.
- Revoke a key you no longer use or think has leaked. Game servers that still send it are refused within 30 seconds. Revoking can’t be undone.
A project can have up to 10 active keys. Set up Roblox explains how to store and rotate them.
Players
Section titled “Players”Players lists everyone who linked a wallet to this project: their Roblox username (linked to their profile), user ID, wallet address (linked to Solana Explorer) and link time, newest first, 25 per page. Search by username, user ID or wallet address.
Links belong to the project, and a wallet belongs to one player at a time in it. Players link and unlink themselves on the linking page. See Link wallets.
Transactions
Section titled “Transactions”Transactions holds the transaction policy and the latest requests.
The policy is checked before the managed wallet signs anything:
| Setting | What it does |
|---|---|
| Max SOL per transfer | The largest SOL amount one transfer may send. Leave it empty to turn SOL transfers off. That’s the default. |
| Allowed mints | The only SPL tokens your game can transfer or mint, each with a maximum per transaction, in tokens rather than base units. Up to 20 mints. |
| Per recipient wallet | The most transactions to one wallet in an hour. 20 by default. |
| Per player | The most transactions to one player, by user ID, in an hour. 20 by default. |
| Hourly budgets | Optional. The most of one asset (SOL or an allowed mint) sent or minted in any rolling hour, across all recipients. |
Rolink checks each mint on your project’s cluster when you save, and refuses limits with more decimals than the mint has. A saved policy applies to the next request.
Recent transactions lists the latest requests, newest first: time, type and idempotency key, recipient, amount, status (with the error for a failed one) and signature. SOL amounts are shown in SOL, and token amounts in base units.
Send transactions covers sending from your game, idempotency keys and statuses.
Watched addresses
Section titled “Watched addresses”Watched addresses lists the Solana addresses Rolink polls for you, such as a treasury or a shop wallet. Each new transaction that touches one is sent to your servers as a watch event, and the SDK fires ChainActivity.
Give each address a name of up to 32 lowercase letters, digits, - and _, starting with a letter or digit. Your game receives the name with each event. A project can watch up to 10 addresses. Activity from before you add an address isn’t replayed. Watch events need live events to be on. See Watch addresses.
Settings
Section titled “Settings”Settings has six parts:
- Project name. Rename the project. The slug and the linking page address stay the same.
- Roblox sign-in. Your game’s own Roblox OAuth app, which players sign in through on your linking page. The card shows the redirect URL to register on the app, with a copy button, and takes the app’s client ID and client secret. The secret is stored encrypted with AES-256-GCM and never shown again. Leave the field empty to keep the saved secret, or tick Remove the saved secret to delete it. Players can sign in once both values are saved. See Set up Roblox sign-in.
- Live events. Your experience’s universe ID, an Open Cloud API key with the
universe-messaging-service:publishpermission, and the event topic,rolinkby default. The key is stored encrypted with AES-256-GCM and never shown again. Leave the field empty to keep the saved key, or tick Remove the saved key to delete it. Changes apply to new events right away. - Send a test event. Publishes a
pingmessage with the saved settings and shows whether Roblox accepted it. When Roblox refuses it, you see its HTTP status and a hint. - Project details. The project ID, slug, linking page, cluster and creation date.
- Delete project. See below.
Live events walks through the Open Cloud setup.
Delete a project
Section titled “Delete a project”To delete a project, type its slug in Delete project and confirm. Deleting:
- revokes every API key right away, so your servers’ requests are refused;
- takes the linking page offline;
- erases the saved Open Cloud key and Roblox client secret;
- stops watched addresses;
- frees a place in your beta project limit.
Rolink keeps the project’s wallet links and transaction records for audit. A deleted project can’t be restored from the dashboard, and its slug isn’t reused.
