DocsMining Guide
Mainnet is LIVE. Chain ID: tensorium-mainnet. TensorHash v1 is GPU-first and mining rewards are real TXM. Mainnet initial difficulty is 42 bits.

Requirements

ComponentMinimumRecommended
OSLinux x86_64Ubuntu 22.04 / 24.04 LTS
CPU2 cores4+ cores
RAM512 MB2 GB+
Disk1 GB free10 GB+
Port33333 open (P2P)
GPU required for mainnet. Mainnet difficulty starts at 42 bits — a GPU (RTX 3000+) is required. CPU mining is diagnostic only and cannot mine at mainnet difficulty. Use tensorium-miner or the official pool.

Official Pool Mining

The official/reference pool is live at pooltxm.tensoriumlabs.com. Miners connect to the pool Stratum endpoint instead of their own node RPC.

bash — pool mining
YOUR_ADDRESS="txm1your_address_here"

# CUDA GPU miner through pool (recommended for mainnet)
tensorium-miner --mode pool --pool stratum+tcp://pooltxm.tensoriumlabs.com:3333 --wallet "$YOUR_ADDRESS" --worker "$(hostname)" --gpu all --intensity auto
Pool fee disclosure. The official pool charges a transparent 5% fee at payout accounting level. Gross reward, pool fee, and net miner payout are shown on the pool website. Solo miners can avoid the pool fee by mining directly against their own node.
Pool website data scope. The pool website shows pool ledger entries only. Direct or solo-mined blocks settle on-chain to the miner wallet and stay visible in the explorer, but they do not appear in pool payout accounting.
Miner endpointpooltxm.tensoriumlabs.com:3333
Pool fee5% / 500 bps
Treasurytxm1px2nmtp087mz8dv3lplqadwzxawk0c5kg0mt24

Check payout

Open the pool website and paste your miner wallet address in the miner lookup field. The website shows pending net payout and recent pool accounting entries, not every block mined on-chain.

Installation

One-line installer

bash
curl -fsSL https://raw.githubusercontent.com/tensorium-labs/tensorium-core/main/install.sh | bash

Handles binaries, wallet creation, mainnet chain init, seed node sync, and optional systemd setup automatically.

Manual download

bash
# Node + wallet CLI
curl -fsSL -o tensorium-node \
  https://github.com/tensorium-labs/tensorium-core/releases/latest/download/tensorium-node-linux-x86_64
curl -fsSL -o txmwallet \
  https://github.com/tensorium-labs/tensorium-core/releases/latest/download/txmwallet-linux-x86_64

# GPU miner example for RTX 5090 / Blackwell (sm_120)
curl -fsSL -o tensorium-miner \
  https://github.com/tensorium-labs/tensorium-core/releases/latest/download/tensorium-miner-linux-x86_64-sm120

chmod +x tensorium-node txmwallet tensorium-miner
sudo mv tensorium-node txmwallet tensorium-miner /usr/local/bin/

Create a Wallet

bash
export TENSORIUM_WALLET=~/tensorium-node/wallet.json
export TENSORIUM_WALLET_PASSPHRASE="your-strong-passphrase"

mkdir -p ~/tensorium-node
txmwallet create

# Get your mining address
ADDR=$(txmwallet getnewaddress)
echo "Your address: $ADDR"
🔑
Back up wallet.json immediately. Losing this file or your passphrase means losing your funds permanently — no recovery is possible.

Node Setup

bash — init + sync
mkdir -p ~/tensorium-node && cd ~/tensorium-node

# Initialize genesis (~30 seconds at difficulty 26)
TENSORIUM_STATE=~/tensorium-node/state.json \
TENSORIUM_MEMPOOL=~/tensorium-node/mempool.json \
TENSORIUM_BANS=~/tensorium-node/banlist.json \
tensorium-node init

# Sync from seed node
TENSORIUM_STATE=~/tensorium-node/state.json \
TENSORIUM_MEMPOOL=~/tensorium-node/mempool.json \
TENSORIUM_BANS=~/tensorium-node/banlist.json \
tensorium-node sync seed.tensoriumlabs.com:33333
bash — start RPC + P2P (two terminals or use nohup)
# Terminal 1 — RPC (keep on localhost only)
TENSORIUM_STATE=~/tensorium-node/state.json \
TENSORIUM_MEMPOOL=~/tensorium-node/mempool.json \
TENSORIUM_BANS=~/tensorium-node/banlist.json \
TENSORIUM_PEERS=seed.tensoriumlabs.com:33333 \
tensorium-node rpc 127.0.0.1:33332

# Terminal 2 — P2P listener (open to network)
TENSORIUM_STATE=~/tensorium-node/state.json \
TENSORIUM_MEMPOOL=~/tensorium-node/mempool.json \
TENSORIUM_BANS=~/tensorium-node/banlist.json \
tensorium-node p2p-listen 0.0.0.0:33333

Auto-start with systemd

bash
sudo tee /etc/systemd/system/tensorium-rpc.service <<EOF
[Unit]
Description=Tensorium Node RPC
After=network.target
[Service]
Type=simple
User=$(whoami)
Environment=TENSORIUM_STATE=$HOME/tensorium-node/state.json
Environment=TENSORIUM_MEMPOOL=$HOME/tensorium-node/mempool.json
Environment=TENSORIUM_BANS=$HOME/tensorium-node/banlist.json
Environment=TENSORIUM_PEERS=seed.tensoriumlabs.com:33333
ExecStart=/usr/local/bin/tensorium-node rpc 127.0.0.1:33332
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF

sudo tee /etc/systemd/system/tensorium-p2p.service <<EOF
[Unit]
Description=Tensorium Node P2P
After=network.target
[Service]
Type=simple
User=$(whoami)
Environment=TENSORIUM_STATE=$HOME/tensorium-node/state.json
Environment=TENSORIUM_MEMPOOL=$HOME/tensorium-node/mempool.json
Environment=TENSORIUM_BANS=$HOME/tensorium-node/banlist.json
ExecStart=/usr/local/bin/tensorium-node p2p-listen 0.0.0.0:33333
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now tensorium-rpc tensorium-p2p

Solo Mining (GPU)

Connect tensorium-miner directly to your own node RPC. No pool fee — full block reward goes to your address.

bash
YOUR_ADDRESS="txm1your_address_here"
tensorium-miner --mode solo --rpc http://127.0.0.1:33332 --wallet "$YOUR_ADDRESS" --gpu all --intensity auto

Sample output:

tensorium-miner  mode=solo  rpc=http://127.0.0.1:33332  wallet=txm1abc...  gpu=all
Press Ctrl+C to stop.

mining  height=193  bits=40  … ✓  height=193  nonce=12847361029   2.3s  7.52 GH/s
mining  height=194  bits=40  … ✓  height=194  nonce=8734920183    2.1s  7.48 GH/s
mining  height=195  bits=40  … ✓  height=195  nonce=21038475629   2.4s  7.55 GH/s

Expected hashrate by GPU

GPUEst. Hashrate~Block Time (diff 40)
RTX 3060~380 MH/s~3 min
RTX 3080~1.2 GH/s~57s
RTX 4090~2.5 GH/s~27s
RTX 5090~7.5 GH/s~9s

Keep miner running persistently

bash — systemd (GPU solo miner)
sudo tee /etc/systemd/system/tensorium-miner.service <<EOF
[Unit]
Description=Tensorium CUDA GPU Miner
After=tensorium-rpc.service
[Service]
Type=simple
User=$(whoami)
ExecStart=/usr/local/bin/tensorium-miner --mode solo --rpc http://127.0.0.1:33332 --wallet YOUR_TXM_ADDRESS --gpu all --intensity auto
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now tensorium-miner

Rewards

Every block you mine earns 7.8558 TXM (Era 1, mainnet). Rewards require 100 confirmations (~100 minutes) before they are spendable.

bash — check balance
export TENSORIUM_WALLET=~/tensorium-node/wallet.json
export TENSORIUM_WALLET_PASSPHRASE="your-passphrase"
export TENSORIUM_STATE=~/tensorium-node/state.json

txmwallet balance

Track your mined blocks on the Explorer — search your txm1… address.

FAQ

Is TXM worth anything?+
Mainnet is live since 2026-06-02. Mainnet TXM has real value — it can be bridged to Optimism as wTXM and traded. Always conduct your own research. The whitepaper and risk disclosure are at whitepaper.tensoriumlabs.com.
Do I need a GPU?+
Yes. Mainnet difficulty starts at 42 bits — a GPU (RTX 3000+) is required. Use tensorium-miner for solo mining or connect to the pool at pooltxm.tensoriumlabs.com:3333.
Genesis init is taking too long — is it stuck?+
The mainnet genesis is hardcoded in the binary. Running tensorium-node init should be near-instant — it loads the genesis block from binary constants. If it hangs, update to the latest mainnet v1 release.
Balance shows 0 after mining a block?+
Coinbase rewards require 100 block confirmations before they are spendable. Wait for ~100 more blocks, then check again.
What is pool mining?+
Pool mining connects tensorium-miner to pooltxm.tensoriumlabs.com:3333 instead of your own node. The pool charges 5% fee on block rewards and handles payout accounting. The pool website shows pool ledger entries only. Solo mining (connect directly to your own node RPC:33332) is fee-free and settles directly on-chain to your wallet. See pooltxm.tensoriumlabs.com.
Found a bug. Where to report?+
Open an issue on GitHub. Include OS, binary version, and steps to reproduce.