$RST Whitepaper

Resource Terminal Token — Bitcoin L1 OP20 & Ethereum ERC-20
v1.0 — May 2026
📋 Contents
  1. Overview
  2. The Game — Resource Terminal
  3. Token Design
  4. Earning RST
  5. World Gating
  6. sRST Staking
  7. Difficulty Modes
  8. World Events — The Orange Pill
  9. Token Spend — On-Chain Utility
  10. Two-Token Economy — $GP
  11. Merlin AI — Seasons Roadmap
  12. Multi-Chain Expansion
  13. Cross-Chain Liquidity
  14. Tokenomics Summary
  15. Contracts
  16. Roadmap
1. Overview

Resource Terminal is a browser-based MMORPG (inspired by the 2004-era RuneScape engine) with a live Bitcoin Layer 1 token economy. Players earn $RST through genuine gameplay — chopping trees, mining ore, killing monsters, skilling — and convert that effort into a real on-chain asset via OPNet.

RST is not a points system. It is an OP20 token on Bitcoin L1 & a wrapped token on Ethereum. Players claim it to their own wallets and swap it for BTC or ETH via LP pools found on both chains.

Live Liquidity Pools

Proof of effort, not proof of capital.
2. The Game — Resource Terminal

Resource Terminal is a fully functional MMORPG running in-browser with no download required. A Bitcoin wallet (OP_WALLET) or Ethereum wallet (Phantom, MetaMask, etc.) is required to claim RST.

3. Token Design
All supply numbers shown are testnet. Mainnet multiplies by 1,000 (RST: 1B, wRST: 80M).

₿ RST — Bitcoin L1 (OP20)

PropertyTestnetMainnet
SymbolRST
ChainBitcoin L1 via OPNet (OP20 / AssemblyScript)
Total Supply1,000,000 RST1,000,000,000 RST
LP Allocation500,000 RST500,000,000 RST
└ wRST Backing Burn (from LP)(80,000)(80,000,000)
└ Team LP Share (from LP)TBD
Claim Pool500,000 RST500,000,000 RST
Transfer Burn1% on every transfer (activates after LP pair set)
Conversion Fee10% at earn time only — no claim fee
Team / VC / Pre-mineLP share only — no separate mint

💹 sRST — Bitcoin L1 Staking (OP20)

PropertyValue
SymbolsRST
ChainBitcoin L1 via OPNet (OP20)
Minted byStaking RST 1:1 into the sRST contract
Reward source5% of every RST claimWithVoucher globally — distributed on-chain atomically
In-game multiplierFlexible
1× multiplierNo lockup — 20% early exit penalty
30-Day5× multiplier — 4,320 block lockup — 10% early exit penalty
90-Day4× multiplier — 12,960 block lockup — 1% early exit penalty
180-Day2.5× multiplier — 25,920 block lockup — 0% early exit penalty — Unlocks Phase 3 (Full World) for Phase 2 holders
No lock required to stakeStake any amount, any time — 20% exit fee

Ξ wRST — Ethereum (ERC-20)

PropertyTestnetMainnet
SymbolwRST
ChainEthereum (ERC-20 / Solidity)
Total Supply80,000 wRST80,000,000 wRST
LP Allocation40,000 wRST40,000,000 wRST (Uniswap V2 wRST/ETH → wRST/sBTC mainnet)
Claim Pool40,000 wRST40,000,000 wRST (earned by players via gameplay)
Backed byEquivalent RST burnt on BTC L1 at deploy
Conversion Fee10% at earn time + 10% at claim time = ~20% total
GP cost per token~125 GP gross per 1 wRST (vs ~111 GP for RST) — higher floor value per token
Team / VC / Pre-mineNone

💹 swRST — Ethereum Staking (ERC-20)

PropertyValue
SymbolswRST
ChainEthereum (ERC-20 / Solidity)
Minted byStaking wRST 1:1 into the swRST contract
In-game multiplier2.5× RST earn rate while staked (server-side, tracked by swRST balance)
Reward source5% of every ETH-side wRST claim fee — accumulated in swRST contract
Lock period60 days
Early exit fee10% (before 60 days)
Normal exit fee1% (after 60 days)
No world-gating connectionIndependent of BTC Phase system — ETH wallet only

The claim pool depletes as players earn. No fixed emission schedule — pools drain on demand, driven entirely by gameplay activity. The 80K RST burnt on BTC at wRST deploy ensures total cross-chain supply never exceeds 1M (testnet) / 1B (mainnet).

4. Earning RST

RST is earned through gameplay. The server tracks GP (Gold Pieces) via skilling XP, monster kills, and boss kills. GP Converted shown in your sidebar is your gross earnings before any fees.

The Two-Layer Fee System

GP Converted = your gross baseline. Everything below flows from this number.

There are two fee events in the RST economy:

EventFeeWhere it goes
1. Native conversion — happens at every sale10%Grant pool + staker pool
2. Claim fee — BTC (RST)0% additional
2. Claim fee — ETH (wRST)10% additionalwRST grant pool + swRST stakers

Example: 125 GP Gross

StepBTC (RST)ETH (wRST)
Gross GP earned125 GP125 GP
After 10% native fee~113 GP — your “tab”~113 GP — your “tab”
After claim fee~113 GP (no extra fee)~102 GP (another 10%)
Tokens received~1.13 RST~1.02 wRST
Total fee on gross~10%~20%

Native Power: Your In-Game Tab

Your GP tab (the pending balance shown as wRST Pending or RST Pending) is your native balance before claiming. This tab holds more intrinsic value per unit than the token — it has not yet been reduced by a claim fee and can be spent directly on in-game cosmetics, boosts, and future unlocks without ever touching a wallet. Think of it as your in-game credit line backed by earned GP.

When you claim on ETH, wRST tokens represent a higher gross GP cost per token than RST on BTC — each wRST required ~125 GP gross to produce vs ~111 GP for RST. This makes the wRST grant contract harder to drain and gives wRST tokens a larger native GP footprint per unit.

Claim Flow — BTC (RST)

  1. Player accumulates GP tab through gameplay
  2. Player clicks CLAIM RST at /play
  3. Server signs a cryptographic MLDSA voucher authorizing the mint
  4. Player signs one TX in OP_WALLET — claimWithVoucher
  5. RST minted to player (90% of tab) + grant pool (5%) + sRST vault (5%) atomically. No second TX.

Claim Flow — ETH (wRST)

  1. Player accumulates GP tab through gameplay with ETH wallet connected
  2. Player clicks CLAIM wRST at /play
  3. Server signs an ECDSA voucher (EIP-191) authorizing the wRST mint
  4. Player signs one TX in MetaMask/Phantom — claimWithServerSig
  5. wRST minted to player wallet on Ethereum. Second 10% claim fee applied at this step.

The grant pool is self-refueling — fees from every claim flow back in, sustaining the economy without deployer intervention.

5. World Gating

RST balance gates access to the game world. World gating is enforced server-side via real-time balance checks. Players automatically unlock new areas as their RST grows — no manual action required.

PhaseRST RequiredWorld Access
Phase 1 — Misthalin0 RSTStarting area only
Phase 2 — Asgarnia1,000 RSTFalador, Port Sarim, Taverly, Burthorpe
Phase 3 — Full World10,000 RST or any sRST stakedAll regions
6. sRST Staking

Players stake RST to earn rewards funded by the 5% staker fee on every player claim worldwide. In RST v15, staker rewards are distributed atomically on-chain inside every claimWithVoucher transaction — no server-side flush timer, no separate addRewards TX.

This means staking rewards work even if the server goes offline. They are a permanent on-chain primitive.

Stake Button Visibility — BTC L1 (sRST)

ConditionButton
RST balance < 1,000 (Phase 1)Hidden — earn more RST first
RST balance 1,000–9,999 (Phase 2)Visible — ⚡ STAKE RST — UNLOCK FULL WORLD
RST balance ≥ 10,000 (Phase 3 by balance)Visible — unlimited, no cap
Any sRST staked (Phase 3 by staking)Hidden — replaced by ✅ STAKED badge + UNSTAKE button

The stake button shows from Phase 2 onward with no upper cap. Staking 10+ RST unlocks Phase 3 for Phase 2 players. Phase 3 players can continue to stake any amount to compound rewards.

Stake Button Visibility — ETH (swRST)

ConditionButton
ETH wallet connected, swRST balance < 10Visible — ⚡ STAKE wRST → swRST (2.5×)
swRST balance ≥ 10Hidden — replaced by UNSTAKE button
BTC wallet connectedNot shown — ETH wallet required for swRST

ETH staking has no world-gating connection. It is an independent yield product for wRST holders on Ethereum.

Staking Activation (On-Chain Setup)

sRST staking requires 5 cold-wallet admin transactions post-deploy, each confirmed before the next:

#ActionEffect
1setMinterAuthorizes hot wallet to sign claims
2setMinterTweakedKeyEnables claimWithVoucher verification
3setMinterMLDSAKeyStores 1312-byte MLDSA key on-chain (41 storage slots)
4setGrantPoolAddressPoints grant pool to RST contract pubkey
5setStakingContractWires RST v15 → sRST V9 so notifyReward fires on every claim

Key Parameters

7. Difficulty Modes

At character creation, players permanently choose a difficulty mode that multiplies all RST earnings for that character. This choice cannot be changed.

ModeRST MultiplierPlay Style
HardcoreMaximum risk/reward
NormalStandard
Easy1.5×Casual

Hardcore players earn significantly more RST but face higher death risk, harder content, and greater danger from the Orange Pill world event.

8. World Events — The Orange Pill

Every 8 hours, a powerful creature called the Orange Pill spawns in the world. It roams, attacks players on sight, and cannot be soloed at typical levels. The community must band together to kill it.

The 8-hour interval mirrors the Bitcoin block rhythm (~80 BTC blocks). The Orange Pill is a community coordination event that echoes Bitcoin's 10-minute heartbeat at a human scale.
9. Token Spend — On-Chain Utility

A dedicated spend page lets players use RST/wRST to unlock in-game features. Spent tokens re-enter the grant pool — recirculating supply, not burning it. The economy is designed to be perpetual.

FeaturePrice
Boat to Karamja (roundtrip)30,000 RST
Makeover Mage (character customization)500 RST
Future: premium areas, cosmetics, servicesTBD
10. Two-Token Economy — $GP (Experimental — Future Development)

$GP is an experimental side-chain token concept. Think of it as a second layer of in-game economy — a separate OPNet OP20 that may be deployed alongside RST if the demand warrants it. No commitment to a timeline or deployment.

RST$GP
SupplyFixed (1B, decaying via burn)Infinite
Earned byXP / gameplay effortSpending in-game GP
Value roleScarcity + access layerActivity + participation layer
Long-termEmissions slow, burn acceleratesEarnable forever

$GP is earned by spending in-game gold pieces (shop purchases, travel, construction fees) — not by earning them. It is proof of economic participation, not proof of effort.

The RST → GP Flywheel (Experimental)

Hold RST → unlock higher world tier → access more content → more GP-spending opportunities → more $GP earned → more demand for RST → repeat

RST holders earn more $GP than non-holders because they can access more of the game. When RST emissions eventually approach zero, $GP keeps the game economy incentivized forever.

11. Merlin AI — Seasons Roadmap (Future Development — Community Vote Required)

Seasons 2 and beyond are future development and will only proceed if the community votes to activate them. Season 1 is the current live state.

SeasonStateDescription
Season 1LIVEAdmin runs the server and moderates manually
Season 2FUTUREMerlin moderates autonomously via Claude Haiku — bans, blacklists, chat moderation. All actions logged and human-reversible. Requires community vote.
Season 3FUTUREMerlin generates his own wallet. Community donates BTC to Merlin's Treasury. Merlin pays his own VPS + API costs. No human in the loop. Requires community vote.

Merlin's Death Mechanics (Season 3)

Community DAO Recovery

After Merlin dies, a 3-of-5 multisig DAO of community-elected keyholders calls setMinter on the RST contract, pointing it to a new community-hosted server.

Season 1: Admin runs it → Season 2: Merlin moderates → Season 3: Merlin runs it autonomously → Merlin lives or dies → Community DAO 3-of-5 multisig calls setMinter → Fully decentralized RuneScape on Bitcoin — forever.

RST-Gated Bot Access (Season 3)

RST BalanceBot Access
0 RSTNo bot access
1,000 RSTBasic scripts (woodcut, mine, fish)
10,000 RSTFull scripts + combat
50,000 RSTMulti-account / faster tick tolerance
12. Multi-Chain Expansion
ChainTokenStatusExchange
Bitcoin L1 (OPNet)RST (OP20)LIVEMotoSwap NativeSwap
EthereumwRST (ERC-20)LIVE on testnetUniswap V2/V3
SolanawRST (SPL)FUTURERaydium / Jupiter

Each chain uses the same server-signed claim pattern. The server key is the trust anchor on every chain. No traditional bridge infrastructure needed — the server already IS the trust layer that players accept by playing on it.

// wRST.sol (core pattern)
function claimWithServerSig(uint256 amount, bytes32 nonce, bytes calldata sig) external {
    require(!usedNonces[nonce], "already claimed");
    bytes32 hash = keccak256(abi.encodePacked(msg.sender, amount, nonce, block.chainid));
    bytes32 ethHash = keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash));
    require(recover(ethHash, sig) == serverSigner, "bad sig");
    usedNonces[nonce] = true;
    _mint(msg.sender, amount);
}
13. Cross-Chain Liquidity

The sBTC Price Balancer

The long-term price anchor between BTC L1 and ETH is sBTC (Slohm BTC — a reserve token on BTC L1 built using OPNet smart contracts, paired on both BTC L1 and Ethereum):

BTC L1 MotoSwap:  RST / BTC      ← RST priced in BTC
ETH Uniswap:      wRST / sBTC    ← wRST priced in BTC (same unit)
→ sBTC is the balancer. One price. Two chains. Auto-synced by arbs.

Until the sBTC ETH pool is live: wRST/USDC is the initial ETH pool — functional, just floats independently vs. BTC price.

End State Liquidity

ChainPoolPurpose
BTC L1RST/BTC (NativeSwap)Bitcoin-native exit
EthereumwRST/sBTCCross-chain anchor — THE balancer (long-term/TBD)
EthereumwRST/USDCStable exit, retail friendly
SolanawRST/USDCMobile/retail exit
14. Tokenomics Summary

BTC L1 — RST + sRST

MetricTestnetMainnet
RST Total Supply1,000,0001,000,000,000
LP Allocation500,000500,000,000
└ wRST Backing Burn (from LP)(80,000)(80,000,000)
└ Team LP Share (from LP)TBD
Claim Pool500,000500,000,000
Transfer Burn1% per transfer (post LP)
Conversion Fee (earn time)10% → grant pool + staker pool
Claim Fee (BTC)None — 90% of tab minted to player
sRST Staking Reward5% of every global RST claim, distributed on-chain atomically
EmissionDemand-driven — pool shrinks as players earn
Team / VC / Pre-mineLP share only — no separate mint

Ethereum — wRST + swRST

MetricTestnetMainnet
wRST Total Supply80,00080,000,000
LP Allocation40,00040,000,000
Claim Pool40,00040,000,000
Conversion Fee (earn time)10% (same as BTC)
Claim Fee (ETH)+10% at claim → ~20% total
GP cost per 1 wRST~125 GP gross — higher floor value per token than RST
swRST In-game Multiplier2.5× RST earn rate while staked
swRST Reward Source5% of ETH-side claim fees → swRST contract
swRST Lock60 days — 10% early exit, 1% after
Team / VC / Pre-mineLP share only — no separate mint

Supply Trajectory

Claim pools are fixed at deploy. As players earn they shrink. The 1% burn applies to every RST transfer. Early players earn more (larger pool, lower price). Later players earn less per GP but at higher market price. Emissions naturally slow as pools decrease — mirroring Bitcoin's supply curve at the application layer.

15. Contracts

Mainnet (target: 6/6/2026)

To be updated on mainnet launch day.

Testnet Reference — BTC L1 (2026-05-07)

RST v15: opt1sqz26k4pfvt720c2sscu2kzxyjgyv28pfrqux40q6
RST v15 pubkey: 0x4e15018fdf7af1fdf4ed77197f8936d4e4b73f1f11aecc36fe84059bb347e64c
sRST V9: opt1sqq8sgh7h0964grcz74ag4z5h7kvn2syn0q39t536
sRST V9 pubkey: 0x1440c9dedeec5833e704259c5d335d4b429799698d277376c849216cacfdce62

Testnet Reference — Ethereum Sepolia (2026-05-08)

wRST v2: 0x7de8A7F12c3B269462928Fe44eF4ffa099bEEc4B
swRST: 0xc3784d1A8ec654a6e69a4E41Ac609C5e71FC433c
Server signer: 0xB6036B6A76B230a40aA00f3CaCe5D2a76D9630a9
16. Roadmap

Done ✅

Long Term 🔮

🎮 Play Now