This guide provides information on Blockdaemon-specific JSON-RPC methods for interacting with Bitcoin. These methods extend standard JSON-RPC methods with functionalities such as balance queries and transaction handling.
Balance API
bd_getbalances
bd_getbalances
This method returns returns the confirmed balance for an address.
Request Example
{
"jsonrpc": "1.0",
"id": "curltest",
"method": "bd_getbalances",
"params": [
"bc1quhruqrghgcca950rvhtrg7cpd7u8k6svpzgzmrjy8xyukacl5lkq0r8l2d" //address
]
}
Request Parameter
Field | Type | Description |
---|---|---|
Address(es) | String | (required) The main account address(es). |
Response Example
{
"id": "curltest",
"result": {
"mine": {
"trusted": "4535.02985542",
"untrusted_pending": "4541.38229464"
}
}
}
Response Object
Field | Type | Description |
---|---|---|
mine | Object | Balances from outputs that the wallet can sign. |
trusted | Int | Trusted balance (outputs created by the wallet or confirmed outputs) |
untrusted_pending | Int | Untrusted pending balance (outputs created by others that are in the mempool) |
bd_getbalance
bd_getbalance
This method returns both the mined and pending balances for an address.
Request Example
{
"jsonrpc": "1.0",
"id": "curltest",
"method": "bd_getbalance",
"params": [
"bc1quhruqrghgcca950rvhtrg7cpd7u8k6svpzgzmrjy8xyukacl5lkq0r8l2d", true
]
}
Request Parameters
Field | Type | Description |
---|---|---|
Address | String | (required) The main account address. |
Mempool | Boolean | (optional) Indicates whether the balance should include mempool transactions. Defaults to false . |
Response Example
{
"id": "curltest",
"result": "4535.02985542"
}
Response Object
Field | Type | Description |
---|---|---|
result | String | Total trusted balance in BTC. |
Fees API
bd_estimatefee
bd_estimatefee
This method returns an estimated fee for a transaction.
Request Example
{
"jsonrpc": "1.0",
"id": "curltest",
"method": "bd_estimatefee",
"params": ["sat/vb"]
}
Request Parameter
Field | Type | Description |
---|---|---|
Unit | String | (optional) The unit of the fee rate, either btc/kvb or sat/vb . Defaults to btc/kvb . The unit is case-insensitive. |
Response Example
{
"id": "1",
"result": {
"fast_feerate": "28",
"medium_feerate": "25",
"slow_feerate": "17",
"unit": "sat/vb"
}
}
Response Object
Field | Type | Description |
---|---|---|
fast_feerate | Int | Fee rate (BTC/byte) for fastest confirmation. |
medium_feerate | Int | Fee rate for medium-speed confirmation. |
slow_feerate | Int | Fee rate for slower confirmation. |
unit | String | The unit of the fee rate, either btc/kvb or sat/vb . Defaults to btc/kvb . |
Transaction API
bd_listtransactions
bd_listtransactions
This method lists transactions associated with an address within a specified block range.
Request Example
{
"jsonrpc": "1.0",
"id": "curltest",
"method": "bd_listtransactions",
"params": [
"bc1q84e0f2qswgzth4tavedrv35f6fv9669ljww2ww", //address
{
"block_start": 850000,
"block_end": 862810,
"type": "all",
"verbose": false,
"page_size": 20,
"page_token": "OTIyMzM3MjAzNjg1MzkxMzY5NCM1YmIyZWY3MjExYTgyNjE0ODkxZDAyNzQzYzUzYjZkNzU5ZTE2MmU2MTFiNGQxZjljMDYyOTM3YzdjMzdkNjA3",
"order": "asc"
}
]
}
Request Parameter
Field | Type | Description |
---|---|---|
Address | String | (required) Address to retrieve transactions for. |
block_start | Int | (optional) Block height to start querying from. |
block_end | Int | (optional) Block height to stop querying. |
type | String | (optional) Transaction type: all , inputs , or outputs . Default: all . |
verbose | Boolean | (optional) Whether to return detailed transaction information. Default: false . |
page_size | Int | (optional) Number of results per page. |
page_token | String | (optional) Token for paginated results. You can use this token in the request payload to get the next result. |
order | String | (optional) Sorting order: asc or desc . Default: desc . |
Response Example
{
"id": "curltest",
"result": {
"transactions": [
"74980dd4049324587471e266ff144f0d75d81f0f44767deaf6babdc9b8703c57",
"08ba4c433016377851f2e5b4fdad14aa715cab8b2d6393828e1539775e5aabb2",
"f594f9fbd52014308544030cdf154236b65f24b5ab832e5447fff1509decca9d"
],
"page_token": "OTIyMzM3MjAzNjg1MzkxNzA2NSNmNTk0ZjlmYmQ1MjAxNDMwODU0NDAzMGNkZjE1NDIzNmI2NWYyNGI1YWI4MzJlNTQ0N2ZmZjE1MDlkZWNjYTlk"
}
}
Response Object
Field | Type | Description |
---|---|---|
transactions | Array of strings | Array of transaction IDs. |
page_token | String | Token for paginated results. You can use this token in the request payload to get the next result. |
bd_getspendingtx
bd_getspendingtx
This method checks if and in which transaction the TXO (transaction output) was spent.
Request Example
{
"jsonrpc": "1.0",
"id": "curltest",
"method": "bd_getspendingtx",
"params": [
"b6127b392bd2e02971d7cdc416f16b9471530ac5fc3fd5cd5554a1093b31005c", 0
]
}
Request Parameter
Field | Type | Description |
---|---|---|
Address | String | (required) The transaction output (TXO) identifier, which includes the transaction hash and index. |
Response Example
If the TXO has been spent:
{
"id": "curltest",
"result": "d64a943e0c2035b7032c89e73c20ecf1596458fdca002600d8f450cebf69bbb0"
}
If the TXO is unspent or does not exist:
{
"id": "curltest",
"result": null
}
bd_listunspent
bd_listunspent
This method lists unspent transaction outputs (UTXOs) for a given address.
Request Example
{
"jsonrpc": "1.0",
"id": "curltest",
"method": "bd_listunspent",
"params": [
"1HA1kDL993bdxvRH9KtrAh91Br4agzCYBt",
{
"include_mempool": true,
"page_size": 100,
"page_token": "OTIyMzM3MjAzNjg1MzkxMzY5NCM1YmIyZWY3MjExYTgyNjE0ODkxZDAyNzQzYzUzYjZkNzU5ZTE2MmU2MTFiNGQxZjljMDYyOTM3YzdjMzdkNjA3"
}
]
}
Request Parameters
Field | Type | Description |
---|---|---|
Address | String | Array of strings | required The address(es) to list UTXOs. |
include_mempool | Boolean | optional Whether to include UTXOs from the mempool. |
page_size | Int | optional The number of UTXOs to return per page. |
page_token | String | optional Token for paginated results. You can use this token in the request payload to get the next result. |
Response Example
"id": "curltest",
"result": {
"data": [
{
"address": "138ky3HqkdEdJFqVqGwTGsQZGTZ2VyJw29",
"index": 1,
"mempool": false,
"value": "0.00094262"
},
{
"address": "13AbC9ufSMBaFeARs2YhAAQyU9dULcDmDp",
"confirmations": 20957,
"index": 133,
"mempool": false,
"ts": 1715993030,
"txId": "59cdca9335dc720bcd32750e28a7d0808e483f5444cb3d256e38ca9e928149f8",
"value": "0.00901766"
},
......
],
"page_token": "do#0000000000000000000000018aed923c250162fe3f058d6af0f3932d9d9aa08c#13gqBKGmRJc3gK7iysnjnK3oDcCcGo9mUH#721dd62c1ec80a604a0b0573092cd01928ed8e21f3c23a354284cdde1c1d47f6#1"
}
}
Response Object
Field | Type | Description |
---|---|---|
address | String | The address associated with the UTXO. |
index | Int | The index of the UTXO in the transaction. |
mempool | Boolean | Indicates whether the UTXO is in the mempool. |
confirmations | Int | The number of confirmations for the UTXO (if confirmed). |
ts | Int | The timestamp of the transaction (if available). |
txId | String | The transaction ID that created the UTXO. |
value | String | The value of the UTXO in BTC or the respective currency. |
Market Data API
bd_marketquote
bd_marketquote
This method returns the current market price of BTC in a specified fiat currency.
Request Example
{
"jsonrpc": "1.0",
"id": "curltest",
"method": "bd_marketquote",
"params": [
"USD" // currencies
]
}
Request Parameter
Filed | Type | Description |
---|---|---|
Currencies | Array of strings | (required) List of fiat currencies (e.g., USD, EUR, GBP). |
Response Example
{
"id": "curltest",
"result": {
"timestamp": 1727795820,
"unit": "USD",
"price": "62090.55536814973"
}
}
Response Object
Field | Type | Description |
---|---|---|
timestamp | Int | The Unix timestamp when the price was retrieved. |
unit | String | The fiat currency unit (e.g., USD). |
price | String | The current price of BTC in the specified currency. |
Blocks API
bd_getblockheaderbydate
bd_getblockheaderbydate
This method returns basic block header information for a specified date
Request Example
{
"jsonrpc": "1.0",
"id": "curltest",
"method": "bd_getblockheaderbydate",
"params": [
1725584753 // unix time
]
}
Request Parameter
Filed | Type | Description |
---|---|---|
Time | Int | (required) The Unix timestamp for the desired date. |
Response Example
{
"id": "curltest",
"result": {
"time": 1725584753,
"height": 860072,
"hash": "00000000000000000000e729cfc01f3300341d07f14f2a9aa45eb2a31d2cb9d3"
}
}
Response Object
Field | Type | Description |
---|---|---|
time | Int | The Unix timestamp for the block header. |
height | Int | The block height (number). |
hash | String | The hash of the block header. |