MINING GUIDE

Live Mainnet SHA-256d Settlement-First Base Layer
⚠ THE STRATUM POOL IS RETIRED — EVERY pool.irium.org ENDPOINT ON THIS PAGE IS OFFLINE

Ports 3333, 3335, 3336, 443 and 80 have been shut down and now refuse connections. Do not point mining hardware at them — the pool cannot produce a valid block and never could under the current rules. Any hashrate sent there earns nothing.

Irium picks each block's producer by verifiable random sortition over registered keys, not by hashrate, so pooling hashrate cannot improve anyone's odds. Since block 66,400 the full 50 IRM reward goes to the single selected proposer. Everything below describing pool connection, ASIC setup or merge mining is obsolete and is kept only until this page is rewritten.

How to mine Irium now

Mining is hardware-neutral: each block's producer is drawn by VRF sortition over registered keys, so an ordinary CPU competes on equal terms and extra hardware buys no advantage. There is no pool, and none is needed.

  1. Download v1.9.192, then sha256sum -c checksums.txt --ignore-missing
  2. Export the mnemonic explicitlycreate-wallet does not print it:
    ./irium-wallet create-wallet --bip32 then ./irium-wallet export-mnemonic --out mnemonic.txt
  3. Choose an RPC token and start the node with it (required — without it the miner loops forever on HTTP 401 Unauthorized):
    export IRIUM_RPC_TOKEN="$(openssl rand -hex 24)" then ./iriumd
  4. Create a proposer secret: openssl rand -hex 32 > poawx_secret.hex
  5. Mine, reusing the same token:
    export IRIUM_NODE_RPC=http://127.0.0.1:38300
    export IRIUM_RPC_TOKEN=<same value as the node>
    export IRIUM_MINER_ADDRESS=<your P... or Q... address>
    export IRIUM_POAWX_MINER_SECRET_HEX="$(cat poawx_secret.hex)"
    ./irium-miner --poawx --threads 1

Expect silence at first. Your key must clear a 16-block freeze window before it can be drawn — about 16–20 blocks, roughly 35–60 minutes. During that time the miner prints only not proposer this slot, which is correct, and there is no "you are now eligible" message. Measured on a real cold start: registered at block 66,564, eligible at 66,584.

Do not pipe the miner into head, grep or tee — its output is block-buffered and it will look frozen. Let it write to the terminal, or redirect to a file and tail -f that.

⚠ Ignore MINING-QUICKSTART.txt and the mine-*.sh / mine-*.bat scripts inside the release archive: they point at the retired pool and do not pass --poawx, so they cannot produce a valid block. They are being corrected in a later release.

Full guide: docs/JOIN-MINING.md

Mining still works — run a full node and the CLI miner: iriumd then irium-miner --poawx. It is hardware-neutral: a commodity CPU is enough, and no ASIC or GPU is required. See the retirement notice and Run your own producer.

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: 2 min (120 s) — V2 fork at block 24,250
  • Block reward: 50 IRM — paid in full to a single VRF-selected miner (from block 66,400)
  • Halving: Every 1,050,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.irium.org:3333
  • CPU/GPU software miners: stratum+tcp://pool.irium.org:3335
  • Solo mining (full reward to finder): stratum+tcp://pool.irium.org:3336
  • Firewall bypass (ISP blocks high ports): stratum+tcp://pool.irium.org:443 — plain TCP only, not TLS
  • Second fallback: stratum+tcp://pool.irium.org:80
  • Algorithm: SHA-256d  |  Fee: 0% (direct coinbase payout)
  • Stats: https://pool.irium.org/stats  |  Stats JSON: http://pool.irium.org:3337/stats

Recommended miners: Irium CPU/GPU miner (bundled in Irium Core v1.0.155), ASIC SHA-256d hardware, T-Rex, lolMiner, NBMiner, cpuminer-opt. Mining secures the live settlement base layer.

1Example CPU miner command
./irium-miner \
--pool stratum+tcp://pool.irium.org:3335 \
--user YOUR_IRIUM_WALLET \
--threads 4
2Example ASIC configuration
  • Pool URL: stratum+tcp://pool.irium.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
ASIC (port 3333)stratum+tcp://pool.irium.org:3333
CPU/GPU (port 3335)stratum+tcp://pool.irium.org:3335
Solo (port 3336)stratum+tcp://pool.irium.org:3336
Fallback (port 443)stratum+tcp://pool.irium.org:443
Worker FormatYOUR_IRM_ADDRESS.worker1
Passwordx
Fee0% — full 50 IRM block reward paid directly to the miner's IRM address
AAntminer / Whatsminer Example
  • Pool 1 (Primary): stratum+tcp://pool.irium.org:3333
  • CPU/GPU software miners: stratum+tcp://pool.irium.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.irium.org/api/pool/account/YOUR_IRM_ADDRESS
  • https://api.irium.org/api/pool/stats
  • https://api.irium.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.irium.org:3333
  • CPU/GPU Endpoint: stratum+tcp://pool.irium.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,500. 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 1,050,000.

From block 66,400 the whole 50 IRM goes to one miner — the block's VRF-selected proposer. There is no role split. Before 66,400 the reward was divided 55% proposer / 22% compute / 13% verify / 10% support.

Selection does not depend on your hardware. The proposer for each block is drawn by verifiable random sortition, and since block 61,414 an eligible proposer's block is checked against a constant floor rather than the full network target — so a CPU, a GPU and an ASIC all have the same chance, and extra hashrate does not improve your odds.

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=26500
./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.