Becoming a Miner
How to Become a Miner of the Subnet
Introduction
Infinite Games miners help power decentralised forecasting by submitting event-based probability predictions. This guide walks you through everything you need — from installing your miner to forecasting with AI.
What Does a Miner Actually Do?
Miners in Infinite Games receive real-time forecasting events and respond with a probability (between 0 and 1) that the event will occur. The data format is pre-defined in neurons/protocol.py. You only need to fill in the probability value. Miners get a new request every 3–5 minutes. You don’t need to recalculate constantly. The baseline miner includes a caching system to save on compute. This is useful if you’re using large LLMs like GPT-4.
How Are Miners Rewarded?
As part of the Bittensor network, our system operates a performance-based reward mechanism. Miners earn TAO in line with their score, calculated according to:
Forecast quality — how accurate your probabilities are.
Forecast timing — the earlier you forecast, the better.
Consistency — failure to forecast leads to penalties.
Events are scored every 4 hours — early, confident predictions pay more.
It is fundamental for a miner to understand deeply the scoring mechanism.
It is explained in details here.
You can find the code here.
What Events Will I Be Predicting?
Events are automatically generated by our LLM pipeline based on triggers from Polymarket and X. Most events focus on geopolitics, economics, crypto, and company earnings.
Examples include: Geopolitical:
Will the US confirm a new arms package to Ukraine by March 20, 2025?
Crypto:
Will the market cap of Bitcoin increase by more than 4.2% on March 25, 2025?
Economic:
Will the 5-Year TIPS bond exceed -2.44% on March 27, 2025??
Earnings:
Will LOCL’s stock open higher the day after its March 28 earnings call?
Polymarket:
Will NDP win 10–15 seats in the upcoming Canadian Election?
STEP-BY-STEP SETUP
Requirements
System:
Minimum requirements to run the public miner:
Storage: 50 GB
RAM: 4–8 GB
Consistent uptime (downtime is penalized)
Optional:
OpenAI or Perplexity API keys if using the built-in LLM forecaster
Tokens:
To register your miner on the network, you’ll need TAO tokens:
Testnet: Faucet TAO is used to simulate registration and prediction. These tokens are free and can be requested via the Bittensor Discord. How this is done is provided below.
Mainnet: Real TAO tokens are required. These can be purchased on supported exchanges (e.g., Kraken, MEXC) and withdrawn to your Bittensor wallet.
Set Up The Environment
Clone the github repo:
git clone https://github.com/amedeo-gigaver/infinite_games.git
Change directory:
cd infinite_games
Create a Virtual Environment:
python -m venv venv
Activate the Virtual Environment:
source venv/bin/activate
Install dependencies:
pip install -r requirements.txt
NOTE: Keep the virtual environment active while running the miner.
Create Wallets
Generate shareable coldkey and hotkey pairs:
btcli wallet new_coldkey --wallet.name miner
btcli wallet new_hotkey --wallet.name miner --wallet.hotkey default
Using an existing wallet? Regenerate it using your private mnemonic:
btcli w regen_coldkey --wallet-path ~/.bittensor/wallets/ \
--wallet-name miner --mnemonic "${MNEMONIC_COLDKEY}"
btcli w regen_hotkey --wallet-name miner --wallet-hotkey default \
--mnemonic "${MNEMONIC_HOTKEY}"
Join the Testnet (Recommended)
Start by testing your miner on our testnet before deploying to mainnet.
Testnet netuid: 155
Mainnet netuid: 6
Get testnet TAO:
Ask in the Bittensor Discord under “Requests for Testnet TAO” using this format:
Testnet netuid: 155
Mainnet netuid : 6
Roles: Miner
Coldkey: - paste your coldkey here -
Do you have your mnemonic phrase for the coldkey written down in a safe place? Yes
Register Keys
btcli subnet register --wallet.name miner --wallet.hotkey default
To register your miner on the testnet add the --subtensor.network
test flag.
Then, follow the prompts:
>> Enter netuid (0): # Enter the appropriate netuid for your environment
Your balance is: # Your wallet balance will be shown
The cost to register by recycle is τ0.000000001 # Current registration costs
>> Do you want to continue? [y/n] (n): # Enter y to continue
>> Enter password to unlock key: # Enter your wallet password
>> Recycle τ0.000000001 to register on subnet:6? [y/n]: # Enter y to register
📡 Checking Balance...
Balance:
τ5.000000000 ➡ τ4.999999999
✅ Registered
Confirm Key Registration
btcli wallet overview --wallet.name miner
To check your miner on the testnet add the --subtensor.network
test flag
The previous command should display the following:
Subnet: 6 (or 155 on testnet)
COLDKEY HOTKEY UID ACTIVE STAKE(τ) RANK TRUST CONSENSUS INCENTIVE DIVIDENDS EMISSION(ρ) VTRUST VPERMIT UPDATED AXON HOTKEY_SS58
miner default 197 True 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0 0.00000 56 none 5GKkQKmDLfsKaumnkD479RBoD5CsbN2yRbMpY88J8YeC5DT4
1 1 1 τ0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 ρ0 0.00000
Wallet balance: τ0.000999999
Confirm Incoming Validator Requests Are Being Accepted
Ensure your firewall doesn't block the port on which validators query your miner. The port can be specified with the argument --axon.port
and by default it is 8091
.
After registering your miner, check your logs to confirm you are receiving forecasting events. If present, you are correctly connected to the network. If not, please check the firewall of your provider as it may be blocking the port queried by validators.
Running a Miner
Run one of the two commands below inside the infinite_games
directory to run your miner.
For the testnet:
python neurons/miner.py --netuid 155 --subtensor.network test --wallet.name miner --wallet.hotkey default
For the mainnet:
python neurons/miner.py --netuid 6 test --wallet.name miner --wallet.hotkey default
Then, install and run PM2 commands:
sudo apt update
sudo apt install npm
sudo apt install npm -g
Confirm PM2 is installed and running correctly:
pm2 ls
Now, run the miner:
pm2 start neurons/miner.py --interpreter python3 --name miner -- --wallet.name miner --netuid 155 --wallet.hotkey default --subtensor.network test --loggin
Modify the command above according to your purpose — for example, changing to the appropriate netuid. Use the explanations for Variables and PM2 Commands below to guide you.
Using the Pre-Built LLM Forecaster
It is available at neurons/miner/forecasters/llm_forecaster.py and may be used for making predictions. To use it:
Get the required API keys:
Set your API keys as environment variables:
export PERPLEXITY_API_KEY=<your_perplexity_api_key>
export OPENAI_API_KEY=<your_openai_api_key>
Open neurons/miner.py#L31 and locate the
assign_forecaster
functionReplace the placeholder forecaster with
LLMForecaster
.Start your miner — it will now use LLM models to forecast events.
Creating Your Own Forecaster (Advanced)
Want to build your own forecasting logic? Here’s how:
Create a new forecaster class based on the existing file: neurons/miner/forecasters/base.py
Implement the
_run
method in your forecasterIt must return a number between 0 and 1.
Event information can be accessed through the
MinerEvent
class neurons/miner/models/event.py
Open neurons/miner.py and find the
assign_forecaster
function. Update it according to purpose — you can even use different forecasters for different types of events. Check the event info insideassign_forecaster
and route accordingly.
Analysing Miner Performance (Advanced)
Before Joining Mainnet:
You can measure your miner's accuracy on testnet using these API endpoints:
Ongoing events: https://ifgames.win/api/v2/events?from_date=1&offset=0&limit=250
Resolved events: https://ifgames.win/api/v2/events/resolved?offset=0&resolved_since=1&limit=100
You can also explore previously broadcasted questions via the main analytics dashboard.
New tools will be available soon to help you benchmark your miner before going live on mainnet.
After Registering on Mainnet:
Monitor how well your miner is doing using the following tools:
analytics.ifgames.win Full dashboard with event resolution data, leaderboard, and miner stats
https://leaderboard.infinitegam.es/
Similar but more structured dashboard
performance.ifgames.win Subnet-wide benchmarking and comparisons
scores.ifgames.win Metagraph scores per event, distance from receiving incentives
For a big-picture view, check Taostats:
Metagraph tab → live miner rankings
Distribution tab → real-time incentive flow
QUICK REFERENCE
Last updated