Skip to content

Introduction

Rolink connects Roblox game servers to Solana. You sign in to the dashboard with a Solana wallet, create a project for your game, connect your game’s Roblox OAuth app, and copy an API key. Your game calls the hosted Rolink API through a Luau SDK. There is no server to run.

local HttpService = game:GetService("HttpService")
local Rolink = require(game:GetService("ServerScriptService").Rolink)
local rolink = Rolink.new({
apiKey = HttpService:GetSecret("rolink_api_key"),
})
local address = rolink:GetWallet(player.UserId) -- nil until the player links a wallet
if address then
print(rolink:GetTokenBalance(address, MY_MINT)) -- "12.5"
end

Rolink is for Roblox developers whose experience needs to know about Solana. Typical uses are showing a player’s balance, checking whether they hold an NFT from a collection, or sending tokens from a wallet your game controls.

You need to be comfortable writing server-side Luau. Everything else, from the linking page to the signing wallet, runs on Rolink.

  1. Create a project in the dashboard, one per Roblox experience. You sign in with a Solana wallet, and pick devnet or mainnet when you create the project.
  2. Add your Roblox OAuth app. Create one for your game in Creator Dashboard and save its client ID and secret in the project’s settings, so players can sign in with Roblox on your linking page.
  3. Copy an API key and store it as a Roblox Secret named rolink_api_key.
  4. Add the Luau SDK to ServerScriptService and call it from your server scripts.
  5. Send players to your linking page. Each project gets a hosted page at /link/<project-slug> on the Rolink API, where players connect a wallet to their Roblox account.

The Quickstart walks through each step.

Wallet linking

Players sign in with Roblox on your game’s hosted linking page, then prove they own a wallet by signing a free message. Linking sends no transaction. Your game calls GetWallet(userId).

Linking guide

On-chain reads

Read SOL balances and SPL or Token-2022 balances. NFT and collection ownership come from the DAS API. Rolink caches balance and asset reads for a few seconds.

Reading guide

Live events

Wallet links and unlinks, transaction results and activity on watched addresses reach every live server through Open Cloud MessagingService, using your experience’s own Open Cloud key.

Events guide

Managed wallet

Send SOL, send SPL tokens or mint tokens from your project’s wallet. Its key is held by Turnkey. Each request carries an idempotency key and has to fit the limits you set in the dashboard.

Transactions guide

PieceWhat it does
DashboardProjects, API keys, Roblox sign-in, the managed wallet and its transaction policy, live event settings, watched addresses, linked players and usage. You sign in with a Solana wallet.
Linking pageOne hosted page per project. Players sign in with Roblox through your game’s own OAuth app and sign a message in their wallet.
Game APIThe /v1 routes your servers call with the x-api-key header. Every request is scoped to the key’s project.
Managed walletOne Solana wallet per project, created in Turnkey. The key stays in Turnkey’s secure enclaves, and Rolink only asks for signatures.
Event publisherPushes events to your experience through Open Cloud MessagingService, and polls the addresses you watch.

How it works covers the data flows and what Rolink stores.

Rolink is in beta. Before you build on it, know that:

  • It’s free during the beta, with per-project quotas: 100,000 requests per day, 600 requests per minute and 1,000 transactions per 24 hours, and up to 5 projects per developer. Paid plans will be announced before they apply. Limits and quotas lists every limit.
  • The SDK isn’t on the Wally index yet. Until it is, you download it as a model file and insert it in Studio or sync it with Rojo. The Quickstart shows both.
  • Check Roblox’s rules before you ship. Roblox restricts off-platform links and transactions tied to in-experience content, and many players are minors. Read Use Rolink responsibly.

Rolink isn’t affiliated with Roblox Corporation or the Solana Foundation.