MINING GUIDE

Live Mainnet SHA-256d Settlement-First Base Layer
Why Mine Irium?

Mining secures the live Irium base layer: an independent SHA-256d Proof-of-Work chain being developed toward escrow, agreements, and proof-based commerce.

  • No premine
  • No ICO or presale
  • No VC control
  • No admin keys or override powers

Why mine Irium?

  • Settlement-first mission — miners secure the chain that future escrow and agreement flows depend on.
  • Independent chain — Irium is not a fork and runs its own Rust codebase and networking stack.
  • Mainnet-first philosophy — the live chain is the focus, not a placeholder network.
  • DNS-free resilience — bootstrap and peer recovery are designed around signed data and network survivability.
  • Transparent founder vesting — locked on-chain and auditable rather than policy-based.

Mining Overview

  • Algorithm: SHA-256d
  • Block time: 600 seconds
  • Block reward: 50 IRM
  • Halving: Every 210,000 blocks
  • Coinbase maturity: 100 blocks
  • Max supply: 100,000,000 IRM

Live chain status and miner-visible network conditions are available in the Irium Explorer.

Network Snapshot
572 MH/sNET HASHRATE
174.21DIFFICULTY
0.00% / 0.00%DIFF Δ (1H / 24H)
IRIUM OFFICIAL POOL
  • ASIC / modern firmware: stratum+tcp://pool.iriumlabs.org:3333
  • CPU/GPU third-party miners: stratum+tcp://pool.iriumlabs.org:3335
  • Algorithm: SHA-256d
  • Network: Irium mainnet

Recommended miners: Irium CPU miner, ASIC SHA256 miners, and compatible SHA-256d software miners. Mining keeps the live settlement base layer objective, public, and miner-secured.

1Example CPU miner command
./irium-miner \
--pool stratum+tcp://pool.iriumlabs.org:3335 \
--user YOUR_IRIUM_WALLET \
--threads 4
2Example ASIC configuration
  • Pool URL: stratum+tcp://pool.iriumlabs.org:3333
  • Worker: YOUR_IRIUM_WALLET
  • Password: x
3Pool Status

Connected miners

--

Shares (10 min)

--

Block candidates

--

Submit attempts

--

Last block

--

ASIC / Pool Quick Config
Pool URLstratum+tcp://pool.iriumlabs.org:3333
CPU/GPU URLstratum+tcp://pool.iriumlabs.org:3335
Worker FormatYOUR_IRM_ADDRESS.worker1
Passwordx
ModeSOLO (full block reward goes to the IRM address in the username)
AAntminer / Whatsminer Example
  • Pool 1 (Primary): stratum+tcp://pool.iriumlabs.org:3333
  • CPU/GPU software miners: stratum+tcp://pool.iriumlabs.org:3335
  • Worker: YOUR_IRM_ADDRESS.worker1
  • Password: x

Use the public DNS hostname only. ASICs and modern firmware use 3333; CPU/GPU third-party software miners use 3335.

Important: For pool mining, do not point ASICs or third-party miners at local node RPC (127.0.0.1:38300). Use the Stratum pool endpoint.
Verify You’re Mining

After starting your miner, verify activity using your wallet address.

  • https://api.iriumlabs.org/api/pool/account/YOUR_IRM_ADDRESS
  • https://api.iriumlabs.org/api/pool/stats
  • https://api.iriumlabs.org/api/pool/workers?window=144&limit=20

Expect accepted shares to increase, your worker/address to appear in pool stats, and blocks_found/payout history for your address when applicable.

Miner Downloads

Use the official Irium miner for direct node mining. Use a compatible Stratum miner such as cpuminer-opt for pool mining.

CPU Mining with Official Irium Miner

Direct mining via your own node. You need the node fully synced before starting the miner. Mining on a node that is still syncing can cause stale blocks.

1Install Rust (one time)

Go to rustup.rs and install. Open a new terminal.

2Download + build
git clone https://github.com/iriumlabs/irium.git
cd irium
source ~/.cargo/env
cargo build --release
3Start the node (leave running)

Option A — Simple local run

IRIUM_NODE_CONFIG=configs/node.json ./target/release/iriumd

Option B — systemd service

sudo systemctl enable --now iriumd
sudo journalctl -u iriumd -f
4Wait for sync
curl -k https://127.0.0.1:38300/status
  • If you see no peers: wait a few minutes, make sure outbound TCP 38291 is allowed, and confirm bootstrap/seedlist.txt exists.
  • If height stays 0: start node with IRIUM_NODE_CONFIG=configs/node.json, then restart.
5Create a wallet address
./target/release/irium-wallet init
./target/release/irium-wallet new-address
./target/release/irium-wallet list-addresses

Use the address that starts with Q.

6Start mining
export IRIUM_MINER_ADDRESS=<YOUR_IRIUM_ADDRESS>
./target/release/irium-miner --threads <CORES>

Tip: set --threads to CPU cores you want. Miner auto-loads /etc/irium/miner.env if it exists.

7Check balance
./target/release/irium-wallet balance <YOUR_IRIUM_ADDRESS>

Public Stratum Pool

Mine via Irium Public Pool (SOLO)
  • ASIC / Modern Endpoint: stratum+tcp://pool.iriumlabs.org:3333
  • CPU/GPU Endpoint: stratum+tcp://pool.iriumlabs.org:3335
  • Username: IRM_ADDRESS.worker1
  • Password: x
  • Mode: SOLO (if a block is found, reward pays to the IRM address in the username).
  • Share policy: Accepted shares are canonical block-capable shares on the active profile.

Troubleshooting & advanced

1If the miner starts at height 0
  • The node is still syncing or the miner cannot reach RPC.
  • Check: curl -k https://127.0.0.1:38300/status
  • Make sure IRIUM_NODE_RPC is correct if mining remotely.
2Optional: set an RPC token (fixes HTTP 429)
export IRIUM_RPC_TOKEN=$(openssl rand -hex 24)
# use the same token for node + miner
3Remote mining (miner only)
export IRIUM_NODE_RPC=http://<node-ip>:38300
4Mobile / Termux notes
  • Builds are slow and phones throttle. Keep the session in the foreground or use tmux.
  • Many mobile networks block inbound peers, but outbound sync can still work.
5Common fixes
  • HTTP 401 → token mismatch. Use the same IRIUM_RPC_TOKEN in node + miner.
  • HTTP 429 → set a token or raise IRIUM_RATE_LIMIT_PER_MIN on the node.
6Check logs
sudo journalctl -u irium-miner -f
7Network hashrate (estimate)
curl http://127.0.0.1:38300/rpc/network_hashrate
curl http://127.0.0.1:38300/rpc/network_hashrate?window=120

Returns an estimate using recent blocks: hashrate, difficulty, avg block time, window, sample blocks, and tip height.

Remote Miner Setup

Run the miner on one machine while your node runs on another host.

1Set RPC endpoint
export IRIUM_NODE_RPC=http://<node-ip>:38300
# or
export IRIUM_NODE_RPC=https://<node-ip>:38300
2Set token if required
export IRIUM_RPC_TOKEN=<same-token-configured-on-node>
3Verify node reachability
curl -sS $IRIUM_NODE_RPC/status
# if TLS self-signed
curl -k -sS $IRIUM_NODE_RPC/status
4Start miner
export IRIUM_MINER_ADDRESS=<YOUR_IRIUM_ADDRESS>
./target/release/irium-miner --threads <CORES>

Then verify with Verify You’re Mining.

Merged Mining (AuxPoW)

Mine IRM alongside Bitcoin — free

Irium uses SHA-256d, the same algorithm as Bitcoin. AuxPoW merged mining activates at block 26,347 (~12 June 2026). After that, any SHA-256d pool mining Bitcoin can simultaneously mine IRM at zero additional energy cost. The same work counts for both chains.

All SHA-256d hardware works

Antminer S19/S21, Whatsminer M50/M60, and all other Bitcoin ASICs are fully compatible. No firmware change. No hardware change. Point at the pool and mine.

Block reward: 50 IRM per block

Current block reward is 50 IRM. First halving at block 210,000 — the chain is at height ~20,299. Merge mining earns this reward on top of Bitcoin mining revenue.

Live network stats

Hashrate and difficulty are shown in the Network Snapshot above. Stats are pulled live from the API every page load.

1How it works

When your pool finds a share, it checks if the parent block hash meets the Irium difficulty target. If it does, it submits an AuxPoW block to the Irium network — no extra work from your ASIC.

2For pool operators: deploy irium-stratum
git clone https://github.com/iriumlabs/irium.git
cd irium/pool/irium-stratum
cargo build --release
export IRIUM_RPC_BASE=http://localhost:38300
export IRIUM_RPC_TOKEN=your_token_here
export STRATUM_BIND=0.0.0.0:3333
export IRIUM_AUXPOW_ACTIVATION_HEIGHT=26347
./target/release/irium-stratum

The server handles both standard and AuxPoW modes automatically — it switches at activation height with no manual intervention.

3AuxPoW technical details
  • Version bit: 1 << 8 (value 256) signals an AuxPoW block
  • Commitment magic: 0xfa 0xbe 0x6d 0x6d embedded in parent coinbase
  • Commitment: MAGIC(4) + aux_hash(32) + chain_count(4 LE) + nonce(4 LE)
  • aux_hash = sha256d(Irium 80-byte header)
Troubleshooting & Advanced
1If miner starts at height 0

Node is syncing or miner cannot reach RPC.

curl -k https://127.0.0.1:38300/status

Ensure IRIUM_NODE_RPC is correct for remote mining.

2Optional: set RPC token (fixes HTTP 429)
export IRIUM_RPC_TOKEN=$(openssl rand -hex 24)
# use same token for node + miner
3Remote mining (miner only)
export IRIUM_NODE_RPC=http://<node-ip>:38300
4Mobile / Termux notes
  • Builds are slow and phones throttle; use foreground/tmux.
  • Many mobile networks block inbound peers, outbound sync still works.
5Common fixes
  • HTTP 401 → token mismatch.
  • HTTP 429 → set token or raise IRIUM_RATE_LIMIT_PER_MIN.
6Check logs
sudo journalctl -u irium-miner -f
7Network hashrate (estimate)
curl http://127.0.0.1:38300/rpc/network_hashrate
curl http://127.0.0.1:38300/rpc/network_hashrate?window=120

Returns estimate using recent blocks: hashrate, difficulty, avg block time, window and tip height.