Endpoint per coin
SoloFury espone API identiche su 5 coin SHA-256. Il base path cambia in base alla coin — BCH usa /api per ragioni storiche; le altre usano /api-{coin}.
| Coin | Base path | Porte stratum |
|---|---|---|
| BTC | /api-btc | 6060, 6061, 6062 |
| BCH | /api | 7070, 7071, 7072 |
| BC2 | /api-bc2 | 8080, 8081, 8082 |
| BCH2 | /api-bch2 | 8585, 8586, 8587 |
| XEC | /api-xec | 9090, 9091, 9092 |
Statistiche pool
/api/pool Statistiche dell'intera pool: hashrate totale (medie 1m/1h/1d/7d), miner connessi, blocchi trovati, altezza blocco corrente, difficoltà/hashrate di rete, fee.
{
"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
} Info pool
/api/info Info di runtime della pool: best share finora, share accettate/rifiutate/stale/invalid, efficienza, uptime, porta stratum, identificativo pool.
{
"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" }]
} Grafico pool
/api/info/chart Serie temporale di hashrate pool, contatori accettate/rifiutate/stale/invalid, difficoltà di rete. Usata dal grafico della dashboard. Default 24h, max ~7 giorni.
| Query | Tipo | Default | Descrizione |
|---|---|---|---|
hours | integer | 24 | Ampiezza finestra in ore (granularità 5 min) |
[
{
"label": "01:25",
"data": 2540000000000000, // hashrate · H/s
"difficulty": 763004012345.6,
"accepted": 142357821,
"rejected": 12483,
"stale": 8421,
"invalid": 3
},
… // 288 points for 24h window
] Info di rete
/api/network Dati di rete blockchain in tempo reale presi direttamente dal nodo sottostante — altezza blocco, difficoltà, hashrate, dimensione mempool, identificativo chain.
{
"blocks": 948592,
"difficulty": 763004012345.6,
"networkhashps": 5060000000000000000, // H/s
"currentblockweight": 3998000,
"currentblocktx": 2841,
"pooledtx": 3142,
"chain": "main",
"warnings": ""
} Storico di rete
/api/network/history Serie temporale di difficoltà e hashrate di rete. Default 24h, massimo 168h (7 giorni).
| Query | Tipo | Default | Descrizione |
|---|---|---|---|
hours | integer | 168 | Ampiezza finestra in ore (max 168) |
Info client / miner
/api/client/{wallet_address} Dati del miner per indirizzo: worker connessi, hashrate per worker, conteggio share, best difficulty raggiunta, timestamp ultimo accesso.
| Path | Tipo | Descrizione |
|---|---|---|
address | string | Indirizzo wallet del miner (formato nativo BTC/BCH/BC2/BCH2/XEC) |
{
"bestDifficulty": 2613000000000,
"sessionId": "a1b2c3d4...",
"workers": [
{
"name": "S21Plus01",
"hashRate": 276000000000000, // H/s
"bestDifficulty": 59870000000,
"sessionId": "abc...",
"lastSeen": "2026-05-08T00:42:00.000Z",
"startTime": "2026-04-28T13:55:00.000Z"
},
…
]
} Grafico client
/api/client/{wallet_address}/chart Serie temporale per singolo miner: hashrate, share accettate/rifiutate/stale/invalid, difficoltà. Stessa struttura di /api/info/chart ma limitata a un singolo indirizzo.
| Path / Query | Tipo | Default | Descrizione |
|---|---|---|---|
address | string | — | Indirizzo wallet del miner |
hours | integer | 24 | Ampiezza finestra in ore |
Lo storico per-miner viene registrato dalla prima connessione dell'indirizzo, quindi le finestre temporali più lunghe si popolano gradualmente man mano che i dati si accumulano.
Connessione Stratum
Collega il tuo ASIC a SoloFury via Stratum V1. 9 regioni nel mondo per un routing globale a bassa latenza.
// 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 Rate limit e note
Esempi
# 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"// Browser or Node.js (with fetch polyfill)
const coins = ['-btc', '', '-bc2', '-bch2', '-xec'];
const stats = await Promise.all(
coins.map(c => fetch(`https://solofury.com/api${c}/pool`).then(r => r.json()))
);
for (const [i, p] of stats.entries()) {
const coin = ['BTC', 'BCH', 'BC2', 'BCH2', 'XEC'][i];
console.log(`${coin}: ${(p.totalHashRate/1e12).toFixed(1)} TH/s · ${p.totalMiners} miners · ${p.fee}% fee`);
}import requests
def pool_stats(coin=''):
suffix = '' if coin == 'bch' else f'-{coin}'
r = requests.get(f'https://solofury.com/api{suffix}/pool', timeout=5)
return r.json()
for coin in ['btc', 'bch', 'bc2', 'bch2', 'xec']:
s = pool_stats(coin)
th = s['totalHashRate'] / 1e12
print(f'{coin.upper():<5} {th:.1f} TH/s · {s["totalMiners"]} miners · fee {s["fee"]}%')Integrazioni
L'API di SoloFury segue le convenzioni del settore ed è compatibile con i tool di mining standard.