๐ง Check BTC node health
Code samples
GET /api/v1/btc/health
curl 'https://settla.net/api/v1/btc/health' \
-H 'X-API-Key: $SETTLA_API_KEY' \
-H 'Accept: application/json'
Performs a lightweight getblockchaininfo JSON-RPC call to the configured BTC node and returns basic health information. Use it as a liveness probe. blocks below headers means the node knows about blocks it has not validated yet โ it is still catching up, and block or transaction lookups near the tip may come back empty until it does. verificationProgress reaching 1 is the signal that the node is fully in sync. This is the only endpoint that reports failure as status and message; every other route uses an error field.
Example responses
200 Response
{
"status": "ok",
"time": "2026-09-02T07:27:37+00:00",
"chain": "main",
"blocks": 965136,
"headers": 965136,
"verificationProgress": 1
}
500 Response
{
"status": "error",
"message": "Could not connect to BTC node."
}
๐ Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | BTC node is reachable and responding | Inline |
| 500 | Internal Server Error | BTC node URL or credentials are not configured, or node is not reachable | Inline |
๐ Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| ยป status | string | false | none | none |
| ยป time | string(date-time) | false | none | none |
| ยป chain | string | false | none | Active chain type reported by getblockchaininfo (e.g. main, test, regtest, signet). |
| ยป blocks | integer(int64) | false | none | Current block height. |
| ยป headers | integer(int64) | false | none | Current number of block headers known. |
| ยป verificationProgress | number(float) | false | none | Blockchain verification progress from 0.0 to 1.0. |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| ยป status | string | false | none | none |
| ยป message | string | false | none | none |