Miner
Your ASIC does the hashing. Its web screen usually asks for a pool URL, username, and password.
Release prep
You have a Kaspa ASIC and a node. The missing piece is a Stratum bridge. Your miner speaks Stratum. Your Kaspa node speaks Kaspa RPC. The bridge sits between them.
Status checked June 29, 2026: Rusty Kaspa v2.0.1 can be used as the Toccata upgrade release. The Rusty Kaspa Stratum Bridge is marked beta in the official docs. Toccata remains DAA-gated at 474,165,565 until mainnet reaches the activation score.
Plain version
Your ASIC does the hashing. Its web screen usually asks for a pool URL, username, and password.
The Rusty Kaspa Stratum Bridge accepts the miner connection and talks to a Kaspa node.
Your node gives the bridge block templates and receives solved blocks.
The address in the miner username is where a solo block reward should go if your miner finds a block.
Solo mining has variance. A connected miner can submit shares for a long time without finding a block. Shares prove the miner is talking to the bridge. A block reward arrives only if your hardware finds a valid block.
Quick path
Use one computer for the node and bridge. Keep two terminal windows open on that computer, then open the miner web screen in your browser.
kaspad. Leave it open.stratum-bridge. Leave it open.http://127.0.0.1:3030/ on the node computer.5555.Keep the node, bridge, and miner on the same local network for the first setup. Do not expose RPC, dashboard, or Stratum ports to the public internet while learning.
What you need
An IceRiver, Bitmain, Goldshell, or another compatible Kaspa ASIC. The bridge docs also list BzMiner support.
A computer running Rusty Kaspa v2.0.1 or newer. The safer beginner setup runs bridge and node on the same machine.
A Kaspa address for rewards. Copy it carefully. Never paste a private key into miner or bridge settings.
The IP address of the node computer on your home network, such as 192.168.1.10.
The Rusty Kaspa release archive includes the stratum-bridge binary and the sample config path bridge/config.yaml.
Solo mining is lumpy. A working setup can show shares while block rewards remain rare.
Download
Use the official Rusty Kaspa v2.0.1 release page. Download the archive that matches the computer running your node and bridge.
| Computer | Release asset |
|---|---|
| Windows | rusty-kaspa-v2.0.1-win64.zip |
| macOS | rusty-kaspa-v2.0.1-osx.zip |
| Linux, 64-bit Intel/AMD | rusty-kaspa-v2.0.1-linux-amd64.zip |
Use the release asset for your operating system. Skip the GitHub Source code zip and the WASM SDK zip; they are for different jobs.
Extract
The commands below run from the extracted Rusty Kaspa folder on your computer. GitHub supplies the download. The unopened zip stores the files. The terminal needs the extracted folder.
Right-click the downloaded zip, choose Extract All, then open the extracted folder. You should see kaspad.exe, stratum-bridge.exe, and a bridge folder.
Double-click the zip. Safari may already have made the folder for you. Open the extracted folder and look for kaspad, stratum-bridge, and bridge/config.yaml.
Use your file manager's Extract option, or run unzip rusty-kaspa-v2.0.1-linux-amd64.zip. Then enter the extracted folder before running commands.
When this guide says "open a terminal in that folder," it means the extracted Rusty Kaspa folder that contains the node, bridge, and bridge/config.yaml.
Pick your route
| Your setup | Use this route |
|---|---|
| Node already runs on Windows | Use the Windows bridge command in external-node mode, then point the ASIC at the Windows computer's local IP. |
| Node already runs on macOS or Linux | Use the macOS / Linux bridge command in external-node mode, then point the ASIC at that computer's local IP. |
| You downloaded Rusty Kaspa but have not started the node | Start kaspad first, wait for sync, then start the bridge. |
| You want the bridge to start its own node | Use in-process mode from the official bridge docs. The beginner route below uses external-node mode because you said you already have a node. |
| Your node is on another computer | Keep the first attempt on one machine if possible. If the node stays remote, edit the bridge config so kaspad_address points to that node's RPC address. |
Step 1
First, get into the extracted Rusty Kaspa folder. On Windows, open the folder in File Explorer, click the address bar, type powershell, and press Enter. On macOS or Linux, open Terminal, type cd , drag the extracted folder into Terminal, and press Enter.
Run the node command for your system. Keep this window open. The bridge needs the node to stay running.
.\kaspad.exe --utxoindex --rpclisten=127.0.0.1:16110
./kaspad --utxoindex --rpclisten=127.0.0.1:16110
Let the node sync before expecting useful mining results. If your node already runs with your own flags, keep your normal flags and add the RPC listen setting only if the bridge cannot reach the node. The official bridge docs use 127.0.0.1:16110 for the node RPC address.
.\stratum-bridge.exe --config bridge/config.yaml --node-mode external
Then open the dashboard in a browser on the node computer:
http://127.0.0.1:3030/
To check whether the bridge is listening on port 5555:
netstat -ano | findstr :5555
To turn on more detailed bridge logs before starting it:
$env:RUST_LOG="info,kaspa_stratum_bridge=debug"
If PowerShell says it cannot find bridge/config.yaml, you are probably in the wrong folder. If the dashboard does not open, the sample config may not be loaded or the bridge may have stopped. Read the last few lines in terminal window B.
chmod +x ./stratum-bridge
./stratum-bridge --config bridge/config.yaml --node-mode external
Then open the dashboard in a browser on the node computer:
http://127.0.0.1:3030/
To check whether the bridge is listening on port 5555:
lsof -i :5555
To turn on more detailed bridge logs for one run:
RUST_LOG="info,kaspa_stratum_bridge=debug" ./stratum-bridge --config bridge/config.yaml --node-mode external
If Terminal says it cannot find bridge/config.yaml, you are probably in the wrong folder. On macOS, Gatekeeper may ask you to approve a downloaded binary. Use your normal security process and only run binaries from the official Rusty Kaspa release page.
The official bridge docs also show in-process mode. In that mode the bridge starts kaspad in the same process.
.\stratum-bridge.exe --config bridge/config.yaml --node-mode inprocess -- --utxoindex --rpclisten=127.0.0.1:16110
./stratum-bridge --config bridge/config.yaml --node-mode inprocess -- --utxoindex --rpclisten=127.0.0.1:16110
Use the -- separator exactly as shown. Bridge flags go before it. Node flags go after it.
Step 3
Your miner needs the local network address of the computer running the bridge. It usually looks like 192.168.x.x or 10.0.x.x.
ipconfig
Look for the active Wi-Fi or Ethernet adapter and copy the IPv4 Address.
ipconfig getifaddr en0
If Ethernet is active, System Settings can be easier: Network, then your active connection, then Details.
hostname -I
Use the address on the same network as your miner.
Step 4
Open your miner's web screen. If you do not know the miner's IP address, check your router's connected-device list or the setup tool from the miner manufacturer. Type the miner IP into a browser, sign in, then find the mining or pool configuration page.
Use the bridge computer's local IP address and one of the Stratum ports from the sample config. Start with port 5555.
| Miner field | Put this in | Example |
|---|---|---|
| Pool URL | <node-computer-ip>:5555 |
192.168.1.10:5555 |
| Username / worker | kaspa:YOUR_WALLET_ADDRESS.WORKERNAME |
kaspa:kaspa:qq...abcd.ks0 |
| Password | Use the miner UI default if it requires a value. | x is common in miner UIs, but the Rusty Kaspa bridge docs define only pool URL and username. |
A Kaspa address already starts with kaspa:, so the username can look like kaspa:kaspa:.... That matches the official bridge format. Some miner screens want a URL prefix. The official bridge docs show the pool URL as <your_pc_IPv4>:<stratum_port>. If your miner rejects that, check its manual for the exact Stratum URL format.
The bridge docs say the bridge automatically detects several miner and mining-software types and adjusts the protocol handling. The setup screen still belongs to the miner manufacturer, so labels can differ.
The bridge docs list IceRiver support and say these miners require extranonce plus a single hex string job format.
The bridge docs list Bitmain and GodMiner support and say these miners use no extranonce, with array plus timestamp job format.
The bridge docs list BzMiner support and say it requires extranonce plus a single hex string job format.
The bridge docs list Goldshell support and say it requires extranonce plus a single hex string job format.
For a beginner, the practical fields are still the same: pool URL, username or wallet field, and password if the miner UI requires one.
The sample config exposes several Stratum ports. Start with 5555. Use lower difficulty ports only when you are troubleshooting a connection or the bridge docs tell you to match a weaker worker.
| Port | Sample config purpose |
|---|---|
5559 | Very low-difficulty workers. |
5560 | Low-difficulty workers. |
5561 | Medium-difficulty workers. |
5555 | Higher-difficulty workers. Start here for a normal ASIC setup. |
5556, 5557, 5558 | Higher difficulty ports. |
The bridge should keep running and show miner connection or job activity.
Open http://127.0.0.1:3030/. Look for active workers, shares, hashrate, and recent activity.
The miner should show an active pool, accepted shares, and hashrate.
The node should stay synced and continue receiving network updates.
Accepted shares are a setup signal. A found block is the reward event. Solo mining can be configured correctly while rewards remain rare.
Toccata changes the mining path because post-activation block templates can contain new transaction fields. The official node guide warns pools and custom mining stacks to preserve those fields from block template to solved block submission.
Use Rusty Kaspa v2.0.1 or newer for the node and bridge path.
Mainnet activation is scheduled at DAA score 474,165,565. Check Toccata status before calling it live.
Custom mining software must preserve post-Toccata fields such as transaction version, storage mass, compute budget, and covenant outputs.
Use Testnet-10 where possible before relying on a mainnet mining path after activation.
| Symptom | Check |
|---|---|
| Miner says pool dead | Use the node computer's local IP address inside the miner screen. 127.0.0.1 points the miner back at itself. |
| Dashboard is empty | Check the bridge is still running, the miner is on the same network, and the pool URL uses a port from the sample config. |
| Bridge cannot reach node | Confirm the node is running with RPC at 127.0.0.1:16110 or update the bridge config to the node's RPC address. |
| Firewall blocks connection | Allow the Stratum port on the node computer for your local network. |
| No rewards | Check shares first. Rewards need a solved block, and solo mining variance can be brutal. |
| Toccata activation day | Recheck versions and logs. After activation, blocks that strip new fields can be invalid. |
Keep node RPC, the bridge dashboard, and Stratum ports on your local network while learning. Public ports invite avoidable trouble.
Use a public Kaspa receive address for the miner username. Never paste a seed phrase or private key into miner, bridge, or dashboard settings.
Accepted shares show the miner is talking to the bridge. They do not mean a payout is coming soon. Solo rewards need a found block.
After Toccata activation, use current node, bridge, pool, and custom mining software. Old software can drop new block-template fields.
Rusty Kaspa Stratum Bridge docs cover beta status, external-node mode, in-process mode, dashboard, ports, miner setup, and the username format.
Sample bridge config shows the default dashboard port, Stratum ports, and bridge settings.
Toccata node setup guide covers v2.0.1 upgrade guidance, miner and pool checks, fee policy, and post-Toccata field preservation.
Rusty Kaspa v2.0.1 release has the Windows, macOS, and Linux archives used in this guide.
Kaspa Explained Toccata status tracks the DAA-gated activation check separately from the setup instructions.