BDL Pool API

Pool, Bitcoin address and worker statistics.

Base URL

https://bdl-pool.duckdns.org/api/v1

Endpoints

URLResponse
GET /online?limit=50&offset=0Active connections, shortened addresses and advertised devices.
GET /healthAPI process health
GET /poolGlobal pool and Bitcoin node statistics
GET /historyHashrate history
GET /stratumAddress, ports and V2 public key
GET /miners/{address}Statistics for one Bitcoin address
GET /miners/{address}/workers?limit=50&offset=0Workers for one address
GET /miners/{address}/workers/{worker}Statistics for one worker
GET /openapi.jsonOpenAPI 3.1 specification

Examples

cURL

curl https://bdl-pool.duckdns.org/api/v1/pool
curl "https://bdl-pool.duckdns.org/api/v1/miners/YOUR_BITCOIN_ADDRESS/workers?limit=50&offset=0"

JavaScript

const base = "https://bdl-pool.duckdns.org/api/v1";
const address = "YOUR_BITCOIN_ADDRESS";
const response = await fetch(`${base}/miners/${encodeURIComponent(address)}`);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const miner = await response.json();

Data format

Presence
Connections are checked every 15 seconds. available=false means that their state is unconfirmed.
Device
Hardware model advertised in the Stratum user-agent, otherwise the software name. Missing models remain null.
Updates
Global statistics update every five minutes. Worker statistics follow CKPool.
Dates
updatedAt is the measurement time. stale marks an old reading.
Hashrate
All hashrateHps values are H/s. Unknown values remain null.
Addresses
Use a Bitcoin mainnet address without a worker suffix. CKPool creates its statistics after its first recorded share.
Workers
limit defaults to 50, up to 200. Use offset for pagination. Full worker names avoid ambiguity.
Availability
readyAtLastCheck refers to the last Stratum V1 check. It does not confirm a V2 connection.
Access
Read-only, without authentication. GET, HEAD and OPTIONS; public CORS. No directory of miner addresses is exposed.

HTTP codes

200
Data is available; check stale for older readings.
304
Unchanged response for this ETag.
400
Invalid address or parameters.
404
Endpoint, address or worker not found.
405
Write method not allowed.
503
Statistics source unavailable.