Skip to main content

bb_getXPUB RPC Method - Blockbook

Get balances and transactions of an xpub or output descriptor.

Updated on
Aug 09, 2026
Please note that this RPC method requires the Blockbook RPC enabled on your Quicknode endpoint.

Parameters

address
string
REQUIRED

An extended public key, or an output descriptor wrapping one. Supported descriptor forms: pkh(...), wpkh(...), sh(wpkh(...)), and tr(...). Must be an account-level key, not a master key. Example: tr(xpub...).

Descriptors containing a / are not supported and return an error.

This includes:

  • key origin prefixes: tr([73c5da0a/86'/0'/0']xpub...)
  • multipath selectors: tr(xpub.../<0;1>/*)
  • explicit branch paths: tr(xpub.../0/*)

Percent-encoding the slash does not help. Note the origin prefix cannot be shortened either, since it contains slashes of its own.

Use the bare form instead - tr(xpub...) - which is fully supported. The branch selector is unnecessary: Blockbook automatically scans both the receive (0) and change (1) branches for the account.

object
object

The options object with the following fields:

page
integer

The page you would like to retrieve.

size
integer

The number of transactions you would like on each page

fromHeight
integer

Filter of the returned transactions from block height

toHeight
integer

Filter of the returned transactions to block height

details
string

Must be one of: basic|txids|txs

secondary
string

The secondary (fiat) currency in which the token and total balances are returned in addition to crypto values. Must be one of: usd|eur

filter
string

Filter transactions by token. Provide a token's contract address, or 0 to return only transactions with no token transfers.

contract
string

Limit returned token balances and transactions to the specified token contract address.

protocols
string

Comma-separated list of token protocols to include (for example erc20).

gap
integer

The gap limit used when deriving addresses from an extended public key (xpub). Defaults to 20.

Returns

page

The page number returned in this response.

totalPages

The number of pages available for your original query

itemsOnPage

The maximum number of transactions returned in this response

address

The address you provided in the original query.

balance

The current balance of the address using confirmed unspent transaction outputs only, denominated in satoshis.Balance is updated after 1 confirmation.

totalReceived

The total value received for the address using confirmed transactions only, denominated in satoshis.

totalSent

The total value sent for the address using confirmed transactions only, denominated in satoshis.

unconfirmedBalance

The current balance of the address using unconfirmed unspent transaction outputs only, denominated in satoshis.

unconfirmedTxs

The current number of unconfirmed transactions for this address.

txs

The total number of transactions for this address.

txids

(only appears when details is set to txids) An array of transaction ids for the provided address.

txid

The transaction id

transactions

(only appears when details is set to txs) An array of transactions for the provided address.

txid

The transaction id

version

The transaction version (1 or 2)

lockTime

The earliest time a transaction could have been mined into a block.

vin

An array of transaction objects used as inputs for the current transaction

txid

The transaction id

vout

The output index

sequence

The transaction sequence

n

The nonce of this transaction

addresses

An array of addresses in this transaction

isAddress

Boolean value of whether there is an address or not

isOwn

Boolean value of whether the transaction is from the original address provided

value

The value of this transaction in satoshis

vout

An array of output transaction objects for the current transaction

value

The value of this transaction in satoshis

n

The nonce of this transaction

hex

The raw hexadecimal representation of the transaction

spent

Boolean value of whether the transaction has been spent

addresses

An array of addresses in this transaction

isAddress

Boolean value of whether there is an address or not

blockHash

The hash of the block at which the transaction was included

height

The block height at which the transaction output was created

confirmations

The number of confirmations since this transaction was included in a block

blockTime

The unix timestamp of when the block was confirmed

size

The size of the transaction in bytes

vsize

The virtual size of the transaction in bytes (read more)

value

The total value of the transaction in satoshis

valueIn

The value transmitted in the transaction less fees denominated in satoshis

fees

The fees for the transaction denominated in satoshis

hex

The raw hexadecimal representation of the transaction

Request
Response
1
{
2
"id": null,
3
"result": {
4
"page": 1,
5
"totalPages": 1,
6
"itemsOnPage": 1000,
7
"address": "xpub661MyMwAqRbcGrx39FhTVkPJSd1oMiD8P8Vu4EP8SHyuvhqnaqu9VeK4m43WPPXouHpuUakK77Y6GzqCCKYYiCTsxhPBjmqhrfHqosmEFjL",
8
"balance": "0",
9
"totalReceived": "0",
10
"totalSent": "0",
11
"unconfirmedBalance": "0",
12
"unconfirmedTxs": 0,
13
"txs": 0
14
},
15
"jsonrpc": "2.0"
16
}
1
{
2
"id": null,
3
"result": {
4
"page": 1,
5
"totalPages": 1,
6
"itemsOnPage": 1000,
7
"address": "xpub661MyMwAqRbcGrx39FhTVkPJSd1oMiD8P8Vu4EP8SHyuvhqnaqu9VeK4m43WPPXouHpuUakK77Y6GzqCCKYYiCTsxhPBjmqhrfHqosmEFjL",
8
"balance": "0",
9
"totalReceived": "0",
10
"totalSent": "0",
11
"unconfirmedBalance": "0",
12
"unconfirmedTxs": 0,
13
"txs": 0
14
},
15
"jsonrpc": "2.0"
16
}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free