# Nums > Complete documentation of the NUMS game - Number Challenge onchain ## Docs - [Contracts](/contracts): The game is built with [Dojo](https://dojoengine.org), a framework for onchain games and applications on Starknet. All contracts are written in **Cairo**. Below are the deployed contract addresses by network. - [FAQ](/faq): Frequently asked questions about the game. - [Referral program](/referral-program): The protocol offers users the ability to share a referral link. This mechanism works exclusively with the Cartridge Controller. When a player uses a referral link for the first time and lands on the website, the referral is saved in the user's browser. - [Token](/token): The **NUMS** token is the native asset of the game. Players buy games with USDC; the entry is distributed across buy-back and burn, referrals, and protocol revenue. Rewards in NUMS are minted based on performance. This page covers the economy, supply, and multiplier mechanics. - [Governance](/governance): The protocol is designed to be progressively decentralized. Token holders who stake NUMS in the vault receive **vNUMS**, which grants them voting power over protocol decisions. Governance covers everything from parameter tuning and treasury management to protocol upgrades. - [Staking](/governance/staking): Token holders can stake their NUMS in the vault to participate in protocol governance. Staking converts NUMS into **vNUMS**, a share token that represents your position in the vault and grants you voting power over proposals, parameter changes, and treasury decisions. - [Treasury](/governance/treasury): The **Treasury** is the protocol's onchain reserve. It centralizes DAO-owned assets and serves as the financial backbone for grants, partnerships, liquidity management, and operational spending. Every movement of funds requires a passed governance proposal—no single actor can unilaterally access treasury assets. - [Votes](/governance/votes): The **Governor** contract is the backbone of onchain governance. It manages the full lifecycle of proposals—from submission to execution—and ensures that all protocol changes go through a transparent, community-driven process. - [Game Rules](/game-rules): The game is a skill-based number placement game. Players place 18 numbers (between 1 and 999) into 18 slots in ascending order. Two equal numbers may be placed consecutively. Success depends on strategic placement, timing of power-ups, and managing traps—not luck. - [Power ups](/game-rules/power-ups): Power-ups give skilled players tools to adapt when facing difficult placement decisions. You can unlock **up to 3 power-ups** per game as you fill slots; use them with caution—choosing the right moment is key to your strategy. - [Practice](/game-rules/practice): The game offers a **practice mode** that lets you learn the game without risking any tokens. Practice mode is **completely off-chain**—no blockchain transactions, no gas, no on-chain state. It is the ideal way to discover the mechanics, test strategies, and build confidence before playing for real. - [Randomness](/game-rules/randomness): The game uses a **VRF** (Verifiable Random Function), also known as vRNG (Verifiable Random Number Generator), to generate all random outcomes on-chain. This ensures that number draws and power-up choices are provably fair—neither players nor the protocol can predict or manipulate results. - [Rewards](/game-rules/rewards): When you buy a game, a **reward multiplier** is associated with it. Your final reward is then determined by your score and this game multiplier. - [Traps](/game-rules/traps): Some slots in the game may contain **traps** that affect gameplay when you place a number on them. Each trap triggers a specific effect; all effects produce coherent results—**the ascending order of numbers is always preserved**. Navigating traps is part of the strategy.