# SoloLuck

> Follow Bitcoin solo mining from a workflow with SoloLuck, a 0% fee solo pool: check its Bitcoin, Bitcoin Cash and DigiByte pools, track any miner by payout address, see the top miners and the Bitcoin network's state, and pull SoloLuck's open data on every block found by a home miner and on every public solo pool's size.

App · 7 actions. Web page: https://docs.lodol.com/docs/integrations/sololuck

## Actions

### Get Bitcoin network status

Get where the Bitcoin network stands, read from SoloLuck's own node: block height, difficulty and total hashrate, what the next block pays, how far off the halving and the next difficulty adjustment are, the bitcoin price, and which pools found the latest blocks.

**Inputs**: None.

**Outputs**

- `block_height` (number): The latest Bitcoin block height.
- `block_subsidy_btc` (number): New bitcoin minted per block right now.
- `blocks_to_difficulty_adjustment` (number): Blocks until difficulty next adjusts.
- `blocks_to_halving` (number): Blocks until the next halving.
- `btc_price_usd` (number): The bitcoin price in US dollars.
- `difficulty` (number): Bitcoin's current mining difficulty.
- `expected_difficulty_change_percent` (number): The expected change at that adjustment, in percent.
- `halving_height` (number): The block height of the next halving.
- `network_hashrate` (text): Bitcoin's total hashrate, readable.
- `network_hashrate_hs` (number): Bitcoin's total hashrate in H/s.
- `next_block_fees_btc` (number): The fees part of that reward, in BTC.
- `next_block_height` (number): The height of the block being mined now.
- `next_block_reward_btc` (number): What the block being mined pays its finder: subsidy plus fees.
- `next_block_transactions` (number): Transactions in that block.
- `node_synced` (true/false): Whether SoloLuck's node is fully synced.
- `recent_blocks` (list): The last dozen or so Bitcoin blocks, newest first.
- `subsidy_after_halving_btc` (number): The block subsidy after it.
- `tip_hash` (text): The hash of the latest block.
- `updated_at` (text): When SoloLuck took this snapshot (ISO 8601, UTC).

**Example output**

```json
{
  "block_height": 971605,
  "block_subsidy_btc": 3.125,
  "blocks_to_difficulty_adjustment": 107,
  "blocks_to_halving": 78395,
  "btc_price_usd": 82210.0,
  "difficulty": 132716002350731.3,
  "expected_difficulty_change_percent": 6.68,
  "halving_height": 1050000,
  "network_hashrate": "1.15 ZH/s",
  "network_hashrate_hs": 1.146401704582227e+21,
  "next_block_fees_btc": 0.05466699,
  "next_block_height": 971606,
  "next_block_reward_btc": 3.17966699,
  "next_block_transactions": 3952,
  "node_synced": true,
  "recent_blocks": [
    {
      "found_at": "2026-10-15T17:31:37Z",
      "height": 971605,
      "mined_by": "AntPool"
    }
  ],
  "subsidy_after_halving_btc": 1.5625,
  "tip_hash": "00000000000000000001eedc35b9003c5db425de5dbd86e80d5bd88e86898641",
  "updated_at": "2026-10-15T18:07:24Z"
}
```

### Get miner stats

Look up one miner on SoloLuck's Bitcoin pool by the address it pays out to: whether it's mining now, its hashrate, each machine, its best share and its odds of finding a block. An address that has never mined at SoloLuck comes back with 'found' set to false rather than an error.

**Inputs**

- Bitcoin address (`address`, text, required): The Bitcoin address the miner pays out to: the one set as its username on SoloLuck.

**Outputs**

- `acceptance_percent` (number): Accepted work as a percent of all work.
- `address` (text): The Bitcoin payout address looked up.
- `best_share` (number): The hardest share this address has ever found.
- `best_share_24h` (number): The hardest share in the last 24 hours.
- `closest_to_block` (text): How close the best share came to a block, as '1 in N'.
- `expected_time_to_block` (text): How long, on average, this hashrate takes to find a block at today's difficulty, for example '≈ 187 years'.
- `found` (true/false): Whether this address has ever mined at SoloLuck. When false, the stats are empty.
- `hashrate` (text): Hashrate over the last hour, readable.
- `hashrate_1d_hs` (number): Hashrate over the last day, in H/s.
- `hashrate_1h_hs` (number): Hashrate over the last hour, in H/s.
- `hashrate_1m_hs` (number): Hashrate over the last minute, in H/s.
- `hashrate_5m_hs` (number): Hashrate over the last 5 minutes, in H/s.
- `hashrate_7d_hs` (number): Hashrate over the last week, in H/s.
- `last_share_at` (text): When it last sent a share (ISO 8601, UTC).
- `miner_page_url` (text): The miner's logbook on sololuck.io.
- `mining_now` (true/false): Whether it is sending shares right now.
- `mining_since` (text): When it first mined at SoloLuck (ISO 8601, UTC).
- `pool_payout_equivalent` (text): What a pay-per-share pool would pay for this work, for example '4,566 sats/day'.
- `share_of_network` (text): This miner's slice of all Bitcoin hashpower, as '1 in N'.
- `shares_accepted` (number): Total work accepted, in share difficulty.
- `shares_rejected` (number): Total work rejected, in share difficulty.
- `updated_at` (text): When SoloLuck took this snapshot (ISO 8601, UTC).
- `worker_count` (number): Machines mining to this address.
- `workers` (list): Each machine mining to this address.

**Example output**

```json
{
  "acceptance_percent": 99.94,
  "address": "bc1qmvlh5nhz584ftj2ahm7waekqyafx2uft2ucwfl",
  "best_share": 254128361028.0,
  "best_share_24h": 3306417930.0,
  "closest_to_block": "1 in 522",
  "expected_time_to_block": "\u2248 187 years",
  "found": true,
  "hashrate": "96.4 TH/s",
  "hashrate_1d_hs": 97400000000000.0,
  "hashrate_1h_hs": 96400000000000.0,
  "hashrate_1m_hs": 123000000000000.0,
  "hashrate_5m_hs": 102000000000000.0,
  "hashrate_7d_hs": 97400000000000.0,
  "last_share_at": "2026-10-15T18:07:43Z",
  "miner_page_url": "https://sololuck.io/users/bc1qmvlh5nhz584ftj2ahm7waekqyafx2uft2ucwfl",
  "mining_now": true,
  "mining_since": "2026-07-15T21:39:59Z",
  "pool_payout_equivalent": "4,566 sats/day",
  "share_of_network": "1 in 11.9 million",
  "shares_accepted": 161486825998.0,
  "shares_rejected": 102388716.0,
  "updated_at": "2026-10-15T18:07:51Z",
  "worker_count": 1,
  "workers": [
    {
      "best_share": 254128361028.0,
      "hashrate": "96.4 TH/s",
      "hashrate_1d_hs": 97400000000000.0,
      "hashrate_1h_hs": 96400000000000.0,
      "hashrate_1m_hs": 123000000000000.0,
      "last_share_at": "2026-10-15T18:07:43Z",
      "name": "s19",
      "online": true
    }
  ]
}
```

### Get pool hashrate history

Get SoloLuck's pool hashrate over the last day, one sample every 10 minutes, with the average, lowest and highest: ready for a chart or a daily report.

**Inputs**

- Pool (`coin`, text): Which pool's history to read. DigiByte's pool doesn't publish one. One of: `bitcoin`, `bitcoin_cash` (Bitcoin Cash). Default: `bitcoin`.
- Hours (`hours`, number): How many of the last 24 hours to return. From 1 to 24. Default: `24`.

**Outputs**

- `average_hashrate` (text): Average over the window, readable.
- `average_hashrate_hs` (number): Average over the window, in H/s.
- `coin` (text): The pool's coin.
- `count` (number): How many samples came back.
- `highest_hashrate_hs` (number): Highest sample in the window, in H/s.
- `lowest_hashrate_hs` (number): Lowest sample in the window, in H/s.
- `samples` (list): One sample per 10 minutes, oldest first.

**Example output**

```json
{
  "average_hashrate": "197 TH/s",
  "average_hashrate_hs": 197142857142857.16,
  "coin": "Bitcoin",
  "count": 1,
  "highest_hashrate_hs": 197142857142857.16,
  "lowest_hashrate_hs": 197142857142857.16,
  "samples": [
    {
      "hashrate": "197 TH/s",
      "hashrate_hs": 197142857142857.16,
      "time": "2026-10-15T18:00:00Z",
      "workers": 65
    }
  ]
}
```

### Get pool stats

Get the headline numbers for SoloLuck's Bitcoin, Bitcoin Cash or DigiByte solo pool: whether it's online, its hashrate, how many miners and machines are connected, the best share it has seen, blocks found, and the coin's network difficulty and hashrate.

**Inputs**

- Pool (`coin`, text): Which of SoloLuck's pools to read. One of: `bitcoin`, `bitcoin_cash` (Bitcoin Cash), `digibyte`. Default: `bitcoin`.

**Outputs**

- `best_share` (number): The hardest share (difficulty) the pool has ever seen; a block needs one at least as hard as the network difficulty.
- `block_height` (number): The coin's current block height.
- `blocks_found` (number): Blocks this pool has found.
- `blocks_found_note` (text): SoloLuck's own caveat about the blocks count, when it gives one.
- `coin` (text): The pool's coin: Bitcoin, Bitcoin Cash or DigiByte.
- `fee_percent` (number): The pool's fee as a percent of a found block.
- `hashrate` (text): Readable hashrate, for example '198 TH/s'.
- `hashrate_1h_hs` (number): Average hashrate over the last hour, in H/s.
- `hashrate_24h_hs` (number): Average hashrate over the last day, in H/s.
- `hashrate_hs` (number): The pool's hashrate right now, in hashes a second.
- `miners` (number): Payout addresses mining right now.
- `network_difficulty` (number): The coin's current mining difficulty.
- `network_hashrate` (text): The whole network's hashrate, readable.
- `network_hashrate_hs` (number): The whole network's hashrate, in H/s.
- `online` (true/false): Whether the pool and its node are up.
- `pool_url` (text): The pool's page on sololuck.io.
- `stratum_url` (text): The address to point a miner at.
- `symbol` (text): The coin's ticker, such as BTC.
- `updated_at` (text): When SoloLuck took this snapshot (ISO 8601, UTC).
- `workers` (number): Mining machines connected right now.

**Example output**

```json
{
  "best_share": 400931539196.0,
  "block_height": 971605,
  "blocks_found": 0,
  "blocks_found_note": null,
  "coin": "Bitcoin",
  "fee_percent": 0.0,
  "hashrate": "202 TH/s",
  "hashrate_1h_hs": 198000000000000.0,
  "hashrate_24h_hs": 194000000000000.0,
  "hashrate_hs": 202000000000000.0,
  "miners": 37,
  "network_difficulty": 132716002350731.3,
  "network_hashrate": "1.15 ZH/s",
  "network_hashrate_hs": 1.146401704582227e+21,
  "online": true,
  "pool_url": "https://sololuck.io",
  "stratum_url": "stratum+tcp://stratum.sololuck.io:3333",
  "symbol": "BTC",
  "updated_at": "2026-10-15T18:07:28Z",
  "workers": 47
}
```

### Get solo mining census

Compare every public Bitcoin solo pool (CKPool Solo, Public Pool, SoloLuck and others): each one's miners and hashrate, their combined share of the network, the most common home mining devices, and the chance a home miner finds a block this month. Read it live, or pick a past week's frozen edition. The data is CC BY 4.0, so credit it with the 'attribution' line when you publish it.

**Inputs**

- Edition (`edition`, text): Live figures, or a past week's medians. Pick from the list or type a week like 2026-W41. Default: `current`.

**Outputs**

- `as_of` (text): When these figures were taken or frozen (ISO 8601).
- `attribution` (text): The credit line to use when you publish the data.
- `bitaxe_count` (number): Bitaxe devices counted.
- `chance_home_block_this_month_percent` (number): Chance that some home miner finds a block within a month, in percent (a lower bound).
- `devices` (list): The 10 most common mining devices on Public Pool.
- `edition` (text): 'current' for live figures, or the week, like 2026-W41.
- `figures` (text): 'Live readings' or 'Weekly medians'.
- `home_miner_hashrate_hs` (number): Hashrate from home devices such as Bitaxe, in H/s.
- `license` (text): The census licence (CC BY 4.0).
- `network_hashrate_hs` (number): Bitcoin's total hashrate, in H/s.
- `period_end` (text): End of the week; empty for live figures.
- `period_start` (text): Start of the week, or of the census for live figures (ISO 8601).
- `pools` (list): Each public solo pool, biggest first.
- `pools_not_publishing` (list): Solo pools that publish no stats, so aren't counted.
- `report_url` (text): The census page on sololuck.io.
- `solo_hashrate` (text): All public solo pools together, readable.
- `solo_hashrate_hs` (number): All public solo pools together, in H/s.
- `solo_share_of_network_percent` (number): Solo pools' share of Bitcoin's hashpower, in percent.

**Example output**

```json
{
  "as_of": "2026-10-12T00:07:01Z",
  "attribution": "SoloLuck.io, Solo Mining Census 2026-W41, https://sololuck.io/census/2026-w41 (CC BY 4.0)",
  "bitaxe_count": 16562,
  "chance_home_block_this_month_percent": 11.54,
  "devices": [
    {
      "average_hashrate": "1.05 TH/s",
      "count": 16562,
      "device": "bitaxe",
      "hashrate_hs": 1.7363985856868242e+16
    }
  ],
  "edition": "2026-W41",
  "figures": "Weekly medians",
  "home_miner_hashrate_hs": 2.6589686619037504e+16,
  "license": "CC BY 4.0",
  "network_hashrate_hs": 9.500181495870835e+20,
  "period_end": "2026-10-12T00:00:00Z",
  "period_start": "2026-10-05T00:00:00Z",
  "pools": [
    {
      "blocks_published": null,
      "fee": "2% of block reward",
      "hashrate": "216 PH/s",
      "hashrate_hs": 2.16e+17,
      "id": "ckpool",
      "miners": 32827,
      "name": "CKPool Solo",
      "run_by_sololuck": false,
      "url": "https://solo.ckpool.org",
      "workers": 54005
    }
  ],
  "pools_not_publishing": [
    "Braiins Solo"
  ],
  "report_url": "https://sololuck.io/census/2026-w41",
  "solo_hashrate": "291 PH/s",
  "solo_hashrate_hs": 2.9097633706115475e+17,
  "solo_share_of_network_percent": 0.0306
}
```

### List solo-mined blocks

List Bitcoin blocks found by small and home solo miners on any public solo pool, newest first, from SoloLuck's open Solo Block Record: the pool, the hardware, the reward and the odds the winner beat. Filter by pool or by date. The data is CC BY 4.0, so credit it with the 'cite_as' line when you publish it.

**Inputs**

- Pool (`pool`, text): Only blocks found on this pool. Leave empty for all.
- Found on or after (`found_after`, date): Only blocks found on or after this day.
- Found on or before (`found_before`, date): Only blocks found on or before this day.
- How many blocks (`limit`, number): How many blocks to return, newest first. From 1 to 100. Default: `10`.

**Outputs**

- `blocks` (list): Matching blocks, newest first.
- `cite_as` (text): The credit line to use when you publish the data.
- `count` (number): How many blocks came back.
- `license` (text): The record's licence (CC BY 4.0).
- `record_version` (text): The date the record last changed.
- `total_in_record` (number): How many blocks the record holds.
- `total_matching` (number): How many blocks match the filters in all.

**Example output**

```json
{
  "blocks": [
    {
      "block_url": "https://mempool.space/block/966351",
      "difficulty": 127451000000000.0,
      "expected_years_per_block": null,
      "found_on": "2026-09-10",
      "hardware": "hashrate not publicly reported",
      "hashrate": null,
      "hashrate_hs": null,
      "height": 966351,
      "note": null,
      "odds_per_day": null,
      "pool": "Braiins Solo",
      "record_url": "https://sololuck.io/legends/966351",
      "reported_by": "mempool.space (block 966351)",
      "reward_btc": 3.1473,
      "reward_usd_reported": null,
      "source_url": "https://mempool.space/block/000000000000000000014efb268b516c0f0dbbf7d45c1e3edbca9262f816b2ac",
      "story": "Braiins Solo's fourth block."
    }
  ],
  "cite_as": "SoloLuck.io, \"The Solo Block Record\", version 2026-10-11, https://sololuck.io/legends (CC BY 4.0)",
  "count": 1,
  "license": "CC BY 4.0",
  "record_version": "2026-10-11",
  "total_in_record": 42,
  "total_matching": 4
}
```

### List top miners

List the addresses hashing hardest on SoloLuck's Bitcoin pool right now, with each one's hashrate, best share and how long it has mined without a break. Each address can go straight into Get miner stats.

**Inputs**

- How many miners (`limit`, number): How many miners to return, from the top. From 1 to 10. Default: `10`.
- Include the operator's machines (`include_operator`, true/false): Whether to include the machines the pool's operator runs, which SoloLuck labels on its board. Default: `true`.

**Outputs**

- `count` (number): How many miners came back.
- `miners` (list): The top miners, hardest-hashing first.
- `miners_online` (number): All payout addresses mining at SoloLuck now.
- `updated_at` (text): When SoloLuck took this snapshot (ISO 8601, UTC).

**Example output**

```json
{
  "count": 1,
  "miners": [
    {
      "address": "bc1qmvlh5nhz584ftj2ahm7waekqyafx2uft2ucwfl",
      "best_share": 254128361028.0,
      "closest_to_block": "1 in 522",
      "hashrate": "95.9 TH/s",
      "hashrate_hs": 95900000000000.0,
      "miner_page_url": "https://sololuck.io/users/bc1qmvlh5nhz584ftj2ahm7waekqyafx2uft2ucwfl",
      "mining_streak": "45d 17h",
      "mining_streak_seconds": 3952710,
      "rank": 1,
      "run_by_pool_operator": false,
      "workers": 1
    }
  ],
  "miners_online": 37,
  "updated_at": "2026-10-15T18:07:24Z"
}
```
