Lazarus Pool public API
Everything the site draws itself with is a public JSON endpoint. No key, no account, no signature, CORS open, and the same numbers the pages show. Responses carry short cache headers; honour them and you can poll as often as you like.
Stable fields, as of 2026-10-10: they are not renamed or removed without a dated notice on this page. The date of the notice is the day the change is written here. Any field an endpoint does not list may change.
| Endpoint | What it returns |
|---|---|
/api/pool | Hashrate, the TIDES window, fees, blocks found, and the DATUM connection. |
/api/coinbaser | The coinbase output list Prime is handing out for the next block. |
/api/blocks | Recent blocks on the chain, as the explorer lists them. Not the pool's own found-block list. |
/api/found/{blockhash} | The coinbase outputs one block the pool found actually paid. |
/api/miners | Addresses with a live session or recent accepted work, and their window share. |
/api/miner/{address} | One address: hashrate, window share, what it has been paid, and the last 24 hours. |
/api/gateways | DATUM gateways Prime knows, connected or only historic. |
/api/payouts | Coinbase payouts already made, one object per block. Per-address amounts are on /api/found/{blockhash}. |
/api/solo | Solo miners and blocks found on the solo endpoints. |
/api/solo/{address} | One address on the solo book. |
/api/price | The XBT price the site converts with. |
/api/v1/prices | The same price in the shape of a mempool /api/v1/prices document. |
/api/hardware | Siacoin ASIC list with prices and estimated XBT per day. |
/api/rentals | BLAKE2b rigs listed for rent, with the estimated XBT per day through your own DATUM gateway. |
/api/history | Pool hashrate over a range, and the blocks the pool found in that range. |
/api/makegoods | Make-goods the pool owes or has paid, one row per block. |
/api/gateway-builds | Which DATUM gateway builds the site recommends, in the order it recommends them. |
/api/openapi.json | This field list as an OpenAPI 3.1 document. |
Fields a client may rely on
/api/pool
Hashrate, the TIDES window, fees, blocks found, and the DATUM connection.
| Field | Type | Unit | Meaning |
|---|---|---|---|
name | string | — | Pool name. |
blocks_found | integer | count | Blocks this pool has recorded. Not rewritten from the explorer. |
last_found_height | integer | blocks | Height of the newest block this pool has recorded. |
blocks_found_explorer | integer | count | The explorer's block count for this pool at the last successful check. |
blocks_found_checked_at | integer | unix seconds | When that check succeeded. |
pool_hr_ghs | number | GH/s | Credited pool hashrate. |
height | integer | blocks | Chain height last read from the node. |
difficulty | number | — | Network difficulty last read from the node. |
miners_online | integer | count | Payout addresses with a live session. |
fees.datum_percent | number | percent | Fee on work that arrives through a miner's own DATUM gateway. |
fees.stratum_percent | number | percent | Fee on work that arrives through the public stratum. |
fees.custody.percent | number | percent | Custody fee a make-good for a pool-only or partial coinbase keeps, from fees.custody.from_height on, from each payee whose own gateway is producing such coinbases. Miners on current gateways are paid in full. 0 when there is none. |
fees.custody.from_height | integer | blocks | First block whose make-goods carry the custody fee. 0 when there is none. |
datum.pool_host | string | — | Host a DATUM gateway connects to. |
datum.pool_port | integer | port | Port a DATUM gateway connects to. |
datum.pool_pubkey | string | hex | Pool public key a gateway must pin. Empty until Prime has published one. |
datum.min_diff | integer | share difficulty | Smallest share difficulty Prime accepts, and the vardiff floor it sends. Present only when Prime's stats include pool.min_diff. |
payout_scheme | string | — | How a found block is paid. |
updated | integer | unix seconds | When this document was built. |
Any other field in this response may change.
/api/coinbaser
The coinbase output list Prime is handing out for the next block.
| Field | Type | Unit | Meaning |
|---|---|---|---|
scheme | string | — | Payout scheme this split belongs to. |
value | integer | sats | Coinbase value the split is computed against. |
miner_sats | integer | sats | Sum of the miner outputs. |
pool_sats | integer | sats | The pool output. |
fee_sats | integer | sats | Fee inside the pool output. |
fee_percent | number | percent | Fee as a percent of the coinbase value. |
Any other field in this response may change.
/api/blocks
Recent blocks on the chain, as the explorer lists them. Not the pool's own found-block list.
| Field | Type | Unit | Meaning |
|---|---|---|---|
blocks[].height | integer | blocks | Block height. |
blocks[].id | string | hex | Block hash. |
blocks[].timestamp | integer | unix seconds | Block time. |
blocks[].pool | string | — | Pool name the explorer assigned. |
Any other field in this response may change.
/api/found/{blockhash}
The coinbase outputs one block the pool found actually paid.
| Field | Type | Unit | Meaning |
|---|---|---|---|
hash | string | hex | Block hash asked for. |
outputs[].address | string | — | Output address. |
outputs[].btc | number | XBT | Amount of this output. |
outputs[].share | number | fraction | This output's fraction of the coinbase. |
outputs[].to | string | — | miner or pool. |
Any other field in this response may change.
/api/miners
Addresses with a live session or recent accepted work, and their window share.
| Field | Type | Unit | Meaning |
|---|---|---|---|
online[].address | string | — | Payout address. |
online[].hr_ghs | number | GH/s | Credited hashrate of that address. |
online[].window_percent | number | percent | That address's share of the TIDES window. |
Any other field in this response may change.
/api/miner/{address}
One address: hashrate, window share, what it has been paid, and the last 24 hours.
| Field | Type | Unit | Meaning |
|---|---|---|---|
address | string | — | The address asked for. |
hr_ghs | number | GH/s | Credited hashrate. |
window_sats | integer | sats | This address's next coinbase output. |
paid_btc | number | XBT | Mature coinbase already credited to this address. |
blocks_found | array | — | Coinbase outputs paid to this address, newest first, one page. Page with ?payouts_offset=N&payouts_limit=M (M up to 200, default 50). |
payouts_total | integer | blocks | How many rows blocks_found has in all. Null when it could not be counted. |
payouts_offset | integer | blocks | Offset of this page. |
payouts_limit | integer | blocks | Page size used. |
earned_24h | object | — | Earnings from blocks found in the last 24 hours. Null when a coinbase in that window cannot be read. When it is an object, block_sats, makegood_sats and total_sats are sats; makegood_sats counts make-goods at what they pay, after the custody fee in makegood_custody_fee_sats. |
makegoods[].sats | integer | sats | What a partial or pool-only coinbase left unpaid to this address: the gross its make-good owes. |
makegoods[].custody_fee_sats | integer | sats | Custody fee the make-good keeps from that gross. Charged only to a payee whose own gateway is producing pool-only or partial coinbases, as the fee wallet recorded when it signed; 0 for everyone else, before the fee's start height, before the make-good is signed, or when the rest would be under the address's dust floor. |
makegoods[].net_sats | integer | sats | What the make-good pays: sats less custody_fee_sats. |
makegood_pending_btc | number | XBT | Make-goods still on their way to this address, net of the custody fee. |
makegood_custody_fee_sats | integer | sats | Custody fee kept from this address's pending and paid make-goods. |
custody_fee_percent | number | percent | The custody fee on make-goods for pool-only and partial coinbases. 0 when there is none. |
custody_from_height | integer | blocks | First block whose make-goods carry the custody fee. 0 when there is none. |
gateway_outdated | boolean | — | True while this address is the payout identity of a connected DATUM gateway on an out-of-date build: its latest block in the last 30 days was pool-only or partial, or it sends pool-only work (at least 10% of 200 or more accepted jobs). The same rule decides who pays the custody fee. |
gateway_outdated_reason | string | — | Why, in a few words. Also set when gateway_outdated is false but a make-good in the last 7 days carried a custody fee; empty otherwise. |
Any other field in this response may change.
/api/gateways
DATUM gateways Prime knows, connected or only historic.
| Field | Type | Unit | Meaning |
|---|---|---|---|
reachable | boolean | — | Whether Prime's stats could be read. |
gateways[].gateway | string | hex | Gateway signing-key prefix. |
gateways[].own | boolean | — | True when this session is the pool's own public stratum. |
gateways[].offline | boolean | — | True when the gateway is not connected now. |
Any other field in this response may change.
/api/payouts
Coinbase payouts already made, one object per block. Per-address amounts are on /api/found/{blockhash}.
| Field | Type | Unit | Meaning |
|---|---|---|---|
scheme | string | — | Payout scheme. |
payouts[].height | integer | blocks | Block height. |
payouts[].hash | string | hex | Block hash. |
payouts[].miner_btc | number | XBT | Miner outputs on this block, added together. |
payouts[].output_count | integer | — | How many coinbase outputs this block paid. |
Any other field in this response may change.
/api/solo
Solo miners and blocks found on the solo endpoints.
| Field | Type | Unit | Meaning |
|---|---|---|---|
enabled | boolean | — | Whether a solo endpoint answered. |
blocks_found | integer | count | Solo blocks recorded. |
hashrate_ghs | number | GH/s | Solo hashrate the endpoints reported. |
Any other field in this response may change.
/api/solo/{address}
One address on the solo book.
| Field | Type | Unit | Meaning |
|---|---|---|---|
address | string | — | The address asked for. |
found | boolean | — | Whether this address is on the solo book. |
Any other field in this response may change.
/api/price
The XBT price the site converts with.
| Field | Type | Unit | Meaning |
|---|---|---|---|
USD | number | USD per XBT | Last price. Null when no book could be read and none is cached. |
time | integer | unix seconds | When the price was read. |
stale | boolean | — | True when this is a cached price from a failed refresh. |
pair | string | — | Which coin the price is for. |
Any other field in this response may change.
/api/v1/prices
The same price in the shape of a mempool /api/v1/prices document.
| Field | Type | Unit | Meaning |
|---|---|---|---|
time | integer | unix seconds | When the price was read. |
USD | number | USD per XBT | Last price, when one is known. |
Any other field in this response may change.
/api/hardware
Siacoin ASIC list with prices and estimated XBT per day.
| Field | Type | Unit | Meaning |
|---|---|---|---|
source | string | — | Where the machine list comes from. |
price_usd | number | USD per XBT | Price used to turn XBT per day into dollars. |
ths_btc_day | number | XBT per TH/s per day | Live estimate through a DATUM gateway at 0% fee. |
miners[].ths | number | TH/s | Nameplate hashrate. |
miners[].xbt_day | number | XBT per day | Estimated earnings at ths_btc_day. Null when that rate is unknown. |
Any other field in this response may change.
/api/rentals
BLAKE2b rigs listed for rent, with the estimated XBT per day through your own DATUM gateway.
| Field | Type | Unit | Meaning |
|---|---|---|---|
source | string | — | Where the rental list comes from. |
price_usd | number | USD per XBT | Price used for the dollar column. |
ths_btc_day | number | XBT per TH/s per day | Rate the estimates use. Null when the pool has not published one. |
rigs | array | — | The rigs. The fields inside a rig may change. |
Any other field in this response may change.
/api/history
Pool hashrate over a range, and the blocks the pool found in that range.
| Field | Type | Unit | Meaning |
|---|---|---|---|
range | string | — | The range asked for. |
step_s | integer | seconds | Width of one hashrate point. |
points | array | — | Rows of [unix seconds, GH/s, miner count]. |
blocks[].height | integer | blocks | A block the pool found in the range. |
blocks[].hash | string | hex | That block's hash. |
Any other field in this response may change.
/api/makegoods
Make-goods the pool owes or has paid, one row per block.
| Field | Type | Unit | Meaning |
|---|---|---|---|
tip | integer | blocks | Chain height used to judge maturity. 0 when the node did not answer. |
pending_sats | integer | sats | Sats still owed, net of the custody fee. |
custody_fee_sats | integer | sats | Custody fee kept from make-goods that are pending or paid. |
blocks | array | — | One object per block. Fields inside a block not listed here may change. |
blocks[].owed_sats | integer | sats | What that block's coinbase left unpaid to miners, before the custody fee. |
blocks[].custody_fee_sats | integer | sats | Custody fee that block's make-good keeps. |
blocks[].net_sats | integer | sats | What that block's make-good pays: owed_sats less custody_fee_sats. |
Any other field in this response may change.
/api/gateway-builds
Which DATUM gateway builds the site recommends, in the order it recommends them.
| Field | Type | Unit | Meaning |
|---|---|---|---|
gateways[].id | string | — | Stable id for that gateway line. |
gateways[].name | string | — | Name shown on the site. |
Any other field in this response may change.
/api/openapi.json
This field list as an OpenAPI 3.1 document.
Two of these take an address and are deliberately excluded from search indexing, since one page per address is infinite and identical: /api/miner/<address> and /api/solo/<address>. If you are building something on this and need a field that is not there, the pool server is one Python file and the endpoint you want is probably a few lines — say so and it can be added.