# Nums > Complete documentation of the NUMS game - Number Challenge onchain ## 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. ### Deployments Addresses are sourced from `manifest_sepolia.json`. Starknet mainnet deployments will be added once available. ##### Dojo Root contract that orchestrates all systems and holds the global ECS state. | Contract | Sepolia | Starknet | | -------- | ----------------------------------------------------------------------------------------------------------------------------------- | -------- | | World | [`0xc7cd2221...aa077b1d`](https://sepolia.voyager.online/contract/0xc7cd2221dbeb8c3a098d5300e4758277dda40bf7e64bec1fb5cae2aa077b1d) | — | ##### Game Core game logic and initialization. | Contract | Sepolia | Starknet | | -------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------- | | Play | [`0x1fe6be6f...bdf5e7875d`](https://sepolia.voyager.online/contract/0x1fe6be6f2a5cbbfc3a324a75e09f2be88412a01f7f3f583eff1b6bdf5e7875d) | — | | Setup | [`0x5f2a1ece...902e4ab713`](https://sepolia.voyager.online/contract/0x5f2a1ececda995e6c02b12fc38a0b7979c98e4ce1d17fff321409902e4ab713) | — | ##### Tokens Game-related tokens and NFT collection. | Contract | Sepolia | Starknet | | --------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------- | | NUMS (ERC-20) | [`0x573f645d...bf81ab1fa`](https://sepolia.voyager.online/contract/0x573f645db9f518a5aed5a5156b2b467b8703444a9913d2e53b51a9bf81ab1fa) | — | | vNUMS (ERC-20) | [`0x773c23ec...0e2c1f73b2`](https://sepolia.voyager.online/contract/0x773c23ecf54dece70548af51afc5d4b333d7757f14a23e11cb0130e2c1f73b2) | — | | Games (ERC-721) | [`0x2dd22b66...c6ece002ed`](https://sepolia.voyager.online/contract/0x2dd22b66d98d89f1117673fb51578d464cc98b5cb5034d287f204c6ece002ed) | — | ##### DAO Governance contracts for proposals, voting, and protocol fund management. | Contract | Sepolia | Starknet | | -------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------- | | Governor | [`0x5f358e79...10cef3d17`](https://sepolia.voyager.online/contract/0x5f358e791c0d28150e522b2a8c82d9074adba3879cab7c50320f2e10cef3d17) | — | | Treasury | [`0x2e7040c0...d048d917c5`](https://sepolia.voyager.online/contract/0x2e7040c052858b3ac886259cf522705022ce4d0c02bffb58d36a0d048d917c5) | — | ##### Staking Vault for staking NUMS and participating in protocol governance. | Contract | Sepolia | Starknet | | -------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------- | | Vault | [`0x773c23ec...0e2c1f73b2`](https://sepolia.voyager.online/contract/0x773c23ecf54dece70548af51afc5d4b333d7757f14a23e11cb0130e2c1f73b2) | — | ##### Faucet Testnet token distribution for developers and players on Sepolia. | Contract | Sepolia | Starknet | | -------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------- | | Faucet | [`0x25719494...cf2a669e41`](https://sepolia.voyager.online/contract/0x257194945b97c40cd84fe6a2000e7d7530ff76e7d0227a388bb20cf2a669e41) | — | ## FAQ Frequently asked questions about the game. ### Gameplay #### What is the game? The game (Number Challenge) is a skill-based onchain game where you place 18 numbers (1–999) into 18 slots in ascending order. Equal numbers may be placed consecutively. You always see both the current number and the next one. Your decisions—where to place each number, when to use power-ups, and how to handle traps—determine your outcome. Once placed, a number cannot be moved. #### How do I win? Fill all 18 slots in ascending order (equal numbers may be placed consecutively). You can also earn partial rewards for slots filled before the game ends. #### When does the game end? The game ends when a drawn number cannot be legally placed—i.e., no available slot preserves ascending order, and you have no power-ups left to change the outcome. #### How do power-ups and traps work? Power-ups are unlocked as you fill slots (up to 3 per game) and let you reroll, halve, swap, or otherwise adapt numbers. Traps are visible from the start; they activate when you place a number on them and trigger effects like rerolling nearby numbers or shifting tiles. Both are part of the strategy—see [Power-ups](/game-rules/power-ups) and [Traps](/game-rules/traps). #### Can I practice without paying? Yes. [Practice mode](/game-rules/practice) is fully off-chain: no gas, no transactions, no tokens. You can learn the mechanics and test strategies as many times as you want before playing for real. #### How long can I play a game? A game is valid for **24 hours** after purchase. You must play and claim rewards within that period; otherwise, the game is no longer playable. ### Token & economy #### How do I enter a game? Purchase a starterpack with **USDC**. Each pack defines an entry price and multiplier. The entry is distributed across buy-back and burn (\~70%), referral program (\~5%), and protocol revenue (\~25–30%). #### What is the NUMS token used for? NUMS is the native asset: it is **minted as rewards** when you finish games, used for **staking** in the vault to participate in governance (you receive vNUMS), and traded on DEXs. Game entry is paid in USDC. #### Where can I get NUMS? You can earn NUMS by playing the game, buy or trade it on a DEX (e.g. Ekubo), or refer others to earn revenue (USDC to your Controller). #### How are rewards paid? Rewards in NUMS are **claimed automatically** when the game ends—no manual action needed. The amount depends on your score (slots filled) and the multiplier locked in at purchase. Once received, NUMS are free to use (stake, trade, hold). ### Governance #### How does staking work? Stake NUMS in the vault to receive **vNUMS** (share of the vault). After staking, you must delegate your voting power—either to yourself (to vote directly) or to another address. vNUMS grants voting power over governance proposals, including game parameters, treasury spending, and protocol upgrades. There is no fee on deposits or withdrawals at launch, and no lock-up period—you can enter and exit freely. The DAO can vote to introduce a withdrawal fee in the future through a governance proposal. #### How do I vote on proposals? Your voting power is based on your **vNUMS** balance at the time a proposal is created. Stake NUMS first, then participate in proposals. Typical proposals include game parameters (burn %, game settings), treasury matters, fee changes, and protocol upgrades. Initial parameters: 5 min voting delay, 10 min voting period, 1 vNUMS threshold, 30% quorum. #### What can be proposed? Game parameter changes (burn %, game settings), treasury and protocol fund allocation, fee changes (vault withdrawal fees, swap fees), and protocol upgrades (contract upgrades, new features). Any action executable onchain through the Governor contract can be submitted as a proposal. #### How does the treasury work? The treasury holds protocol-owned assets (NUMS, USDC, LP tokens) and serves as the DAO's operational reserve. All fund movements require a passed governance proposal with a timelock delay. The treasury also owns a liquidity pool with a 5% swap fee, which generates ongoing revenue for the DAO. ### Referrals #### How do I refer a friend? Share your unique referral link. This works **only with the Cartridge Controller**. When a player uses your link for the first time and lands on the website, the referral is saved in their browser. From then on, each purchase they make sends a percentage to you—transferred directly to your Controller account with no constraints. At protocol launch, the referral fee is 5%. #### Do referral fees affect the player? No. Referral fees are deducted from protocol revenue, so they have no impact on the player. #### Can I refer myself? No. Self-referral is not allowed. ### Contracts #### Where can I find contract addresses? Contract addresses for Dojo World, Play, Setup, tokens (NUMS, vNUMS, Games), Governor, Treasury, Vault, and Faucet are listed on the [Contracts](/contracts) page, with links to Voyager for each network (Sepolia; Starknet mainnet when available). ## 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. From then on, each purchase by this user sends a small percentage to the referrer. These revenues are transferred directly to the referrer's Controller account with no duration or usage constraints—the recipient can do whatever they wish with this revenue. The referral program has no set end date. The DAO may adjust this percentage via a governance vote. :::note **At protocol launch**, the referral fee is set at 5%. ::: :::tip These fees are deducted from protocol revenue and therefore have no impact on the player. ::: :::warning Self-referral is not allowed. ::: import { SupplyPieChart } from "../../components/SupplyPieChart"; ## 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. ### Supply At protocol launch, **1,000,000 tokens** are minted and distributed as follows:
800,000 — Injected into the liquidity pool with 10,000 USDC and given to the DAO.
200,000 — Given to Cartridge and locked in the Vault.
:::note **Vault and governance.** The vault is used to stake NUMS and participate in protocol governance. Staking grants voting power on proposals, treasury spending, and protocol parameters. More details in the [Governance](/governance) section. ::: :::tip **Initial reference price:** $0.0125 per NUMS (see the distribution above for details). ::: #### Estimated supply An **estimated supply** is defined at the protocol level to determine the supply coefficient (see the [Multiplier](#multiplier) section). This estimate is initially set at 1,000,000 at the time of this document and can be adjusted up or down by the DAO. This value enables, among other things, a maximum supply of approximately 2,000,000 tokens. #### Supply dynamics Player activity on the game continuously **burns** and **mints** tokens. Over time, community performance is the only criterion that stabilizes the token supply—which remains between 0 and 2,000,000. ### Economy #### Entry distribution Players buy a game with **USDC**. The entry is distributed across several uses:

Buy-back and burn — The majority of the entry is used to buy NUMS from the DEX and burn them, reducing the supply.

70% at the time this document was written.

Referral program — A smaller portion goes to the referral program if the game is eligible. See the [Referral Program](/referral-program) section for details.

5% at the time of writing.

Protocol revenue — The remaining USDC is used as protocol revenue and is fully transferred to the team.

25–30% at the time this document was written.

#### Reward distribution When the player finishes a game, rewards in NUMS are **newly minted** based on their score and their multiplier (see section below). They are credited immediately to the player's wallet—no manual action is required. Once received, NUMS are fully free to use: stake them, trade them, or hold them—no restrictions apply. :::note **Supply impact.** If the player underperforms, supply will have been burned in the process. If the player overperforms, supply will have been created in the process. ::: #### Multiplier When a player buys a game, a **macro multiplier** is determined for that game and remains fixed for 24 hours (after which the game is no longer playable). This multiplier drives the reward calculation. It is computed as follows:
Supply coefficient — A macro multiplier is applied as the ratio between the current supply and a target supply set at protocol inception. If the current supply is below target, this multiplier boosts rewards; if it is above target, it reduces emissions (down to zero when supply is twice the target).
Balance coefficient — Once the buy-back and burn are executed at purchase time, the ratio between the actual quantity of tokens burned and the ideal quantity determines this coefficient for the game. The ideal quantity is derived from:
Average performance reward — The reward associated with average player performance is computed. The average score is tracked as a moving average over the last 1000 games, with safeguards to prevent manipulation.
Ideal burn quantity — Protocol revenue is added to this to obtain the ideal quantity of tokens to burn to balance the system.
Together, these two coefficients determine the game's reward multiplier at purchase time. They encapsulate the token price, the starting stake, average player performance, and the current token supply. ## 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. This section explains how governance works across three areas:
[Staking](/governance/staking) — Stake NUMS in the vault to receive vNUMS, which represents your share and grants voting power. This page covers the vault token, how voting power is derived, and the fee structure.
[Votes](/governance/votes) — The Governor contract manages the full proposal lifecycle: submission, voting, timelock, and execution. This page details how proposals are created, how voting works, and the parameters that govern the process.
[Treasury](/governance/treasury) — The treasury holds protocol assets and serves as the operational reserve. All fund movements require a passed governance proposal. This page covers what the treasury holds, how funds are allocated, and the safeguards in place.
### Design principles The governance system is built around a few core principles: * **Progressive decentralization** — The protocol is designed to hand over increasing control to the community over time. Governance can vote to adjust any parameter as the protocol matures. * **Onchain execution** — All governance actions are executed onchain through the Governor and Treasury contracts. There is no off-chain multisig or admin override. * **Minimal friction** — Staking has no lock-up period and no fee by default. The barrier to participation is intentionally low so that governance reflects the broadest possible set of stakeholders. * **Transparency** — Every proposal, vote, and fund movement is recorded onchain and can be independently verified by anyone. ## 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. ### Token **vNUMS** is the vault share token. It is a standard ERC-20 with integrated voting functionality. When you deposit NUMS into the vault, you receive vNUMS in return at the current exchange rate. This token is fully transferable—you can hold it, trade it, or use it in DeFi protocols. The vNUMS/NUMS exchange rate starts at 1:1 at protocol launch. Over time, if withdrawal fees are introduced by governance (see [Fee](#fee) below), the exchange rate can shift in favor of remaining holders—meaning each vNUMS may become redeemable for more than one NUMS. :::note At protocol launch, the initial parity is **1 vNUMS for 1 NUMS**. ::: :::tip **vNUMS is transferable.** You can deposit it into a liquidity pool or use it elsewhere. However, voting power is tied to the address holding vNUMS. If you transfer vNUMS to a contract (such as a DEX pool), the voting power associated with those tokens is lost—the pool contract cannot delegate or vote. ::: ### Voting power Your voting power is determined by your **vNUMS balance** at the time a proposal is created. The more vNUMS you hold, the greater your influence over governance decisions. Voting power applies to all proposal types: game parameter changes, treasury allocations, protocol upgrades, and any other action submitted to the Governor contract. #### Considerations See [Votes — How to participate](/governance/votes#how-to-participate) for the full step-by-step guide to staking, delegating, and voting. * **Delegation is required**: simply holding vNUMS is not enough. You must delegate your voting power (even to yourself) for it to be active. See [Votes](/governance/votes#delegation) for details. * Voting power is **not retroactive**: only balances at proposal creation time count. Acquiring vNUMS after a proposal is created does not grant voting rights on that proposal. * There is no minimum stake to vote, but there is a **proposal threshold** to submit proposals (see [Votes](/governance/votes) for details). ### Fee There is **no fee** associated with entering or exiting the vault. You can stake and unstake freely, with no lock-up period and no minimum duration. However, the DAO has the ability to introduce a **withdrawal fee** through a governance vote. If such a proposal passes, a fee would be applied when unstaking vNUMS back to NUMS. The collected fees would remain in the vault, mechanically increasing the vNUMS/NUMS exchange rate for remaining holders. :::note At protocol launch, **no fee** is applied on deposits or withdrawals. Any future fee can only be introduced through a successful governance vote. ::: ## 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. The Treasury contract is also the account that holds the **administrative permissions** on the protocol. It is the contract authorized to modify game parameters, collect liquidity pool fees, update contract configurations, and execute any privileged operation on the game. ### Purpose The treasury exists to fund the long-term development and sustainability of the protocol. It enables the DAO to:
Fund development — Allocate resources to protocol improvements, new features, audits, and infrastructure.
Support growth — Finance grants, partnerships, marketing initiatives, and community programs that expand the protocol's reach.
Manage liquidity — Oversee the treasury-owned liquidity pool, adjust positions, and ensure healthy trading conditions for the NUMS token.
Cover operations — Pay for ongoing costs such as indexer hosting, RPC services, and other infrastructure required to keep the protocol running.
### Governance controls All treasury operations are governed by the proposal and voting process described in [Votes](/governance/votes). The key safeguards are:
Proposal required — No funds can be moved without a governance proposal that has passed the voting process.
Timelock enforced — Approved proposals enter a timelock before execution, giving the community time to react.
Onchain execution — Fund transfers are executed by the Governor contract directly. There is no off-chain step or manual intervention.
Full transparency — Every transaction from the treasury is recorded onchain and can be verified by anyone at any time.
## 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. ### Proposal types Governance proposals can cover a wide range of protocol decisions. Typical categories include:
Game parameters — Adjust burn percentages, entry prices, multiplier coefficients, estimated supply targets, or other gameplay-related values that shape the economy.
Treasury matters — Allocate funds from the treasury for grants, partnerships, liquidity provisioning, operational expenses, or community initiatives.
Protocol upgrades — Approve contract upgrades, deploy new features, integrate external services, or modify the governance process itself.
Fee changes — Introduce or modify fees, such as a vault withdrawal fee, referral rate adjustments, or swap fee changes on the treasury-owned liquidity pool.
Revenue allocation — Adjust the split of protocol revenue between the team and the vault. By default, all revenue goes to the team, but governance can vote to redirect a portion (or all of it) to the vault.
Proposals are not limited to these categories. Any action that can be executed onchain through the Governor contract can be submitted for a vote. ### Proposal lifecycle Every proposal follows a strict sequence of phases:
1. Submission — A vNUMS holder whose balance meets the proposal threshold submits a proposal. The proposal includes a description and one or more onchain actions to execute if it passes.
2. Voting delay — A short waiting period before voting begins. This gives the community time to review the proposal and form opinions before casting votes.
3. Voting period — The window during which vNUMS holders can cast their votes (for, against, or abstain). Voting power is based on vNUMS balance at the time the proposal was created.
4. Quorum check — Once the voting period ends, the proposal must meet the quorum threshold (minimum percentage of circulating vNUMS that participated) and have more votes in favor than against.
5. Timelock — Approved proposals enter a timelock delay before execution. This provides a final safety window during which participants can react if needed (e.g., unstaking if they disagree with the outcome).
6. Execution — After the timelock expires, anyone can trigger the proposal's execution. The onchain actions specified in the proposal are carried out by the Governor contract.
:::note **Initial parameters (Governor contract).** At protocol launch: * **Voting delay**: 5 minutes — Time between proposal creation and voting start * **Voting period**: 10 minutes — Duration of the voting window * **Proposal threshold**: 1 vNUMS — Minimum vNUMS required to submit a proposal * **Quorum**: 30% of circulating vNUMS — Minimum participation for a vote to be valid * **Timelock delay**: 1 hour — Enforced by the Treasury contract before execution ::: :::warning These are **test parameters** and will be updated before mainnet launch. ::: ### Voting Voting power is derived from your **vNUMS balance** at the time a proposal is created (see [Staking](/governance/staking) for details on how to acquire vNUMS). Each vNUMS equals one vote. #### Delegation After staking, you must **choose a delegate** for your voting power. This is a required step—without delegation, your vNUMS do not count toward any vote. * **Self-delegation** — If you want to vote yourself, delegate to your own address. This is the most common choice for active participants. * **Delegate to another account** — If you prefer not to vote directly, you can delegate your voting power to another address. That delegate will then vote on your behalf with the weight of your vNUMS balance added to theirs. Delegation can be changed at any time. You can switch delegates or reclaim your voting power by self-delegating again. Delegating does not transfer your tokens—only the voting power associated with them. :::note Delegation is **mandatory** to activate voting power. Simply holding vNUMS is not enough—you must explicitly delegate (even to yourself) for your balance to count in governance votes. ::: #### Casting a vote When casting a vote, you choose one of three options: * **For** — You support the proposal and want it to pass. * **Against** — You oppose the proposal and want it to be rejected. * **Abstain** — You participate (contributing to quorum) without expressing a preference. Abstain votes count toward quorum but do not count for or against the proposal. This allows holders to help meet quorum without influencing the outcome. ### How to participate
Stake NUMS — Deposit NUMS in the vault to receive vNUMS.
Delegate — Choose a delegate for your voting power: yourself (to vote directly) or another address. This step is mandatory to activate your vNUMS for governance.
Review proposals — Monitor active and pending proposals. Evaluate the description and the onchain actions that would be executed.
Cast your vote — During the voting period, submit your vote (for, against, or abstain). Your vote weight equals your vNUMS balance at proposal creation.
Submit proposals — If your vNUMS balance meets the proposal threshold, you can create new proposals for the community to vote on.
## 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. ### Game flow
1
The player pays an entry price according to one of several available options
2
The system draws 18 unique numbers between 1 and 999
3
The player always sees the current number to place and the next number (peek)
4
The player strategically places the current number into an available slot. They can reshape their fate by using power-ups and navigating traps
5
Once placed, a number cannot be moved. After filling a certain number of slots, the player unlocks power-ups; using them wisely at the right moment is a key part of the strategy
6
All placed numbers must stay in ascending order from left to right. Two equal numbers can be placed consecutively
7
Complete the game and claim your rewards

Skill matters: your placement choices, power-up timing, and trap management drive your results.

### Win conditions A **full win** is achieved when you successfully fill all 18 slots while keeping the numbers in ascending order from left to right. Remember that two equal numbers can be placed next to each other. Even if the game ends before completion, you can earn **partial rewards** based on how many slots you managed to fill. The more slots you complete, the higher the reward level you reach. ### Lose conditions The game ends when a drawn number cannot be legally placed—no valid slot preserves ascending order—and there are no power-ups left to change the outcome. ### Break-even The break-even point is the first level where the reward value exceeds the entry price. It is a key indicator for evaluating the potential profitability of a game. ## 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. ### Description Power-ups are obtained only by reaching milestones during a game—they cannot be bought with tokens or acquired through any other means. When you reach a threshold marked by the Gem **Gem** icon, two power-ups are drawn at random; you must choose one before continuing. You unlock up to 3 power-ups per game as you progress. Use them with caution—timing is crucial and can make the difference between turning the tide or wasting a valuable resource. :::note **One use per power-up.** Once used, a power-up is disabled for the rest of the game. There is currently no mechanic to reuse an already used power-up. ::: :::tip **Same type multiple times.** With the choices offered at each Gem milestone, it is entirely possible to end up with the same type of power-up several times (e.g. two Rerolls, two Halves). ::: ### Power-ups
Reroll

Reroll

Discard the current number and get a new one

Double Up

Double Up

Multiply the current number by two

Foresight

Foresight

Reveal the following number after this one

Halve

Halve

Divide the current number by two

Boost High

Boost High

Discard and get a number higher than the current one

Boost Low

Boost Low

Discard and get a number lower than the current one

Mirror

Mirror

Reflect the current number to its complementary value

Swap

Swap

Swap the current number with the next number

## 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. ### Description Practice mode uses the same rules and flow as paid games. You place 18 numbers into slots in ascending order, use power-ups when you unlock them at Gem milestones, and navigate traps whose positions you know from the start. The only differences: there is no entry cost, and no tokens are awarded—win or lose. ### Practice mode
Learn the placement logic — Get a feel for when to place low numbers early, when to leave gaps, and how ascending order constrains your choices
Experiment with power-ups — Try Reroll, Halve, Swap, Mirror, and others to see which ones help in which situations
Read the board — Practice spotting trap positions and planning placements to trigger or avoid chain reactions
Develop timing — Decide when to use a power-up immediately versus saving it for a harder moment
:::note **When to switch.** Once you feel comfortable with the flow, power-up timing, and trap handling, you can move to paid games. Practice mode has no limit on how many times you can play—use it as much as you need before committing tokens. ::: ## 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. ### Description Randomness is used throughout the game: the 18 numbers drawn for each game and the power-ups offered at Gem milestones. All of these are produced by the VRF at the moment they are needed, within the same transaction. The request and the random value are processed atomically, so there is no delay and no separate step to wait for—the result is immediately available and verifiable on Starknet. The system relies on the [Cartridge vRNG](https://docs.cartridge.gg/slot/vrng), which uses the Stark curve and Poseidon hash for efficient on-chain verification. The entire process occurs on-chain, keeping transparency and fairness auditable. ### Key features
Provably fair — Numbers and outcomes cannot be predicted or manipulated before or during play
Atomic execution — Each random value is requested and consumed within the same transaction, with no waiting between steps
Fully on-chain — All randomness is generated and verified on Starknet, ensuring transparency
Unique draws — Each game receives 18 unique numbers between 1 and 999
:::tip **More details.** For technical implementation, the request/response flow, and integration details, see the [Cartridge vRNG documentation](https://docs.cartridge.gg/slot/vrng). ::: ## 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. ### Description **At purchase** — A multiplier is locked in for your game based on:
Starting stake — The amount put at risk for the game
Token price — Current NUMS price at the time of purchase
Supply — NUMS supply conditions
Average player performance — The protocol's aggregated performance metrics
This multiplier stays fixed for the lifetime of that game. **When you finish** — Your reward is calculated from your score (slots filled) and the multiplier attached to your game. The better you perform, the higher the reward. ### Claim When the game ends (game over), rewards are **claimed automatically**. No manual action is required—as soon as the game is over, the NUMS you earned are credited directly to your wallet based on the slots you filled and your game's multiplier. The amount is calculated on-chain and transferred to you in a single step. Once received, your NUMS are yours to use freely: stake them, trade them, or hold them—no restrictions apply. :::warning **24-hour validity.** A game is only valid for 24 hours after purchase. During this period, the game must be played and rewards claimed. Otherwise, the game is no longer playable. ::: ## 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. ### Activation Traps are predetermined at game start. You see their type and position from the very beginning—they are visible on the board before you place any number. A trap activates when you place a number on its slot; the effect triggers automatically and cannot be prevented. Plan your placements around known trap positions. Traps can reshape the board in your favor or work against you; adapting to the layout is key. :::note **One activation per trap.** A trap can only be activated once during the entire game. Once its effect has been triggered, it is disabled for the rest of the game. ::: :::warning **Chain reactions are possible.** For example, if you place a number on a Magnet that pulls another number onto a slot with an active trap, that second trap will also activate immediately. ::: ### Traps
Bomb

Bomb

Reroll the two nearest set numbers after a number is placed here

Lucky

Lucky

Reroll this tile after a number is placed here

Magnet

Magnet

Pull the two nearest set numbers towards this tile

UFO

UFO

Move this tile to a random slot after a number is placed here

Windy

Windy

Push the two nearest set numbers away from this tile