Plug in.
Mine the thread.
No founder allocation. No pre-mine. Zero admin keys. Every TWL in circulation was earned by someone running a node. The short version is below — the canonical, full-fat instructions live in JOIN.md.
Build from source
# Install Rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh rustup target add wasm32-unknown-unknown # Linux sudo apt-get install -y clang libclang-dev protobuf-compiler # macOS brew install protobuf # Clone + build git clone https://github.com/twill-net/twill cd twill cargo build --release cp target/release/twill ./twill
Connect to mainnet
mkdir -p chain-data ./twill \ --base-path ./chain-data \ --chain mainnet-raw.json \ --rpc-port 9944 \ --rpc-cors none \ --rpc-methods Safe \ --no-telemetry \ --no-prometheus
The genesis bootnode is embedded in mainnet-raw.json — peers are discovered automatically. Leave this running in one terminal.
Guard the mnemonic
./twill key generate --scheme sr25519
npm + GPU helper
# JS orchestration dependencies cd scripts npm install cd .. # GPU helper (strongly recommended) cargo build --release -p twill-miner
scripts/mine.js handles RPC, signing and submission. twill-miner is a separate crate that runs the SHA-256 brute force on your GPU via a WGSL compute shader (Vulkan / Metal / DX12). The JS script auto-detects the binary once it's built.
One command
MNEMONIC="your twelve words here" \
node scripts/mine.js
Force CPU fallback with TWILL_MINER=cpu — fine for dev chain, useless at mainnet difficulty. Point at a different RPC with RPC=ws://host:9944.
Polkadot.js Apps
Open Polkadot.js Apps and connect to your node's RPC (ws://127.0.0.1:9944). Under Accounts add your SS58 address to watch the balance. Under Developer → Chain State → mining → totalMinted you can see total TWL mined across the network.
Engine: gpu (target/release/twill-miner) ✓ Block mined! Reward: 1.189 TWL → 5GrwvaEF5z… Hash attempts: 847
Linux x86_64 or macOS (Apple Silicon or Intel) · GPU recommended (Vulkan / Metal / DX12) · Rust toolchain · Node.js 18+ · ~2 GB disk for chain data.
| Allocation | Amount | How |
|---|---|---|
| Mining pool | 50,000,000 (100%) | Block rewards, halving every 21,024,000 blocks |
| Pre-mine | 0 | — |
| Founder allocation | 0 | — |
| Dev fund | 0 | — |
| Team treasury | 0 | — |
The on-chain community treasury receives 20% of every settlement fee. Disbursements require a governance proposal. Stakers receive the other 80%. The block reward itself is 100% to the miner — no split.