Free during the beta

Roblox, meet Solana.

One API key and one Luau module. Your players link a wallet, your servers read balances, hear about payments live and send tokens.

  • Link wallets

    Players connect Phantom, Solflare or Backpack with one free signed message.

  • Read the chain

    SOL, tokens and NFTs for any player, from any Roblox server.

  • Pay in SOL

    Send SOL and tokens from the game's own wallet, inside your limits.

Works with the wallets your players already have

  • Phantom
  • Solflare
  • Backpack
  • + any Wallet Standard wallet

Platform

One key for the whole chain. Wallets, balances, live events and payments, from a single Luau module on your game servers.

  • rolink:GetWallet(userId)

    Link wallets

    Every game gets a linking page we host. Players sign in with Roblox through your game's own OAuth app and sign a free message. Nothing is sent on-chain.

  • rolink:GetTokenBalance(address, mint)

    Read the chain

    SOL, SPL and Token-2022 balances, NFTs and collections for any player, on devnet or mainnet. Cached by the API.

  • rolink.WalletLinked:Connect(...)

    Hear it live

    Links, unlinks, transaction results and activity on addresses you watch reach every live server through Open Cloud.

  • rolink:TransferToken({ ... })

    Send tokens

    Send SOL, send or mint tokens from your project's managed wallet, inside the limits you set. Idempotent, so a reward is never paid twice.

Made with Rolink

Rolink Tycoon pays real SOL. A live Roblox game on Rolink: players build a factory, link a wallet and earn SOL while they play.

Play on Roblox
Rolink Tycoon's factory: neon droppers, a player holding cash and SOL coins pouring outA player's finished two-storey base on its island, with coins raining downA player running home across a rope bridge with a bag of coins
  • 27 upgradesDroppers, belts and a two-storey base that goes up piece by piece.
  • 0.013 SOL an hourThe SOL Mine pays players at a finished base, every 15 minutes of play.
  • Never paid twiceEvery payout has its own idempotency key, inside a daily budget.

Linking page

A linking page for every game. Players open it in any browser, sign in on both sides and jump back in. The game never sees their keys.

Hosted at api.rolink.tech/link/your-game. You add your game's Roblox app once, and nothing is sent on-chain.

  1. Sign in with Roblox

    Official Roblox OAuth through your game's own Roblox app. Rolink reads the user ID, then revokes the token.

  2. Pick a wallet and sign a free message

    Phantom, Solflare, Backpack or any Wallet Standard wallet. Signing proves ownership and can't move funds.

  3. Back in the game, live

    Every live server gets WalletLinked within seconds, and GetWallet returns the address.

How linking works
Animated preview of the Rolink linking page. The player continues with Roblox, chooses a detected wallet such as Phantom, approves a free signed message, and sees "Wallet linked" with their Solana address.
Hosted by Rolink at /link/your-game

Luau SDK

A few lines of Luau. Pass your key from Roblox Secrets and call it from any server script.

  • Server-only: Rolink.new refuses to run on the client.
  • Every call raises a coded error you can branch on with Rolink.errorCode.
  • Amounts are decimal strings, so large token amounts stay exact.
  • Wallet lookups are cached and refreshed by live events.
Read the SDK reference

Architecture

Why there's an API in the middle. Roblox can't do this part safely, so the hosted API does it for you.

  1. 01

    Roblox can't open a wallet

    A game can't talk to Phantom or any other wallet, so players link from a page we host for your game instead.

  2. 02

    Servers can't keep a key safe

    Your project wallet lives in Turnkey. Rolink checks your limits before it ever asks Turnkey to sign.

  3. 03

    One key, nothing else to sign up for

    Your servers send one project key. We run the RPC connections, cache reads and apply quotas.

How it works, in detail

Security

Careful with money by default. Transactions stay off until you allow SOL or a token, then only move inside your limits.

Read the security model
  • Keys stay in Turnkey

    Your project wallet signs inside Turnkey's secure enclaves. We only store its ID and address, and players' keys never leave their wallet.

    Turnkey
  • Projects stay apart

    Every request is scoped to the project its key belongs to. Keys are stored as SHA-256 hashes, shown once and revocable.

    x-api-key
  • Never paid twice

    Reusing a key returns the original result instead of sending again. A failed one can be retried safely.

    idempotencyKey
  • Honest expiry

    A transaction is only reported expired once the finalized chain is past its blockhash and no up-to-date node knows it.

    lastValidBlockHeight
  • Limits you set

    Only mints you allow can move, with a per-transaction cap, hourly limits per wallet and per player, and optional budgets.

    hourly_budget_exceeded
  • Secrets encrypted

    Open Cloud keys are encrypted at rest and only decrypted to publish your project's events.

    AES-256-GCM

Pricing

Free during the beta. Every project gets the full API with the same quotas. All you need to sign in is a Solana wallet.

$0while the beta lasts

  • Hosted linking page for each game
  • On-chain reads, cached
  • Live events through Open Cloud
  • Managed wallet and transactions
  • Dashboard with keys, limits and usage
Start buildingPaid plans will be announced before they apply.
Beta quotas
QuotaLimitScope
Requests100,000per project, per UTC day
Burst600requests per minute, per project
Transactions1,000per project, rolling 24 hours
Projects5per developer

What you pay yourself

Solana network fees and the SOL or tokens you send come from your project's managed wallet, which you fund from any wallet.

Limits reference

Plug your game into Solana. Sign in with a Solana wallet, create a project and drop the Luau module into your game.