Pool
PUBLIC REST API

SOLOFURY API

Free · No authentication · CORS enabled · Rate-limit friendly

BASE URL https://solofury.com

Endpoints by Coin

SoloFury serves identical APIs across 5 SHA-256 coins. The base path differs by coin — BCH uses /api for historical reasons; the others use /api-{coin}.

CoinBase pathStratum ports
BTC/api-btc6060, 6061, 6062
BCH/api7070, 7071, 7072
BC2/api-bc28080, 8081, 8082
BCH2/api-bch28585, 8586, 8587
XEC/api-xec9090, 9091, 9092

Pool Stats

GET /api/pool

Pool-wide statistics: total hashrate (rolling 1m/1h/1d/7d), connected miners, blocks found, current block height, network difficulty/hashrate, fee.

Example response
{
  "totalHashRate": 2780000000000000,         // H/s · current
  "totalHashRate1m": 2810000000000000,
  "totalHashRate1hr": 2750000000000000,
  "totalHashRate1d": 2640000000000000,
  "totalHashRate7d": 2420000000000000,
  "blockHeight": 948592,
  "networkDifficulty": 763004012345.6,
  "networkHashRate": 5060000000000000000,
  "totalMiners": 10,
  "blocksFound": […],                          // array of past block events
  "fee": 1                                       // percent
}

Pool Info

GET /api/info

Pool runtime info: best share so far, accepted/rejected/stale/invalid shares, efficiency, uptime, stratum port, pool identifier.

Example response
{
  "poolIdentifier": "BCH-Solo",
  "fee": 1,
  "stratumPort": 7070,
  "uptime": 8643215,                          // seconds
  "accepted": 142357821,
  "rejected": 12483,
  "stale": 8421,
  "invalid": 3,
  "efficiency": "99.99",
  "highScores": [{ "bestDifficulty": 2613000000000, "bestDifficultyUserAgent": "Antminer" }]
}

Pool Chart

GET /api/info/chart

Time-series of pool hashrate, accepted/rejected/stale/invalid counters, network difficulty. Used by the dashboard chart. Default 24h, max ~7 days.

QueryTypeDefaultDescription
hoursinteger24Window size in hours (5-min granularity)
Example response (truncated)
[
  {
    "label": "01:25",
    "data": 2540000000000000,                  // hashrate · H/s
    "difficulty": 763004012345.6,
    "accepted": 142357821,
    "rejected": 12483,
    "stale": 8421,
    "invalid": 3
  },
  …                                                // 288 points for 24h window
]

Shares Stats

GET /api/shares

Detailed share statistics: counters, best share, shares-per-second over multiple windows.

Example response
{
  "accepted": 142357821,
  "rejected": 12483,
  "stale": 8421,
  "invalid": 3,
  "duplicate": 0,
  "bestshare": 2613000000000,
  "efficiency": "99.99",
  "sharesPerSecond1m": 187.4,
  "sharesPerSecond5m": 182.1,
  "sharesPerSecond15m": 179.8,
  "sharesPerSecond1h": 175.2
}

Network Info

GET /api/network

Live blockchain network data fetched directly from the underlying node — block height, difficulty, hashrate, mempool size, chain identifier.

Example response
{
  "blocks": 948592,
  "difficulty": 763004012345.6,
  "networkhashps": 5060000000000000000,    // H/s
  "currentblockweight": 3998000,
  "currentblocktx": 2841,
  "pooledtx": 3142,
  "chain": "main",
  "warnings": ""
}

Network History

GET /api/network/history

Time-series of network difficulty and hashrate. Default 24h, maximum 168h (7 days).

QueryTypeDefaultDescription
hoursinteger168Window size in hours (max 168)

Client / Miner Info

GET /api/client/{wallet_address}

Per-address miner data: connected workers, hashrate per worker, share counts, best difficulty achieved, last-seen timestamp.

PathTypeDescription
addressstringMiner wallet address (BTC/BCH/BC2/BCH2/XEC native format)
Example response
{
  "bestDifficulty": 2613000000000,
  "sessionId": "a1b2c3d4...",
  "workers": [
    {
      "name": "S21Plus01",
      "hashRate": 276000000000000,           // H/s
      "protocol": "SV2",                      // "SV1" | "SV2"
      "availableIn": "sv2",                   // "sv2" | "ckpool"
      "channelCount": 1,                      // SV2 only
      "currentDiff": 2048,
      "region": "eu",
      "regionSourceName": "Frankfurt SV2",
      "bestDifficulty": 59870000000,
      "sessionId": "abc...",
      "lastSeen": "2026-05-08T00:42:00.000Z",
      "startTime": "2026-04-28T13:55:00.000Z"
    },
    …
  ]
}

Client Chart

GET /api/client/{wallet_address}/chart

Per-miner time-series: hashrate, accepted/rejected/stale/invalid shares, difficulty. Same shape as /api/info/chart but scoped to a single address.

Path / QueryTypeDefaultDescription
addressstringMiner wallet address
hoursinteger24Window size in hours

Per-miner history is recorded from the address's first connection, so longer time windows fill in gradually as data accumulates.

Stratum Connection

Connect your ASIC miner to SoloFury via Stratum V1 or V2. 9 regions worldwide for low-latency global routing.

🇺🇸
Atlanta
{coin}.solofury.com
🇩🇪
Frankfurt
eu-{coin}.solofury.com
🇯🇵
Tokyo
jp-{coin}.solofury.com
🇸🇬
Singapore
asia-{coin}.solofury.com
🇧🇷
São Paulo
lat-{coin}.solofury.com
🇺🇸
Seattle
pnw-{coin}.solofury.com
🇮🇱
Tel Aviv
me-{coin}.solofury.com
🇿🇦
Johannesburg
afr-{coin}.solofury.com
🇬🇧
London
uk-{coin}.solofury.com
Stratum URLs · all 5 coins · all 9 regions
// Host = [region]-[coin].solofury.com  (Atlanta has no region prefix)
// Regions: (none)=Atlanta · eu-=Frankfurt · jp-=Tokyo · asia-=Singapore
//          lat-=Sao Paulo · pnw-=Seattle · me-=Tel Aviv · afr-=Johannesburg · uk-=London
// Coins: bch · btc · bc2 · bch2 · xec
// Ports: BTC 6060-6062 · BCH 7070-7072 · BC2 8080-8082 · BCH2 8585-8587 · XEC 9090-9092

// Examples (3 ports per coin = failover)
stratum+tcp://btc.solofury.com:6060        // BTC · Atlanta
stratum+tcp://eu-bch.solofury.com:7070     // BCH · Frankfurt
stratum+tcp://jp-xec.solofury.com:9090     // XEC · Tokyo
stratum+tcp://asia-btc.solofury.com:6060   // BTC · Singapore
stratum+tcp://uk-bc2.solofury.com:8080     // BC2 · London

// Worker format
Username: YOUR_WALLET_ADDRESS.WORKER_NAME
Password: x

// ── Stratum V2 (BTC only) ─────────────────────────────────────────
// Same hosts. V1 and V2 share the same ports: the pool detects the
// protocol your miner speaks and answers accordingly.
// Ports: 3333 (standard) · 3343 (high-difficulty, S21/S23 class)

stratum2+tcp://eu-btc.solofury.com:3333    // AxeOS / NerdQAxe
stratum2+tcp://eu-btc.solofury.com:3333/9cLif4sCxvAz7FBP7GPvYG8Mv586ZhdgNbn3f4PsrM56gboSZEp
                                           // Braiins OS+ wants the key in the URL path

// Authority public key (verifies you are talking to SoloFury)
9cLif4sCxvAz7FBP7GPvYG8Mv586ZhdgNbn3f4PsrM56gboSZEp

Rate Limits & Notes

No authentication required
All responses JSON
CORS enabled — use from any origin
HTTPS only
Be reasonable — 1 request/second/IP recommended
Pool fee: 1% on all coins
Algorithm: SHA-256
AsicBoost (version-rolling): Supported
Stratum protocol: V1
No KYC, no signup, no email required to mine
Coin is selected by path prefix, not a query parameter. Use /api-btc/, /api-bc2/, /api-bch2/ or /api-xec/ — the bare /api/ path serves BCH. Querying /api/client/:address with a BTC address returns an empty worker list, not an error.
Each worker carries a protocol field: "SV1" or "SV2". Stratum V2 workers also expose channelCount and availableIn: "sv2".
The blocks API returns confirmed blocks only. Candidates are held as pending until RPC verification, and orphans are excluded — so a block may appear a few minutes after it is found.
luck is personal, not pool-round: it resets on your own blocks only. Values above 100% are legitimate solo-mining variance, not an error.
Responses are served through a stale-while-revalidate cache with per-region last-good fallback. Values can lag by a few seconds during source hiccups — by design, to keep numbers stable.

Examples

Pool stats · all 5 coins
# All 5 coin pools
curl -s https://solofury.com/api-btc/pool | jq .
curl -s https://solofury.com/api/pool      | jq .   # BCH (no suffix)
curl -s https://solofury.com/api-bc2/pool  | jq .
curl -s https://solofury.com/api-bch2/pool | jq .
curl -s https://solofury.com/api-xec/pool  | jq .

# Network info
curl -s https://solofury.com/api/network

# Per-miner stats
curl -s https://solofury.com/api/client/YOUR_WALLET_ADDRESS

# Time-series chart (24h, 5-min granularity)
curl -s "https://solofury.com/api/info/chart?hours=24"

Integrations

SoloFury's API follows industry conventions and is compatible with standard mining tooling.

MiningPoolStats
Pool listing & live statistics aggregator
minerstat
ASIC monitoring & profit-switching
WhatToMine
Profitability calculations
Grafana
Custom dashboards via Prometheus exporter
Telegram / Discord bots
Custom monitoring + block-found notifications
SoloFury Telegram Bot
@SoloFuryBot — official live block alerts