Connection Profile
- Pool URL:
stratum+tcp://pool.iriumlabs.org:3333 - Username:
IRM_ADDRESS.worker1 - Password:
x - Algorithm: SHA-256d
- Mode: SOLO payout to username wallet address
Technical Whitepaper — Version 2.2 (May 2026)
Irium is a SHA-256d proof-of-work blockchain purpose-built for trustless commerce. Rather than requiring smart contract programming, it implements a deterministic settlement layer as a first-class protocol primitive, enabling buyers and sellers to create binding agreements, submit cryptographic proofs, and release funds without intermediaries. The protocol also maximises network independence through DNS-free bootstrapping, enforces transparent founder vesting via on-chain CLTV timelocks, and prioritises light-client usability from genesis.
Every settlement outcome is determined by on-chain observable data with no external oracles, governance mechanisms, or privileged actors: agreement + proofs + height → outcome.
Current Status: Mainnet live (launched January 5, 2026, node v1.9.49). Settlement layer, reputation system, BTC atomic swaps, marketplace, and all core features operational.
Most established proof-of-work networks inherit architectural assumptions from Bitcoin, including DNS-based bootstrapping, addrman-driven peer discovery, and an absence of protocol-level incentives for fast relay. Irium rethinks these components to produce a mainnet that can launch and sustain itself even if all founding infrastructure disappears.
Irium launched on January 5, 2026 with: - Mined genesis block at Bitcoin-standard difficulty (0x1d00ffff) - Zero DNS dependencies - Complete P2P networking - All services operational
Status: 7/7 implemented and live.
| Parameter | Value |
|---|---|
| Ticker | IRM |
| Algorithm | SHA-256d (Bitcoin-compatible) |
| Max Supply | 100,000,000 IRM |
| Genesis Vesting | 3,500,000 IRM (3.5%) |
| Mineable Supply | 96,500,000 IRM (96.5%) |
| Block Time | 120 seconds (2 min) — V2 fork active at block 24,250 |
| Initial Reward | 50 IRM |
| Halving Interval | 1,050,000 blocks (~4 years at V2 block time) |
| Difficulty Retarget | LWMA v2, 30-block window (activated block 19,740) |
| Node Version | v1.9.49 |
| Desktop App | Irium Core v1.0.77 |
| AuxPoW Merged Mining | Activates at block 26,500 |
| Coinbase Maturity | 100 blocks |
| Min Transaction Fee | 0.0001 IRM (10,000 satoshis) |
| P2P Port | 38291 |
Irium is structured across five protocol layers:
rep1: OP_RETURN prefixIrium separates responsibilities into modular subsystems:
Irium uses double SHA-256 hashing, identical to Bitcoin:
block_hash = SHA256(SHA256(header))
valid_block = block_hash < target
Benefits: - 16+ years of battle-testing - Compatible with Bitcoin mining hardware (ASICs, GPUs) - Well-understood security properties - Existing mining infrastructure
Genesis Block: - Nonce: 1,842,179,559 - Hash: 0000000028f25d65557e9d8d9e991f516c00d68f5aeae10b750645b398bd10a3 (valid mainnet PoW) - Mined: January 5, 2026
Target: 120 seconds per block (2 min) — V2 fork active since block 24,250.
Retarget history:
LWMA v2 derives the next target from recent per-block solve times using a linearly-weighted moving average, providing rapid and stable response to hashrate changes without the oscillation of simple retargets.
Each block must satisfy:
1. block_hash < target (proof-of-work)
2. Merkle root matches transaction tree
3. Timestamp within consensus range
4. All transactions valid (no double-spends)
5. Coinbase reward ≤ subsidy + fees
6. Block connects to valid chain tip
Implementation: src/chain.rs (block header validation)
Total Supply: 100,000,000 IRM (hard cap)
Genesis Vesting (3.5%): 3,500,000 IRM - 1,000,000 IRM unlocks at block 52,560 (~1 year) - 1,250,000 IRM unlocks at block 105,120 (~2 years) - 1,250,000 IRM unlocks at block 157,680 (~3 years)
Mineable Supply (96.5%): 96,500,000 IRM - Distributed via block rewards - Halves every 1,050,000 blocks (~4 years at 2-min block time) - Fair distribution through mining
| Era | Block Range | Reward | Blocks | Total IRM |
|---|---|---|---|---|
| 1 (current) | 1 – 1,050,000 | 50 IRM | 1,050,000 | 52,500,000 |
| 2 | 1,050,001 – 2,100,000 | 25 IRM | 1,050,000 | 26,250,000 |
| 3 | 2,100,001 – 3,150,000 | 12.5 IRM | 1,050,000 | 13,125,000 |
| 4 | 3,150,001 – 4,200,000 | 6.25 IRM | 1,050,000 | 6,562,500 |
| … | Continues halving | … | … | … |
Total mineable: 96,500,000 IRM converging over ~80 years. Genesis vesting (3.5M IRM) + mineable supply = 100M hard cap.
Minimum Fee: 0.0001 IRM (10,000 satoshis)
Fee Distribution: - 90% to block miner - 10% to relay nodes (up to 3 relays) - First relay: 50% of relay pool - Second relay: 30% of relay pool - Third relay: 20% of relay pool
Comparison: - Bitcoin: ~0.001 BTC (~$30-50 USD) - Irium: 0.0001 IRM (fraction of a cent)
Ultra-low fees enable micropayments and frequent transactions.
Problem: DNS is centralized, censorable, and a single point of failure.
Irium Solution:
- Signed seedlist.txt with raw IP multiaddrs (IPv4 + IPv6)
- Signed anchors.json with checkpoint block headers
- Bootstrap script: scripts/irium-zero.sh (no DNS queries)
- Distributed via GitHub, IPFS, torrents
- Signature verification via SSH signatures (sshsig), validated with ssh-keygen -Y verify and bootstrap/trust/allowed_signers
Status: ✅ Implemented and operational
Files:
- bootstrap/seedlist.txt - Seed node IPs
- bootstrap/anchors.json - Chain checkpoints
- scripts/irium-zero.sh - Bootstrap script
Problem: Networks need stable, honest peers; centralized trackers create vulnerabilities.
Irium Solution:
- Uptime proof system (HMAC challenges)
- Peer reputation scoring (0-1000 scale)
- Automatic peer promotion/demotion
- Network 'remembers' reliable peers
- seedlist.runtime updated automatically
Status: ✅ Implemented (src/reputation.rs, src/network.rs, src/p2p.rs)
Implementation Notes:
- P2P message types: UptimeChallenge, UptimeProof
- Capability: uptime_hmac_v1
- HMAC key derived from node ID pair; timestamp window defaults to 5 minutes
Reputation Factors: - Successful connections: +2 points each - Failed connections: -5 points each - Valid blocks shared: +10 points each - Invalid blocks: -50 points each - Uptime proofs: +5 points each
Thresholds: - Trusted peer: Score > 80 - Banned peer: Score < 20
Problem: Founder allocations often lack transparency or enforcement.
Irium Solution: - 3.5M IRM locked in genesis block - 3 separate UTXOs with OP_CHECKLOCKTIMEVERIFY - Unlock heights: 52,560 / 105,120 / 157,680 blocks - Consensus-enforced (cannot be spent early) - Fully transparent in genesis.json - Irreversible timelock
Status: ✅ Implemented in genesis block
Genesis Allocations:
{
"founder_vesting_1y": 1000000 IRM (52560 blocks)
"founder_vesting_2y": 1250000 IRM (105120 blocks)
"founder_vesting_3y": 1250000 IRM (157680 blocks)
}
Problem: No incentive to run relay nodes; slow transaction propagation.
Irium Solution: - Relay nodes earn 10% of transaction fees - Up to 3 relays per transaction - Distribution: 50%, 30%, 20% - Included in coinbase transaction - No supply inflation (comes from tx fees)
Status: ✅ Implemented (src/relay.rs)
Example: - Transaction fee: 0.001 IRM - Relay pool: 0.0001 IRM (10%) - First relay earns: 0.00005 IRM (50%) - Second relay earns: 0.00003 IRM (30%) - Third relay earns: 0.00002 IRM (20%) - Miner earns: 0.0009 IRM (90%)
Problem: Botnets can saturate networks with fake peers.
Irium Solution: - Proof-of-work challenge during handshake - Ephemeral key signing - Timestamp validation (5 minute window) - Configurable difficulty (default: 8 bits) - Trivial for legitimate nodes, prohibitive for bots
Status: ✅ Implemented (src/sybil.rs)
Process: 1. Node A sends PoW challenge to Node B 2. Node B solves challenge (8-bit PoW) 3. Node B returns proof with signature 4. Node A verifies proof and timestamp 5. Connection established if valid
Problem: Eclipse attacks can feed new nodes false chains.
Irium Solution:
- Signed checkpoint headers (anchors.json)
- Multiple trusted signers
- New nodes verify chain against anchors
- Protects even if all peers are malicious
Status: ✅ Implemented (src/anchors.rs)
Anchor Structure:
{
"height": 0,
"hash": "0000000028f25d65557e9d8d9e991f516c00d68f5aeae10b750645b398bd10a3",
"timestamp": 1767583930,
"signatures": ["..."]
}
Problem: Mobile devices can't store full blockchain.
Irium Solution: - SPV (Simplified Payment Verification) - NiPoPoW (Non-Interactive Proofs of Proof-of-Work) - Header-only sync - Merkle proof verification - Superblock proofs for ultra-light clients
Status: ✅ Implemented (header chain, merkle proofs, and NiPoPoW proofs)
Light Client Benefits: - Download only headers (~80 bytes per block) - Verify transactions with merkle proofs - NiPoPoW: Logarithmic proof size - Mobile wallet ready
Problem: No native way to timestamp documents.
Irium Solution: - Coinbase metadata field - Hash pointers to off-chain data - Notarization layer - Immutable timestamp proofs
Status: ✅ Implemented (coinbase OP_RETURN via IRIUM_COINBASE_METADATA / IRIUM_NOTARY_HASH)
Runtime Controls:
- IRIUM_COINBASE_METADATA: arbitrary string (hashed if not 32-byte hex)
- IRIUM_NOTARY_HASH: 32-byte hex hash
Use Cases: - Document timestamping - Code release verification - Copyright proof - Supply chain tracking
Header (80 bytes):
Version (4 bytes)
Previous Hash (32 bytes)
Merkle Root (32 bytes)
Time (4 bytes)
Bits (4 bytes)
Nonce (4 bytes)
Block: - Header (80 bytes) - Transaction count (varint) - Transactions (variable)
UTXO Model (like Bitcoin): - Inputs: References to previous outputs - Outputs: New spendable amounts - Signature: Proves ownership
Transactions are organized in a merkle tree: - Leaves: Transaction hashes - Root: Included in block header - Allows SPV proofs
Message Format:
[Version:1][Type:1][Length:4][Payload:N]
Message Types: - HANDSHAKE (1) - Connection establishment - PING (2) / PONG (3) - Keepalive - GET_PEERS (4) / PEERS (5) - Peer exchange - GET_BLOCKS (6) / BLOCK (7) - Block sync - TX (10) - Transaction propagation
Configuration: - Default port: 38291 - Max peers: 8000 per node (production-optimized for network scale) - Ping interval: 60 seconds (public nodes), 30 seconds (NAT nodes for keepalive) - Peer timeout: 180 seconds - Message timeout: 180 seconds - Cleanup check: 30 seconds
NAT Traversal: - Nodes behind NAT use 30-second ping interval to maintain session keepalive - Public nodes use 60-second interval for efficiency - Both configurations fully compatible and interoperable
Security: - Sybil-resistant handshake - Peer reputation tracking - Automatic cleanup of dead peers - DoS protection (message size limits)
51% Attack: - Requires majority of network hashpower - Economically infeasible for established network - Detected via peer consensus
Double-Spend: - Prevented by UTXO model - Each output can only be spent once - Validated in every block
Long-Range Attack: - Mitigated by anchor checkpoints - New nodes verify against signed anchors - Multiple trusted signers
Eclipse Attack: - Mitigated by anchor file verification - Suspicious peers detected and banned - Multiple seed nodes
Sybil Attack: - PoW handshake prevents mass bot connections - Peer reputation system - Connection limits
DoS Attack: - Message size limits (100KB max per tx) - Mempool limits (1000 tx max) - Peer connection limits (8 max) - Rate limiting
Security Audit Summary: - ✅ Consensus: Secure - ✅ P2P Network: Secure - ✅ Transactions: Secure - ✅ Wallet: Secure
The settlement layer is Irium's primary differentiator. It implements trustless commerce as a first-class protocol primitive without requiring Turing-complete smart contracts.
Agreements encode: parties (buyer + seller addresses), locked amount, deadline, release conditions, and proof type. Policy evaluation is a pure function: agreement + proofs + height → outcome, identical across all full nodes. Release requires a verified proof; refund triggers on timeout.
| Template | Use Case | Status |
|---|---|---|
| Software Delivery | Repo commit hash, CI pass | ✅ Live |
| Service Completion | Contractor work delivery | ✅ Live |
| Physical Delivery | Shipping tracking proof | ✅ Live |
rep1: prefix)QPCore Blockchain: - ✅ Genesis block specification and mining - ✅ Block validation and chain state - ✅ SHA-256d proof-of-work - ✅ Difficulty adjustment - ✅ UTXO tracking - ✅ Transaction validation
P2P Networking: - ✅ Binary message protocol - ✅ Peer discovery and management - ✅ Block propagation
P2P Network Architecture: - ✅ Binary message protocol (13 message types) - ✅ Peer discovery and management (runtime seedlist) - ✅ Block propagation (PUSH-based broadcasting) - ✅ Transaction broadcasting - ✅ Handshake and adaptive keepalive (60s public, 30s NAT) - ✅ NAT traversal support (outbound connections) - ✅ IP:PORT deduplication (multi-service support) - ✅ Self-connection detection (public IP aware)
NAT Support:
Irium fully supports nodes behind NAT/firewalls (same as Bitcoin):
The network requires at least one public bootstrap node. Bootstrap seeds are listed in:
- bootstrap/seedlist.txt (signed baseline)
- bootstrap/seedlist.extra (unsigned additions)
Runtime Seedlist:
Nodes maintain a dynamic peer list (bootstrap/seedlist.runtime):
- Automatically saves discovered peers (incoming + outgoing)
- Persists between restarts for network resilience
- Enables decentralized peer discovery
- Reduces dependency on hardcoded bootstrap nodes
- ✅ Transaction broadcasting
- ✅ Handshake and keepalive
Wallet System: - ✅ Key generation and management - ✅ Transaction creation and signing - ✅ QR code generation - ✅ REST API
Advanced Features: - ✅ Blockchain explorer API - ✅ Advanced mempool with fee prioritization - ✅ Uptime proofs and peer reputation - ✅ Sybil-resistant handshake - ✅ Relay reward system - ✅ Anchor verification - ✅ SPV + NiPoPoW proofs
Settlement & Commerce: - ✅ Settlement layer (escrow, auto-release, milestone, multisig) - ✅ Three proof templates (software, service, physical delivery) - ✅ Marketplace (decentralised P2P offer discovery) - ✅ Reputation system (on-chain anchoring, rep1: prefix) - ✅ BTC atomic swaps (SPV-verified, no custodian, live since block 23,850) - ✅ Python SDK and TypeScript SDK - ✅ WebSocket streaming API
Mainnet Status: ✅ LIVE
Public Services:
- Explorer API: self-hosted via /api (reverse proxy optional)
- Wallet API: self-hosted via /wallet (reverse proxy optional)
- P2P Network: see bootstrap/seedlist.txt for bootstrap seeds
Irium follows rough consensus and public review.
Upgrade Process: 1. Draft improvement proposal 2. Community review and discussion 3. Prototype implementation 4. Multi-stakeholder audit 5. Network upgrade via miner signaling
No on-chain governance; decisions made through code and consensus.
Live (as of v1.9.49):
pool.iriumlabs.org) — ASIC, CPU/GPU, solo, firewall bypassUpcoming:
Real-time pool access layer inside the Irium ecosystem: endpoint, setup profile, and direct actions for miners.
stratum+tcp://pool.iriumlabs.org:3333IRM_ADDRESS.worker1xUse DNS endpoint for resilience. Raw host IP is intentionally not listed for network security.
Irium is a production-ready proof-of-work blockchain built for trustless commerce. The base layer provides SHA-256d PoW security with 2-minute blocks, DNS-free bootstrapping, and NiPoPoW light-client support. The settlement layer adds deterministic escrow, proof-triggered release, on-chain reputation, BTC atomic swaps, and a decentralised marketplace — all live on mainnet as of v1.9.49.
Every outcome is determined by on-chain data alone. No oracles, no admin keys, no privileged actors.
Mainnet: Live since January 5, 2026 | Node: v1.9.49 | App: Irium Core v1.0.77 | License: MIT
Hash: 0000000028f25d65557e9d8d9e991f516c00d68f5aeae10b750645b398bd10a3 Nonce: 1,961,837,199 Timestamp: 1767583930 (January 5, 2026) Merkle Root: cd78279c389b6f2f0a4edc567f3ba67b27daed60ab014342bb4a5b56c2ebb4db Difficulty: 0x1d00ffff (mainnet)
Mining Stats: - Total hashes: 5,405,910,517 - Mining time: 7 hours 4 minutes - Hashrate: 212,670 H/s average
Irium Blockchain © 2025 MIT License - Open Source
Built for true decentralization
Genesis (block 0): Standard Bitcoin difficulty 0x1d00ffff (mined at ~212,670 H/s over 7 hours)
# Standard Bitcoin compact target (genesis calculation)
def to_target(bits: int) -> int:
exponent = bits >> 24
mantissa = bits & 0xFFFFFF
if exponent <= 3:
return mantissa >> (8 * (3 - exponent))
else:
return mantissa << (8 * (exponent - 3))