# Long values, such as the hexadecimal of transactions and blocks and the
# xpubs in the examples, are split into pieces of equal width with escaped line
# breaks in double quotes, which join the pieces with nothing between them, so
# that every line stays under 120 columns. An xpub used as a key is split the
# same way, as an explicit key ("? ").
openapi: 3.0.0
servers:
- url: 'https://api.haskoin.com/bch/'
- url: 'https://api.haskoin.com/btc/'
- url: 'https://api.haskoin.com/bchtest4/'
- url: 'https://api.haskoin.com/btctest4/'
info:
version: &version 1.9.0
title: Haskoin
contact:
name: JP Rupp
url: https://github.com/jprupp
email: jprupp@protonmail.ch
license:
name: MIT
url: https://github.com/jprupp/haskoin-store/blob/master/haskoin-store/LICENSE
description: |
Haskoin Store indexes the Bitcoin (BTC) and Bitcoin Cash (BCH) block chains
and answers the questions that a node cannot answer on its own: what is the
balance of this address, which transactions belong to this wallet, which
outputs can it spend. It connects to the peer-to-peer network itself, keeps
its indices up to date with every block and every unconfirmed transaction,
and serves them here.
The servers of this reference are the public instance at api.haskoin.com, one per
network: `btc`, `bch`, and their test networks `btctest4` and `bchtest4`. The
same API is served by any Haskoin Store you run yourself.
## The basics
- **Amounts** of coins are whole numbers of satoshis (1 coin is 100,000,000
satoshis), never decimal numbers of coins: floating-point numbers cannot
hold every satoshi amount exactly, and a balance that is off by one
satoshi is a bug that is hard to find. Only prices in other currencies,
in the Blockchain.info endpoints, are decimal.
- **Hashes** of blocks and transactions are hexadecimal, in the byte order
that nodes and block explorers display, so they can be copied between them
and this API.
- **Scripts and serialized data** are hexadecimal.
- **Times** are Unix timestamps, in seconds.
- **Addresses** are written as the network writes them: Base58 or Bech32 on
BTC, CashAddr on BCH.
## Lists are newest first
Every list of transactions or unspent outputs starts with the newest:
unconfirmed transactions first, by the time this server first saw them, then
confirmed ones, from the highest block down, and within a block from the last
transaction to the first.
This is the order in which wallets and explorers show activity, and the
database is laid out in that order, so the first page of any list is a single
lookup however long the history is.
## Paging
Lists take three parameters:
- `limit`: how many items to return. Without it the server returns its
default number (100, unless the operator changed it). There is a maximum,
lower for lists of full transactions, which are much larger; `limit=0`
asks for that maximum.
- `height`: where the page starts. It can be:
- a **transaction id**: the page starts at that transaction, which is
included;
- a **block hash**: the page starts at that block;
- a **block height**: the page starts at transactions confirmed at or below
that height;
- a **Unix time**: the page starts at the last block mined at or before
that time.
Numbers up to 1,230,768,000 are heights and larger ones are times. That
number is midnight on 1 January 2009, before the first block, so no time
of a block is mistaken for a height, and no chain will reach that height.
- `offset`: how many items to skip after the start. The server has a
maximum (50,000, unless the operator changed it).
**To get the next page, pass the id of the last transaction you received as
`height`, and `offset=1` to skip it.** An offset counts from the newest item,
so every new transaction shifts every page by one, and a deep offset makes the
server step over all the items before it. A transaction id is a fixed point:
pages do not shift, and the server finds the start with one lookup however
far back it is. The maximum offset is there because deep offsets are slow.
## Formats
- **JSON** by default, without spaces, to keep responses small.
- **Pretty JSON** with `pretty=true`, indented for people to read.
- **Binary** with the header `Accept: application/octet-stream`: the compact
serialization that the Haskell client in
[haskoin-store-data](https://github.com/jprupp/haskoin-store-data)
decodes. It is smaller and faster to decode than JSON. "Binary format"
below gives every byte of it.
Endpoints that end in `/raw` return data serialized as in the peer-to-peer
protocol, in hexadecimal inside JSON (`{"result": "0100…"}`), or as bytes
with the binary format.
## Parameters are checked
Every endpoint lists the parameters it accepts, and refuses a request with
any other, with 400 and a message that names it:
```json
{"error": "user-error", "message": "Unknown parameter: limt"}
```
A value that the endpoint cannot read is refused the same way, such as
`limit=ten`, `notx=yes` or `derive=Legacy`. Without this, a misspelt
parameter or a value the server does not understand would be ignored, and
the client would get an answer to a question it did not ask, with nothing
to tell it so. Requests are checked before anything is done, so a refused
request has no effect.
One thing is not refused, because it is not a mistake: a `limit` above the
server's maximum is lowered to it, as a client cannot know the maximum of
every server. Names of parameters are case-sensitive.
## Errors
An error is a JSON object with a stable `error` code, for programs, and a
`message`, for people:
```json
{"error": "user-error", "message": "Invalid value for parameter limit: ten"}
```
| Status | `error` | When |
| --- | --- | --- |
| 400 | `user-error`, `bad-request` | A parameter or the body is wrong; the message says which. |
| 404 | `not-found-or-invalid-arg` | The thing does not exist, or a value in the path is not valid. |
| 409 | `multiple-tx-index` | A short transaction number matches several transactions. |
| 500 | `server-error` | Something went wrong on the server; it is logged there. |
| 503 | | From `/health`: the server is not ready. |
| 503 | `behind-fleet` | The server is one of a fleet and does not have the block that the fleet answers from; another server of the fleet does. |
A request that asks for the binary format gets its errors in binary too:
see "Binary format".
`/health` also answers 203 for a server that works but cannot reach its
Redis; see there.
A value in the path that does not parse, such as a misspelt address, gives
404 rather than 400. Paths are matched by the shape of what is in them, and
a segment that does not parse may belong to another endpoint (`/block/best`
and `/block/{block}` share a prefix), so the server tries the others, and
when none matches it answers that there is nothing there. Query parameters
are not ambiguous, so a bad one gives 400, with its name in the message.
A 409 comes only from the Blockchain.info endpoints, which can name a
transaction by a short number; the error lists the matching ids in `txids`.
The codes `server-timeout` and `request-too-large` are part of the format, for
clients that decode it, but this version of the server does not send them.
## Unconfirmed transactions
The mempool is indexed like the chain. A payment shows up in balances and
histories as soon as this server sees it on the network, with
`"block": {"mempool": <time first seen>}` instead of a block height.
A transaction can leave the mempool without being confirmed: when a block
confirms another transaction that spends the same coins, or, on BTC, when a
replacement that pays a higher fee arrives (replace-by-fee). It is then
removed from every balance and history, together with any transaction that
spends its outputs. From then on the server answers as if it had never
seen it: fetching it by its id gives 404. Earlier versions answered with
the transaction and `"deleted": true`, which clients that did not look at
that field took for a pending payment.
## Reorganisations
When the network switches to a chain with more work, the server undoes the
blocks that are no longer in it, puts their transactions back in the
mempool, and applies the new blocks. Every answer reflects the chain with
the most work at the time of the request. Blocks of an abandoned chain keep
answering by hash, with `"mainchain": false`.
## What the server trusts
The server follows the chain with the most proof of work, as the network
reports it, and checks what it needs to keep its indices consistent: that
inputs exist and are not spent twice. It does not validate scripts or every
consensus rule, as a full node does. Its answers are what the network says;
for payments where a mistake would be costly, wait for confirmations, as with
any wallet.
## Extended public keys
Most wallets are an extended public key (xpub) from which they derive their
addresses. The `/xpub` endpoints answer for all of them at once: the server
derives the receiving chain (`0`) and the change chain (`1`), and looks at
every address up to the last used one of each chain and then a gap of unused
addresses after it (32, unless the operator changed it), and always at least
the first 20 addresses. A payment to an address further away is not seen,
as a wallet that follows BIP 44 with the same gap would not see it either.
The `derive` parameter says which kind of address the wallet derives. An
xpub does not say it, and the same key gives different addresses for each
kind, so asking for the wrong kind would find nothing, and a wallet would
show its user a zero balance. Instead, when a wallet has no transactions
with the kind asked for but has some with another kind, the server answers
400 with a message that names the right one. A wallet with no transactions
of any kind is new, and gets an empty answer. The check only runs for
wallets that look empty, so it costs nothing for wallets in use.
Servers with a Redis cache keep large wallets ready: their first query reads
the database and caches the result, and later ones are answered from memory.
A cached answer is always the same as the database's; `nocache=true` skips
the cache. The servers of a fleet share one such cache, and each answers
from it what it would answer from its database at the block that the
fleet answers from.
## Live updates
Instead of polling, keep `/events` open: it sends a line for every new block
and every change to the mempool, as a stream of JSON lines or over a
WebSocket. Events carry only the hash; fetch what you need from it.
The server keeps its last 10,000 events. A client that lost its connection
comes back with `?after=` and the hash of the last event it heard, and gets
what came after it. A client that falls further behind than that is
disconnected, so that a slow client costs the server nothing.
Over the WebSocket a client can choose the transactions it hears about: by
address, by extended public key, or with a Bloom filter. See `/events`.
The servers of a fleet all send the same events in the same order: those of
the block and the mempool that the fleet shares, not what each server's own
node saw. A transaction is told when it enters the shared mempool and when
it leaves it unconfirmed, and a block when the fleet has moved to it, which
is when every server can answer about it. A client can therefore reconnect
to another server and ask it about what the first one told.
## Blockchain.info compatibility
The endpoints under `/blockchain/` answer like those of Blockchain.info, with
the same parameters, field names and conventions, so that software written
for it can switch by changing its base URL. They are documented here where
they differ or where the original is unclear. An operator may turn them off.
## Browsers
Every response has the header `Access-Control-Allow-Origin: *`, so web
applications can call the API directly from a browser. The API needs no
credentials and keeps no sessions, so there is nothing for another site to
abuse. A browser that first asks what it may send, with `OPTIONS`, is told:
`GET`, `HEAD`, `POST` and `DELETE`, with the headers `Accept` and
`Content-Type`.
## HTTP
- **`HEAD`** works wherever `GET` does, and answers with the headers alone.
- **Compression.** A request with `Accept-Encoding: gzip` gets its answer
compressed, in either format. The events are not compressed: they have
to leave as they happen.
- **Long lists.** The endpoints that take a list of addresses, blocks,
heights or transactions in a parameter take it under `POST` too, with
the same parameters in a body of type
`application/x-www-form-urlencoded`. A URL has room for some hundred
addresses; a body has no such limit. `/transactions` is the exception:
`POST` there publishes a transaction.
- **`Vary: Accept, Accept-Encoding`** is on every answer, so that a cache
keeps the formats apart.
- **`Retry-After`** is on a 503: one second from a server that is behind
its fleet, five from a health check that fails.
- **The reference itself** is at the root of every server: `/` is this
page, for the version that the server runs, and `/swagger.yaml` the file
behind it.
## Binary format
This section is enough to write a client in any language.
### Asking for it
- Send the header `Accept: application/octet-stream`. In a list of types,
binary is sent when that type has a `q` weight above 0 that is no less
than the weight of `application/json`, if that is listed too. A
wildcard such as `*/*`, or no header, gives JSON. There is no query
parameter for it, and `pretty` has no effect on it.
- Every answer has `Vary: Accept`, so that a cache keeps the two formats
apart.
- A binary answer has `Content-Type: application/octet-stream`. The body is
one value, with nothing before or after it.
- **An error comes in the format asked for**, like any other answer. In
binary it is an `Except`, described below. Servers up to version 1.8.1
sent every error as JSON: read the `Content-Type` of an error to tell.
- `/health` answers 503 and 203 with a normal body, in the format asked for.
- The only endpoint that reads a body is `POST /transactions`: one
transaction as in the peer-to-peer protocol, as raw bytes or as hex. The
server tells them apart by content, not by `Content-Type`.
- The Blockchain.info endpoints and `/dbstats` have no binary form.
- Over the WebSocket at `/events`, binary is binary frames: the server
sends them when the handshake asked for binary, and from the first binary
frame that the client sends.
### Primitives
Everything is big-endian, except inside the peer-to-peer structures (`Tx`,
`BlockHeader`, `OutPoint`, `Block`), which are byte for byte what nodes send.
| Name | Encoding |
| --- | --- |
| `u8`, `u32`, `u64` | Unsigned integer of 1, 4 or 8 bytes, big-endian. |
| `i32`, `i64` | Two's complement, big-endian. |
| `u32le`, `u64le` | Little-endian; only in peer-to-peer structures. |
| `bool` | One byte: `00` false, `01` true. |
| `bytes` | `u64` length, then that many bytes. |
| `text` | `bytes` that hold UTF-8. |
| `list T` | `u64` count, then that many `T`. |
| `opt T` | `00` for none; `01` then `T`. |
| `map T` | `list` of pairs `u64` key, `T`; keys ascending, each once. |
| `hash256` | 32 bytes, in the reverse order of the hex in JSON. |
| `hash160` | 20 bytes, in the order of the hex. |
| `varint` | Bitcoin's CompactSize, shortest form; only in peer-to-peer structures. |
| `integer` | See below. |
There are no variable-length integers outside the peer-to-peer structures:
every length and count is a `u64`. A type with several forms starts with a
tag byte, given in its table.
`integer` holds a number of any size. `00` then `i32` when it fits 32 bits.
Otherwise `01`, a sign byte (`01`, or `ff` for negative), a `u64` length,
and the absolute value in that many bytes, least significant first, with no
zero byte at the end.
### Peer-to-peer structures
| Type | Layout |
| --- | --- |
| `OutPoint` | `hash256` transaction id, `u32le` output index. 36 bytes. |
| `BlockHeader` | `u32le` version, `hash256` previous, `hash256` Merkle root, `u32le` time, bits, nonce. |
| `Tx` | `u32le` version, `varint` count, inputs, `varint` count, outputs, `u32le` lock time. |
| `Tx` input | `OutPoint`, `varint` length, script, `u32le` sequence. |
| `Tx` output | `u64le` value, `varint` length, script. |
| `Block` | `BlockHeader`, `varint` count, that many `Tx`. |
A `Tx` with a witness has the SegWit form: `00 01` after the version, and
before the lock time one stack per input, each a `varint` count of items,
each a `varint` length and bytes. A `Tx` in which no input has a witness is
written in the form without it, on every network.
### Address
An address is a tag and a hash. It does not carry its network, so it decodes
without knowing it. Writing it as text needs the network.
| Tag | Then | Kind |
| --- | --- | --- |
| `00` | `hash160` | Pay to public key hash. |
| `01` | `hash160` | Pay to script hash. |
| `02` | `hash160` | Pay to witness public key hash. |
| `03` | `hash256` | Pay to witness script hash. |
| `04` | `u8` version, `bytes` program (40 at most) | Other SegWit address, such as Taproot. |
| `05` | `hash256` | Pay to script hash of 32 bytes (BCH). |
| `06` | `u8` type, `bytes` hash (64 at most) | Other CashAddr address. |
The `hash256` of tags `03` and `05` is in the order of the script, not
reversed.
### BlockRef and TxRef
`BlockRef` says where a transaction is. Its numbers are **inverted**: each
is written as the largest value of its width minus the number, so that the
bytes sort newest first. Subtract again to read them.
| Tag | Then | Meaning |
| --- | --- | --- |
| `00` | `u64`: 2^64 - 1 - time | In the mempool; time first seen. |
| `01` | `u32`: 2^32 - 1 - height, `u32`: 2^32 - 1 - position | In a block, at that position in it. |
`TxRef` is a `BlockRef`, then the `hash256` transaction id.
### Transaction
| Field | Encoding | Note |
| --- | --- | --- |
| block | `BlockRef` | |
| version | `u32` | |
| locktime | `u32` | |
| inputs | `list Input` | |
| outputs | `list Output` | |
| deleted | `bool` | |
| rbf | `bool` | |
| time | `u64` | Not inverted. |
| txid | `hash256` | |
| size | `u32` | With the witness. |
| weight | `u32` | Present on every network. |
| fee | `u64` | 0 for a coinbase. |
`Input`, by tag:
| Field | Encoding | `00` coinbase | `01` other |
| --- | --- | --- | --- |
| outpoint | `OutPoint` | yes | yes |
| sequence | `u32` | yes | yes |
| sigscript | `bytes` | yes | yes |
| pkscript | `bytes` | | yes |
| value | `u64` | | yes |
| witness | `list bytes` | yes | yes |
| address | `opt Address` | | yes |
The witness list is present on every network, and empty where there is none.
`Output`: `u64` value, `bytes` script, `opt Spender`, `opt Address`.
`Spender`: `hash256` id of the spending transaction, `u32` input index.
`TxData` is the record of a transaction in the database. No endpoint
returns it; it is here for programs that read the database.
| Field | Encoding | Note |
| --- | --- | --- |
| block | `BlockRef` | |
| tx | `Tx` | |
| prevs | `map Prev` | By input index. `Prev`: `bytes` script, `u64` value. |
| deleted | `bool` | |
| rbf | `bool` | |
| time | `u64` | |
| spenders | `map Spender` | By output index. |
### Blocks, balances and unspent outputs
`BlockData`. The hash is not sent: it is the double SHA-256 of the header.
| Field | Encoding | Note |
| --- | --- | --- |
| height | `u32` | |
| mainchain | `bool` | |
| work | `integer` | |
| header | `BlockHeader` | |
| size | `u32` | |
| weight | `u32` | Present on every network. |
| tx | `list hash256` | |
| outputs | `u64` | |
| fee | `u64` | |
| subsidy | `u64` | |
| Type | Layout |
| --- | --- |
| `Balance` | `Address`, then `u64` confirmed, unconfirmed, utxo, txs, received. |
| `Unspent` | `BlockRef`, `OutPoint`, `u64` value, `bytes` script, `opt Address`. |
| `XPubBal` | `list u32` path, `Balance`. |
| `XPubUnspent` | `list u32` path, `Unspent`. |
| `XPubSummary` | `u64` confirmed, unconfirmed, received, utxo; `u32` external, change. |
| `TxId` | `hash256`. |
| `Event` | Tag `00` new best block or `01` mempool transaction, then `hash256`. 33 bytes. |
| `PeerInfo` | `bytes` user agent, `text` address, `i32` version, `u64` services, `bool` relay. |
### Commands of the event WebSocket
What a client sends in a binary frame over the WebSocket at `/events`, one
command to a frame: a tag, then what it carries.
| Tag | Then | Command |
| --- | --- | --- |
| `00` | `list Address` | Watch these addresses too. |
| `01` | `list Address` | Stop watching these addresses. |
| `02` | `XPub`, `u8` derivation | Watch this extended public key too. |
| `03` | `XPub`, `u8` derivation | Stop watching this key. |
| `04` | `Filter` | Set the Bloom filter, in place of the one before. |
| `05` | `bytes`, 520 at most | Add an element to the Bloom filter. |
| `06` | | Remove the Bloom filter. |
| `07` | | Forget all of it, and hear of every transaction. |
| `08` | | Forget all of it, and hear of blocks alone. |
`XPub` is the 78 bytes of the key as BIP 32 serializes it, which is what
the Base58Check of its text decodes to: `u32` version of the network, `u8`
depth, 4 bytes fingerprint of the parent, `u32` index, 32 bytes chain code,
33 bytes compressed public key. The derivation is `00` legacy, `01` compat,
`02` segwit.
`Filter` is the `filterload` message of the peer-to-peer protocol (BIP 37):
`varint` length and that many bytes of filter, 36,000 at most, `u32le`
number of hash functions, 50 at most, `u32le` tweak, `u8` flags.
### Health
Each part starts with its own `ok`, which repeats what its numbers say.
| Field | Encoding | Note |
| --- | --- | --- |
| ok | `bool` | The whole check. |
| blocks | `bool` ok, `u32` headers, `u32` blocks, `i32` max | |
| last-block | `bool` ok, `i64` age, `i64` max | |
| last-tx | `bool` ok, `i64` age, `i64` max | |
| pending-txs | `bool` ok, `i64` count, `i64` max | |
| peers | `bool` ok, `i64` count, `i64` min | |
| net | `text` | |
| version | `text` | |
| time | `u64` | A number, not the text of the JSON. |
| redis | `u8` | `00` no cache, `01` not answering, `02` answering. |
Older servers end the body before `redis`; read that as no cache.
### What each endpoint returns
Lists are `list T`. The events are the one exception: they have no count,
because they have no end.
An error, with any status that is not a success, is an `Except`: one byte
that says which, and for some a body.
| Byte | Error | Body |
| --- | --- | --- |
| `00` | `not-found-or-invalid-arg` | |
| `01` | `server-error` | |
| `02` | `bad-request` | |
| `03` | `user-error` | The message: `bytes`, UTF-8. |
| `04` | `string-error` | The message: `bytes`, UTF-8. |
| `05` | `multiple-tx-index` | `list hash256`: the transactions that match. |
| `06` | `server-timeout` | |
| `07` | `request-too-large` | |
| `08` | `behind-fleet` | |
| Endpoints | Body |
| --- | --- |
| `/block/{block}`, `/block/best`, `/block/time/…`, `/block/mtp/…` | `BlockData` |
| `/blocks`, `/block/latest`, `/block/height/…`, `/block/heights` | `list BlockData` |
| `/transaction/{txid}` | `Transaction` |
| `/transactions`, `/transactions/block/…`, `…/transactions/full` | `list Transaction` |
| `/address/…/transactions`, `/xpub/…/transactions` | `list TxRef` |
| `/address/{address}/balance` | `Balance` |
| `/address/balances` | `list Balance` |
| `/address/…/unspent` | `list Unspent` |
| `/xpub/{xpub}` | `XPubSummary` |
| `/xpub/{xpub}/balances` | `list XPubBal` |
| `/xpub/{xpub}/unspent` | `list XPubUnspent` |
| `DELETE /xpub/{xpub}` | `bool` |
| `/transaction/{txid}/after/{height}` | `opt bool` |
| `POST /transactions` | `TxId` |
| `/mempool` | `list hash256` |
| `/peers` | `list PeerInfo` |
| `/health` | Health, as above. |
| `…/raw` of one block or transaction | `Block` or `Tx`, bare. |
| `…/raw` of several | `list Block` or `list Tx`. Servers up to 1.8.1 sent them with no count. |
| `/events` | An endless stream of `Event`, **no count** and nothing between them. |
The wrappers add no bytes: the `result` object of the JSON
(`GenericResult`, `RawResult`, `RawResultList` in the Haskell client) is
its content alone, and `SerialList` is `list T`.
tags:
- name: Address
description: |
Balances, transactions and unspent outputs of addresses, one at a time or
many at once, and of extended public keys (xpubs), which stand for every
address of a wallet.
- name: Transaction
description: |
Transactions by id, the transactions of a block, the mempool, and
broadcasting new transactions to the network.
- name: Block
description: |
Blocks by hash, height or time, the newest blocks, and their serialized
form.
- name: Network
description: |
The state of the server and the network: health, peers, and a live stream of
new blocks and transactions.
- name: Blockchain
description: |
Endpoints that answer like those of Blockchain.info, for software written
for it. An operator may turn them off, in which case they answer 404.
paths:
'/health':
get:
tags:
- Network
summary: Health Check
description: |
Whether this server is ready to answer, for load balancers and monitoring.
The status is **200** when every check passes and **503** when one fails;
the body is the same either way and says which check failed. A server that is
still catching up with the network answers 503, so a load balancer stops
sending it traffic until its answers are current.
A server that has a Redis cache and cannot reach it answers **203** when
every check passes, with the header `Haskoin-Degraded: redis` and
`"redis": {"ok": false}` in the body. It goes on
answering every request, from its own database: the answers are right for
what this server has seen, but they are no longer the ones that the servers
sharing that Redis give together, and requests about large wallets are
slower. A load balancer that takes any status in the 200s for healthy keeps
sending it traffic, which is what it should do; a monitor that expects 200
sees that something is wrong.
The checks are run in the background every 30 seconds (unless the operator
changed it), and this endpoint returns the latest result. It does no work of
its own, so it is safe to call as often as a load balancer likes.
operationId: healthCheck
parameters:
- $ref: '#/components/parameters/prettyParam'
responses:
'203':
description: |
Every check passes, but the server cannot reach its Redis and answers
from its own database alone. The body is that of 200.
headers:
Haskoin-Degraded:
description: What the server is doing without; `redis`.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/HealthCheck'
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/HealthCheck'
example:
ok: true
net: bch
blocks:
ok: true
max: 2
blocks: 688794
diff: 0
headers: 688794
pending-txs:
ok: true
max: 100
count: 0
version: *version
last-tx:
ok: true
max: 300
age: 0
last-block:
ok: true
max: 7200
age: 3279
peers:
ok: true
count: 20
min: 1
time: '2021-06-14 10:21:43 UTC'
application/octet-stream:
schema:
type: string
format: binary
'503':
description: unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/HealthCheck'
example:
ok: false
net: bch
blocks:
ok: false
max: 2
blocks: 688794
diff: 4
headers: 688798
pending-txs:
ok: true
max: 100
count: 0
version: *version
last-tx:
ok: true
max: 300
age: 0
last-block:
ok: true
max: 7200
age: 3279
peers:
ok: false
count: 0
min: 1
time: '2021-06-14 10:21:43 UTC'
'/address/{address}/transactions':
get:
tags:
- Address
summary: Transactions for Address
description: |
The transactions that pay to or spend from an address, newest first, as
transaction ids with their place in the chain.
This is the light way to follow an address: fetch the transactions you do not
have yet with `/transactions`. Use `/transactions/full` to get them in one
call when you need them all. See *Paging* at the top for `limit`, `offset`
and `height`.
An address with no transactions gives an empty list. An address that does
not parse for this network gives 404.
operationId: getAddressTxs
parameters:
- $ref: '#/components/parameters/addressParam'
- $ref: '#/components/parameters/heightParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Transaction list starting with most recent.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TxRef'
example:
- txid: 00f304a6089a708168cd10d5ad8abd2977c36791156a55b040117cb5a3db7fad
block:
height: 688793
position: 3
- txid: b810589c80335083ed715c03abf62f23968846d2f54343bac305f890f292ec8e
block:
height: 688707
position: 786
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/address/{address}/transactions/full':
get:
tags:
- Address
summary: Detailed Address Transactions
description: |
Like `/address/{address}/transactions`, with the full transactions instead
of their ids.
Full transactions are much larger, so the most that one call returns is
lower (5,000, unless the operator changed it).
operationId: getAddressTxsFull
parameters:
- $ref: '#/components/parameters/addressParam'
- $ref: '#/components/parameters/heightParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Detailed transactions starting with most recent.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Transaction'
example:
- txid: 00f304a6089a708168cd10d5ad8abd2977c36791156a55b040117cb5a3db7fad
size: 225
version: 2
locktime: 688792
fee: 4500
inputs:
- coinbase: false
txid: b810589c80335083ed715c03abf62f23968846d2f54343bac305f890f292ec8e
output: 1
sigscript: "47304402206a11f253c8035be2d9f5958a9ca838b3fd5a1a120441885e10e6ca\
d0fef3911f02202056263939a88fe06e7fc94368ff44c46f71e7daa603936d75\
5b35b8b2a21c154121027eb504988cbc043dd4c9fac51685d68718a24d7f9f1d\
4c07b9f8c3d04327794c"
sequence: 4294967294
pkscript: 76a91437d070b3c6716a6174080722579fbdddad39bfb388ac
value: 2275183814
address: bitcoincash:qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
witness: []
outputs:
- address: bitcoincash:qqla8n6hwp9f86tc92t6f76680mlkxnqgu5flcqwfe
pkscript: 76a9143fd3cf57704a93e9782a97a4fb5a3bf7fb1a604788ac
value: 15197686
spent: false
spender: null
- address: bitcoincash:qql2wpu4fa36yf07gcc8q80sjfxfaq66xssezyukg2
pkscript: 76a9143ea707954f63a225fe4630701df0924c9e835a3488ac
value: 2259981628
spent: true
spender:
txid: 9e5fd342efb429df773d8208e3fde7af9b7440869e5963d761da0b317c4908ef
input: 0
block:
height: 688793
position: 3
deleted: false
time: 1621583361
rbf: false
weight: 900
- txid: b810589c80335083ed715c03abf62f23968846d2f54343bac305f890f292ec8e
size: 225
version: 2
locktime: 688706
fee: 4500
inputs:
- coinbase: false
txid: 741f605735c995ab6d79814da49002f7b4eea973656e70410cbf7969ebf467fd
output: 0
sigscript: "4730440220298e397d155bcd0c3371a17f11d6dc06392c72c6d4646ac27fad72\
e86e7f18f50220471c7338a0f4573955e52a95c4c2717f5ae5d369ad153ae627\
49d0dcd9250482412103c60a0fd16eaf3c72dee4bf12a566ee3a6ae181a29b66\
a1f2407442f7a6d39ad2"
sequence: 4294967294
pkscript: 76a9145124c4e68eed7ffc6110c2326d7d3739f55a09eb88ac
value: 2775188314
address: bitcoincash:qpgjf38x3mkhllrpzrprymtaxuul2ksfavle5hmhl4
witness: []
outputs:
- address: bitcoincash:qqx0ende3cx70rdsmml6ap5pcc9nqmns5qlc8yvhga
pkscript: 76a9140cfccdb98e0de78db0deffae8681c60b306e70a088ac
value: 500000000
spent: false
spender: null
- address: bitcoincash:qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
pkscript: 76a91437d070b3c6716a6174080722579fbdddad39bfb388ac
value: 2275183814
spent: true
spender:
txid: 00f304a6089a708168cd10d5ad8abd2977c36791156a55b040117cb5a3db7fad
input: 0
block:
height: 688707
position: 786
deleted: false
time: 1621533785
rbf: false
weight: 900
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/address/transactions':
get:
tags:
- Address
summary: Multiple Address Transactions
description: |
The transactions of several addresses, merged into one list, newest first.
A transaction that touches several of the addresses appears once.
This is how to follow a wallet that is a list of addresses rather than an
xpub: one call, and one consistent page, instead of one call per address.
operationId: getMultipleAddressTxs
parameters:
- $ref: '#/components/parameters/addressesParam'
- $ref: '#/components/parameters/heightParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: List of transactions starting with most recent.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TxRef'
example:
- txid: 9e5fd342efb429df773d8208e3fde7af9b7440869e5963d761da0b317c4908ef
block:
height: 688793
position: 458
- txid: 00f304a6089a708168cd10d5ad8abd2977c36791156a55b040117cb5a3db7fad
block:
height: 688793
position: 3
- txid: 00f304a6089a708168cd10d5ad8abd2977c36791156a55b040117cb5a3db7fad
block:
height: 688793
position: 3
- txid: b810589c80335083ed715c03abf62f23968846d2f54343bac305f890f292ec8e
block:
height: 688707
position: 786
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/address/transactions/full':
get:
tags:
- Address
summary: Multiple Address Detailed Transactions
description: |
Like `/address/transactions`, with the full transactions instead of their
ids, and the lower maximum of full transactions.
operationId: getMultipleAddressTxsFull
parameters:
- $ref: '#/components/parameters/addressesParam'
- $ref: '#/components/parameters/heightParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Detailed transactions starting with most recent.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Transaction'
example:
- txid: 9e5fd342efb429df773d8208e3fde7af9b7440869e5963d761da0b317c4908ef
size: 225
version: 2
locktime: 688792
fee: 4500
inputs:
- coinbase: false
txid: 00f304a6089a708168cd10d5ad8abd2977c36791156a55b040117cb5a3db7fad
output: 1
sigscript: "4730440220362587be41ff4ca25ef097b6c4229b031c26420f53143560fc8bf2\
4f65418dac022034b0c97cef1ff51460346daca727f926ee675e1acaf63cb092\
a8a39cb3b5d8f94121029832be5ec435a55cd8c09474348cf7ffdcf266ae4fc8\
8f390bde21d9a9c60d09"
sequence: 4294967294
pkscript: 76a9143ea707954f63a225fe4630701df0924c9e835a3488ac
value: 2259981628
address: bitcoincash:qql2wpu4fa36yf07gcc8q80sjfxfaq66xssezyukg2
witness: []
outputs:
- address: bitcoincash:qpfscnfvsaydyru7wajy42lqumvpf7drzgc7wz87sj
pkscript: 76a914530c4d2c8748d20f9e77644aabe0e6d814f9a31288ac
value: 1400000000
spent: false
spender: null
- address: bitcoincash:qrw8u9tctjl4ndggrl6l9ssam4qdse3agynldjdn48
pkscript: 76a914dc7e15785cbf59b5081ff5f2c21ddd40d8663d4188ac
value: 859977128
spent: true
spender:
txid: 03b59d0fe4bb260587656f57a2f42a34e97f6502ffb7ee93b8e58f6f8933c99a
input: 0
block:
height: 688793
position: 458
deleted: false
time: 1621583381
rbf: false
weight: 900
- txid: 00f304a6089a708168cd10d5ad8abd2977c36791156a55b040117cb5a3db7fad
size: 225
version: 2
locktime: 688792
fee: 4500
inputs:
- coinbase: false
txid: b810589c80335083ed715c03abf62f23968846d2f54343bac305f890f292ec8e
output: 1
sigscript: "47304402206a11f253c8035be2d9f5958a9ca838b3fd5a1a120441885e10e6ca\
d0fef3911f02202056263939a88fe06e7fc94368ff44c46f71e7daa603936d75\
5b35b8b2a21c154121027eb504988cbc043dd4c9fac51685d68718a24d7f9f1d\
4c07b9f8c3d04327794c"
sequence: 4294967294
pkscript: 76a91437d070b3c6716a6174080722579fbdddad39bfb388ac
value: 2275183814
address: bitcoincash:qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
witness: []
outputs:
- address: bitcoincash:qqla8n6hwp9f86tc92t6f76680mlkxnqgu5flcqwfe
pkscript: 76a9143fd3cf57704a93e9782a97a4fb5a3bf7fb1a604788ac
value: 15197686
spent: false
spender: null
- address: bitcoincash:qql2wpu4fa36yf07gcc8q80sjfxfaq66xssezyukg2
pkscript: 76a9143ea707954f63a225fe4630701df0924c9e835a3488ac
value: 2259981628
spent: true
spender:
txid: 9e5fd342efb429df773d8208e3fde7af9b7440869e5963d761da0b317c4908ef
input: 0
block:
height: 688793
position: 3
deleted: false
time: 1621583361
rbf: false
weight: 900
- txid: 00f304a6089a708168cd10d5ad8abd2977c36791156a55b040117cb5a3db7fad
size: 225
version: 2
locktime: 688792
fee: 4500
inputs:
- coinbase: false
txid: b810589c80335083ed715c03abf62f23968846d2f54343bac305f890f292ec8e
output: 1
sigscript: "47304402206a11f253c8035be2d9f5958a9ca838b3fd5a1a120441885e10e6ca\
d0fef3911f02202056263939a88fe06e7fc94368ff44c46f71e7daa603936d75\
5b35b8b2a21c154121027eb504988cbc043dd4c9fac51685d68718a24d7f9f1d\
4c07b9f8c3d04327794c"
sequence: 4294967294
pkscript: 76a91437d070b3c6716a6174080722579fbdddad39bfb388ac
value: 2275183814
address: bitcoincash:qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
witness: []
outputs:
- address: bitcoincash:qqla8n6hwp9f86tc92t6f76680mlkxnqgu5flcqwfe
pkscript: 76a9143fd3cf57704a93e9782a97a4fb5a3bf7fb1a604788ac
value: 15197686
spent: false
spender: null
- address: bitcoincash:qql2wpu4fa36yf07gcc8q80sjfxfaq66xssezyukg2
pkscript: 76a9143ea707954f63a225fe4630701df0924c9e835a3488ac
value: 2259981628
spent: true
spender:
txid: 9e5fd342efb429df773d8208e3fde7af9b7440869e5963d761da0b317c4908ef
input: 0
block:
height: 688793
position: 3
deleted: false
time: 1621583361
rbf: false
weight: 900
- txid: b810589c80335083ed715c03abf62f23968846d2f54343bac305f890f292ec8e
size: 225
version: 2
locktime: 688706
fee: 4500
inputs:
- coinbase: false
txid: 741f605735c995ab6d79814da49002f7b4eea973656e70410cbf7969ebf467fd
output: 0
sigscript: "4730440220298e397d155bcd0c3371a17f11d6dc06392c72c6d4646ac27fad72\
e86e7f18f50220471c7338a0f4573955e52a95c4c2717f5ae5d369ad153ae627\
49d0dcd9250482412103c60a0fd16eaf3c72dee4bf12a566ee3a6ae181a29b66\
a1f2407442f7a6d39ad2"
sequence: 4294967294
pkscript: 76a9145124c4e68eed7ffc6110c2326d7d3739f55a09eb88ac
value: 2775188314
address: bitcoincash:qpgjf38x3mkhllrpzrprymtaxuul2ksfavle5hmhl4
witness: []
outputs:
- address: bitcoincash:qqx0ende3cx70rdsmml6ap5pcc9nqmns5qlc8yvhga
pkscript: 76a9140cfccdb98e0de78db0deffae8681c60b306e70a088ac
value: 500000000
spent: false
spender: null
- address: bitcoincash:qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
pkscript: 76a91437d070b3c6716a6174080722579fbdddad39bfb388ac
value: 2275183814
spent: true
spender:
txid: 00f304a6089a708168cd10d5ad8abd2977c36791156a55b040117cb5a3db7fad
input: 0
block:
height: 688707
position: 786
deleted: false
time: 1621533785
rbf: false
weight: 900
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/address/{address}/balance':
get:
tags:
- Address
operationId: getBalance
summary: Address Balance
description: |
The balance of an address: confirmed and unconfirmed amounts, the number of
unspent outputs and of transactions, and the total ever received.
An address that has never been used has a balance of zero rather than giving
404: every valid address exists, it just has not received anything yet.
parameters:
- $ref: '#/components/parameters/addressParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Address balance and other stats.
content:
application/json:
schema:
$ref: '#/components/schemas/Balance'
example:
address: bitcoincash:qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
confirmed: 0
unconfirmed: 0
utxo: 0
txs: 2
received: 2275183814
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/address/balances':
get:
tags:
- Address
summary: Multiple Address Balances
description: |
The balances of several addresses, in one call. Every address in the request
has a balance in the response, unused ones with zeros.
operationId: getMultipleAddressBalances
parameters:
- $ref: '#/components/parameters/addressesParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Address balances and other stats.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Balance'
example:
- address: bitcoincash:qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
confirmed: 0
unconfirmed: 0
utxo: 0
txs: 2
received: 2275183814
- address: bitcoincash:qql2wpu4fa36yf07gcc8q80sjfxfaq66xssezyukg2
confirmed: 0
unconfirmed: 0
utxo: 0
txs: 2
received: 2259981628
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Invalid Address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/address/{address}/unspent':
get:
tags:
- Address
summary: Address Unspent Outputs
description: |
The outputs paid to an address that are not spent yet, newest first: the
coins a wallet can spend.
Outputs spent by an unconfirmed transaction are left out, because spending
them again would conflict with it. Unconfirmed outputs are included, with
`"block": {"mempool": …}`; whether to spend them is the wallet's choice.
operationId: getAddressUnspent
parameters:
- $ref: '#/components/parameters/addressParam'
- $ref: '#/components/parameters/heightParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: List of unspent outputs starting with most recent.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Unspent'
example:
- address: bitcoincash:qqla8n6hwp9f86tc92t6f76680mlkxnqgu5flcqwfe
block:
height: 688793
position: 3
txid: 00f304a6089a708168cd10d5ad8abd2977c36791156a55b040117cb5a3db7fad
index: 0
pkscript: 76a9143fd3cf57704a93e9782a97a4fb5a3bf7fb1a604788ac
value: 15197686
- address: bitcoincash:qqla8n6hwp9f86tc92t6f76680mlkxnqgu5flcqwfe
block:
height: 688664
position: 51
txid: 1c9337a7bad182b5cf303b6c3ad7aeac8cbc162dee11ace30671d12d83f80501
index: 1
pkscript: 76a9143fd3cf57704a93e9782a97a4fb5a3bf7fb1a604788ac
value: 28288039
- address: bitcoincash:qqla8n6hwp9f86tc92t6f76680mlkxnqgu5flcqwfe
block:
height: 688601
position: 3820
txid: c41e77bb8ab9f78a0ca26c43ba8a9e687510ccc303a9637e86bfb8affcd1dcf6
index: 0
pkscript: 76a9143fd3cf57704a93e9782a97a4fb5a3bf7fb1a604788ac
value: 42056933
- address: bitcoincash:qqla8n6hwp9f86tc92t6f76680mlkxnqgu5flcqwfe
block:
height: 686234
position: 3648
txid: d4cad6861428215ed6f86406eb445305b107ab041f02e7ef5879381e9cc11ec0
index: 0
pkscript: 76a9143fd3cf57704a93e9782a97a4fb5a3bf7fb1a604788ac
value: 24597765
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/address/unspent':
get:
tags:
- Address
summary: Multiple Address Unspent Outputs
description: |
The unspent outputs of several addresses, merged into one list, newest
first.
operationId: getMultipleAddressUnspent
parameters:
- $ref: '#/components/parameters/addressesParam'
- $ref: '#/components/parameters/heightParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: List of unspent outputs starting with most recent.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Unspent'
example:
- address: bitcoincash:qqla8n6hwp9f86tc92t6f76680mlkxnqgu5flcqwfe
block:
height: 688793
position: 3
txid: 00f304a6089a708168cd10d5ad8abd2977c36791156a55b040117cb5a3db7fad
index: 0
pkscript: 76a9143fd3cf57704a93e9782a97a4fb5a3bf7fb1a604788ac
value: 15197686
- address: bitcoincash:qqla8n6hwp9f86tc92t6f76680mlkxnqgu5flcqwfe
block:
height: 688664
position: 51
txid: 1c9337a7bad182b5cf303b6c3ad7aeac8cbc162dee11ace30671d12d83f80501
index: 1
pkscript: 76a9143fd3cf57704a93e9782a97a4fb5a3bf7fb1a604788ac
value: 28288039
- address: bitcoincash:qqla8n6hwp9f86tc92t6f76680mlkxnqgu5flcqwfe
block:
height: 688601
position: 3820
txid: c41e77bb8ab9f78a0ca26c43ba8a9e687510ccc303a9637e86bfb8affcd1dcf6
index: 0
pkscript: 76a9143fd3cf57704a93e9782a97a4fb5a3bf7fb1a604788ac
value: 42056933
- address: bitcoincash:qqla8n6hwp9f86tc92t6f76680mlkxnqgu5flcqwfe
block:
height: 686234
position: 3648
txid: d4cad6861428215ed6f86406eb445305b107ab041f02e7ef5879381e9cc11ec0
index: 0
pkscript: 76a9143fd3cf57704a93e9782a97a4fb5a3bf7fb1a604788ac
value: 24597765
- address: bitcoincash:qp5p2rhvl6dtl0jkvrzf2w7u3fxpylu3ks7wh3vtlp
block:
height: 685236
position: 15161
txid: f80be09fecde882e3b59e39f05f93b51ed92dfe099ee24384b6f30d1d324a995
index: 0
pkscript: 76a91468150eecfe9abfbe5660c4953bdc8a4c127f91b488ac
value: 52128096
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/block/best':
get:
tags:
- Block
summary: Block Chain Head
description: |
The newest block of the chain with the most work that this server has
imported.
It can be a block or two behind the network while the server imports a new
one; `/health` says how far behind it is.
operationId: getBlockHead
parameters:
- $ref: '#/components/parameters/notxParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Best block data.
content:
application/json:
schema:
$ref: '#/components/schemas/BlockData'
example:
hash: 000000000000000001b64b6325acf226dd0b9c012c1d126917bf444f35408961
height: 688797
mainchain: true
previous: 0000000000000000005ed0fb2297eee123e8970060ed52ce021ce415b3d21e0b
time: 1621589645
version: 805298176
bits: 402828819
nonce: 1843321275
size: 14345
tx:
- a12f364c11eeb9f5b48295ed52de6d62246d14db884fde68510489ef8afe36dd
- 0426d4a7d9635f805d657823395ba7f88c28391015c8ff7166f136d4cb1e7003
- 078169b239fb052fd11947ca2e06d72bcaf2dcd8e2ca2de3641a99972da555aa
- 09e1a01f75cc41d3a6ddd33cfc6c7c43cff546b6017c42098dc42c0380894d31
- 1706b23e11d5e65a6b5a7e5b2883be7601037865c46db872b56cce959f25584b
- 2638456e1b6874b978dbfa545b56e698344d5d776c7fcf9fd283f6ba7eeb0f2d
- 2d11fe4dc71ffb9b3245927fb8a3821a440d555a2a7cdcba1b561be7d4d5851a
- 2f4458e9b637b3be97db4c896ef6e396d4a4502e4c00493b8b12e4e672ff991d
- 30adc4c7e8fc46b2756d7edd4c3ca13ba08d24ba1cff99e4cb59864b442d1b56
- 30ffe61ae7d106b00a8a3a8b5195ddd5291deb0120fdc620fa42689b481923fa
- 3166134ffddf6fe6cb816aceb59894274ffeea320406876d8e77b1afa4c98056
- 3ba5dbc9ab73ef827898c624c7137f41f960efd6e06fb149f67a899731db831d
- 3f7a69e8104aa103e0988a0201ac2d40347ed84ab4c3ed239ddbe079d269dae8
- 3fb631d18bd4b86aa2d5156f01a69a89a958b9999cbad2abafe55b65d917c812
- 4cadeaaf483ea263b8a5a26cfcf227795ec0e468400d16067163b0a20d4b0834
- 51ebe726bdb690d70ad331e4fb08dddcdd7eaa1a45d8fcc0ac8cee56f54f0d72
- 613229215ee961c1ec452685d2031f435ca65e1d96744615e590b87ebeb2828a
- 6243831873230e731091c49d86d65de17cd5a9218d71a1e83213908d532c0014
- 6ce70f7d51b0bb80c3ca6c84bb1131807c3316c760e080fdbd296cc4f319d097
- 734fc62db583495c14b14ffccc12f89b2cea3e8d179e07c78ad6cd5746b018b7
- 777981b9cf7e9222d33129e511c4c247883052622f44e2c61b0393018ba111af
- 7985ef5d0ab5e7ff7791dd3d82db1673f66f1b9c0d95d27628025253497ca22e
- 7c071a25ffa5e6333e65dcc86460c25a5ef41d7502603beabdc0541aef18d782
- 7d237bf9a123281edebebd7029d77b4c7726df54f330ae1228359897b976ef11
- 884f75299f7dc57cb9844f88b0752b8522c128a0d4915084a0a844cec538a38f
- 9cb79e1b11c6bdea8ccab3f61411679bd5b19c17651fb71e0d9dbef04fa27d09
- b7596e008884c68a0322c56ccd94c429613e6be8c958e5c0c93ced6915d32c86
- be9e621846769a6a92c68882e0b5eb6352a3be3469e4d9beb3926b64039e1037
- c186585d8e4cae9f04a6c2cb463c79f5f78331434c5bed3c5616672a06919b91
- c6fc1a6d92877b9878ab08169c22ce39028c3e368d53544811f74f42cdc9e138
- c8421314ebfe5a312066c2e0feb00eacf49fd28ca174c89461eabdbea5a7fdd5
- d43a179f02356f62b8d42736c4d70da7584f3c1bbc29d8b2fbe147b9f89ebc04
- d6312a20c5df4368e975438556aac9db816d261d03c57c3b831f13fa40d1a303
- d7dc9b223ea0c2e21877611afe65df412164d5a08d2446763dda5bca72719c31
- df562b911ee84726e9be7c2496aa60466f34a6d748c47f368a05cbd29f45aaca
- e3b023c0cf9554dfb2ece828dfd94cce4438bfd28c57dfc62af843f9c09cbb4c
- e9ef985c16a176c1ea3890edcf8fab187703356008016b3aa252844100dafa51
- ed306dfe986b37aa64006e7deeb5c2342b563b4ca130de53b1e6cb6c8c57758a
- edf9f11512782dab3e6e4efc47f0491f30ffb87d005f78dd623bae027fb92579
- f36b81e3aa3340d03a50f7cf71a4c4cda91cf972198a508ecb32c9c41feb7773
- ff85614565dcc8710dc4f6a96b64ea593e30e0b437980d3702e4adf99aab3f87
merkle: f379f45cb00f781a94e5ea4be0c194c4d9715c374d02ec1494800869bfd542b8
subsidy: 625000000
fees: 87081
outputs: 115319020328
work: 440514608165117083892886234
application/octet-stream:
schema:
type: string
format: binary
'/block/best/raw':
get:
tags:
- Block
summary: Raw Block Chain Head
description: |
The newest block, serialized as in the peer-to-peer protocol, with all its
transactions.
operationId: getRawBlockHead
parameters:
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: >-
Bitcoin protocol block.
Hex string when using JSON.
content:
application/json:
schema:
type: object
required:
- result
properties:
result:
type: string
example: "010000006f187fddd5e28aa1b4065daa5d9eae0c487094fb20cf97ca02b81c84\
000000005b7b25b51797f83192f9fd2c3871bfb27570a7d6b56d3a50760613d1\
a2fc1aeeab346849ffff001d36d9507101010000000100000000000000000000\
00000000000000000000000000000000000000000000ffffffff0704ffff001d\
0120ffffffff0100f2052a0100000043410408ab2f56361f83064e4ce51acc29\
1fb57c2cbcdb1d6562f6278c43a1406b548fd6cefc11bcc29eb620d5861cb9ed\
69dc39f2422f54b06a8af4f78c8276cfdc6bac00000000"
application/octet-stream:
schema:
type: string
format: binary
'/block/latest':
get:
tags:
- Block
summary: Most Recent Blocks
description: |
The newest block and the ones before it, up to 100 blocks, newest first. For
explorers that show recent blocks; use `notx=true` when you do not need the
transaction ids, as blocks can have thousands of them.
operationId: getLatestBlocks
parameters:
- $ref: '#/components/parameters/notxParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: List of most recent blocks.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BlockData'
example:
- hash: 000000000000000001b64b6325acf226dd0b9c012c1d126917bf444f35408961
height: 688797
mainchain: true
previous: 0000000000000000005ed0fb2297eee123e8970060ed52ce021ce415b3d21e0b
time: 1621589645
version: 805298176
bits: 402828819
nonce: 1843321275
size: 14345
tx:
- a12f364c11eeb9f5b48295ed52de6d62246d14db884fde68510489ef8afe36dd
merkle: f379f45cb00f781a94e5ea4be0c194c4d9715c374d02ec1494800869bfd542b8
subsidy: 625000000
fees: 87081
outputs: 115319020328
work: 440514608165117083892886234
- hash: 0000000000000000005ed0fb2297eee123e8970060ed52ce021ce415b3d21e0b
height: 688796
mainchain: true
previous: 000000000000000000f3e8c40d8fcb08fe68309d05c654d4a9626e71771c87bc
time: 1621589661
version: 536870912
bits: 402828953
nonce: 4121941127
size: 466349
tx:
- 1be65880d02647bc4b8b5525b6dd33848ac4f36cc2c682a35676d0c5e10858c2
merkle: a42b2321e225dd3812f1f1e502ea320eff30d9061f4089613250d5e6d9f3f1ca
subsidy: 625000000
fees: 2623401
outputs: 5682996095523
work: 440512846073222977677902178
- hash: 000000000000000000f3e8c40d8fcb08fe68309d05c654d4a9626e71771c87bc
height: 688795
mainchain: true
previous: 000000000000000000e2bd91f8f073c8a755335a1e16bd99d21d9a52497f80ca
time: 1621589252
version: 541065216
bits: 402826569
nonce: 4143833738
size: 3789642
tx:
- 09aecab0edb71bbd37d2482948ddc6bc3475b6723ed485620ef926571ab6af04
merkle: df42f51b831eda9ddcf84de248fa7fed56cec66a9f15545c9a0802f5e2ab1dd4
subsidy: 625000000
fees: 9075725
outputs: 58906363954005
work: 440511085324684718115244800
application/octet-stream:
schema:
type: string
format: binary
'/block/{block}':
get:
tags:
- Block
operationId: getBlock
summary: Block Information
description: |
A block by its hash, with the ids of its transactions.
Blocks that are no longer in the main chain after a reorganisation keep
answering, with `"mainchain": false`, so a link to a block never breaks.
parameters:
- $ref: '#/components/parameters/notxParam'
- $ref: '#/components/parameters/blockParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Block data.
content:
application/json:
schema:
$ref: '#/components/schemas/BlockData'
example:
hash: 000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506
height: 100000
mainchain: true
previous: 000000000002d01c1fccc21636b607dfd930d31d01c3a62104612a1719011250
time: 1293623863
version: 1
bits: 453281356
nonce: 274148111
size: 957
tx:
- 8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87
- fff2525b8931402dd09222c50775608f75787bd2b87e56995a7bdd30f79702c4
- 6359f0868171b1d194cbee1af2f16ea598ae8fad666d9b012c8ed2b79a236ec4
- e9a66845e05d5abc0ad04ec80f774a7e585c6e8db975962d069a522137b80c1d
merkle: f3e94742aca4b5ef85488dc37c06c3282295ffec960994b2c0d5ac2a25a95766
subsidy: 5000000000
fees: 0
outputs: 5301000000
work: 451709610344319134
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Block not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/block/{block}/raw':
get:
tags:
- Block
operationId: getRawBlock
summary: Raw Block
description: |
A block by its hash, serialized as in the peer-to-peer protocol, with all
its transactions.
parameters:
- $ref: '#/components/parameters/blockParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: >-
Bitcoin protocol block.
Hex string when using JSON.
content:
application/json:
schema:
type: object
required:
- result
properties:
result:
type: string
example: "0100000050120119172a610421a6c3011dd330d9df07b63616c2cc1f1cd00200\
000000006657a9252aacd5c0b2940996ecff952228c3067cc38d4885efb5a4ac\
4247e9f337221b4d4c86041b0f2b571004010000000100000000000000000000\
00000000000000000000000000000000000000000000ffffffff08044c86041b\
020602ffffffff0100f2052a010000004341041b0e8c2567c12536aa13357b79\
a073dc4444acb83c4ec7a0e2f99dd7457516c5817242da796924ca4e99947d08\
7fedf9ce467cb9f7c6287078f801df276fdf84ac000000000100000001032e38\
e9c0a84c6046d687d10556dcacc41d275ec55fc00779ac88fdf357a187000000\
008c493046022100c352d3dd993a981beba4a63ad15c209275ca9470abfcd57d\
a93b58e4eb5dce82022100840792bc1f456062819f15d33ee7055cf7b5ee1af1\
ebcc6028d9cdb1c3af7748014104f46db5e9d61a9dc27b8d64ad23e7383a4e6c\
a164593c2527c038c0857eb67ee8e825dca65046b82c9331586c82e0fd1f633f\
25f87c161bc6f8a630121df2b3d3ffffffff0200e32321000000001976a914c3\
98efa9c392ba6013c5e04ee729755ef7f58b3288ac000fe208010000001976a9\
14948c765a6914d43f2a7ac177da2c2f6b52de3d7c88ac000000000100000001\
c33ebff2a709f13d9f9a7569ab16a32786af7d7e2de09265e41c61d078294ecf\
010000008a4730440220032d30df5ee6f57fa46cddb5eb8d0d9fe8de6b342d27\
942ae90a3231e0ba333e02203deee8060fdc70230a7f5b4ad7d7bc3e628cbe21\
9a886b84269eaeb81e26b4fe014104ae31c31bf91278d99b8377a35bbce5b27d\
9fff15456839e919453fc7b3f721f0ba403ff96c9deeb680e5fd341c0fc3a7b9\
0da4631ee39560639db462e9cb850fffffffff0240420f00000000001976a914\
b0dcbf97eabf4404e31d952477ce822dadbe7e1088acc060d211000000001976\
a9146b1281eec25ab4e1e0793ff4e08ab1abb3409cd988ac0000000001000000\
010b6072b386d4a773235237f64c1126ac3b240c84b917a3909ba1c43ded5f51\
f4000000008c493046022100bb1ad26df930a51cce110cf44f7a48c3c561fd97\
7500b1ae5d6b6fd13d0b3f4a022100c5b42951acedff14abba2736fd574bdb46\
5f3e6f8da12e2c5303954aca7f78f3014104a7135bfe824c97ecc01ec7d7e336\
185c81e2aa2c41ab175407c09484ce9694b44953fcb751206564a9c24dd094d4\
2fdbfdd5aad3e063ce6af4cfaaea4ea14fbbffffffff0140420f000000000019\
76a91439aa3d569e06a1d7926dc4be1193c99bf2eb9ee088ac00000000"
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Block not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blocks':
get:
tags:
- Block
operationId: getBlocks
summary: Information for Multiple Blocks
description: |
Several blocks by hash, in one call. Hashes that are not known are left out
of the response rather than failing the whole request, and repeated hashes
are answered once.
parameters:
- $ref: '#/components/parameters/notxParam'
- $ref: '#/components/parameters/blocksParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: List of block data objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BlockData'
example:
- hash: 000000000845517b31c6820d83f25cff46429bf136a7515fe504116427e60f8e
height: 49999
mainchain: true
previous: 000000001a793b5b7732ee306b1e4196132e0193fac6457801f1e16e6ec89e6a
time: 1270916354
version: 1
bits: 472518933
nonce: 64497466
size: 216
tx:
- 2c95132eb2fd2e7d2f5bd282595d3d47950836031727850579dca836254b1bd4
merkle: 2c95132eb2fd2e7d2f5bd282595d3d47950836031727850579dca836254b1bd4
subsidy: 5000000000
fees: 0
outputs: 0
work: 363097871874800
- hash: 000000001aeae195809d120b5d66a39c83eb48792e068f8ea1fea19d84a4278a
height: 50000
mainchain: true
previous: 000000000845517b31c6820d83f25cff46429bf136a7515fe504116427e60f8e
time: 1270916538
version: 1
bits: 472518933
nonce: 58489010
size: 216
tx:
- 27f1d66f8a1ee5280f4e92508dcb647e954d53004905d08a75574daee4988360
merkle: 27f1d66f8a1ee5280f4e92508dcb647e954d53004905d08a75574daee4988360
subsidy: 5000000000
fees: 0
outputs: 0
work: 363124009197915
application/octet-stream:
schema:
type: string
format: binary
'/block/height/{height}':
get:
tags:
- Block
operationId: getBlocksAtHeight
summary: Blocks at Height
description: |
The blocks at a height. It is a list because the server keeps the blocks of
chains that were abandoned in a reorganisation; the one in the main chain
has `"mainchain": true`.
parameters:
- $ref: '#/components/parameters/blockHeightParam'
- $ref: '#/components/parameters/notxParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Block data objects including orphans.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BlockData'
example:
- hash: 000000008f1a7008320c16b8402b7f11e82951f44ca2663caf6860ab2eeef320
height: 200
mainchain: true
previous: 00000000b7691ccc084542565697eca256e56bb7f67e560b48789db27f0468eb
time: 1231753120
version: 1
bits: 486604799
nonce: 1832536838
size: 215
tx:
- 2b1f06c2401d3b49a33c3f5ad5864c0bc70044c4068f9174546f3cfc1887d5ba
merkle: 2b1f06c2401d3b49a33c3f5ad5864c0bc70044c4068f9174546f3cfc1887d5ba
subsidy: 5000000000
fees: 0
outputs: 0
work: 863301599433
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Block not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/block/height/{height}/raw':
get:
tags:
- Block
operationId: getRawBlocksAtHeight
summary: Raw Blocks at Height
description: |
The blocks at a height, serialized as in the peer-to-peer protocol.
parameters:
- $ref: '#/components/parameters/blockHeightParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: >-
Bitcoin protocol blocks.
Hex strings when using JSON.
content:
application/json:
schema:
type: array
items:
type: string
example: "01000000eb68047fb29d78480b567ef6b76be556a2ec975656424508cc1c69b7\
00000000bad58718fc3c6f5474918f06c44400c70b4c86d55a3f3ca3493b1d40\
c2061f2ba00f6b49ffff001d064b3a6d01010000000100000000000000000000\
00000000000000000000000000000000000000000000ffffffff0704ffff001d\
0138ffffffff0100f2052a010000004341045e071dedd1ed03721c6e9bba28fc\
276795421a378637fb41090192bb9f208630dcbac5862a3baeb9df3ca6e4e256\
b7fd2404824c20198ca1b004ee2197866433ac00000000"
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Block not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/block/time/{time}':
get:
tags:
- Block
operationId: getBlockAtTime
summary: Block Mined at Time
description: |
The last block of the main chain whose timestamp is at or before a time:
the block that was the newest at that moment, as far as the timestamps of
blocks tell.
Timestamps of blocks are set by miners and are only roughly right; they can
even go backwards from one block to the next. For a time that only goes
forward, use `/block/mtp/{time}`.
parameters:
- $ref: '#/components/parameters/timeParam'
- $ref: '#/components/parameters/notxParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Last block mined at or before specified time.
content:
application/json:
schema:
$ref: '#/components/schemas/BlockData'
example:
hash: 000000008f1a7008320c16b8402b7f11e82951f44ca2663caf6860ab2eeef320
height: 200
mainchain: true
previous: 00000000b7691ccc084542565697eca256e56bb7f67e560b48789db27f0468eb
time: 1231753120
version: 1
bits: 486604799
nonce: 1832536838
size: 215
tx:
- 2b1f06c2401d3b49a33c3f5ad5864c0bc70044c4068f9174546f3cfc1887d5ba
merkle: 2b1f06c2401d3b49a33c3f5ad5864c0bc70044c4068f9174546f3cfc1887d5ba
subsidy: 5000000000
fees: 0
outputs: 0
work: 863301599433
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Block not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/block/time/{time}/raw':
get:
tags:
- Block
operationId: getRawBlockAtTime
summary: Raw Block Mined at Time
description: |
Like `/block/time/{time}`, serialized as in the peer-to-peer protocol.
parameters:
- $ref: '#/components/parameters/timeParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: >-
Bitcoin protocol block mined at or before specified time.
Hex string when using JSON.
content:
application/json:
schema:
type: object
required:
- result
properties:
result:
type: string
example: "0100000000000000000000000000000000000000000000000000000000000000\
000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa\
4b1e5e4a29ab5f49ffff001d1dac2b7c01010000000100000000000000000000\
00000000000000000000000000000000000000000000ffffffff4d04ffff001d\
0104455468652054696d65732030332f4a616e2f32303039204368616e63656c\
6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f75742066\
6f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe554827\
1967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4\
f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000"
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Block not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/block/mtp/{time}':
get:
tags:
- Block
operationId: getBlockMTP
summary: Block at Median Time Past
description: |
The first block of the main chain whose median time past is at or after a
time.
The median time past of a block is the median of the timestamps of the 11
blocks up to it. Unlike the timestamps themselves, it never goes backwards,
and it is the time that the consensus rules use for time locks, so it is the
right one to answer "from which block on is this lock time reached".
parameters:
- $ref: '#/components/parameters/timeParam'
- $ref: '#/components/parameters/notxParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Block at Median Time Past
content:
application/json:
schema:
$ref: '#/components/schemas/BlockData'
example:
hash: 000000007986095d6dce2f41fd76e8008e828282400e46d3b49f39d19e2b7a78
height: 206
mainchain: true
previous: 00000000d7e3261b16abe2fc1811150812ee0d6f6fc3727cadd8821df2d96c45
time: 1231757577
version: 1
bits: 486604799
nonce: 125825145
size: 215
tx:
- 32cbb7e4d08f02fdd78368a7a03ff54c13191d1023aa1e3f157027241d9840ae
merkle: 32cbb7e4d08f02fdd78368a7a03ff54c13191d1023aa1e3f157027241d9840ae
subsidy: 5000000000
fees: 0
outputs: 0
work: 889071796431
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Block not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/block/mtp/{time}/raw':
get:
tags:
- Block
operationId: getRawBlockMTP
summary: Raw Block at Median Time Past
description: |
Like `/block/mtp/{time}`, serialized as in the peer-to-peer protocol.
parameters:
- $ref: '#/components/parameters/timeParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: >-
Bitcoin protocol block mined after specified median time past.
Hex string when using JSON.
content:
application/json:
schema:
type: object
required:
- result
properties:
result:
type: string
example: "01000000456cd9f21d82d8ad7c72c36f6f0dee1208151118fce2ab161b26e3d7\
00000000ae40981d242770153f1eaa23101d19134cf53fa0a76883d7fd028fd0\
e4b7cb3209216b49ffff001d79f07f0701010000000100000000000000000000\
00000000000000000000000000000000000000000000ffffffff0704ffff001d\
010effffffff0100f2052a01000000434104bc184a82d824a8ff59576e8b6843\
767407e4f35edb5ad725460764a30ddf91479fd0eb1b0c2b4371a06b3fdae345\
3262fcf3358afafe3dbebccf2fdefcd0853cac00000000"
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Block not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/block/heights':
get:
tags:
- Block
operationId: getBlocksAtHeights
summary: Blocks at Multiple Heights
description: |
The blocks at several heights, in one call, all of them for each height.
parameters:
- $ref: '#/components/parameters/blockHeightsParam'
- $ref: '#/components/parameters/notxParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: List of block data objects at specified heights.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BlockData'
example:
- hash: 000000007bc154e0fa7ea32218a72fe2c1bb9f86cf8c9ebf9a715ed27fdb229a
height: 100
mainchain: true
previous: 00000000cd9b12643e6854cb25939b39cd7a1ad0af31a9bd8b2efe67854b1995
time: 1231660825
version: 1
bits: 486604799
nonce: 1573057331
size: 215
tx:
- 2d05f0c9c3e1c226e63b5fac240137687544cf631cd616fd34fd188fc9020866
merkle: 2d05f0c9c3e1c226e63b5fac240137687544cf631cd616fd34fd188fc9020866
subsidy: 5000000000
fees: 0
outputs: 0
work: 433798316133
- hash: 000000008f1a7008320c16b8402b7f11e82951f44ca2663caf6860ab2eeef320
height: 200
mainchain: true
previous: 00000000b7691ccc084542565697eca256e56bb7f67e560b48789db27f0468eb
time: 1231753120
version: 1
bits: 486604799
nonce: 1832536838
size: 215
tx:
- 2b1f06c2401d3b49a33c3f5ad5864c0bc70044c4068f9174546f3cfc1887d5ba
merkle: 2b1f06c2401d3b49a33c3f5ad5864c0bc70044c4068f9174546f3cfc1887d5ba
subsidy: 5000000000
fees: 0
outputs: 0
work: 863301599433
- hash: 0000000062b69e4a2c3312a5782d7798b0711e9ebac065cd5d19f946439f8609
height: 300
mainchain: true
previous: 00000000b9b003c04b2fe21b4f7a2fa809eb643852573c3a1748653e2019f01c
time: 1231832435
version: 1
bits: 486604799
nonce: 951842076
size: 215
tx:
- bc15f9dcbe637c187bb94247057b14637316613630126fc396c22e08b89006ea
merkle: bc15f9dcbe637c187bb94247057b14637316613630126fc396c22e08b89006ea
subsidy: 5000000000
fees: 0
outputs: 0
work: 1292804882733
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Block not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/transaction/{txid}':
get:
tags:
- Transaction
operationId: getTransaction
summary: Detailed Transaction
description: |
A transaction, with what this server knows about it beyond its raw form:
where it is in the chain, the fee, the address and amount of every output it
spends, and which transaction spends each of its outputs.
Unconfirmed transactions are here too. A transaction that was removed from
the mempool, or whose block was abandoned, is not found.
parameters:
- $ref: '#/components/parameters/txidParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Detailed transaction object.
content:
application/json:
schema:
$ref: '#/components/schemas/Transaction'
example:
txid: 03c16602a41ae7cbc2a25b0d2801fdc3295e2e8ebfb26774030b2f7d538f5568
size: 219
version: 2
locktime: 0
fee: 220
inputs:
- coinbase: false
txid: 02ea64dfff60b1f215282bbb4b2d729fecc50d81d2d0ef09a60d550a5a69418f
output: 1
sigscript: "41e3dc2001cffff05e62751c071ac05dee8511b9af626fe5b07bf271ce48df66\
cf4013d4b4b280bb74eac6206d772aa24f1e766bc813dc68a461736392ce97f8\
a04121028d75bdff57fcecff68f2927092b15074a4524a8d8182b6de761f6af3\
b8c6ba8f"
sequence: 0
pkscript: 76a914dd1eee80cebba451dc26f6423881b8836fe86a8388ac
value: 8985694
address: bitcoincash:qrw3am5qe6a6g5wuymmyywyphzpkl6r2svhy9jy2kz
witness: []
outputs:
- address: bitcoincash:qrnltz5afhaxlh6grupll8nfdswpatwnvcsyucwcle
pkscript: 76a914e7f58a9d4dfa6fdf481f03ff9e696c1c1eadd36688ac
value: 1230
spent: false
spender: null
- address: bitcoincash:qrw3am5qe6a6g5wuymmyywyphzpkl6r2svhy9jy2kz
pkscript: 76a914dd1eee80cebba451dc26f6423881b8836fe86a8388ac
value: 8984244
spent: true
spender:
txid: 4670c8b46211c06aa1a1c42e8c7e090e971c2549d30aac65cdb12876782c2248
input: 0
block:
height: 688804
position: 13
deleted: false
time: 1621593351
rbf: false
weight: 876
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Transaction not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/transaction/{txid}/raw':
get:
tags:
- Transaction
operationId: getRawTransaction
summary: Raw Transaction
description: |
A transaction serialized as in the peer-to-peer protocol, as a node would
send it.
parameters:
- $ref: '#/components/parameters/txidParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: >-
Bitcoin protocol transaction.
Hex string if using JSON.
content:
application/json:
schema:
type: string
example: "02000000018f41695a0a550da609efd0d2810dc5ec9f722d4bbb2b2815f2b160\
ffdf64ea02010000006441e3dc2001cffff05e62751c071ac05dee8511b9af62\
6fe5b07bf271ce48df66cf4013d4b4b280bb74eac6206d772aa24f1e766bc813\
dc68a461736392ce97f8a04121028d75bdff57fcecff68f2927092b15074a452\
4a8d8182b6de761f6af3b8c6ba8f0000000002ce040000000000001976a914e7\
f58a9d4dfa6fdf481f03ff9e696c1c1eadd36688acb4168900000000001976a9\
14dd1eee80cebba451dc26f6423881b8836fe86a8388ac00000000"
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Transaction not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/transaction/{txid}/after/{height}':
get:
tags:
- Transaction
operationId: cbAfterHeight
summary: Hard Fork Safety Check
description: |
Whether any ancestor of a transaction is a coinbase mined after a height.
This answers a question that matters after a chain split, such as the one
between BTC and BCH: coins created by miners after the split exist on one
chain only, so a transaction that descends from them cannot be replayed on
the other chain. The server follows the inputs of the transaction back
through its ancestors, and answers `true` as soon as it finds such a
coinbase, `false` when every path ends in older blocks, and `null` when it
gives up after looking at 10,000 transactions, so that one request cannot
keep the server busy for long.
parameters:
- $ref: '#/components/parameters/txidParam'
- $ref: '#/components/parameters/blockHeightParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: >-
Specify height of last common block to find out if this transaction
is invalid on alternate chain.
content:
application/json:
schema:
type: object
required:
- result
properties:
result:
type: boolean
nullable: true
example: true
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/transactions':
get:
tags:
- Transaction
operationId: getTransactions
summary: Multiple Detailed Transactions
description: |
Several transactions by id, in one call. Ids that are not known are left out
of the response rather than failing the whole request, and repeated ids are
answered once.
parameters:
- $ref: '#/components/parameters/txidsParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: List of detailed transaction objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Transaction'
example:
- txid: 02ea64dfff60b1f215282bbb4b2d729fecc50d81d2d0ef09a60d550a5a69418f
size: 217
version: 2
locktime: 0
fee: 218
inputs:
- coinbase: false
txid: a7319f9118f2dc743a17476e668b83f61e9ee5252cb0417baf0bea41ddd95ba6
output: 1
sigscript: "41f1489e83baad016eb63e3ebfe6bda264652fa188877e2efed9261566265cb3\
1cff5091878f6a965b7184d538d8fe285b1ba4e3f18f53f44a30de3a36635750\
c34121028d75bdff57fcecff68f2927092b15074a4524a8d8182b6de761f6af3\
b8c6ba8f"
sequence: 0
pkscript: 76a914dd1eee80cebba451dc26f6423881b8836fe86a8388ac
value: 8987143
address: bitcoincash:qrw3am5qe6a6g5wuymmyywyphzpkl6r2svhy9jy2kz
witness: []
outputs:
- address: bitcoincash:prgmpvfetym4fm724dddyrgnm5a7stjmlcp8v7z3tn
pkscript: a914d1b0b139593754efcaab5ad20d13dd3be82e5bfe87
value: 1231
spent: false
spender: null
- address: bitcoincash:qrw3am5qe6a6g5wuymmyywyphzpkl6r2svhy9jy2kz
pkscript: 76a914dd1eee80cebba451dc26f6423881b8836fe86a8388ac
value: 8985694
spent: true
spender:
txid: 03c16602a41ae7cbc2a25b0d2801fdc3295e2e8ebfb26774030b2f7d538f5568
input: 0
block:
height: 688803
position: 17
deleted: false
time: 1621593002
rbf: false
weight: 868
- txid: 03c16602a41ae7cbc2a25b0d2801fdc3295e2e8ebfb26774030b2f7d538f5568
size: 219
version: 2
locktime: 0
fee: 220
inputs:
- coinbase: false
txid: 02ea64dfff60b1f215282bbb4b2d729fecc50d81d2d0ef09a60d550a5a69418f
output: 1
sigscript: "41e3dc2001cffff05e62751c071ac05dee8511b9af626fe5b07bf271ce48df66\
cf4013d4b4b280bb74eac6206d772aa24f1e766bc813dc68a461736392ce97f8\
a04121028d75bdff57fcecff68f2927092b15074a4524a8d8182b6de761f6af3\
b8c6ba8f"
sequence: 0
pkscript: 76a914dd1eee80cebba451dc26f6423881b8836fe86a8388ac
value: 8985694
address: bitcoincash:qrw3am5qe6a6g5wuymmyywyphzpkl6r2svhy9jy2kz
witness: []
outputs:
- address: bitcoincash:qrnltz5afhaxlh6grupll8nfdswpatwnvcsyucwcle
pkscript: 76a914e7f58a9d4dfa6fdf481f03ff9e696c1c1eadd36688ac
value: 1230
spent: false
spender: null
- address: bitcoincash:qrw3am5qe6a6g5wuymmyywyphzpkl6r2svhy9jy2kz
pkscript: 76a914dd1eee80cebba451dc26f6423881b8836fe86a8388ac
value: 8984244
spent: true
spender:
txid: 4670c8b46211c06aa1a1c42e8c7e090e971c2549d30aac65cdb12876782c2248
input: 0
block:
height: 688804
position: 13
deleted: false
time: 1621593351
rbf: false
weight: 876
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- Transaction
summary: Broadcast Transaction
description: |
Send a signed transaction to the network, and get its id back.
The body is the transaction in hexadecimal (white space is ignored) or as
raw bytes. It must be in the format that nodes of the network read: on BCH,
which has no SegWit, the format without witness data.
**A 200 means the transaction was sent, not that the network accepted it.**
The server does not validate transactions; it gives the transaction to half
of its peers, which check it as they would any other. If they accept it, they
relay it back, and it appears in the mempool and in balances within seconds.
To know whether it was accepted, look for it with `/transaction/{txid}` or
watch `/events`.
Five seconds later the server asks those peers for the transaction back. A
peer that accepted it sends it, and the server imports it like any other
transaction it hears about; a peer that refused it has nothing to send.
operationId: postTransaction
parameters:
- $ref: '#/components/parameters/prettyParam'
requestBody:
description: >-
Publish Transaction. The body holds one transaction and nothing
else. Bytes after the transaction are refused. The transaction is
in the format that peers of the network read. A network without
SegWit, such as Bitcoin Cash, takes the format without witness
only.
content:
text/plain:
schema:
type: string
description: Hex-encoded Bitcoin protocol transaction.
example: "0200000001bd7d375bfc0a4ac4246ccefba4df1c635e5627b607bdc4af22282e\
cd5869d8f9010000006441f92d192c9e33b8184c58b88eb11f57a1eb5b5a2b0e\
72b326864021d9e946cd2a5275efcf385fbc0d9e7c8a76f9189d624efc00ff74\
657a52e47efc6ffa0bfe3b412102a20b2f9bd8b475252ad054fdedb49045bd40\
c8926b65f64e312dd821b243a37c000000000211180000000000001976a91434\
04e444809abd438d85eb18e8d07c796e364afe88ac399b7c00000000001976a9\
1486a7f1a2047ed6719fa1ad5484f15c37c104887c88ac00000000"
application/octet-stream:
schema:
type: string
format: binary
description: Bitcoin protocol transaction.
responses:
'200':
description: Transaction accepted by network peer.
content:
application/json:
schema:
$ref: '#/components/schemas/TxId'
example:
txid: 0b7cb07d848959fbd02ad6e2ed21fac888b8e8011c6b8c5362d05c703066ae67
application/octet-stream:
schema:
type: string
format: binary
'400':
description: Transaction rejected.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: |
Publishing transaction failed for one of these reasons:
* No network peers available.
* Timeout while publishing, most likely silent rejection.
* Network peer disconnected while publishing transaction.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/transactions/block/{block}':
get:
tags:
- Transaction
- Block
operationId: getBlockTransactions
summary: Transactions for Block
description: |
The full transactions of a block, in the order of the block.
parameters:
- $ref: '#/components/parameters/blockParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Detailed transactions from specified Block.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Transaction'
example:
- txid: 8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87
size: 135
version: 1
locktime: 0
fee: 0
inputs:
- coinbase: true
txid: "0000000000000000000000000000000000000000000000000000000000000000"
output: 4294967295
sigscript: 044c86041b020602
sequence: 4294967295
pkscript: null
value: null
address: null
witness: []
outputs:
- address: null
pkscript: "41041b0e8c2567c12536aa13357b79a073dc4444acb83c4ec7a0e2f99dd74575\
16c5817242da796924ca4e99947d087fedf9ce467cb9f7c6287078f801df276f\
df84ac"
value: 5000000000
spent: true
spender:
txid: f3e6066078e815bb24db0dfbff814f738943bddaaa76f8beba360cfe2882480a
input: 12
block:
height: 100000
position: 0
deleted: false
time: 1293623863
rbf: false
weight: 540
- txid: fff2525b8931402dd09222c50775608f75787bd2b87e56995a7bdd30f79702c4
size: 259
version: 1
locktime: 0
fee: 0
inputs:
- coinbase: false
txid: 87a157f3fd88ac7907c05fc55e271dc4acdc5605d187d646604ca8c0e9382e03
output: 0
sigscript: "493046022100c352d3dd993a981beba4a63ad15c209275ca9470abfcd57da93b\
58e4eb5dce82022100840792bc1f456062819f15d33ee7055cf7b5ee1af1ebcc\
6028d9cdb1c3af7748014104f46db5e9d61a9dc27b8d64ad23e7383a4e6ca164\
593c2527c038c0857eb67ee8e825dca65046b82c9331586c82e0fd1f633f25f8\
7c161bc6f8a630121df2b3d3"
sequence: 4294967295
pkscript: 76a91471d7dd96d9edda09180fe9d57a477b5acc9cad1188ac
value: 5000000000
address: bitcoincash:qpca0hvkm8ka5zgcpl5a27j80ddve89dzy4ya2rc9q
witness: []
outputs:
- address: bitcoincash:qrpe3mafcwft5cqnchsyaeefw4000avtxgzc3zhzg2
pkscript: 76a914c398efa9c392ba6013c5e04ee729755ef7f58b3288ac
value: 556000000
spent: true
spender:
txid: 5aa8e36f9423ee5fcf17c1d0d45d6988b8a5773eae8ad25d945bf34352040009
input: 6
- address: bitcoincash:qz2gcaj6dy2dg0e20tqh0k3v9a449h3a0smpvqhnkh
pkscript: 76a914948c765a6914d43f2a7ac177da2c2f6b52de3d7c88ac
value: 4444000000
spent: true
spender:
txid: 220ebc64e21abece964927322cba69180ed853bb187fbc6923bac7d010b9d87a
input: 0
block:
height: 100000
position: 1
deleted: false
time: 1293623863
rbf: false
weight: 1036
- txid: 6359f0868171b1d194cbee1af2f16ea598ae8fad666d9b012c8ed2b79a236ec4
size: 257
version: 1
locktime: 0
fee: 0
inputs:
- coinbase: false
txid: cf4e2978d0611ce46592e02d7e7daf8627a316ab69759a9f3df109a7f2bf3ec3
output: 1
sigscript: "4730440220032d30df5ee6f57fa46cddb5eb8d0d9fe8de6b342d27942ae90a32\
31e0ba333e02203deee8060fdc70230a7f5b4ad7d7bc3e628cbe219a886b8426\
9eaeb81e26b4fe014104ae31c31bf91278d99b8377a35bbce5b27d9fff154568\
39e919453fc7b3f721f0ba403ff96c9deeb680e5fd341c0fc3a7b90da4631ee3\
9560639db462e9cb850f"
sequence: 4294967295
pkscript: 76a91435fbee6a3bf8d99f17724ec54787567393a8a6b188ac
value: 300000000
address: bitcoincash:qq6lhmn280udn8chwf8v23u82eee829xkyfzh8lz80
witness: []
outputs:
- address: bitcoincash:qzcde0uha2l5gp8rrk2jga7wsgk6m0n7zq6q4n0ad0
pkscript: 76a914b0dcbf97eabf4404e31d952477ce822dadbe7e1088ac
value: 1000000
spent: true
spender:
txid: ae1933ba2b7dc9702c96b99fb00f1df1392d9dea998a24b88d61974e8da8d2ab
input: 0
- address: bitcoincash:qp439q0wcfdtfc0q0yllfcy2kx4mxsyumyaya6lvur
pkscript: 76a9146b1281eec25ab4e1e0793ff4e08ab1abb3409cd988ac
value: 299000000
spent: true
spender:
txid: 20ed3fc9688a13fceeae5fdd606266c351b1f15b90404d9df387644e4c3d5b90
input: 3
block:
height: 100000
position: 2
deleted: false
time: 1293623863
rbf: false
weight: 1028
- txid: e9a66845e05d5abc0ad04ec80f774a7e585c6e8db975962d069a522137b80c1d
size: 225
version: 1
locktime: 0
fee: 0
inputs:
- coinbase: false
txid: f4515fed3dc4a19b90a317b9840c243bac26114cf637522373a7d486b372600b
output: 0
sigscript: "493046022100bb1ad26df930a51cce110cf44f7a48c3c561fd977500b1ae5d6b\
6fd13d0b3f4a022100c5b42951acedff14abba2736fd574bdb465f3e6f8da12e\
2c5303954aca7f78f3014104a7135bfe824c97ecc01ec7d7e336185c81e2aa2c\
41ab175407c09484ce9694b44953fcb751206564a9c24dd094d42fdbfdd5aad3\
e063ce6af4cfaaea4ea14fbb"
sequence: 4294967295
pkscript: 76a914c4eb47ecfdcf609a1848ee79acc2fa49d3caad7088ac
value: 1000000
address: bitcoincash:qrzwk3lvlh8kpxscfrh8ntxzlfya8j4dwqtfzxkdk7
witness: []
outputs:
- address: bitcoincash:qqu6502kncr2r4ujdhztuyvnexdl96u7uqczwuuqu6
pkscript: 76a91439aa3d569e06a1d7926dc4be1193c99bf2eb9ee088ac
value: 1000000
spent: true
spender:
txid: 1ebf2dd645b815a59e35485dd4ceebc0587a1b7588b810e42085b479ce507bfa
input: 1
block:
height: 100000
position: 3
deleted: false
time: 1293623863
rbf: false
weight: 900
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Block not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/transactions/block/{block}/raw':
get:
tags:
- Transaction
- Block
operationId: getRawBlockTransactions
summary: Raw Block Transactions
description: |
The transactions of a block, serialized as in the peer-to-peer protocol, in
the order of the block.
parameters:
- $ref: '#/components/parameters/blockParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: >-
Bitcoin protocol transactions.
Hex strings if using JSON.
content:
application/json:
schema:
type: array
items:
type: string
example:
- "0100000001000000000000000000000000000000000000000000000000000000\
0000000000ffffffff08044c86041b020602ffffffff0100f2052a0100000043\
41041b0e8c2567c12536aa13357b79a073dc4444acb83c4ec7a0e2f99dd74575\
16c5817242da796924ca4e99947d087fedf9ce467cb9f7c6287078f801df276f\
df84ac00000000"
- "0100000001032e38e9c0a84c6046d687d10556dcacc41d275ec55fc00779ac88\
fdf357a187000000008c493046022100c352d3dd993a981beba4a63ad15c2092\
75ca9470abfcd57da93b58e4eb5dce82022100840792bc1f456062819f15d33e\
e7055cf7b5ee1af1ebcc6028d9cdb1c3af7748014104f46db5e9d61a9dc27b8d\
64ad23e7383a4e6ca164593c2527c038c0857eb67ee8e825dca65046b82c9331\
586c82e0fd1f633f25f87c161bc6f8a630121df2b3d3ffffffff0200e3232100\
0000001976a914c398efa9c392ba6013c5e04ee729755ef7f58b3288ac000fe2\
08010000001976a914948c765a6914d43f2a7ac177da2c2f6b52de3d7c88ac00\
000000"
- "0100000001c33ebff2a709f13d9f9a7569ab16a32786af7d7e2de09265e41c61\
d078294ecf010000008a4730440220032d30df5ee6f57fa46cddb5eb8d0d9fe8\
de6b342d27942ae90a3231e0ba333e02203deee8060fdc70230a7f5b4ad7d7bc\
3e628cbe219a886b84269eaeb81e26b4fe014104ae31c31bf91278d99b8377a3\
5bbce5b27d9fff15456839e919453fc7b3f721f0ba403ff96c9deeb680e5fd34\
1c0fc3a7b90da4631ee39560639db462e9cb850fffffffff0240420f00000000\
001976a914b0dcbf97eabf4404e31d952477ce822dadbe7e1088acc060d21100\
0000001976a9146b1281eec25ab4e1e0793ff4e08ab1abb3409cd988ac000000\
00"
- "01000000010b6072b386d4a773235237f64c1126ac3b240c84b917a3909ba1c4\
3ded5f51f4000000008c493046022100bb1ad26df930a51cce110cf44f7a48c3\
c561fd977500b1ae5d6b6fd13d0b3f4a022100c5b42951acedff14abba2736fd\
574bdb465f3e6f8da12e2c5303954aca7f78f3014104a7135bfe824c97ecc01e\
c7d7e336185c81e2aa2c41ab175407c09484ce9694b44953fcb751206564a9c2\
4dd094d42fdbfdd5aad3e063ce6af4cfaaea4ea14fbbffffffff0140420f0000\
0000001976a91439aa3d569e06a1d7926dc4be1193c99bf2eb9ee088ac000000\
00"
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Block not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/transactions/raw':
get:
tags:
- Transaction
operationId: getRawTransactions
summary: Raw Transactions
description: |
Several transactions by id, serialized as in the peer-to-peer protocol. Ids
that are not known are left out.
parameters:
- $ref: '#/components/parameters/txidsParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: >
Bitcoin protocol transactions.
Hex strings if using JSON.
content:
application/json:
schema:
type: array
items:
type: string
example:
- "02000000018f41695a0a550da609efd0d2810dc5ec9f722d4bbb2b2815f2b160\
ffdf64ea02010000006441e3dc2001cffff05e62751c071ac05dee8511b9af62\
6fe5b07bf271ce48df66cf4013d4b4b280bb74eac6206d772aa24f1e766bc813\
dc68a461736392ce97f8a04121028d75bdff57fcecff68f2927092b15074a452\
4a8d8182b6de761f6af3b8c6ba8f0000000002ce040000000000001976a914e7\
f58a9d4dfa6fdf481f03ff9e696c1c1eadd36688acb4168900000000001976a9\
14dd1eee80cebba451dc26f6423881b8836fe86a8388ac00000000"
- "0200000001a65bd9dd41ea0baf7b41b02c25e59e1ef6838b666e47173a74dcf2\
18919f31a7010000006441f1489e83baad016eb63e3ebfe6bda264652fa18887\
7e2efed9261566265cb31cff5091878f6a965b7184d538d8fe285b1ba4e3f18f\
53f44a30de3a36635750c34121028d75bdff57fcecff68f2927092b15074a452\
4a8d8182b6de761f6af3b8c6ba8f0000000002cf0400000000000017a914d1b0\
b139593754efcaab5ad20d13dd3be82e5bfe875e1c8900000000001976a914dd\
1eee80cebba451dc26f6423881b8836fe86a8388ac00000000"
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/mempool':
get:
tags:
- Transaction
operationId: getMempool
summary: Mempool Transaction Hashes
description: |
The ids of the unconfirmed transactions, newest first, by the time this
server first saw them.
There is no maximum `limit` here: the mempool is bounded by the network, and
ids are small.
parameters:
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: List of transaction hashes from mempool.
content:
application/json:
schema:
type: array
items:
type: string
example:
- a60e3b0775e08877d0a8edac874090034f2fa55a15fb339b98b18abb5c8cbdf3
- c9c50b1f75b4a69319c51ffae3a47df7de99b02089e696b711244fd4591eb51e
- 11acbc09285f99d2cc11b707b61952258d554dcffe9a91ab0f6a22d1b06ac618
application/octet-stream:
schema:
type: string
format: binary
'/events':
get:
tags:
- Block
- Transaction
operationId: getEventStream
parameters:
- $ref: '#/components/parameters/prettyParam'
- name: after
in: query
required: false
description: |
Hash of the last event heard, a block or a transaction: the stream
starts with what came after it.
schema:
type: string
example: 3e225aa5d41b0f7560ee641f86b00728adc626102b348f9d319e0fdfd848a0db
- name: quiet
in: query
required: false
description: |
`true` to hear of blocks alone, until something is watched.
schema:
type: boolean
default: false
- name: addresses
in: query
required: false
description: Addresses to watch from the start, separated by commas.
schema:
type: string
- name: xpub
in: query
required: false
description: Extended public key to watch from the start.
schema:
type: string
- name: derive
in: query
required: false
description: |
Types of the addresses of `xpub`: `legacy`, `compat` or `segwit`,
one or several separated by commas. `legacy` when left out.
schema:
type: string
example: legacy,segwit
- name: filter
in: query
required: false
description: |
Bloom filter to start with, in hex, with `functions`, and `tweak`
and `flags` when they are not 0.
schema:
type: string
- name: functions
in: query
required: false
description: Number of hash functions of `filter`.
schema:
type: integer
- name: tweak
in: query
required: false
description: Tweak of `filter`.
schema:
type: integer
- name: flags
in: query
required: false
description: Flags of `filter`.
schema:
type: integer
summary: Stream Blocks and Transactions
description: |
A stream of what happens on the network: one event per new block and per
transaction that enters or leaves the mempool, as one line of JSON each.
```
{"type":"tx","id":"9a5c…"}
{"type":"block","id":"0000000000000000000a1b…"}
```
An event names what changed and nothing else, which keeps the stream
small; fetch the block or transaction if you need it. A transaction
that a block confirms has no event of its own: the block is the event.
## Taking up where you left
The server keeps its last 10,000 events, fewer when their transactions
are very large. With `after` the stream starts after the event with
that hash, so a client that reconnects misses nothing. If the server
does not have that event the answer is 404: read again what you
follow, and connect without `after`. A client that falls further
behind than the server keeps is disconnected.
A transaction that entered the mempool and left it unconfirmed has two
events with the same hash. The stream starts after the first of them,
so an event may come twice, and none is left out.
In a fleet every server keeps the same events, also from before it
started: come back to any of them.
## WebSocket
The same events are sent over a **WebSocket** at the same path, one
message each, and `after` works the same. The server pings every 30
seconds and drops clients that do not answer within 60.
Messages are JSON in text frames or binary in binary frames ("Binary
format" above). The server answers in the kind of frame that the
client last sent; before the client has sent any, in binary if the
`Accept` header of the handshake asked for it, else in JSON.
## Choosing transactions
Over the WebSocket a client can say which transactions it wants to
hear about, with these messages. Blocks are always sent. A client that
sends none of them hears of every transaction.
| Message | Does |
| --- | --- |
| `{"type":"watch","addresses":["…"]}` | Watch these addresses too. |
| `{"type":"unwatch","addresses":["…"]}` | Stop watching them. |
| `{"type":"watch","xpub":"…","derive":"segwit"}` | Watch a key too. |
| `{"type":"unwatch","xpub":"…","derive":"segwit"}` | Stop watching it. |
| `{"type":"filterload","filter":"hex","functions":11,"tweak":0,"flags":0}` | Set the Bloom filter. |
| `{"type":"filteradd","data":"hex"}` | Add an element to the filter. |
| `{"type":"filterclear"}` | Remove the filter. |
| `{"type":"all"}` | Forget all of it: every transaction again. |
| `{"type":"none"}` | Forget all of it: blocks alone. |
A transaction is sent when it pays to or spends from a watched address
or an address of a watched key, or when it matches the filter.
## Choosing from the start
A client that connects and then sends its messages is sent every
transaction until the first of them is read. To avoid that, say in the
URL what to start with, on the WebSocket or on the HTTP stream:
```
/events?quiet=true
/events?addresses=bc1q…,1A1z…
/events?xpub=xpub6C…&derive=legacy,segwit
/events?filter=b50f8a…&functions=11
```
`quiet=true` starts with blocks alone; send messages afterwards to
watch more. The others watch what they name, and can be combined. A
list of addresses too long for a URL goes in messages after
`quiet=true`, or, for the HTTP stream, in the form of a `POST`.
- **Keys.** `derive` is `legacy`, `compat` or `segwit`, as on the
`/xpub` endpoints, and `legacy` when left out. To watch one key under
several types of address, send a message for each. The server
watches the addresses in use and the gap of unused ones after them,
and moves the gap on as payments come. At most 100 keys.
- **Addresses.** At most 100,000.
- **Bloom filter.** The filter of BIP 37, matched as a node matches it
for an SPV client: against the hash of the transaction, the data in
its output scripts, the outputs it spends and the data in its input
scripts. One filter to a connection. The server never changes it:
`flags` is accepted, but the outputs of matching transactions are
not added, so add what you want to follow with `filteradd`. An empty
filter matches everything.
- **No answers.** As between a node and an SPV client, nothing is sent
back. A message that the server cannot read or will not do closes
the connection with code 1008 and the reason.
- When the server does not know the transaction of an event, which
happens when one leaves the mempool long after it entered, the event
goes to every client.
responses:
'200':
description: Events stream each on one line.
content:
application/x-json-stream:
schema:
$ref: '#/components/schemas/Event'
example:
type: tx
id: 3e225aa5d41b0f7560ee641f86b00728adc626102b348f9d319e0fdfd848a0db
application/octet-stream:
schema:
type: string
format: binary
'400':
description: A parameter could not be read, or names too much to watch.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: The server has no event with the hash given in `after`.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/peers':
get:
tags:
- Network
operationId: getPeers
parameters:
- $ref: '#/components/parameters/prettyParam'
summary: Connected Network Peers
description: |
The nodes of the peer-to-peer network that this server is connected to. It
is where blocks and transactions come from, and where broadcast transactions
go.
responses:
'200':
description: List of peer objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Peer'
example:
- useragent: /BCH Unlimited:1.9.2(EB32; AD12; 64bit)/
address: 162.250.189.42:8333
version: 80003
services: "0000000000000875"
relay: true
- useragent: /BCH Unlimited:1.9.2(EB32; AD12; 64bit)/
address: 154.57.12.149:8331
version: 80003
services: "0000000000000875"
relay: true
- useragent: /Bitcoin Cash Node:23.0.0(EB32.0)/
address: 206.189.127.50:8333
version: 70015
services: "0000000000000425"
relay: true
application/octet-stream:
schema:
type: string
format: binary
'/xpub/{xpub}':
get:
tags:
- Address
operationId: getXPubSummary
summary: Extended Public Key Summary
description: |
The summary of a wallet: its balance, and the index of the last used address
of the receiving and of the change chain, so the wallet knows where to derive
its next address.
It is the cheapest way to check a wallet: it does not list transactions or
outputs. See *Extended public keys* at the top for how the addresses are
found.
parameters:
- $ref: '#/components/parameters/xpubParam'
- $ref: '#/components/parameters/xpubDerive'
- $ref: '#/components/parameters/nocacheParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Information about extended public key.
content:
application/json:
schema:
$ref: '#/components/schemas/XPubSummary'
example:
balance:
confirmed: 84994
unconfirmed: 0
received: 137003577
utxo: 3
indices:
change: 27
external: 73
application/octet-stream:
schema:
type: string
format: binary
'400':
description: |
The wallet has no transactions with this `derive`, but has some with
another kind of address; the message names it. A query parameter
that does not parse also gives 400.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: user-error
message: >-
This xpub has no transactions with derive=legacy, but has
some with derive=segwit; ask with derive=segwit.
'404':
description: Invalid extended public key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
tags:
- Address
operationId: deleteCachedXPub
summary: Delete Cached Extended Key
description: |
Remove a wallet from the Redis cache of this server, if it has one. The
answer says whether it was cached.
There is rarely a reason to call this: cached wallets are kept up to date
with every block and transaction, and the least recently used ones are
evicted when the cache is full. It is there to free memory, or to rule out
the cache when looking into a problem.
parameters:
- $ref: '#/components/parameters/xpubParam'
- $ref: '#/components/parameters/xpubDerive'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: True if xpub got deleted from cache.
content:
application/json:
schema:
type: object
required:
- result
properties:
result:
type: boolean
nullable: false
example: true
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/xpub/{xpub}/transactions/full':
get:
tags:
- Address
operationId: getXPubTransactionsFull
summary: Detailed Extended Public Key Transactions
description: |
Like `/xpub/{xpub}/transactions`, with the full transactions instead of
their ids, and the lower maximum of full transactions.
parameters:
- $ref: '#/components/parameters/xpubParam'
- $ref: '#/components/parameters/xpubDerive'
- $ref: '#/components/parameters/heightParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/nocacheParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: List of transaction objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Transaction'
example:
- txid: f2ffa044fa3851c88e739ef76f13b960a828b5c1c7a71005a9315969c4924103
size: 406
version: 1
locktime: 0
fee: 675
inputs:
- coinbase: false
txid: ae3fc465a80264f45fa6f865ede43017d9826560299b6fb344d5cde84416b931
output: 1
sigscript: "473044022073b48b298df7ffb4ed5bb54ae939968e82fa966bc92d61728c8f7e\
6e6d914e1b022042164959fdbbd3cda2cdaf541a2143be79f4be85144bfef790\
6223c8a8cb2b2a4121029c71d9b4b94e8aa48072d1affba3432560d3e7964849\
1d4b6351d3ddff51aa8f"
sequence: 4294967295
pkscript: 76a91474e607acf5ecdef5f9746ffa280744413a595cdb88ac
value: 70000
address: bitcoincash:qp6wvpav7hkdaa0ew3hl52q8g3qn5k2umvmh76m9eh
witness: []
- coinbase: false
txid: 6fc0394cea4f5f82fe8f332118a9079469336be53bc73975e9d58a99fbbc7ca2
output: 1
sigscript: "47304402204dc38ccbb6b3f6dcf496b7405bfc3f1942c3834197a32af9e07e6a\
1f2d916c9502203a9f536951cb672b76111ec58cca35971c06af2bfaa481bd1a\
ee67a03428e78341210250dce9058b388bbc4014d3600770b9bb59b7636a2eef\
591797d9572014065c94"
sequence: 4294967295
pkscript: 76a91473cdab4b3e2486f7cbe618845f106109e5920aa588ac
value: 546
address: bitcoincash:qpeum26t8cjgda7tucvgghcsvyy7tys255ej7ux8wg
witness: []
outputs:
- address: bitcoincash:qz3k0wyd62g3njyucgcnpd72zq0r7rpsmumj82gvl4
pkscript: 76a914a367b88dd29119c89cc23130b7ca101e3f0c30df88ac
value: 30000
spent: false
spender: null
- address: bitcoincash:qpfvtmtyvfh3m5ul9kyc8gxefdpk2fx0syxxf7f6py
pkscript: 76a91452c5ed64626f1dd39f2d8983a0d94b436524cf8188ac
value: 39325
spent: false
spender: null
- address: bitcoincash:qrdf6e456fx6cmp6nwn9vhp4t6es7cuv9cfhvgdg5m
pkscript: 76a914da9d66b4d24dac6c3a9ba6565c355eb30f638c2e88ac
value: 546
spent: true
spender:
txid: 8c9f0ab27f96baca66d7a2eee5db8acd6b0b5fc725afbc3c2ea69c3d5b04aa7d
input: 1
block:
height: 680268
position: 6664
deleted: false
time: 1616669866
rbf: false
weight: 1624
- txid: ae3fc465a80264f45fa6f865ede43017d9826560299b6fb344d5cde84416b931
size: 851
version: 1
locktime: 0
fee: 1998
inputs:
- coinbase: false
txid: 26ce9896f0f64349670735bdc30fb42adadac61348e403e78c5f92c3fb697355
output: 0
sigscript: "483045022100b8feba7bfc7a0809c616694237bd5e82f6f3a5fafbe0bad03668\
79732fa829bc02203dce83fe508b86a1449c404756c274e11ea47decc4f8802c\
fd2ab7e92ed7b51b41210388e0b3a8e3aa50414ac8c03ae02ac1c9931d901ad7\
b6c1b7b83d50554fb592d8"
sequence: 4294967295
pkscript: 76a914c58a0c635b60d94498c416d32d4a2c15b36f8a2388ac
value: 40537
address: bitcoincash:qrzc5rrrtdsdj3yccstdxt229s2mxmu2yvj7ppp3cl
witness: []
- coinbase: false
txid: 41a422e6c003596954f07eb5021d9a2d6951da297dd519a5de3885772ac60e7c
output: 1
sigscript: "483045022100ad61cb3b0f08af0ada0ebb5be16213377fa193c9da16e4dca58a\
9350724106330220089ac5eea5193f0926a483668eef219c7add5fa7d2be99a6\
3e41da985fc104a241210223dc345218b6feb1815f0f103bc30a8508e3e248c4\
f9b4bfdfed1d4498f879b4"
sequence: 4294967295
pkscript: 76a9145590a6b61c7d22a199692ce9c55cef294acebbeb88ac
value: 40000
address: bitcoincash:qp2epf4kr37j9gvedykwn32uau554n4mavzhpyg2ua
witness: []
- coinbase: false
txid: de01f52644b2610d491d28ce474382c57655f102974526a3fba6b5a48f8ea812
output: 0
sigscript: "483045022100d29b0dd38462a33eac65eb8df53ba2b2905bac923057f5b37e20\
94f1a6072355022017480d0f2eedaa5f3ff2ca620a7b5b9301292524dfcaaa9c\
97859ee074f92b6e412102db25e4df201e02e95f167f63e06c55febe81fd0713\
3fb09f65b07a356aa645ec"
sequence: 4294967295
pkscript: 76a91457725700f16eda53d75608972ff322dd05642a8f88ac
value: 3000
address: bitcoincash:qpthy4cq79hd557h2cyfwtlnytws2ep23u6k07qh8v
witness: []
- coinbase: false
txid: de01f52644b2610d491d28ce474382c57655f102974526a3fba6b5a48f8ea812
output: 1
sigscript: "4830450221008ee0107bfc71e063ff8d5ab98f83bb63f17bda387d049b2c9e7f\
f885941a3859022015baabbc9280c70a19a6047f1028f261f5686b8342273316\
b4e2d703ab72d6264121027b884db5a796d7f96412a2efbf5961ef824323c8b0\
64e375c3e0dd512c6a010a"
sequence: 4294967295
pkscript: 76a9145f8e761ff252d3349c32e6bc12a5e11ba20aa3f188ac
value: 4130
address: bitcoincash:qp0cuasl7ffdxdyuxtntcy49uyd6yz4r7y8u0ss3yd
witness: []
- coinbase: false
txid: b0fddc9d29b86c695af3dd66b1834256c362698532585a597de9c800f04fde06
output: 401
sigscript: "473044022034251190cae8ba9197f81756778d5fbf071e63bb7460386fbb36cd\
74d47560a9022050a1cfec6076b8e7f23cd6e843b64cb2582476fd4b44fadb38\
7803ed9ad4f1e54121037779735684011f62563197944da9f9e074b17813c0c6\
2e79aeac7d875f9b8bf2"
sequence: 4294967295
pkscript: 76a91475dcf340cbb686b30bdaf6a2c8f8c68dadf93a5a88ac
value: 546
address: bitcoincash:qp6aeu6qewmgdvctmtm29j8cc6x6m7f6tgc6ey2mqu
witness: []
outputs:
- address: bitcoincash:qpg4r52nu85ra68aj4uecg0mufzu9hkmj5pxlaxfp2
pkscript: 76a9145151d153e1e83ee8fd95799c21fbe245c2dedb9588ac
value: 15669
spent: false
spender: null
- address: bitcoincash:qp6wvpav7hkdaa0ew3hl52q8g3qn5k2umvmh76m9eh
pkscript: 76a91474e607acf5ecdef5f9746ffa280744413a595cdb88ac
value: 70000
spent: true
spender:
txid: f2ffa044fa3851c88e739ef76f13b960a828b5c1c7a71005a9315969c4924103
input: 0
- address: bitcoincash:qq0kufslm9n5v0t5m5vy9gtnuupvpep0wv57sfl7gj
pkscript: 76a9141f6e261fd967463d74dd1842a173e702c0e42f7388ac
value: 546
spent: true
spender:
txid: d84d05a569d944a92bcb9aa63049b9279369cd44e41ef365da13312ce680530f
input: 1
block:
height: 678972
position: 832
deleted: false
time: 1615894044
rbf: false
weight: 3404
- txid: de01f52644b2610d491d28ce474382c57655f102974526a3fba6b5a48f8ea812
size: 406
version: 1
locktime: 0
fee: 675
inputs:
- coinbase: false
txid: 41a422e6c003596954f07eb5021d9a2d6951da297dd519a5de3885772ac60e7c
output: 0
sigscript: "473044022029a10619e7e98a3e7cb17821ab0725ef25b700a9b943965c8762ee\
3b4e19546202200be34da0f640cd3209e5f11a3b1824409df92cae6a0efd8449\
d8e22faaae7865412103b3a86c342fd06c33e94dcbe2565fc3d9d6c4c081caa0\
f1ec42bb45bbbbaf2e43"
sequence: 4294967295
pkscript: 76a9144abb2deefe6ca46c695132adafd70f72d50cab2688ac
value: 7805
address: bitcoincash:qp9tkt0wlek2gmrf2ye2mt7hpaed2r9tycna42c5ax
witness: []
- coinbase: false
txid: 9a396103f3656b4e119f166610d7e41e24c01a5c45200a8fcb58d3b79fb0dcaf
output: 315
sigscript: "4730440220271872d09da2cc13b764b5bf13cc373da53d89421e0d31ac33a734\
20c5e6a03902206e01bf837db72fa4340428e3d061685cc49ec156a65e4b48ba\
bcfd5d6c89018f4121033da5e50b4615d790b9b755cf5db213b0d08d489587d8\
946a7dfd1b8dc76a1829"
sequence: 4294967295
pkscript: 76a914485103c1b046fe0f3ca0ed9ced338b53437c0c8288ac
value: 546
address: bitcoincash:qpy9zq7pkpr0ureu5rkeemfn3df5xlqvsgf66pqne5
witness: []
outputs:
- address: bitcoincash:qpthy4cq79hd557h2cyfwtlnytws2ep23u6k07qh8v
pkscript: 76a91457725700f16eda53d75608972ff322dd05642a8f88ac
value: 3000
spent: true
spender:
txid: ae3fc465a80264f45fa6f865ede43017d9826560299b6fb344d5cde84416b931
input: 2
- address: bitcoincash:qp0cuasl7ffdxdyuxtntcy49uyd6yz4r7y8u0ss3yd
pkscript: 76a9145f8e761ff252d3349c32e6bc12a5e11ba20aa3f188ac
value: 4130
spent: true
spender:
txid: ae3fc465a80264f45fa6f865ede43017d9826560299b6fb344d5cde84416b931
input: 3
- address: bitcoincash:qrcdtjvwn9v2r94y6flka67tvqt99a9cjq3fk9k8ws
pkscript: 76a914f0d5c98e9958a196a4d27f6eebcb601652f4b89088ac
value: 546
spent: true
spender:
txid: a93609dbae718b5f6c9ab69cf3f8d979636f09a411f057db8fa65b17556de601
input: 1
block:
height: 678151
position: 657
deleted: false
time: 1615384806
rbf: false
weight: 1624
application/octet-stream:
schema:
type: string
format: binary
'400':
description: |
The wallet has no transactions with this `derive`, but has some with
another kind of address; the message names it. A query parameter
that does not parse also gives 400.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: user-error
message: >-
This xpub has no transactions with derive=legacy, but has
some with derive=segwit; ask with derive=segwit.
'404':
description: Invalid extended public key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/xpub/{xpub}/transactions':
get:
tags:
- Address
operationId: getXPubTransactions
summary: Extended Public Key Transaction List
description: |
The transactions of every address of a wallet, merged into one list, newest
first, as transaction ids with their place in the chain. A transaction
between two addresses of the wallet appears once.
parameters:
- $ref: '#/components/parameters/xpubParam'
- $ref: '#/components/parameters/xpubDerive'
- $ref: '#/components/parameters/heightParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/nocacheParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: List of transactions.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TxRef'
example:
- txid: f2ffa044fa3851c88e739ef76f13b960a828b5c1c7a71005a9315969c4924103
block:
height: 680268
position: 6664
- txid: ae3fc465a80264f45fa6f865ede43017d9826560299b6fb344d5cde84416b931
block:
height: 678972
position: 832
- txid: de01f52644b2610d491d28ce474382c57655f102974526a3fba6b5a48f8ea812
block:
height: 678151
position: 657
application/octet-stream:
schema:
type: string
format: binary
'400':
description: |
The wallet has no transactions with this `derive`, but has some with
another kind of address; the message names it. A query parameter
that does not parse also gives 400.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: user-error
message: >-
This xpub has no transactions with derive=legacy, but has
some with derive=segwit; ask with derive=segwit.
'404':
description: Invalid extended public key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/xpub/{xpub}/balances':
get:
tags:
- Address
operationId: getXPubBalances
summary: Extended Public Key Balances
description: |
The balance of every address of a wallet that the server looked at, with its
derivation path: each used address, and the unused ones of the gap, with
zeros, so a wallet can see which addresses it may still hand out. For the
total, use `/xpub/{xpub}`.
parameters:
- $ref: '#/components/parameters/xpubParam'
- $ref: '#/components/parameters/xpubDerive'
- $ref: '#/components/parameters/nocacheParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: Balances only for used addresses.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/XPubBalance'
example:
- path:
- 0
- 0
balance:
address: bitcoincash:qpyq63tvlk0pca8mah6a8c0zxrvq8qvjzymrrnwprn
confirmed: 0
unconfirmed: 0
utxo: 0
txs: 8
received: 4530000
- path:
- 0
- 1
balance:
address: bitcoincash:qqjfkpxln3ya6dq7l27ffdxcmq2h9hlfjvr70vk9l7
confirmed: 0
unconfirmed: 0
utxo: 0
txs: 2
received: 10000
- path:
- 0
- 2
balance:
address: bitcoincash:qzxfymuk5t4veu0kxf7t0cmkn76t69skuggxaq2q8d
confirmed: 0
unconfirmed: 0
utxo: 0
txs: 2
received: 23000
application/octet-stream:
schema:
type: string
format: binary
'400':
description: |
The wallet has no transactions with this `derive`, but has some with
another kind of address; the message names it. A query parameter
that does not parse also gives 400.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: user-error
message: >-
This xpub has no transactions with derive=legacy, but has
some with derive=segwit; ask with derive=segwit.
'404':
description: Invalid extended public key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/xpub/{xpub}/unspent':
get:
tags:
- Address
operationId: getXPubUnspent
summary: Extended Public Key Unspent Outputs
description: |
The unspent outputs of a wallet, newest first, each with the derivation path
of its address, so the wallet knows which key signs for it.
parameters:
- $ref: '#/components/parameters/xpubParam'
- $ref: '#/components/parameters/xpubDerive'
- $ref: '#/components/parameters/heightParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/nocacheParam'
- $ref: '#/components/parameters/prettyParam'
responses:
'200':
description: List of unspent output objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/XPubUnspent'
example:
- unspent:
address: bitcoincash:qz3k0wyd62g3njyucgcnpd72zq0r7rpsmumj82gvl4
block:
height: 680268
position: 6664
txid: f2ffa044fa3851c88e739ef76f13b960a828b5c1c7a71005a9315969c4924103
index: 0
pkscript: 76a914a367b88dd29119c89cc23130b7ca101e3f0c30df88ac
value: 30000
path:
- 0
- 73
- unspent:
address: bitcoincash:qpfvtmtyvfh3m5ul9kyc8gxefdpk2fx0syxxf7f6py
block:
height: 680268
position: 6664
txid: f2ffa044fa3851c88e739ef76f13b960a828b5c1c7a71005a9315969c4924103
index: 1
pkscript: 76a91452c5ed64626f1dd39f2d8983a0d94b436524cf8188ac
value: 39325
path:
- 1
- 27
- unspent:
address: bitcoincash:qpg4r52nu85ra68aj4uecg0mufzu9hkmj5pxlaxfp2
block:
height: 678972
position: 832
txid: ae3fc465a80264f45fa6f865ede43017d9826560299b6fb344d5cde84416b931
index: 0
pkscript: 76a9145151d153e1e83ee8fd95799c21fbe245c2dedb9588ac
value: 15669
path:
- 1
- 26
application/octet-stream:
schema:
type: string
format: binary
'400':
description: |
The wallet has no transactions with this `derive`, but has some with
another kind of address; the message names it. A query parameter
that does not parse also gives 400.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: user-error
message: >-
This xpub has no transactions with derive=legacy, but has
some with derive=segwit; ask with derive=segwit.
'404':
description: Invalid extended public key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/balance':
get:
tags:
- Blockchain
operationId: getBinfoBalance
summary: Address or XPub Balances
description: |
Short balances of addresses and wallets, keyed by the address or xpub as it
was given, as Blockchain.info answers.
parameters:
- $ref: '#/components/parameters/binfoActive'
- $ref: '#/components/parameters/binfoActiveP2SH'
- $ref: '#/components/parameters/binfoActiveBech32'
- $ref: '#/components/parameters/binfoCashAddr'
- $ref: '#/components/parameters/binfoJsonFormat'
responses:
'200':
description: Balance object map.
content:
application/json:
schema:
type: object
additionalProperties:
$ref: '#/components/schemas/BinfoShortBalance'
example:
? "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
:
final_balance: 84994
n_tx: 123
total_received: 137003577
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- Blockchain
operationId: postBinfoBalance
summary: Address or XPub Balances
description: |
Like the `GET`, with the parameters in a form in the body, for requests with
too many addresses to fit in a URL.
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/BinfoBalanceReq'
responses:
'200':
description: Balance object map.
content:
application/json:
schema:
type: object
additionalProperties:
$ref: '#/components/schemas/BinfoShortBalance'
example:
? "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
:
final_balance: 84994
n_tx: 123
total_received: 137003577
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/rawaddr/{address}':
get:
tags:
- Blockchain
operationId: getBinfoRawAddr
summary: Address Balance & Transactions
description: |
The balance and transactions of an address or an xpub, as Blockchain.info
answers. Also served at `/blockchain/address/{address}` and
`/blockchain/xpub/{address}`, for clients that use those paths.
parameters:
- $ref: '#/components/parameters/binfoAddr'
- $ref: '#/components/parameters/binfoLimit'
- $ref: '#/components/parameters/binfoOffset'
- $ref: '#/components/parameters/xpubDerive'
- $ref: '#/components/parameters/binfoTxIdIndex'
- $ref: '#/components/parameters/binfoJsonFormat'
responses:
'200':
description: Address balance & transactions.
content:
application/json:
schema:
$ref: '#/components/schemas/BinfoRawAddr'
example:
hash160: 37d070b3c6716a6174080722579fbdddad39bfb3
address: bitcoincash:qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
n_tx: 2
n_unredeemed: 0
total_received: 2275183814
total_sent: 2275183814
final_balance: 0
txs:
- hash: 00f304a6089a708168cd10d5ad8abd2977c36791156a55b040117cb5a3db7fad
ver: 2
vin_sz: 1
vout_sz: 2
size: 225
weight: 900
fee: 4500
relayed_by: 0.0.0.0
lock_time: 688792
tx_index: 6104469036511106
double_spend: false
time: 1621583361
block_index: 688793
block_height: 688793
inputs:
- sequence: 4294967294
witness: ""
script: "47304402206a11f253c8035be2d9f5958a9ca838b3fd5a1a120441885e10e6ca\
d0fef3911f02202056263939a88fe06e7fc94368ff44c46f71e7daa603936d75\
5b35b8b2a21c154121027eb504988cbc043dd4c9fac51685d68718a24d7f9f1d\
4c07b9f8c3d04327794c"
index: 0
prev_out:
spent: true
script: 76a91437d070b3c6716a6174080722579fbdddad39bfb388ac
spending_outpoints:
- tx_index: 6104469036511106
n: 0
tx_index: 5028695321485056
value: 2275183814
addr: bitcoincash:qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
n: 1
type: 0
out:
- type: 0
spent: false
value: 15197686
spending_outpoints: []
n: 0
tx_index: 6104469036511106
script: 76a9143fd3cf57704a93e9782a97a4fb5a3bf7fb1a604788ac
addr: bitcoincash:qqla8n6hwp9f86tc92t6f76680mlkxnqgu5flcqwfe
- type: 0
spent: true
value: 2259981628
spending_outpoints:
- tx_index: 8410203892883835
n: 0
n: 1
tx_index: 6104469036511106
script: 76a9143ea707954f63a225fe4630701df0924c9e835a3488ac
addr: bitcoincash:qql2wpu4fa36yf07gcc8q80sjfxfaq66xssezyukg2
result: -2275183814
balance: 0
- hash: b810589c80335083ed715c03abf62f23968846d2f54343bac305f890f292ec8e
ver: 2
vin_sz: 1
vout_sz: 2
size: 225
weight: 900
fee: 4500
relayed_by: 0.0.0.0
lock_time: 688706
tx_index: 5028695321485056
double_spend: false
time: 1621533785
block_index: 688707
block_height: 688707
inputs:
- sequence: 4294967294
witness: ""
script: "4730440220298e397d155bcd0c3371a17f11d6dc06392c72c6d4646ac27fad72\
e86e7f18f50220471c7338a0f4573955e52a95c4c2717f5ae5d369ad153ae627\
49d0dcd9250482412103c60a0fd16eaf3c72dee4bf12a566ee3a6ae181a29b66\
a1f2407442f7a6d39ad2"
index: 0
prev_out:
spent: true
script: 76a9145124c4e68eed7ffc6110c2326d7d3739f55a09eb88ac
spending_outpoints:
- tx_index: 5028695321485056
n: 0
tx_index: 8915933840879415
value: 2775188314
addr: bitcoincash:qpgjf38x3mkhllrpzrprymtaxuul2ksfavle5hmhl4
n: 0
type: 0
out:
- type: 0
spent: false
value: 500000000
spending_outpoints: []
n: 0
tx_index: 5028695321485056
script: 76a9140cfccdb98e0de78db0deffae8681c60b306e70a088ac
addr: bitcoincash:qqx0ende3cx70rdsmml6ap5pcc9nqmns5qlc8yvhga
- type: 0
spent: true
value: 2275183814
spending_outpoints:
- tx_index: 6104469036511106
n: 0
n: 1
tx_index: 5028695321485056
script: 76a91437d070b3c6716a6174080722579fbdddad39bfb388ac
addr: bitcoincash:qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
result: 2275183814
balance: 2275183814
'400':
description: |
The wallet has no transactions with this `derive`, but has some with
another kind of address; the message names it. A query parameter
that does not parse also gives 400.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: user-error
message: >-
This xpub has no transactions with derive=legacy, but has
some with derive=segwit; ask with derive=segwit.
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/unconfirmed-transactions':
get:
tags:
- Blockchain
operationId: getBinfoMempool
summary: Mempool Transactions
description: |
Unconfirmed transactions, newest first, as Blockchain.info answers.
parameters:
- $ref: '#/components/parameters/binfoLimit'
- $ref: '#/components/parameters/binfoOffset'
- $ref: '#/components/parameters/binfoTxIdIndex'
- $ref: '#/components/parameters/binfoJsonFormat'
responses:
'200':
description: Mempool transactions array.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BinfoTx'
example:
txs:
- hash: 2e77a3d4991383bd9b5fa0e286ba00e5abcf86414edb87581a559957dc674bfa
ver: 2
vin_sz: 1
vout_sz: 2
size: 225
weight: 900
fee: 10000
relayed_by: 0.0.0.0
lock_time: 0
tx_index: 8806456703513386
double_spend: false
time: 1621613080
block_index: null
block_height: null
inputs:
- sequence: 4294967295
witness: ""
script: "473044022027aaf94096c0b4c3e0a8405078db67f3c8680b0e1def70c5dac307\
cd0f4f6c4b022079ce8b9dbf26f9114a9a16575b478214294274d4158672ffaa\
758c8904aff91b4121031b3c18ce8efcf9a1ce214cb5c62489e842663b47908b\
43f3af789d840af71efb"
index: 0
prev_out:
spent: true
script: 76a914842b152a0bbd4647afaeceec8a6afaa90668e7c788ac
spending_outpoints:
- tx_index: 8806456703513386
n: 0
tx_index: 4182415564665005
value: 267599400
addr: bitcoincash:qzzzk9f2pw75v3a04m8wezn2l25sv688cua892qu7q
n: 0
type: 0
out:
- type: 0
spent: false
value: 1002000
spending_outpoints: []
n: 0
tx_index: 8806456703513386
script: 76a914e2102caa6155620b64f363295adc9c21074a26bb88ac
addr: bitcoincash:qr3pqt92v92kyzmy7d3jjkkunssswj3xhv4zmfpu9p
- type: 0
spent: false
value: 266587400
spending_outpoints: []
n: 1
tx_index: 8806456703513386
script: 76a914842b152a0bbd4647afaeceec8a6afaa90668e7c788ac
addr: bitcoincash:qzzzk9f2pw75v3a04m8wezn2l25sv688cua892qu7q
- hash: 12a015002de59ce4f6d3510df37e56ebde864138acdd35051618603173ca6ee5
ver: 2
vin_sz: 1
vout_sz: 2
size: 219
weight: 876
fee: 220
relayed_by: 0.0.0.0
lock_time: 0
tx_index: 8072448182725635
double_spend: false
time: 1621613078
block_index: null
block_height: null
inputs:
- sequence: 0
witness: ""
script: "41c49770d0b68eb9d4552a45d3ce23ab7dc84ecded730f76903b9a4ff948ace2\
92ba282b63ea1fa3a4203f79edffc8d00b7ef68be4a42bc530be9e9c9a6a0d2c\
d4412102ed4717b0f0ae1fd42423d8fa2c9ae36783bc53f7acd8839f68dc5ad5\
8a9cf8b2"
index: 0
prev_out:
spent: true
script: 76a9145638dda8466c4a9c7fc8557d504272b7403f4dc288ac
spending_outpoints:
- tx_index: 8072448182725635
n: 0
tx_index: 1836562911653034
value: 7514960
addr: bitcoincash:qptr3hdggeky48rlep2h65zzw2m5q06dcgnpyymlh5
n: 1
type: 0
out:
- type: 0
spent: false
value: 733
spending_outpoints: []
n: 0
tx_index: 8072448182725635
script: 76a9145d0bafa91a9d13e1958a8c2c57de70047abd5f6688ac
addr: bitcoincash:qpwshtafr2w38cv432xzc477wqz8402lvczv7zvppp
- type: 0
spent: false
value: 7514007
spending_outpoints: []
n: 1
tx_index: 8072448182725635
script: 76a9145638dda8466c4a9c7fc8557d504272b7403f4dc288ac
addr: bitcoincash:qptr3hdggeky48rlep2h65zzw2m5q06dcgnpyymlh5
'/blockchain/multiaddr':
get:
tags:
- Blockchain
operationId: getBinfoMultiAddr
summary: Wallet Data
description: |
The balances and transactions of a wallet made of addresses and xpubs, as
Blockchain.info answers, with the current price of the coin in a currency
of your choice.
Transactions show the change to the balance of the wallet as a whole, and,
by default, incoming transactions leave out outputs to other addresses
(`noCompact` keeps them): a payment from an exchange can have hundreds of
outputs to other people, which the wallet has no use for.
parameters:
- $ref: '#/components/parameters/binfoActive'
- $ref: '#/components/parameters/binfoActiveP2SH'
- $ref: '#/components/parameters/binfoActiveBech32'
- $ref: '#/components/parameters/binfoOnlyShow'
- $ref: '#/components/parameters/binfoCount'
- $ref: '#/components/parameters/binfoOffset'
- $ref: '#/components/parameters/binfoNoCompact'
- $ref: '#/components/parameters/binfoCurrency'
- $ref: '#/components/parameters/binfoCashAddr'
- $ref: '#/components/parameters/binfoTxIdIndex'
- $ref: '#/components/parameters/binfoFilter'
- $ref: '#/components/parameters/binfoJsonFormat'
responses:
'200':
description: Wallet information object.
content:
application/json:
schema:
$ref: '#/components/schemas/BinfoMultiAddr'
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- Blockchain
operationId: postBinfoMultiAddr
summary: Wallet Data
description: |
Like the `GET`, with the parameters in a form in the body, for wallets with
too many addresses to fit in a URL.
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/BinfoMultiAddrReq'
responses:
'200':
description: Wallet information object.
content:
application/json:
schema:
$ref: '#/components/schemas/BinfoMultiAddr'
example:
addresses:
- address: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
change_index: 28
account_index: 74
final_balance: 84994
n_tx: 123
total_received: 137003577
total_sent: 136918583
wallet:
final_balance: 84994
n_tx: 2
n_tx_filtered: 2
total_received: 137003577
total_sent: 136918583
txs:
- hash: 2c7316f0b66bf4c5a2078cdaacd679d96c2249a32736ea7d3ce36af8b6a215c0
ver: 1
vin_sz: 2
vout_sz: 3
size: 406
weight: 1624
fee: 675
relayed_by: 0.0.0.0
lock_time: 0
tx_index: 2c7316f0b66bf4c5a2078cdaacd679d96c2249a32736ea7d3ce36af8b6a215c0
double_spend: false
time: 1613556477
block_index: 675214
block_height: 675214
inputs:
- sequence: 4294967295
witness: ""
script: "47304402200e85d6f05cf9675f60382fda3e245695e12bb478128c701447e8b8\
5d0321921d02200a8624652009ce2413718d748194ab020aef2945721c9a29e8\
59de034a00291841210266490eabd32e0a0eb4de6089590e6dbf5bd8b5411a3e\
c4b78cf40091e7200c23"
index: 0
prev_out:
spent: true
script: 76a91437be7ac52f6f08899051efe89f228c14a171bb2588ac
xpub:
path: M/0/66
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
spending_outpoints:
- tx_index: 2c7316f0b66bf4c5a2078cdaacd679d96c2249a32736ea7d3ce36af8b6a215c0
n: 0
tx_index: 671ba5996381a919c7b88415513ca1db54528e3741282a44228f7eea4d23ffad
value: 21000
addr: bitcoincash:qqmmu7k99ahs3zvs28h738ez3s22zudmy5squrulad
n: 1
type: 0
- sequence: 4294967295
witness: ""
script: "473044022030ade2f8405e47001dfe816fb2047cb4f6beff185c942e325d7b30\
70dca66622022001c0bb027e88d3ea2fce18c47553461dd063a0a26aa0f69252\
dcce8e26fe8cbc41210269115d4edff9823c494195a0e3a9497d868c61c43c76\
c37f851e28655d4fad60"
index: 1
prev_out:
spent: true
script: 76a914f1d4f42b339a3bc881085e4babfb0db98db8887888ac
spending_outpoints:
- tx_index: 2c7316f0b66bf4c5a2078cdaacd679d96c2249a32736ea7d3ce36af8b6a215c0
n: 1
tx_index: ac99b50918e84857b84a13b27a0635a9f0474d6e20ddae0b5d05f3b8503d3e5c
value: 546
addr: bitcoincash:qrcafaptxwdrhjyppp0yh2lmpkucmwyg0qf590pgku
n: 1
type: 0
out:
- type: 0
spent: true
value: 4485
spending_outpoints:
- tx_index: 26ce9896f0f64349670735bdc30fb42adadac61348e403e78c5f92c3fb697355
n: 2
n: 0
tx_index: 2c7316f0b66bf4c5a2078cdaacd679d96c2249a32736ea7d3ce36af8b6a215c0
script: 76a9147cf27910c2aa3e86e9d69f5bb8dc0f677a0e83fb88ac
addr: bitcoincash:qp70y7gsc24raphf6604hwxupanh5r5rlvh3jvjjan
xpub:
path: M/0/68
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
- type: 0
spent: true
value: 15840
spending_outpoints:
- tx_index: 26ce9896f0f64349670735bdc30fb42adadac61348e403e78c5f92c3fb697355
n: 3
n: 1
tx_index: 2c7316f0b66bf4c5a2078cdaacd679d96c2249a32736ea7d3ce36af8b6a215c0
script: 76a91457743547f518ef1ebf928e0065036230f246680288ac
addr: bitcoincash:qpthgd2875vw784lj28qqegrvgc0y3ngqga8fpcy8k
xpub:
path: M/1/22
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
- type: 0
spent: false
value: 546
spending_outpoints: []
n: 2
tx_index: 2c7316f0b66bf4c5a2078cdaacd679d96c2249a32736ea7d3ce36af8b6a215c0
script: 76a9140c511401eb2e64aee8f1fc3dc49869b32819845f88ac
addr: bitcoincash:qqx9z9qpavhxfthg787rm3ycdxejsxvytu8zyrvhsf
result: -675
balance: 91015
- hash: 0e81fa97ae5106f6e967de912908ee261473575e890e815fa78084f9d1b68382
ver: 1
vin_sz: 4
vout_sz: 3
size: 703
weight: 2812
fee: 1557
relayed_by: 0.0.0.0
lock_time: 0
tx_index: 0e81fa97ae5106f6e967de912908ee261473575e890e815fa78084f9d1b68382
double_spend: false
time: 1613556294
block_index: 675214
block_height: 675214
inputs:
- sequence: 4294967295
witness: ""
script: "483045022100a3d05e493ed722b9c9519ea77d2d3c139d70bb117497d8e517fb\
8b5b196ceeaf0220608a93847c452c461ad841eabccc75e065c310e8ae93ad6e\
60953e6c089a297c412103b4c6da6474554411af1f6ed8deeeafab9848bc6bfc\
6cb716f135e7dd674f7a26"
index: 0
prev_out:
spent: true
script: 76a9141369d9bd3ea79896797c4143c97e9748cc06262d88ac
xpub:
path: M/0/65
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
spending_outpoints:
- tx_index: 0e81fa97ae5106f6e967de912908ee261473575e890e815fa78084f9d1b68382
n: 0
tx_index: 4890ab0fed725daa08879afcea302a4c7925c094c98676cab3edcaa186adbc41
value: 7000
addr: bitcoincash:qqfknkda86ne39ne03q58jt7jayvcp3x95u9mrv7ra
n: 0
type: 0
- sequence: 4294967295
witness: ""
script: "483045022100b2e36d340c3ba421f762ce1e4adde0a8c7cf550aa30022a4add6\
ac1003ea1a7d02200cd9d8ccba03a33eccd6f4108189962067597d25d969b9f3\
ab019212a0bb6824412102e14eaaa6cec9deefe5983dec61bbb2c9fc82dbbc12\
4d395d97d26494864f30ec"
index: 1
prev_out:
spent: true
script: 76a9148ecd9c021c8650db874940103f1f77e6da14d88e88ac
xpub:
path: M/1/19
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
spending_outpoints:
- tx_index: 0e81fa97ae5106f6e967de912908ee261473575e890e815fa78084f9d1b68382
n: 1
tx_index: 4890ab0fed725daa08879afcea302a4c7925c094c98676cab3edcaa186adbc41
value: 45732
addr: bitcoincash:qz8vm8qzrjr9pku8f9qpq0clwlnd59xc3cvrfxdpkr
n: 1
type: 0
- sequence: 4294967295
witness: ""
script: "483045022100ff406af352e0680f20c3efcf8a7915ee8c2f1322073fce5736cd\
c7d264576ad00220637cec6bd985f68395bc5a29e7c15fd8a5b74dafd169c2ae\
d86e453c91eb196a4121025b8a5938fad2f4e6cc7d7a32dd2b6a206a0082e2c6\
ecdd5ab5a15e855e1a2ff3"
index: 2
prev_out:
spent: true
script: 76a914bcd2b9001eea656e1a69f280cdc8dd86dbc8bf9288ac
xpub:
path: M/1/20
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
spending_outpoints:
- tx_index: 0e81fa97ae5106f6e967de912908ee261473575e890e815fa78084f9d1b68382
n: 2
tx_index: 671ba5996381a919c7b88415513ca1db54528e3741282a44228f7eea4d23ffad
value: 19515
addr: bitcoincash:qz7d9wgqrm4x2ms6d8egpnwgmkrdhj9ljg80neqzgv
n: 0
type: 0
- sequence: 4294967295
witness: ""
script: "4730440220445da9cea01832fbb4882b8aeb12189a91f32c9e0eec42c2b8ab0f\
5af40c38de02202378f8f3e774c3515e7082460c34faf5631dbadc0fff072084\
9aabcc70b41dc44121028c8ec4b2d812141f34ecc23ed6b533ee1c36e1654619\
05dae99595072529957e"
index: 3
prev_out:
spent: true
script: 76a91401b513b7affb4ff8ca96d1e25a78431687d7709e88ac
spending_outpoints:
- tx_index: 0e81fa97ae5106f6e967de912908ee261473575e890e815fa78084f9d1b68382
n: 3
tx_index: adbaa9b985968e42369f5dc96890480c84ee68537fb0c200a2a09dc3bdd6c2d3
value: 546
addr: bitcoincash:qqqm2yah4la5l7x2jmg7ykncgvtg04msncm9ta8v9e
n: 0
type: 0
out:
- type: 0
spent: true
value: 690
spending_outpoints:
- tx_index: 26ce9896f0f64349670735bdc30fb42adadac61348e403e78c5f92c3fb697355
n: 0
n: 0
tx_index: 0e81fa97ae5106f6e967de912908ee261473575e890e815fa78084f9d1b68382
script: 76a914be0322af705fa04d0550606dee421dbfc28d7d9988ac
addr: bitcoincash:qzlqxg40wp06qng92psxmmjzrklu9rtanyazwxtjqa
xpub:
path: M/1/21
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
- type: 0
spent: true
value: 70000
spending_outpoints:
- tx_index: 26ce9896f0f64349670735bdc30fb42adadac61348e403e78c5f92c3fb697355
n: 1
n: 1
tx_index: 0e81fa97ae5106f6e967de912908ee261473575e890e815fa78084f9d1b68382
script: 76a914e53b8bc9d022aecb0cdd2f3eb874b6d563e73d8f88ac
addr: bitcoincash:qrjnhz7f6q32ajcvm5hnawr5km2k8eea3u5mcg7n9s
xpub:
path: M/0/67
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
- type: 0
spent: false
value: 546
spending_outpoints: []
n: 2
tx_index: 0e81fa97ae5106f6e967de912908ee261473575e890e815fa78084f9d1b68382
script: 76a914c45f36d8156fa82e2f380452b0c42abd0a7aeedc88ac
addr: bitcoincash:qrz97dkcz4h6st308qz99vxy927s57hwmszhkl5hdv
result: -1557
balance: 91690
info:
nconnected: 20
conversion: 1.0e8
symbol_local:
code: EUR
symbol: €
name: Euro
conversion: 170436.14609786443
symbolAppearsAfter: false
local: true
symbol_btc:
code: BCH
symbol: BCH
name: Bitcoin Cash
conversion: 1.0e8
symbolAppearsAfter: true
local: false
latest_block:
hash: 0000000000000000005d55b8ab4de4c864b815edf9fb52278d69a614c3c7c72a
height: 688824
time: 1621613356
block_index: 688824
recommend_include_fee: true
cash_addr: true
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/rawblock/{block}':
get:
tags:
- Blockchain
operationId: getBinfoBlock
summary: Raw Block
description: |
A block with its transactions, by hash or height, as Blockchain.info answers.
With `format=hex`, the block serialized as in the peer-to-peer protocol.
parameters:
- $ref: '#/components/parameters/binfoBlockId'
- $ref: '#/components/parameters/binfoFormat'
- $ref: '#/components/parameters/binfoTxIdIndex'
responses:
'200':
description: Raw block with transaction data.
content:
application/json:
schema:
$ref: '#/components/schemas/BinfoBlock'
example:
hash: 000000001aeae195809d120b5d66a39c83eb48792e068f8ea1fea19d84a4278a
ver: 1
prev_block: 000000000845517b31c6820d83f25cff46429bf136a7515fe504116427e60f8e
mrkl_root: 27f1d66f8a1ee5280f4e92508dcb647e954d53004905d08a75574daee4988360
time: 1270916538
bits: 472518933
next_block:
- 000000001c920d495e1eeef2452b6d1c6c229a919b28196c103ecffebabee141
fee: 0
nonce: 58489010
n_tx: 1
size: 216
block_index: 50000
main_chain: true
height: 50000
weight: 0
tx:
- hash: 27f1d66f8a1ee5280f4e92508dcb647e954d53004905d08a75574daee4988360
ver: 1
vin_sz: 1
vout_sz: 1
size: 135
weight: 540
fee: 0
relayed_by: 0.0.0.0
lock_time: 0
tx_index: 3395786307389866
double_spend: false
time: 1270916538
block_index: 50000
block_height: 50000
inputs:
- sequence: 4294967295
witness: ""
script: 0415112a1c02c100
index: 0
prev_out: null
out:
- type: 0
spent: true
value: 5000000000
spending_outpoints:
- tx_index: 2434377525635237
n: 24
n: 0
tx_index: 3395786307389866
script: "4104a9d6840fdd1497b3067b8066db783acf90bf42071a38fe2cf6d2d8a04835\
d0b5c45716d8d6012ab5d56c7824c39718f7bc7486d389cd0047f53785f9a63c\
0c9dac"
addr: bitcoincash:qr52xkse9lqlpmfuzlx2lshmx4qnchljns9fmxxydw
application/text:
schema:
type: string
example: "010000008e0fe627641104e55f51a736f19b4246ff5cf2830d82c6317b514508\
00000000608398e4ae4d57758ad0054900534d957e64cb8d50924e0f28e51e8a\
6fd6f127baa5c04b15112a1cb2787c0301010000000100000000000000000000\
00000000000000000000000000000000000000000000ffffffff080415112a1c\
02c100ffffffff0100f2052a01000000434104a9d6840fdd1497b3067b8066db\
783acf90bf42071a38fe2cf6d2d8a04835d0b5c45716d8d6012ab5d56c7824c3\
9718f7bc7486d389cd0047f53785f9a63c0c9dac00000000"
'404':
description: Block not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/latestblock':
get:
tags:
- Blockchain
operationId: getBinfoLatest
summary: Latest Block
description: |
The newest block, as Blockchain.info answers, with the ids of its
transactions.
parameters:
- $ref: '#/components/parameters/binfoTxIdIndex'
- $ref: '#/components/parameters/binfoJsonFormat'
responses:
'200':
description: Latest block and list of transactions.
content:
application/json:
schema:
$ref: '#/components/schemas/BinfoHeader'
example:
height: 688824
hash: 0000000000000000005d55b8ab4de4c864b815edf9fb52278d69a614c3c7c72a
time: 1621613356
block_index: 1621613356
txIndexes:
- 4c38eb2b05ee5ed21d4f04aca264b6b5c2ecdebc463979880f34ff11d61b9df7
- 01823b17775de166d63f1a04cfb6dcdb758a864037808d8855db20e186db8a25
- 0448ff64f09a9b2942098edb92bf9ceb75277a21e4f3df5e33867b293aad7ec3
- 069023d56d47fa2c6f0f435b50fd160f7d2696ad73008753e344264750f48414
- 07145f7740f1204908194f9fec585b233d7b2b6dd260e43e4879f2affea02851
- 07ff00c1b6b058ee5823005fe05209f54ee71ed2059528a378aaa0bda9b8c2d6
- 08756d7b411d0ac4993f890fd216501944b1b4bc61df69ddaa9f721a4c75ec2a
- 0983b46978824feafcc7c67b5b0df164c81d8a71d9c02e0dd9b470d5f66c1a58
- 0a23d6bf0a8f7298bd422576d51eaab3e6a51e6b176424bfc61df48063b87a6c
- 0c08237a85fd2583958bfef936ef4c43784d0f13c57753e12492d304b7cf6155
- 0c090bd29a8b29f9f0ac36ad88c9ff0b5087f08ac51342de8a44f36bcfe20911
- 0cb873849e4f72fdab5c91b37bc3937c2c1b495349fa5424f57d4c9c72f62ead
- 0e5b552bffa5e732307f2c33ffbbc5ac8f523bfa991fd5a2711c8a5e698fe626
- 0f75524e1f8e0018275fb70a7463b0ac92f712485348bd0f0229baaf7149c039
- 1713d89ecaa24b8a82fee48740c032969a1be453608c760a36e9ac0c2925c568
- 1ab310ab552ce3a8103a565b9b63988898da47c0371d25cd51ad718c07173a9e
- 1c2ed964c3c5f825dfe67e3b1bd432cbfff712c69c94c9972cc790cd6d9690cf
- 1ffedd33d7df4777c4f623669b678a3a0ddda9649539d098522caa51ef4f8a61
- 2216e249cbf1eedc8fc525c74a64db4336da381cca724161bafbbef2cf713510
- 22a9d5a370cf548c2e5155109eca8e29c0cd88f5b16e2db8c2e63fa0a71c48d2
- 23e4aa5d99ee70c33dedd634435d208182f8b50f64a301766ba88c4143619cb1
- 26ad4b3701e7d23ef4cee7408a21393afe28ad03e4524788cc1fc18949a2a29a
- 270b9cc678b56a04aba36be6254acdc21ab11c9e3eb1ab6539595dcc35180742
- 29e14b7b36226f089b84778508434cbee387ac643a286a38f314d46649cabd2d
- 2b977eadd3052f2640ebfa33b2e602bea12af04bb30d7912634066159bafd738
- 2d283d80d8244bf4e21e2bf958b35d9946a7dacc6032b8ca75955ce649889619
- 33feebf0f5712ddaba475f4cf56cc10c33c1e8b6630885c1d16f0903b5f28f49
- 3b4749b05d4489fe3509a0eaeaa3bf84ebd18d9e899a4c0f93cec4906f0b4c72
- 3c445791dc93009e9e82a2cc7e1f063d2aaaba3541c79a5278e24b05d092f373
- 3e3e7b8c6a8ed50b44358d3501b4172cce9f7e6be2c3fa682cef69bc1b77ebbc
- 420d4e957e75a248a003349c6f36780bd7bac479af31e26d52bfc1580f1e05f4
- 43c659f05fe4bac95041ee8ad9cb487fb5c178f260ad111f79555c6208d465d6
- 448b6610021f4f74a7376da139167a85fc8fd34a9aa0c845841439a574676df0
- 44e23144d415417fae2d03f071621f7f87ffa4847a131b28e220238a82858384
- 45a34bf311e2544428a35924701a216306da67a1fd921a95520c130e164ceb40
- 45f96d25c71bac0f5026428b4a114ea4821e6923e7223fc9730e9cbacc52a476
- 47c83dde8a4ce80efcd63981f27fd90780f8f51694f7a83de66f15be201deaf0
- 47f43223ebded3e0397d143692ad93197d0c36fd2033cb6c21619cac26372783
- 4b86e1d7d66159eb795f059996ce2d25ae9b7adf1c4a08b7b77e3fd29d683588
- 4c237092cc3a1f6c3a6077aa929a53fa71879d607030db66158b899f6b691329
- 4c6370f1d46aea314c51d7221f436cc3d897d78c7de9b6413b17c7fa0d2d77e5
- 4c6fd1d42c445bd51c135ee3cecfb541d2467d40b2678663d56a39c20c12ced1
- 4cd70717f5dd726b19527837c58b1df094b83eda05c001c21a6fa9b9b8a6b9c3
- 4d5fd51538bfa055ed138ad83437ec1744186d71dcb10f2b668bc9ea3f889bde
- 4e84251545b58a7d76b6ec21973b99b317edcf6afc071bea7854a3c5b5a8d524
- 54dc82365400c51292ebe2a2351a172615527164c024b327688c435bf34a88d8
- 57e1c65a83b47dfdecadbecab3da05c65d0134ef997e88f5b9a478307be21cec
- 590d9ff2561efdfb2330ae736ca44486da720ef0d7f63168c9b5691dec93ab03
- 5b0cc365c8fa1256464f5bcb92ba937f778b489eab9b5903aa59ce35fb8d7ac6
- 5b565353fb2109962fdb7e550c7e3735890cedd45efd338d829a08bcff222224
- 5c46cc7305f0ca412bacf44c3f7c727aa55db0daeeb011b7d1042660563081df
- 60d2778361afe1230a0f8eafc2396d5cee8975fc13a8119e6205a61022ec9fd9
- 61b28c70c16c2e0dca2f8176bdb2eee168596bdb5c1101827f36c2a78e5963dd
- 63001aadaafa6f6c375368c653fbf38075f181f19d28e196879115b378fa4e0d
- 6787eb3bc645d7e1526ccb32efbf1e19c759c66559a8da2bbbb4b43ed4f2f101
- 687f32bd1f01e84bea246c9dbac219bf2904863d882d653bba1c13c1d4549e0a
- 6928119044c4718d2a146ee77a63d76d0f53d20a8c6d8166bb14c455e6db194d
- 6a8afc569208b5aadfe917eeb00cb63742b85f2bfb620e35480aa179c7bcc91a
- 6b19caf7d11225dc62bceba5835c5a9f676d5626138cfef7c717729758fd8120
- 6b73c2a0a8da9dd434eea8363a784fc4d3199266dc79598a15482519e15cd957
- 6c7fb02034c7768a0fd377823b90a03003be26973fc33e32cfe31709003dd0d8
- 73e99e7fd98eca88447bdc23f1f622c71eee973c24e16804431ca9540bdb3eba
- 75be45e58da8e1945d691dd0d6e37dd09e71bfa79aa3216bdb5d908523f68a0d
- 762eac92e4e6fe747c97c5894b2367a529e25774874afa0d00ba75c86a99a778
- 76e89ea97e8a465e1dd28f38620e755dface6b58fdc7466a8fefca0b172d14ae
- 785063b0221fddd9541395e636a440ecd03d20762371dedc73243c1ca835acad
- 789a6c7f59a852ab02974d7d3588e1d1f63850f320edd6d68cc8a20343b20353
- 791aaba586b112c7c40d503ec00d0cd092cfa11f460c2c7d03fb2b92f9d839ce
- 7b1a96d3dc25129876584fca0b354820e2315fc327c156e0074c824d1985ccbc
- 7b275d4724d3d79037e27a8ec2e6b9c25be2cc5d475f50f8e10f91c74b5836b5
- 7c234031e50aa853509fbe8eab5380bef517340064c9ddf7bd7529bda93265be
- 7cbee59f16df830c37ec51bc3f364731e17e71df95f743879aabfe3a5f10b401
- 7d79a6db1788061453f846d0a0f95dd0f6d76b223dd6f8eec0ad7154cbc6ff26
- 819e4070d42221831dc899b3ce1b8afadce75e2c29a7254a3704476729471a10
- 8621220b62b96f4fd16601b958536cb0574c9da0af8a9c0e0bfb88688ee82cb8
- 873c4755e36fabed41e9d340073536c6e328c243685b74f2dc6348f66d865458
- 94d9389300590814bf05309a141338ab0c096c16f469b3c64e8fd5e292fc35c3
- 98cafc73d825f0625e57f6a13513abead77f98d837f1a9ca41cf846f0a746d73
- 98ff1ea70619428f049acbfa914fc672b6fafabf754f3d8dc6368a2d5e7f169c
- 9cc4658b94a2c294f599fc5b621e0a718ef4237075bd31ee354e786c577fc9dc
- a258b428c7ff1d3fe238262b9c5c041cba8b90615a31df2073c6bf7730b50558
- ab50430d07205a389be9d7b48a5f1a8876fb362db7b1255e1c24543f8d07b57b
- ab7ed19e04e02b02652bad917fe47b08ec9ea5136ab83aee9d735e58aafa95cb
- ace73995984c36e16ef4eeb01cb0e92d361845f3d96bfa37d89404b8d56f4458
- ae2ff184a71aa3ac315d8df3b7575b221a96a65d5b7e821e28bc51d2b79a7728
- aff7771f7d855f3fdb82eed34d6bc2425726ae31050d19d84670b5f1a0cdb581
- b1afdb5db3855c10a3ab88bbcdc30a43abdc1b3358c3a3219c5dc23b29a164ac
- b994ba455aa12155589aea3dd37dc1e7de4a4075db90af3b39607d72727894b0
- b9aa95a14fe6da28fd0f5b25b1ffb3837aa0645b868e120b5d81f08376d2946e
- ba916c099c4595fa0e5629228e6339e7a9a516657ec0178af8cec7401ab99571
- bbf377dc25d8178cca37defea3fbbc1219c55c4988502eae61924f4e8c7b15c4
- bc0da2b7f532c318a0c5f087c65de8e175f11218178261b48e4b5a34237e307c
- be80998651ed346b57dde55b62daabf3f2b7ab1fa23949d74206eebf9e0dddbe
- beb4dd6722a980a68215f44824d71c68e85d476916f191e2b9b64aba70df5011
- bff3d9c73b79f2df57907f9585962be5005de77a38dcafb4ed45b2d767bd5f9c
- c16c7991aa4843435234ea2d430a2c8cffa89f9df7d6da573c766f90f1b02fb2
- c1e102bf7cc4fad1d653cf8bf2f6dfdb56cc15c90eba48826f499748ffbb453b
- c467c9e1597fec2186261553669f3a030bc1fde0d71a51a7138a62007dd45d26
- ca007fa6a1dd1cc19cabdfefed711868a903f945a44c23a736f8508fc595e779
- ccab8fbc8cf6e22fc18142ce528aa4f9d513699e1c9d5acbd085c6c2500ff621
- cd959b2aba269c1132b7250edc34a9ef85fe13bf6c78285c3511b97b8b7350f9
- cdff2a8b1ca912c733e45ab44a2b3f97962076e4a60996b6525f4a4fd3d701ec
- d0d28136d03f5bac5fa4cc9479a3ad7ad76ffc3e731abe061149be8e19d3a1f3
- d649b5579ffe5ad98ff93f0715a91ccf1ebf60a564cefc01baba969eb6fc024a
- d67df8392a5822c420ee057ac19c6b123fb514853e43d40173f84c9853f54835
- d8bab30bd3cefdbb2ccbbe94efd22387584373256e26fd914fc3a4e7fdb06aab
- d951327e966ae8bede3ec5a0dceef158479c40dcb5805fe291e7a9149e84c418
- da74f9ec7c74131689bca50d48a8b3eabd6676668d828b74782d2f5e386d10e4
- db0666026842647e0de6cf67fa873eab94b541995daaec66af0169aa65186dbb
- dc5a07a8f0e3ee69a21c4da7f7ca3220154930c9d45c497ec738fdee2e9e79f0
- de629914e7be3f2f40ad87f70f6aeaca08e45f8c8031c2e587e48457ff05b33e
- def688cb3656706f4bbc98f0b23ef28c45de111e4171f5ccea872f15bfdb3606
- e1706c7cedf8dc991e52dffcd7d13f968471cce2e448532dfc4b42176111862f
- e3e332c6817077f6cb79253bb5ce2a680f097f7d85fc2d544738d6bf7ffc0c77
- e42d25d5fd76c7ee79794c2f3601b5616c518f54ce89f6c016fa10a6b41af055
- e54814a2125e258680824bcca3968eb7b9004bba955db3921326112050aeb366
- e55057e4e52a0ec20f4e00462f2974ac46ace4b31ba7b8764a4f8f371787f72f
- e5c9ed1d58b2a682219960ee90fd662519023913e741ea7caa5fdd6700890cd2
- e938943a6e66089f6200ffa6c211ec219beaaee383c3ac73c9cc15ccc9b67a6e
- e9af46657882c81d9280515f3db830628af7acb54d4598832f12081b9a2aab4b
- ebcb08f6a064672ee79d97949ee4ad783490cac01dba3188c02b457603882cd0
- ec0e5b73cf988356cf3d7140177c456811949cc610690537c484f37bfc586fe1
- ed4d51bd70497507a836f76d111b09ef659a912b7f2c34c4a85c83718603cdad
- f2a745c03817fb06f8c734eb84a535476a01ee3fca7a6eb4b58af06919a194c9
- f36881938c4081d5c3c07ea7c472436010a9bc50a272e5f98f2ba0c5be4541eb
- f5dd09f486fd31bb4ca2455b1ded267daf5b6b4afe77496e2f832537aae25ea2
- f5f93376df7b16aa5724b0999b7e512f1daf65671c952d544dce66d832ac7ffe
- f9bf3c16de953a3e4992c278706fd7ff7776da6b6c6aa14dfe8db4461cd04243
- fc9b718701edecf2c4031c7043a510c2cb9233138e2061caa8b18327f7d1a2b4
- fca2aa70b428bed7ed7d463c880491e720b6a46ad649601ed9a25048ab72dac3
- fef4d9bff10845b426cdb246c5450207a947cea02b014ec8523da5d8ed987a58
'/blockchain/blocks/{milliseconds}':
get:
tags:
- Blockchain
operationId: getBinfoBlocksDay
summary: Blocks for a Day
description: |
The blocks of the 24 hours before a time, newest first, as Blockchain.info
answers. The time is in **milliseconds**, as Blockchain.info takes it.
parameters:
- name: milliseconds
in: path
required: true
schema:
type: integer
example: 1304208000000
- $ref: '#/components/parameters/binfoJsonFormat'
responses:
'200':
description: List of blocks for a 24 hour period ending at given timestamp.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BinfoBlockInfo'
example:
- hash: 000000000000475e465114fac64a267ef55a79f0431af774f0ec90d42ea1f2d6
height: 121126
time: 1304207878
block_index: 121126
- hash: 00000000000037351a4fa2e4cc97852cb4a498419844d79fb29e119c6d4cb32e
height: 121125
time: 1304207785
block_index: 121125
- hash: 0000000000006429474c3f6635636d3824f68841935debde15a763bce02a7c18
height: 121124
time: 1304207337
block_index: 121124
- hash: 000000000000223b64b7083652f2c3c79b0e5f175bd885697377a39e79502297
height: 121123
time: 1304206894
block_index: 121123
- hash: 0000000000009487db37d79be368408e08196c327e124a033ae164db10753dc9
height: 121122
time: 1304206476
block_index: 121122
- hash: 0000000000004d8ce1babf4fdbf153f813ec4776ea53f7e36cd4897886349f0d
height: 121121
time: 1304206238
block_index: 121121
- hash: 000000000000538fd5bb2e5e98ca0019eb5d121fb429021cefbac1413fe56ccd
height: 121120
time: 1304205547
block_index: 121120
- hash: 00000000000049fdef5f0074a089e9f82bed072d5e6d975fc411cb1ba6d64c00
height: 121119
time: 1304205476
block_index: 121119
- hash: 000000000000555ba01c35729fd735cc063ef7900db77cddca3656db755be830
height: 121118
time: 1304205252
block_index: 121118
- hash: 0000000000008264df3eee52f65383383e4d852d2636718632f8b3b9a1cefe42
height: 121117
time: 1304205083
block_index: 121117
- hash: 0000000000001f04dc63a2c8965e8ed033aa4f51a3d57905814f883a6f2e5590
height: 121116
time: 1304204752
block_index: 121116
- hash: 00000000000007cdee3c6a4aa379d4e8464692882572a4f9e71f5e2401752284
height: 121115
time: 1304203893
block_index: 121115
- hash: 000000000000560f1d2a1da96a60bc7f57a35d31686fadf2ded8a71347f049db
height: 121114
time: 1304203470
block_index: 121114
- hash: 00000000000080e7dbe1831f5ad5190ff80da15196829bec92ece2c7b577f36b
height: 121113
time: 1304202421
block_index: 121113
- hash: 0000000000000cd3ff350131f2879af7917390825cd027150d05beb8147582c3
height: 121112
time: 1304202114
block_index: 121112
- hash: 000000000000220aec71a1052b33d11444db6f88e3a6e6313159c4609d0b92ca
height: 121111
time: 1304200737
block_index: 121111
- hash: 0000000000008c32948edaeec42a90afd6cebb14d4e773e1b1ec5b4102d8bc52
height: 121110
time: 1304200549
block_index: 121110
- hash: 000000000000876ce07b94635e3a8959ae23bda70a0ae1965998f4830ab2095d
height: 121109
time: 1304200510
block_index: 121109
- hash: 0000000000008ce13ce258833d3551bf5031f08ee9fae3d1ffaad4e9967cad90
height: 121108
time: 1304200222
block_index: 121108
- hash: 00000000000067ac45b2c3e1e5bdf1bfd04442adf0931943f9be47ba81c42b17
height: 121107
time: 1304200205
block_index: 121107
- hash: 0000000000002384a7723c2e09e9b20a3ca23773d1539d64494ea06a1637272b
height: 121106
time: 1304199799
block_index: 121106
- hash: 0000000000003da280d8a0a9689a96812b0ab29ac807eb814809e4ee78fd7576
height: 121105
time: 1304199563
block_index: 121105
- hash: 0000000000005f22c5b947dd24621e55a24fb52cfe445c50836bbc8017ce4ef4
height: 121104
time: 1304199026
block_index: 121104
- hash: 00000000000073011e748bfd2d6307285cbe28568a613ac9f8115e8fb1f1bd11
height: 121103
time: 1304198789
block_index: 121103
- hash: 00000000000038e334a9c559b7f49cd76fb8f2d99537be7fc8d1cf69ed01bfdb
height: 121102
time: 1304198658
block_index: 121102
- hash: 00000000000095015156b62244ae673fa593f901c61904ab112928bac95525bb
height: 121101
time: 1304198316
block_index: 121101
- hash: 000000000000177ef47ee4d1b9ccbe1f18e5b58ad0c4c067c889a149486dd327
height: 121100
time: 1304198133
block_index: 121100
- hash: 0000000000006f134512ebd1d7f8049ec2922045219227883bef6875ca7dad07
height: 121099
time: 1304197977
block_index: 121099
- hash: 00000000000079458e8d4b02e9592e68990807028b57a6e604504820a4c956cd
height: 121098
time: 1304197956
block_index: 121098
- hash: 000000000000941e8f34fae1ae47cee6f0232aac4bed2651f42ceb9c274940b8
height: 121097
time: 1304196739
block_index: 121097
- hash: 000000000000013f70963dae6aabc2567494e4df00b77b21de27f9f7d51cda37
height: 121096
time: 1304196601
block_index: 121096
- hash: 0000000000005678a39dbea710b9afc0d270d9a26cc9be9291bdc07957e53c8f
height: 121095
time: 1304196158
block_index: 121095
- hash: 00000000000015b35809c71bf09ee6fa1273d9aa7912c7f73fcfdec983ac8616
height: 121094
time: 1304196111
block_index: 121094
- hash: 0000000000006dba6d8651749fe59df7f784ba02a3af389e0d8de87556a7f2d9
height: 121093
time: 1304194495
block_index: 121093
- hash: 0000000000000c347a3da7bfee84419ee0442483ad6bc398d447197381e1b435
height: 121092
time: 1304194427
block_index: 121092
- hash: 0000000000001f50198f4121b99f8cf411a3677357e1963c96f37454aa4b91ff
height: 121091
time: 1304194291
block_index: 121091
- hash: 0000000000003e5942271bbecdf8f2ea806b10f174fdcf4216c80cc96853ceae
height: 121090
time: 1304193527
block_index: 121090
- hash: 000000000000983fa6142a7729efefa0cb792af99aa2c8fab9896a1556ba512b
height: 121089
time: 1304192511
block_index: 121089
- hash: 00000000000077f33539182dab2d04bebdc6c1d74ccc7f9f7d4329575967a833
height: 121088
time: 1304192188
block_index: 121088
- hash: 0000000000003db3d299a94b459863fdf9eb18f671f3d8bb16d94bea54ddd575
height: 121087
time: 1304190190
block_index: 121087
- hash: 000000000000369f02d4c94f18ae5681b4286b7170a9193c85b5647ebc544c63
height: 121086
time: 1304190025
block_index: 121086
- hash: 000000000000931f5591dddf392068a34ee7332943a04ad5925414e038882a33
height: 121085
time: 1304189376
block_index: 121085
- hash: 0000000000007d65cd99d0711480f26aba3ba5c02a4a40360eb0d4c09ef8b1ab
height: 121084
time: 1304188567
block_index: 121084
- hash: 0000000000006fefa18e7c8941b3829c17579757bcd5f5165af0fdaeaca29ae2
height: 121083
time: 1304188375
block_index: 121083
- hash: 00000000000043cec6cd5155c65ce226db650faf2c54878db4702505cbdbbd4e
height: 121082
time: 1304187578
block_index: 121082
- hash: 00000000000060316bb5b36d752d49890ccbb73a184f7cbc060680b6933584ef
height: 121081
time: 1304187368
block_index: 121081
- hash: 00000000000068f040c2cde5c82894727b33610de4c05ea1b1233d2aa2fca6bd
height: 121080
time: 1304187123
block_index: 121080
- hash: 00000000000028c05d4651de60cd3b44b5be2b1816243d8d965528a81ae7875a
height: 121079
time: 1304187008
block_index: 121079
- hash: 000000000000472bd5cf01798c1dbd0e6d25dab52f8d696753580008db80e893
height: 121078
time: 1304186628
block_index: 121078
- hash: 000000000000372744c19efaf112182bbed961a0fee0d89a6f04b4984e4f4584
height: 121077
time: 1304186553
block_index: 121077
- hash: 0000000000003d4b7b5da478538beb0060ca553c54b35c8946f9a5ccb24512e0
height: 121076
time: 1304185981
block_index: 121076
- hash: 000000000000033dcfc64fde1d82e1d8bc5c58e27a8f8d13c0bf4cba5d9d2adf
height: 121075
time: 1304185447
block_index: 121075
- hash: 000000000000247a36e8f3abf31335721f15c2444f627e0a248671b9c907f7e5
height: 121074
time: 1304183466
block_index: 121074
- hash: 00000000000072cb4cdd156e0eb5136f8c6c6b575f785c22949608236508f7ca
height: 121073
time: 1304182511
block_index: 121073
- hash: 000000000000444ae09cec4ce9f07fe7b32cef925ec85b0891352a8ce4b1451b
height: 121072
time: 1304182067
block_index: 121072
- hash: 0000000000001c6430c1997d19f4feaacf39dae96097255faf9fd20281cfa69a
height: 121071
time: 1304180846
block_index: 121071
- hash: 0000000000001fc948f18a1a71312ad0cf8dd9163e4b5b4fab8c440915af16f7
height: 121070
time: 1304180836
block_index: 121070
- hash: 0000000000000adbec0c504df39383277cfcde45965a598381226c9d69ac49d4
height: 121069
time: 1304179491
block_index: 121069
- hash: 000000000000418f02482273ac6a32d16edec9b32ab0ba4df6cedace84296896
height: 121068
time: 1304179436
block_index: 121068
- hash: 0000000000000d80f675420be668f669c8fe2fb47dd37973bc03acfdb65f85b8
height: 121067
time: 1304179294
block_index: 121067
- hash: 00000000000040b5f954e6fafcee88e83bfc518652e38c4ddf0093fefbff180a
height: 121066
time: 1304178353
block_index: 121066
- hash: 0000000000003fda5b8545f616c8669068ec0d55df9a2ab7c3eef56f1d27c7b2
height: 121065
time: 1304178052
block_index: 121065
- hash: 0000000000009366035bfaac09768eda7c6c00f30dc43a82f242b03cded2af61
height: 121064
time: 1304177919
block_index: 121064
- hash: 0000000000009149970f8b22ebc89bc39f94ecf62fb2d103895b140cd1e6929c
height: 121063
time: 1304176797
block_index: 121063
- hash: 0000000000002fd2fcb88fb3161f8b1dc957edec768a92197a2682ef1e411111
height: 121062
time: 1304176684
block_index: 121062
- hash: 000000000000423ab1d771c156011400c26796aeaa4a696e50883110d106e189
height: 121061
time: 1304176496
block_index: 121061
- hash: 00000000000051f16c0a2856278559367d52f78e2edbe4e1209665899f504cb4
height: 121060
time: 1304176203
block_index: 121060
- hash: 00000000000031a668ff1516b7760192175e11493a783cfc1fedced3fdf1ec68
height: 121059
time: 1304175932
block_index: 121059
- hash: 00000000000024d6fbd7eb65351e6ed7891ff1adbcaab04ab806a623b375d702
height: 121058
time: 1304175282
block_index: 121058
- hash: 0000000000008e60cef7434121c415367e71d331f66a7391c95d21eafed494f7
height: 121057
time: 1304175040
block_index: 121057
- hash: 0000000000008e6ff594414d2ca8c59f7165664c97f46380e7fc7549f93850cb
height: 121056
time: 1304174913
block_index: 121056
- hash: 0000000000008290778cf07c8352a105667c87209e0acd330efb871ef75add7d
height: 121055
time: 1304174863
block_index: 121055
- hash: 000000000000443b9bf8b6471bf1ffd7d6cac5925bf6c4225eecd0ae9e7291e6
height: 121054
time: 1304173391
block_index: 121054
- hash: 0000000000003795781dafa7d1634569ee4f553da536b34f5dbe24f381f3e0a4
height: 121053
time: 1304173084
block_index: 121053
- hash: 0000000000001e35337c744b329dd4149732a5e72600ad8d3b16e541da0bbfeb
height: 121052
time: 1304172896
block_index: 121052
- hash: 000000000000563c5e4e43915fdf15e5d64edff4f376d6293b1cd72078d563b7
height: 121051
time: 1304172724
block_index: 121051
- hash: 0000000000007bbb29af8f47ac5f262af8b5eee80e33fbf450525e2bfcfa36b7
height: 121050
time: 1304172668
block_index: 121050
- hash: 00000000000096640555f4cab1cfafc51cd71637fde69145d06eca19524eaeda
height: 121049
time: 1304172150
block_index: 121049
- hash: 000000000000200bae132975386a7dda629616a7a0e64ee9d140510dae7d8e7b
height: 121048
time: 1304171784
block_index: 121048
- hash: 00000000000012b170573c74b308a605eccb4bc7ab7bcb0b3ba83534ba9133a3
height: 121047
time: 1304171467
block_index: 121047
- hash: 000000000000597cbe5b6e79c61486d44370f163da0d9fb6752ddf4d59f7d5b9
height: 121046
time: 1304170765
block_index: 121046
- hash: 0000000000001071171398c29d9ef827e1bf53378cea6a963c9b3f129febbf1b
height: 121045
time: 1304170541
block_index: 121045
- hash: 0000000000003f8500cd6c42ecff802315281fd87f80af54c5ec2b063d771fb2
height: 121044
time: 1304170240
block_index: 121044
- hash: 0000000000008900678ecf84aaca49f1274ea64bfacbe0b1edd08f6a8f0bfc39
height: 121043
time: 1304170185
block_index: 121043
- hash: 0000000000005640d1cecde32f56f82200507aa2ccf1ed044a3d849a0fa26a6e
height: 121042
time: 1304169993
block_index: 121042
- hash: 0000000000003784a99e57cb832ea4ff50c0c2ccb6e69a22fbfc6a752f2d6170
height: 121041
time: 1304169545
block_index: 121041
- hash: 00000000000072353d12f50a216d98d8b6080ad09210e32cef475f018d8f7648
height: 121040
time: 1304168718
block_index: 121040
- hash: 0000000000006b7e67295ede5da1a1185268367b092ac569cb74a32be6f75b59
height: 121039
time: 1304167964
block_index: 121039
- hash: 00000000000050f019b53f0d9378879f30fe38cb73d614fcb600809ca447236f
height: 121038
time: 1304167287
block_index: 121038
- hash: 000000000000056017a46b9eb7543a9f99651cf93e764d52aadf2dfad7071d05
height: 121037
time: 1304167052
block_index: 121037
- hash: 00000000000043e5c795a4d21051d4281e303526bcc552302441be294b0da0a8
height: 121036
time: 1304166837
block_index: 121036
- hash: 0000000000005c89ac2411fe50f9b0ccaac59ea566561a02e4ae0dc4289244cb
height: 121035
time: 1304166380
block_index: 121035
- hash: 0000000000008ba010cc430bece41b71417b7ed4102dcb4b5b3ba759231e909e
height: 121034
time: 1304166346
block_index: 121034
- hash: 0000000000005a6e318a7cd5fda64ffa3c21688afdb92b2ba75208ac283222f1
height: 121033
time: 1304165870
block_index: 121033
- hash: 00000000000054a4313bcabfc559bdeddfa072b47858d35c18f3f128b9a8f827
height: 121032
time: 1304165849
block_index: 121032
- hash: 0000000000001a2585f316f81b20623e693845515f216f3ecb787583f4b79874
height: 121031
time: 1304165435
block_index: 121031
- hash: 0000000000002df0d65141941ff46360950bd6d59e840e7543d7b1a02a587cdf
height: 121030
time: 1304163816
block_index: 121030
- hash: 00000000000021116f3a21c0ffa0d44173274b53bddce4e3e3619d18a7e65036
height: 121029
time: 1304163476
block_index: 121029
- hash: 00000000000072a74cc890fd65a1f1fc870e53ffa3bad2e2ed366316ae46533d
height: 121028
time: 1304163417
block_index: 121028
- hash: 000000000000555d687591c8ee63ab8483166688e529eee9e09f1ccada907ede
height: 121027
time: 1304161895
block_index: 121027
- hash: 000000000000148b26490d48f10bea50ee749ee78d06cb8a4bd7a664e4e5556d
height: 121026
time: 1304161868
block_index: 121026
- hash: 0000000000006b01c6bcc0c42fb60dd8ffb3abc3c43c77acddf51968439b96d9
height: 121025
time: 1304161256
block_index: 121025
- hash: 00000000000098d028553328669d0d32593c084d28dd2a000d90e486d32f6f91
height: 121024
time: 1304160847
block_index: 121024
- hash: 0000000000004eae95bb184dacd3fe1e272e4eeb8e2c6dfeee3314bd88901470
height: 121023
time: 1304160368
block_index: 121023
- hash: 00000000000033b9d36ac45cba7fd17ce0a641c88175a4e3b2c9f0a8cac22f58
height: 121022
time: 1304160199
block_index: 121022
- hash: 0000000000008fbfc9fec3ea613bae59118c86eddd3e0df1ef645058c3998c3b
height: 121021
time: 1304159323
block_index: 121021
- hash: 0000000000000a93ce027acf500aa294e2c6ff58e74499bde8070e848135adf4
height: 121020
time: 1304158552
block_index: 121020
- hash: 00000000000069cbf9663a3f1dd07f52eabc55c9432310ca9ef4490bd57243a0
height: 121019
time: 1304157443
block_index: 121019
- hash: 0000000000004441bb7e8d53adbf047a281a06dbde22a79b05b0e7a2bddc9f9d
height: 121018
time: 1304157425
block_index: 121018
- hash: 0000000000003549dbf901d348ed95e2e920e7311c304b109f8e6791ea6c4853
height: 121017
time: 1304157199
block_index: 121017
- hash: 00000000000088aafd531b7c10e0d3cd2e5f9fad0870786eaed442194b9b12e3
height: 121016
time: 1304156123
block_index: 121016
- hash: 0000000000008ebdfb11ffc304957ffd46bd34fe8f958fa3bc485992a24478c3
height: 121015
time: 1304155401
block_index: 121015
- hash: 00000000000043c8d4081d8259ab0d45b696f2b920ede34aa41e359aded77662
height: 121014
time: 1304155199
block_index: 121014
- hash: 0000000000002ae7ed932ab9bab081de9d7aa7d5834e24a33707ade32cab328a
height: 121013
time: 1304154121
block_index: 121013
- hash: 00000000000065342830dd781b0228588bce6783e14153b759c1f07044fdf90b
height: 121012
time: 1304153720
block_index: 121012
- hash: 00000000000025adfa13b670aa30dcbfbd188807dcb586e92d671ea14561d333
height: 121011
time: 1304153294
block_index: 121011
- hash: 00000000000069e01c12dace34a54f202593dea75c729297e512084e87d3b4c1
height: 121010
time: 1304152433
block_index: 121010
- hash: 00000000000088b7820a82e16e46533399bad43f33c1bff76e3ab31fdf9babe7
height: 121009
time: 1304152394
block_index: 121009
- hash: 000000000000495dfd2d08a2985b53f18cb4f0cf35500a4f5b1433ca0c8924c1
height: 121008
time: 1304151121
block_index: 121008
- hash: 0000000000003c08e84cb8e3b12abee5b70bc48d16841b4ecaa1e2fc94a7fcf6
height: 121007
time: 1304150249
block_index: 121007
- hash: 000000000000904daae12718c3166c646e564cf27878992b5de64ddac87d5273
height: 121006
time: 1304149962
block_index: 121006
- hash: 00000000000055880368265ceddf3d540af70c46c20de79b4f23f7300a1f8341
height: 121005
time: 1304149231
block_index: 121005
- hash: 0000000000004d471350cdbe5f5aba72d6441364ffdfa2a9553ec86ea4caec64
height: 121004
time: 1304149175
block_index: 121004
- hash: 000000000000685609514052e0715eba6a1e7c0deaf59a24315c259e9fbc1732
height: 121003
time: 1304147388
block_index: 121003
- hash: 0000000000008379f91db9289063f330e39a6b480723b86abe0bcbd2f0d46628
height: 121002
time: 1304146407
block_index: 121002
- hash: 00000000000087390012d022582eeb5abe18f817b11dd9a89be678c0ea293dde
height: 121001
time: 1304146354
block_index: 121001
- hash: 0000000000008addb06debe0ba6b11e220b14b2b531750fda710b62bb1d3d706
height: 121000
time: 1304146291
block_index: 121000
- hash: 00000000000075216989a1ad8b35d434f9aa4fa3bb5b998da8f422ee53923d9b
height: 120999
time: 1304146163
block_index: 120999
- hash: 00000000000091a7063abd88ad281dc11f88fbc7e3766a831ddaee151470ec57
height: 120998
time: 1304146157
block_index: 120998
- hash: 0000000000003160d4319a2d75851bb2c7adf63b68313bc63753d86cb5138a40
height: 120997
time: 1304146052
block_index: 120997
- hash: 00000000000006d844c0d73ab70de03066f4d3c6143246dc15ea1484dc9cfc81
height: 120996
time: 1304145624
block_index: 120996
- hash: 000000000000127eaca1e5dca20b151356197fffc51e19c7735427f986568a81
height: 120995
time: 1304145067
block_index: 120995
- hash: 0000000000001bb36473406f41a0018376d1e3686c956fd0bb72013007edba39
height: 120994
time: 1304144388
block_index: 120994
- hash: 0000000000004b741ac6b5514fd4e19c8ed1ff3b78bb80bc0a6eed7ed61e6822
height: 120993
time: 1304143780
block_index: 120993
- hash: 000000000000941e65511aa5408d5db8a0140a686bd01e64bbdd34d5c7831246
height: 120992
time: 1304143492
block_index: 120992
- hash: 00000000000091fc5ae72d2c5a3c32f9e31206fd0bc9f6d3c80a9fb614dcff1e
height: 120991
time: 1304143441
block_index: 120991
- hash: 0000000000002f283c01d88eed0b948fab4f885ef39c66b109d5a17fc549e42f
height: 120990
time: 1304143399
block_index: 120990
- hash: 0000000000002812eecd335460ff3c2171d11df51989d247460e6e11ab8bef6e
height: 120989
time: 1304143270
block_index: 120989
- hash: 0000000000005aef4b7065038db827431088b52216f1a5249692e7046223a071
height: 120988
time: 1304143015
block_index: 120988
- hash: 00000000000062033f6c4ed1e44e1538a6c543c8937c030bccdb4d368eb62ceb
height: 120987
time: 1304142945
block_index: 120987
- hash: 00000000000062c28dfa926828d6b7b43bac3366a153542bd9e7f156d882b34c
height: 120986
time: 1304142356
block_index: 120986
- hash: 00000000000027987257100dd3c6337e3d41391f4736a9bdd1721a2108111e87
height: 120985
time: 1304142114
block_index: 120985
- hash: 00000000000000bb19cf058b82c71b021f0de98ac1ae36315396b0e65805e9bb
height: 120984
time: 1304141057
block_index: 120984
- hash: 0000000000004334e532084c786d0e15fbcd10ed096784319cf8944d973fb97d
height: 120983
time: 1304140925
block_index: 120983
- hash: 000000000000448253842df0ae6bedb71af40ff5dbf4f8f9443471361fc3b6f6
height: 120982
time: 1304140819
block_index: 120982
- hash: 0000000000008ba2594881b59f927b618d7539b44c6315dabe9173d237f2079c
height: 120981
time: 1304140628
block_index: 120981
- hash: 00000000000079f504aca0b771e37eb71d2ea263acf38c7bab77f8ad58e7c104
height: 120980
time: 1304139778
block_index: 120980
- hash: 0000000000002b5cecc48211794512bffe632337a10bb8dbf5cb5a82f386aa9f
height: 120979
time: 1304139554
block_index: 120979
- hash: 0000000000003648d4aff647ea4e4b61bb6ee8c055a0be09c5d10252d7aa2532
height: 120978
time: 1304139523
block_index: 120978
- hash: 000000000000609d4147b41cead0f8a7d966b6e721e0585c6257ebe6caddf45e
height: 120977
time: 1304139435
block_index: 120977
- hash: 0000000000003a8c92682547fbf0acab4cc2223192d77f6df8e437858b49b86b
height: 120976
time: 1304139383
block_index: 120976
- hash: 0000000000001dcc62bca24efa6271c4c9ffc5e60067a3c2ad64e352fd13f2d3
height: 120975
time: 1304139145
block_index: 120975
- hash: 00000000000026bc82ee2da9b2a7a240aae8a9112bc81a78895f1d138d9a1db5
height: 120974
time: 1304138241
block_index: 120974
- hash: 0000000000000e011816b36f39b1e0b84682e84720e79ad58643e741b295b060
height: 120973
time: 1304137450
block_index: 120973
- hash: 00000000000086bdcbbb0c4a66b999fdff516717d22ccfda08ea1592561ef37f
height: 120972
time: 1304136499
block_index: 120972
- hash: 0000000000000edd47e67c32af711f0e14ab50d6a83854df2792152dace03a26
height: 120971
time: 1304136159
block_index: 120971
- hash: 00000000000017a29a60c514c4cadd52dd95ae171a324f9805fa5491d27c1611
height: 120970
time: 1304136043
block_index: 120970
- hash: 00000000000006d46cba774fa65a02486974b85442dab196b55c550fd6896726
height: 120969
time: 1304135319
block_index: 120969
- hash: 000000000000922d45711f822fc486373d5754d7033730393e93755f8e7af95a
height: 120968
time: 1304135196
block_index: 120968
- hash: 0000000000005bcc470f7d6fc5d4cb43526e16811413a7a6dd1ec06a6f7e9ed2
height: 120967
time: 1304134362
block_index: 120967
- hash: 0000000000007251370503ea542f688e576d3d48a6355e14ab71a0f4d132b9c6
height: 120966
time: 1304133971
block_index: 120966
- hash: 000000000000135da63a64e0f50210b8701ed4bbb2fc0fee1bb51abe65ea3448
height: 120965
time: 1304133543
block_index: 120965
- hash: 0000000000004cbe5edd3762ca610edba5332926e1c9496e4726452943797a8b
height: 120964
time: 1304132764
block_index: 120964
- hash: 0000000000002dc81281b024cfd4097e386e0ae7b0797b0c13ec5a3d4328f9e5
height: 120963
time: 1304132750
block_index: 120963
- hash: 00000000000036e40cb69cdb0e44695d06e06fac00953b73ef4f99b777b2b1ba
height: 120962
time: 1304132626
block_index: 120962
- hash: 00000000000039ade9fc6ac0c4d198fe7ba1079a1d5ff65fd92adea7b4c12383
height: 120961
time: 1304132499
block_index: 120961
- hash: 0000000000002c920cf7e4406b969ae9c807b5c4f271f490ca3de1b0770836fc
height: 120960
time: 1304131980
block_index: 120960
- hash: 000000000000a384acb522e4e5935ad2bc31366ecf1f16f1f11023e967ef033d
height: 120959
time: 1304131540
block_index: 120959
- hash: 00000000000018af296a8d96a27105b528e8ab8905e01f2d7c8d4d12f0b09a7f
height: 120958
time: 1304131535
block_index: 120958
- hash: 000000000000832d2dfa3edf46fc7eadb2477946dd73b0cfd54f6a93a3fa75e9
height: 120957
time: 1304129824
block_index: 120957
- hash: 00000000000031ca732091ab864e0ca3d01c382d3270aaffb96c755d14be4a15
height: 120956
time: 1304129464
block_index: 120956
- hash: 00000000000096954f1ea00788a00fd1263b9699f9baa3b6ffaf5a44b9e6e892
height: 120955
time: 1304128815
block_index: 120955
- hash: 00000000000066f10dd6f10f890f511eb86f61f15dbdb2945a6ab3b7b894f811
height: 120954
time: 1304128647
block_index: 120954
- hash: 0000000000001e163570aa00712337aeccd4e4cc6d721d46412bdbab40d4f2f5
height: 120953
time: 1304128013
block_index: 120953
- hash: 0000000000000e0365819cafabe8dee9c85959f911546382503ce3e108fbe9f3
height: 120952
time: 1304127626
block_index: 120952
- hash: 00000000000095c349dd239d1b2129d57c3323affd8f0604fd5945b6bb94974c
height: 120951
time: 1304126785
block_index: 120951
- hash: 00000000000067e5370cbdc09ed3b6d07656f697e0551b11fb983b2cb7878121
height: 120950
time: 1304126698
block_index: 120950
- hash: 00000000000046bc557910c589a83e6117763ee3aae6a1a83df646e72d37235b
height: 120949
time: 1304125871
block_index: 120949
- hash: 0000000000000fa04c2783eaefd10bcde5917ef54dd6ca628886711c4b0aa805
height: 120948
time: 1304125780
block_index: 120948
- hash: 000000000000b50ad67288000882c78a19c6d237520c6975e7b048d331d678b3
height: 120947
time: 1304125012
block_index: 120947
- hash: 0000000000007425ae5ed2957026812f654b9a431cdac9b349b812b964ff6f1a
height: 120946
time: 1304124382
block_index: 120946
- hash: 000000000000a2c8f100a28745fe76f8a1e70f753d3301c5dbb50becef0884e2
height: 120945
time: 1304124257
block_index: 120945
- hash: 000000000000ad8259a2a50e456c5af3cab76906e338a062a245d934585b548b
height: 120944
time: 1304124200
block_index: 120944
- hash: 0000000000000ba80470c0420793db59ace3d4428c71e84b3ad9d351c5c0dc3a
height: 120943
time: 1304123958
block_index: 120943
- hash: 00000000000038128f013486d0654d304c6c1934e613336f38879e0fe42dea94
height: 120942
time: 1304123312
block_index: 120942
- hash: 000000000000676c8fda22d1fa9d4e89361045dbdd5a136a5ff79577e4f1d350
height: 120941
time: 1304123030
block_index: 120941
- hash: 0000000000001734d7eda67ca7c38acef939e68433fbe04d7c1d1b98c3090752
height: 120940
time: 1304122790
block_index: 120940
- hash: 000000000000922ffbbb889287edc43e0e7dade424c88c2f0623165a793af23f
height: 120939
time: 1304122769
block_index: 120939
- hash: 000000000000476e861117a3a9c2fd4de1765ad93e120325749c15b9ecef4ced
height: 120938
time: 1304122310
block_index: 120938
'/blockchain/block-height/{height}':
get:
tags:
- Blockchain
operationId: getBinfoBlockHeight
summary: Blocks at Height
description: |
The blocks at a height, with their transactions, as Blockchain.info answers.
parameters:
- name: height
in: path
required: true
schema:
type: integer
example: 100
- $ref: '#/components/parameters/binfoTxIdIndex'
- $ref: '#/components/parameters/binfoJsonFormat'
responses:
'200':
description: List of blocks with transaction data.
content:
application/json:
schema:
type: object
required:
- blocks
properties:
blocks:
type: array
items:
$ref: '#/components/schemas/BinfoBlock'
example:
blocks:
- hash: 000000007bc154e0fa7ea32218a72fe2c1bb9f86cf8c9ebf9a715ed27fdb229a
ver: 1
prev_block: 00000000cd9b12643e6854cb25939b39cd7a1ad0af31a9bd8b2efe67854b1995
mrkl_root: 2d05f0c9c3e1c226e63b5fac240137687544cf631cd616fd34fd188fc9020866
time: 1231660825
bits: 486604799
next_block:
- 00000000b69bd8e4dc60580117617a466d5c76ada85fb7b87e9baea01f9d9984
fee: 0
nonce: 1573057331
n_tx: 1
size: 215
block_index: 100
main_chain: true
height: 100
weight: 0
tx:
- hash: 2d05f0c9c3e1c226e63b5fac240137687544cf631cd616fd34fd188fc9020866
ver: 1
vin_sz: 1
vout_sz: 1
size: 134
weight: 536
fee: 0
relayed_by: 0.0.0.0
lock_time: 0
tx_index: 3589906961130271
double_spend: false
time: 1231660825
block_index: 100
block_height: 100
inputs:
- sequence: 4294967295
witness: ""
script: 04ffff001d014d
index: 0
prev_out: null
out:
- type: 0
spent: false
value: 5000000000
spending_outpoints: []
n: 0
tx_index: 3589906961130271
script: "4104e70a02f5af48a1989bf630d92523c9d14c45c75f7d1b998e962bff6ff999\
5fc5bdb44f1793b37495d80324acba7c8f537caaf8432b8d47987313060cc82d\
8a93ac"
addr: bitcoincash:qqt6g6wul02yakpt05amm0hey67lhh7wagrrqxcmys
'/blockchain/rawtx/{txid}':
get:
tags:
- Blockchain
operationId: getBinfoRawTx
summary: Transaction Data
description: |
A transaction by id or by short number, as Blockchain.info answers. With
`format=hex`, the transaction serialized as in the peer-to-peer protocol.
A short number that matches several transactions gives 409 with their ids.
parameters:
- $ref: '#/components/parameters/binfoTxId'
- $ref: '#/components/parameters/binfoFormat'
- $ref: '#/components/parameters/binfoTxIdIndex'
responses:
'200':
description: Transaction data.
content:
application/json:
schema:
$ref: '#/components/schemas/BinfoTx'
example:
hash: 2d05f0c9c3e1c226e63b5fac240137687544cf631cd616fd34fd188fc9020866
ver: 1
vin_sz: 1
vout_sz: 1
size: 134
weight: 536
fee: 0
relayed_by: 0.0.0.0
lock_time: 0
tx_index: 3589906961130271
double_spend: false
time: 1231660825
block_index: 100
block_height: 100
inputs:
- sequence: 4294967295
witness: ""
script: 04ffff001d014d
index: 0
prev_out: null
out:
- type: 0
spent: false
value: 5000000000
spending_outpoints: []
n: 0
tx_index: 3589906961130271
script: "4104e70a02f5af48a1989bf630d92523c9d14c45c75f7d1b998e962bff6ff999\
5fc5bdb44f1793b37495d80324acba7c8f537caaf8432b8d47987313060cc82d\
8a93ac"
addr: bitcoincash:qqt6g6wul02yakpt05amm0hey67lhh7wagrrqxcmys
application/text:
schema:
type: string
example: "0100000001000000000000000000000000000000000000000000000000000000\
0000000000ffffffff0704ffff001d014dffffffff0100f2052a010000004341\
04e70a02f5af48a1989bf630d92523c9d14c45c75f7d1b998e962bff6ff9995f\
c5bdb44f1793b37495d80324acba7c8f537caaf8432b8d47987313060cc82d8a\
93ac00000000"
'404':
description: Transaction not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Transaction index conflict.
content:
applicaton/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: multiple-tx-index
message: Multiple txs match that index
'/blockchain/unspent':
get:
tags:
- Blockchain
operationId: getBinfoUnspent
summary: Unspent Outputs
description: |
The unspent outputs of addresses and xpubs, newest first, as Blockchain.info
answers. At most 1,000 per call, 250 by default.
parameters:
- $ref: '#/components/parameters/binfoActive'
- $ref: '#/components/parameters/binfoActiveP2SH'
- $ref: '#/components/parameters/binfoActiveBech32'
- $ref: '#/components/parameters/binfoLimit'
- $ref: '#/components/parameters/binfoConfirmations'
- $ref: '#/components/parameters/binfoTxIdIndex'
- $ref: '#/components/parameters/binfoJsonFormat'
responses:
'200':
description: Unspent outputs.
content:
application/json:
schema:
type: object
required:
- unspent_outputs
properties:
unspent_outputs:
type: array
items:
$ref: '#/components/schemas/BinfoUnspent'
notice:
type: string
example:
notice: ""
unspent_outputs:
- tx_hash_big_endian: f2ffa044fa3851c88e739ef76f13b960a828b5c1c7a71005a9315969c4924103
tx_hash: 034192c4695931a90510a7c7c1b528a860b9136ff79e738ec85138fa44a0fff2
tx_output_n: 0
script: 76a914a367b88dd29119c89cc23130b7ca101e3f0c30df88ac
value: 30000
value_hex: "7530"
confirmations: 8557
tx_index: 114565443300134
xpub:
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
path: M/0/73
- tx_hash_big_endian: f2ffa044fa3851c88e739ef76f13b960a828b5c1c7a71005a9315969c4924103
tx_hash: 034192c4695931a90510a7c7c1b528a860b9136ff79e738ec85138fa44a0fff2
tx_output_n: 1
script: 76a91452c5ed64626f1dd39f2d8983a0d94b436524cf8188ac
value: 39325
value_hex: 00999d
confirmations: 8557
tx_index: 114565443300134
xpub:
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
path: M/1/27
- tx_hash_big_endian: ae3fc465a80264f45fa6f865ede43017d9826560299b6fb344d5cde84416b931
tx_hash: 31b91644e8cdd544b36f9b29606582d91730e4ed65f8a65ff46402a865c43fae
tx_output_n: 0
script: 76a9145151d153e1e83ee8fd95799c21fbe245c2dedb9588ac
value: 15669
value_hex: 3d35
confirmations: 9853
tx_index: 1749472394418618
xpub:
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
path: M/1/26
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- Blockchain
operationId: postBinfoUnspent
summary: Unspent Outputs
description: |
Like the `GET`, with the parameters in a form in the body.
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/BinfoUnspentReq'
responses:
'200':
description: Unspent outputs.
content:
application/json:
schema:
type: object
required:
- unspent_outputs
properties:
unspent_outputs:
type: array
items:
$ref: '#/components/schemas/BinfoUnspent'
notice:
type: string
example:
notice: ""
unspent_outputs:
- tx_hash_big_endian: f2ffa044fa3851c88e739ef76f13b960a828b5c1c7a71005a9315969c4924103
tx_hash: 034192c4695931a90510a7c7c1b528a860b9136ff79e738ec85138fa44a0fff2
tx_output_n: 0
script: 76a914a367b88dd29119c89cc23130b7ca101e3f0c30df88ac
value: 30000
value_hex: "7530"
confirmations: 8557
tx_index: 114565443300134
xpub:
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
path: M/0/73
- tx_hash_big_endian: f2ffa044fa3851c88e739ef76f13b960a828b5c1c7a71005a9315969c4924103
tx_hash: 034192c4695931a90510a7c7c1b528a860b9136ff79e738ec85138fa44a0fff2
tx_output_n: 1
script: 76a91452c5ed64626f1dd39f2d8983a0d94b436524cf8188ac
value: 39325
value_hex: 00999d
confirmations: 8557
tx_index: 114565443300134
xpub:
m: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
path: M/1/27
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/export-history':
get:
tags:
- Blockchain
operationId: getBinfoHistory
summary: Transaction History
description: |
The history of a wallet between two dates, one entry per transaction, with
its value in a currency at the time and now, for accounting.
Prices come from the price service that the operator configured
(Blockchain.info by default). If it cannot be reached, the prices are zero
and the rest of the history is still there.
parameters:
- $ref: '#/components/parameters/binfoActive'
- $ref: '#/components/parameters/binfoActiveP2SH'
- $ref: '#/components/parameters/binfoActiveBech32'
- $ref: '#/components/parameters/binfoStart'
- $ref: '#/components/parameters/binfoEnd'
- $ref: '#/components/parameters/binfoCurrency'
- $ref: '#/components/parameters/binfoJsonFormat'
responses:
'200':
description: Transaction history with price.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BinfoHistory'
example:
- tx: f2ffa044fa3851c88e739ef76f13b960a828b5c1c7a71005a9315969c4924103
amount: -6.75e-6
time: 10:57:46 GMT +00:00
exchange_rate_then: 404.5806367
date: "2021-03-25"
value_now: -3.86586e-3
type: sent
value_then: -2.730919297725e-3
fee: 6.75e-06
- tx: ae3fc465a80264f45fa6f865ede43017d9826560299b6fb344d5cde84416b931
amount: -1.998e-5
time: 11:27:24 GMT +00:00
exchange_rate_then: 440.3835254
date: "2021-03-16"
value_now: -1.14429456e-2
type: sent
value_then: -8.798862837492e-3
fee: 1.998e-05
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
tags:
- Blockchain
operationId: postBinfoHistory
summary: Transaction History
description: |
Like the `GET`, with the parameters in a form in the body.
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/BinfoHistoryReq'
responses:
'200':
description: Transaction history with price.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BinfoHistory'
example:
- tx: f2ffa044fa3851c88e739ef76f13b960a828b5c1c7a71005a9315969c4924103
amount: -6.75e-6
time: 10:57:46 GMT +00:00
exchange_rate_then: 404.5806367
date: "2021-03-25"
value_now: -3.86586e-3
type: sent
value_then: -2.730919297725e-3
fee: 6.75e-06
- tx: ae3fc465a80264f45fa6f865ede43017d9826560299b6fb344d5cde84416b931
amount: -1.998e-5
time: 11:27:24 GMT +00:00
exchange_rate_then: 440.3835254
date: "2021-03-16"
value_now: -1.14429456e-2
type: sent
value_then: -8.798862837492e-3
fee: 1.998e-05
'404':
description: Invalid argument.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/addresstohash/{address}':
get:
tags:
- Blockchain
operationId: getAddressHash
summary: Address Hash
description: |
The hash160 of an address, in hexadecimal, as plain text.
The `/blockchain/q/` endpoints answer in plain text rather than JSON, as
those of Blockchain.info do, so that a shell script can use the answer as it
is.
parameters:
- $ref: '#/components/parameters/addressParam'
responses:
'200':
description: Address hash.
content:
text/plain:
schema:
type: string
example: 37d070b3c6716a6174080722579fbdddad39bfb3
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/hashtoaddress/{hash}':
get:
tags:
- Blockchain
operationId: getHashAddress
summary: Hash Address
description: |
The pay-to-public-key-hash address of a hash160, as plain text.
parameters:
- $ref: '#/components/parameters/hashParam'
responses:
'200':
description: Hash address.
content:
text/plain:
schema:
type: string
example: qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
'404':
description: Invalid hash.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/addrpubkey/{pubkey}':
get:
tags:
- Blockchain
operationId: getPubKeyAddress
summary: Public Key Address
description: |
The pay-to-public-key-hash address of a public key, as plain text.
parameters:
- $ref: '#/components/parameters/pubKeyParam'
responses:
'200':
description: Public key address.
content:
text/plain:
schema:
type: string
example: bitcoincash:qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
'404':
description: Invalid public key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/pubkeyaddr/{address}':
get:
tags:
- Blockchain
operationId: getAddressPubKey
summary: Address Public Key
description: |
The public key of an address, in hexadecimal, as plain text.
An address is a hash of its public key, so the key can only be found once the
address has spent something: the server looks for an input that spends from
the address among its recent transactions, and reads the key from it. An
address that has never spent gives 404.
parameters:
- $ref: '#/components/parameters/addressParam'
responses:
'200':
description: Address public key.
content:
text/plain:
schema:
type: string
example: 027eb504988cbc043dd4c9fac51685d68718a24d7f9f1d4c07b9f8c3d04327794c
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/hashpubkey/{pubkey}':
get:
tags:
- Blockchain
operationId: getPubKeyHash
summary: Public Key Hash
description: |
The hash160 of a public key, in hexadecimal, as plain text.
parameters:
- $ref: '#/components/parameters/pubKeyParam'
responses:
'200':
description: Public key hash.
content:
text/plain:
schema:
type: string
example: 37d070b3c6716a6174080722579fbdddad39bfb3
'404':
description: Invalid public key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/getblockcount':
get:
tags:
- Blockchain
operationId: getBlockCount
summary: Block Count
description: |
The height of the newest block header, as plain text. Headers arrive before
blocks, so it can be ahead of `/block/best`.
responses:
'200':
description: Height of block chain.
content:
text/plain:
schema:
type: number
example: 688824
'/blockchain/q/latesthash':
get:
tags:
- Blockchain
operationId: getLatestHash
summary: Latest Block Hash
description: |
The hash of the newest block header, as plain text.
responses:
'200':
description: Latest block hash.
content:
text/plain:
schema:
type: string
example: 0000000000000000005d55b8ab4de4c864b815edf9fb52278d69a614c3c7c72a
'/blockchain/q/bcperblock':
get:
tags:
- Blockchain
operationId: getBlockSubsidy
summary: Block Subsidy
description: |
The subsidy of the next block, in satoshis, as plain text: the new coins its
miner will create, which halve every 210,000 blocks.
responses:
'200':
description: Block subsidy for next block.
content:
text/plain:
schema:
type: number
example: 6.25
'/blockchain/q/txtotalbtcoutput/{txid}':
get:
tags:
- Blockchain
operationId: getTotalOutput
summary: Total Output
description: |
The total value of the outputs of a transaction, in satoshis, as plain text.
parameters:
- $ref: '#/components/parameters/binfoTxId'
responses:
'200':
description: Total amount in transaction outputs.
content:
text/plain:
schema:
type: number
example: 9.94e-4
'404':
description: Invalid transaction.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/txtotalbtcinput/{txid}':
get:
tags:
- Blockchain
operationId: getTotalInput
summary: Total Spent
description: |
The total value of the outputs that a transaction spends, in satoshis, as
plain text.
parameters:
- $ref: '#/components/parameters/binfoTxId'
responses:
'200':
description: Total amount spent by transaction.
content:
text/plain:
schema:
type: number
example: 9.9973e-4
'404':
description: Invalid transaction.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/txfee/{txid}':
get:
tags:
- Blockchain
operationId: getTxFee
summary: Transaction Fee
description: |
The fee of a transaction, in satoshis, as plain text: what it spends minus
what it pays out.
parameters:
- $ref: '#/components/parameters/binfoTxId'
responses:
'200':
description: Fees paid by transaction.
content:
text/plain:
schema:
type: number
example: 5.73e-6
'404':
description: Invalid transaction.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/txresult/{txid}/{address}':
get:
tags:
- Blockchain
operationId: getTxResult
summary: Transaction Address Amount
description: |
How much a transaction changes the balance of an address, in satoshis, as
plain text: what it pays to the address minus what it spends from it.
parameters:
- $ref: '#/components/parameters/addressParam'
- $ref: '#/components/parameters/binfoTxId'
responses:
'200':
description: Value of transaction affecting address balance.
content:
text/plain:
schema:
type: number
example: 0
'404':
description: Invalid transaction or address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/getreceivedbyaddress/{address}':
get:
tags:
- Blockchain
operationId: getReceivedByAddress
summary: Total Received by Address
description: |
The total ever received by an address, in satoshis, as plain text.
parameters:
- $ref: '#/components/parameters/addressParam'
responses:
'200':
description: Value of total received by address
content:
text/plain:
schema:
type: number
example: 2275183814
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/getsentbyaddress/{address}':
get:
tags:
- Blockchain
operationId: getSentByAddress
summary: Total Sent by Address
description: |
The total ever sent from an address, in satoshis, as plain text.
parameters:
- $ref: '#/components/parameters/addressParam'
responses:
'200':
description: Value of total sent by address
content:
text/plain:
schema:
type: number
example: 2275183814
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/addressbalance/{address}':
get:
tags:
- Blockchain
operationId: getAddressBalance
summary: Balance for Address
description: |
The balance of an address, confirmed and unconfirmed, in satoshis, as plain
text.
parameters:
- $ref: '#/components/parameters/addressParam'
responses:
'200':
description: Total unspent balance for address.
content:
text/plain:
schema:
type: number
example: 0
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/blockchain/q/addressfirstseen/{address}':
get:
tags:
- Blockchain
operationId: getAddressFirstSeen
summary: Address First Seen
description: |
The time of the first block with a transaction of an address, as a Unix
timestamp in plain text, or `0` if it has none.
parameters:
- $ref: '#/components/parameters/addressParam'
responses:
'200':
description: Time when address was first seen.
content:
text/plain:
schema:
type: number
example: 1621533785
'404':
description: Invalid address.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/dbstats':
get:
tags:
- Network
summary: Database Statistics
operationId: getDbStats
description: |
How the database of this server uses memory, by column family, and the
statistics that RocksDB keeps, as plain text for the operator to read. The
format is that of RocksDB and may change between versions, so do not parse
it.
responses:
'200':
description: Memory use and statistics of RocksDB.
content:
text/plain:
schema:
type: string
components:
schemas:
BlockRef:
description: |
Where a transaction or output is: in a block, with its height and position,
or in the mempool, with the time this server first saw it. A transaction
moves from one form to the other when it is confirmed, or back after a
reorganisation.
oneOf:
- $ref: '#/components/schemas/Block'
- $ref: '#/components/schemas/Mempool'
Block:
type: object
description: |
A place in a block.
required:
- height
- position
properties:
height:
type: integer
description: |
Height of the block.
position:
type: integer
description: |
Position of the transaction in the block, from 0.
Mempool:
type: object
description: |
A place in the mempool.
required:
- mempool
properties:
mempool:
type: integer
description: |
Unix time when this server first saw the transaction. Other servers may
have seen it at another time; it orders the unconfirmed transactions.
format: int64
XPubBalance:
type: object
description: |
The balance of one address of a wallet, with its derivation path below the
extended public key.
required:
- path
- balance
properties:
path:
$ref: '#/components/schemas/XPubPath'
balance:
$ref: '#/components/schemas/Balance'
XPubPath:
type: array
description: |
Derivation path of an address below the extended public key: the chain
(`0` receiving, `1` change) and the index of the address in it, so `[1, 4]`
is the fifth change address.
items:
type: integer
XPubUnspent:
type: object
description: |
An unspent output of a wallet, with the derivation path of its address, so
the wallet knows which key signs for it.
required:
- path
- unspent
properties:
path:
$ref: '#/components/schemas/XPubPath'
unspent:
$ref: '#/components/schemas/Unspent'
XPubSummary:
type: object
description: |
The balance of a wallet and how far it has used its addresses.
required:
- balance
- indices
properties:
balance:
type: object
description: |
Totals over every address of the wallet, in satoshis: `confirmed`,
`unconfirmed` and `received` as in an address balance, and `utxo`, the
number of unspent outputs.
required:
- confirmed
- unconfirmed
- received
- utxo
properties:
confirmed:
description: Confirmed balance for all addresses.
type: integer
unconfirmed:
description: Unconfirmed balance for all addresses.
type: integer
received:
description: Total received on all external addresses.
type: integer
utxo:
description: Unspent transaction output count.
type: integer
indices:
type: object
description: |
Index of the last used address of the receiving chain (`external`) and of
the change chain (`change`). The next unused address is one past it.
required:
- external
- change
properties:
external:
type: integer
change:
type: integer
TxRef:
type: object
description: |
A transaction id and where the transaction is. Lists of transactions return
these rather than full transactions, which are much larger; fetch the ones
you need.
required:
- block
- txid
properties:
block:
$ref: '#/components/schemas/BlockRef'
txid:
type: string
description: |
Transaction id.
Balance:
type: object
description: |
The balance of an address. `confirmed` plus `unconfirmed` is what the address
holds now, counting unconfirmed transactions; `confirmed` alone is what it
holds in coins that are in blocks and are not being spent.
required:
- address
- confirmed
- unconfirmed
- utxo
- received
- txs
properties:
address:
type: string
description: |
The address.
confirmed:
type: integer
description: |
Sum of the unspent outputs of the address that are confirmed, in satoshis.
An output spent by an unconfirmed transaction no longer counts.
format: int64
unconfirmed:
type: integer
description: |
Sum of the unspent outputs of the address that are not confirmed yet, in
satoshis.
format: int64
utxo:
type: integer
description: |
Number of unspent outputs.
format: int64
received:
type: integer
description: |
Total ever paid to the address, spent or not, confirmed or not, in
satoshis.
format: int64
txs:
type: integer
description: |
Number of transactions that pay to or spend from the address.
format: int64
Unspent:
type: object
description: |
An output that is not spent yet: a coin that can be spent.
required:
- address
- block
- txid
- index
- pkscript
- value
properties:
address:
type: string
description: |
Address of the output. Null for scripts that have no address, such as
data outputs or bare multisig.
nullable: true
block:
$ref: '#/components/schemas/BlockRef'
txid:
type: string
description: |
Id of the transaction that created the output.
index:
type: integer
description: |
Position of the output in that transaction, from 0.
pkscript:
type: string
description: |
Output script in hexadecimal, needed to sign a spend.
value:
type: integer
description: |
Value in satoshis.
format: int64
BlockData:
type: object
description: |
A block, with its header and what the server computed from it.
required:
- hash
- height
- mainchain
- previous
- time
- version
- bits
- nonce
- size
- tx
- merkle
- subsidy
- fees
- outputs
- work
properties:
hash:
type: string
description: |
Block hash.
size:
type: integer
description: |
Size of the serialized block, in bytes, witness data included.
height:
type: integer
description: |
Height in its chain.
mainchain:
type: boolean
description: |
Whether the block is in the chain with the most work. Blocks of chains
abandoned in a reorganisation are kept, with `false`.
previous:
type: string
description: |
Hash of the previous block.
time:
type: integer
description: |
Timestamp set by the miner, as a Unix time. Only roughly right.
format: int64
version:
type: integer
description: |
Block version.
format: int64
bits:
type: integer
description: |
Proof-of-work target, in compact form.
format: int64
nonce:
type: integer
description: |
Nonce found by the miner.
format: int64
tx:
type: array
description: |
Ids of the transactions, in order; the first is the coinbase.
items:
type: string
merkle:
type: string
description: |
Merkle root of the transactions.
subsidy:
type: integer
description: |
New coins created by the block, in satoshis.
format: int64
fees:
type: integer
description: |
Sum of the fees of its transactions, in satoshis.
format: int64
outputs:
type: integer
description: |
Sum of the outputs of its transactions, in satoshis.
format: int64
weight:
type: integer
description: |
Block weight, on networks with SegWit only.
work:
type: integer
description: |
Proof of work accumulated by the chain up to this block.
Input:
type: object
description: |
An input of a transaction, with the address and value of the output it
spends, which the raw transaction does not contain and which the server
looks up.
required:
- coinbase
- txid
- output
- sigscript
- sequence
- pkscript
- witness
- value
- address
properties:
coinbase:
type: boolean
description: |
Whether this is the input of a coinbase, which spends nothing.
txid:
type: string
description: |
Id of the transaction whose output is spent.
output:
type: integer
description: |
Position of that output in its transaction.
sigscript:
type: string
description: |
Input script in hexadecimal.
value:
type: integer
description: |
Value of the output spent, in satoshis.
format: int64
nullable: true
sequence:
type: integer
description: |
Sequence number.
format: int64
address:
type: string
description: |
Address of the output spent; null if it has none.
nullable: true
pkscript:
type: string
description: |
Script of the output spent, in hexadecimal.
nullable: true
witness:
type: array
description: |
Witness stack, each item in hexadecimal; empty without SegWit.
items:
type: string
Spender:
type: object
description: |
The input that spends an output.
required:
- txid
- input
properties:
txid:
type: string
description: |
Id of the spending transaction.
input:
type: integer
description: |
Position of the input in that transaction.
Output:
type: object
description: |
An output of a transaction, with whether and by what it is spent.
required:
- address
- pkscript
- value
- spent
properties:
address:
type: string
description: |
Address of the output; null for scripts without one.
nullable: true
pkscript:
type: string
description: |
Output script in hexadecimal.
value:
type: integer
description: |
Value in satoshis.
format: int64
spent:
type: boolean
description: |
Whether a transaction spends it, confirmed or not.
spender:
description: |
The input that spends it, if any.
allOf:
- $ref: '#/components/schemas/Spender'
Transaction:
type: object
description: |
A transaction with what the server knows about it beyond its raw form: its
place in the chain, its fee, and, for each input and output, the address and
value involved.
required:
- txid
- size
- version
- locktime
- fee
- inputs
- outputs
- block
- deleted
- time
- rbf
- weight
properties:
txid:
type: string
description: |
Transaction id.
size:
type: integer
description: |
Size of the serialized transaction, in bytes, witness data included.
version:
type: integer
description: |
Transaction version.
format: int64
locktime:
type: integer
description: |
Lock time.
format: int64
fee:
type: integer
description: |
Fee in satoshis: inputs minus outputs; 0 for a coinbase.
format: int64
inputs:
type: array
items:
$ref: '#/components/schemas/Input'
outputs:
type: array
items:
$ref: '#/components/schemas/Output'
block:
$ref: '#/components/schemas/BlockRef'
deleted:
type: boolean
description: |
Always false. The server no longer returns transactions that were
removed: replaced by fee, double-spent by a confirmed transaction, or
the coinbase of a block that left the main chain. The field is kept so
that clients that read it go on working.
time:
type: integer
description: |
Timestamp of its block, or, if unconfirmed, the Unix time this server first
saw it; in a fleet, the time at which the first server of the fleet did. A
confirmed transaction has the time of its block on every server, whether
the server saw it before the block or not: until database version 22 a
server that had seen it unconfirmed went on giving the time of that. A
transaction that goes back to the mempool because its block left the main
chain keeps the time of that block.
format: int64
rbf:
type: boolean
description: |
Whether the transaction can still be replaced by one paying a higher fee:
it signals replace-by-fee (BIP 125), or spends an unconfirmed transaction
that does. Only meaningful while unconfirmed, and on BTC.
weight:
type: integer
description: |
Transaction weight, as SegWit counts it.
Event:
type: object
description: |
Something that happened, as `/events` sends it.
required:
- type
- id
properties:
type:
type: string
description: |
`block` for a new best block, `tx` for a mempool change.
enum:
- tx
- block
id:
type: string
description: |
Hash of the block or id of the transaction.
Peer:
type: object
description: |
A node of the peer-to-peer network that the server is connected to.
required:
- useragent
- address
- version
- services
- relay
properties:
useragent:
type: string
description: |
Software of the peer, as it announces itself.
address:
type: string
description: |
Network address of the peer.
version:
type: integer
description: |
Protocol version from the version message of the peer.
format: int32
services:
type: string
description: |
Services the peer offers, as a bit field in hexadecimal.
relay:
type: boolean
description: |
Whether the peer relays transactions.
BlockHealth:
type: object
description: |
Whether the blocks are caught up with the headers.
required:
- headers
- blocks
- diff
- max
- ok
properties:
headers:
type: integer
description: |
Height of the newest header.
blocks:
type: integer
description: |
Height of the newest imported block.
diff:
type: integer
description: |
Headers minus blocks.
max:
type: integer
description: |
Most blocks the server may be behind and still be healthy.
ok:
type: boolean
description: |
Whether `diff` is at most `max`.
TimeHealth:
type: object
description: |
Whether something happened recently enough.
required:
- age
- max
- ok
properties:
age:
type: integer
description: |
Seconds since it happened.
max:
type: integer
description: |
Most seconds allowed.
ok:
type: boolean
description: |
Whether `age` is at most `max`.
CountHealth:
type: object
description: |
Whether there are enough of something.
required:
- count
- min
- ok
properties:
count:
type: integer
description: |
How many there are.
min:
type: integer
description: |
How many are needed.
ok:
type: boolean
description: |
Whether `count` is at least `min`.
MaxHealth:
type: object
description: |
Whether there are not too many of something.
required:
- count
- max
- ok
properties:
count:
type: integer
description: |
How many there are.
max:
type: integer
description: |
Most allowed.
ok:
type: boolean
description: |
Whether `count` is at most `max`.
HealthCheck:
type: object
description: |
The result of the latest health check. `ok` is true when every check passes.
The limits are set by the operator of the server.
required:
- blocks
- last-block
- last-tx
- pending-txs
- peers
- net
- version
- ok
properties:
blocks:
description: |
Whether the imported blocks have caught up with the headers.
allOf:
- $ref: '#/components/schemas/BlockHealth'
last-block:
description: |
Age of the newest header. A network that has found no block for hours
usually means the server lost touch with it.
allOf:
- $ref: '#/components/schemas/TimeHealth'
last-tx:
description: |
Age of the newest unconfirmed transaction (or block, if newer). A busy
network sends transactions all the time, so silence means trouble.
allOf:
- $ref: '#/components/schemas/TimeHealth'
pending-txs:
description: |
Transactions received but not imported yet.
allOf:
- $ref: '#/components/schemas/MaxHealth'
peers:
description: |
Connected peers.
allOf:
- $ref: '#/components/schemas/CountHealth'
redis:
type: object
description: |
Whether the Redis cache answers. Only for a server that has one. It does
not count towards `ok`: a server without its Redis still answers every
request, from its own database, and `/health` gives 203.
required:
- ok
properties:
ok:
type: boolean
net:
type: string
description: |
Network of the server.
version:
type: string
description: |
Version of Haskoin Store.
ok:
type: boolean
description: |
Whether every check passed.
time:
type: string
description: |
When the check ran.
Error:
type: object
description: |
An error. `error` is a stable code for programs to test; `message` is for
people and may change. See *Errors* at the top.
required:
- error
properties:
error:
type: string
description: |
Error code, such as `not-found-or-invalid-arg` or `user-error`.
example: not-found-or-invalid-arg
message:
type: string
description: |
What went wrong, for people.
example: Item not found or argument invalid
TxId:
type: object
description: |
The id of a transaction.
required:
- txid
properties:
txid:
type: string
description: |
Transaction id.
BinfoTxIdHash:
type: string
BinfoTxIdIndex:
type: integer
BinfoTxId:
description: |
A transaction id in hexadecimal, or its short number (see the `txidindex`
parameter).
oneOf:
- $ref: '#/components/schemas/BinfoTxIdHash'
- $ref: '#/components/schemas/BinfoTxIdIndex'
example: 2d05f0c9c3e1c226e63b5fac240137687544cf631cd616fd34fd188fc9020866
BinfoWallet:
type: object
required:
- final_balance
- n_tx
- n_tx_filtered
- total_received
- total_sent
properties:
final_balance:
type: integer
n_tx:
type: integer
description: |
Number of transactions of the addresses and extended public keys
shown (`onlyShow`, or all the active ones), each counted once, not
only those on this page.
n_tx_filtered:
type: integer
description: |
Number of those transactions that pass the `filter`, not only
those on this page.
total_received:
type: integer
total_sent:
type: integer
BinfoSymbol:
type: object
required:
- code
- symbol
- name
- conversion
- symbolAppearsAfter
- local
properties:
code:
type: string
symbol:
type: string
name:
type: string
conversion:
type: number
format: double
symbolAppearsAfter:
type: boolean
local:
type: boolean
BinfoBlockInfo:
type: object
required:
- hash
- height
- time
- block_index
properties:
hash:
type: string
height:
type: integer
time:
type: integer
block_index:
type: integer
BinfoInfo:
type: object
required:
- nconnected
- conversion
- symbol_local
- symbol_btc
- latest_block
properties:
nconnected:
type: integer
conversion:
type: number
format: double
symbol_local:
$ref: '#/components/schemas/BinfoSymbol'
symbol_btc:
$ref: '#/components/schemas/BinfoSymbol'
latest_block:
$ref: '#/components/schemas/BinfoBlockInfo'
BinfoXPubBalance:
type: object
required:
- address
- final_balance
- n_tx
- total_received
- total_sent
- account_index
- change_index
properties:
address:
type: string
final_balance:
type: integer
format: int64
n_tx:
type: integer
total_received:
type: integer
format: int64
total_sent:
type: integer
format: int64
account_index:
type: integer
change_index:
type: integer
BinfoAddrBalance:
type: object
required:
- address
- final_balance
- n_tx
- total_received
- total_sent
properties:
address:
type: string
final_balance:
type: integer
format: int64
n_tx:
type: integer
total_received:
type: integer
format: int64
total_sent:
type: integer
format: int64
BinfoRawAddr:
type: object
required:
- hash160
- address
- n_tx
- n_unredeemed
- total_received
- total_sent
- final_balance
- txs
properties:
hash160:
type: string
address:
type: string
n_tx:
type: integer
description: |
Number of transactions of the address or extended public key, not
only those on this page.
n_unredeemed:
type: integer
total_received:
type: integer
format: int64
total_sent:
type: integer
format: int64
final_balance:
type: integer
format: int64
txs:
type: array
items:
$ref: '#/components/schemas/BinfoTx'
BinfoBalance:
oneOf:
- $ref: '#/components/schemas/BinfoXPubBalance'
- $ref: '#/components/schemas/BinfoAddrBalance'
BinfoShortBalance:
type: object
required:
- final_balance
- n_tx
- total_received
properties:
final_balance:
type: integer
format: int64
n_tx:
type: integer
total_received:
type: integer
format: int64
BinfoMultiAddr:
type: object
required:
- wallet
- info
- addresses
- recommend_include_fee
properties:
wallet:
$ref: '#/components/schemas/BinfoWallet'
info:
$ref: '#/components/schemas/BinfoInfo'
addresses:
type: array
items:
$ref: '#/components/schemas/BinfoBalance'
txs:
type: array
items:
$ref: '#/components/schemas/BinfoTx'
recommend_include_fee:
type: boolean
cash_addr:
type: boolean
BinfoTxInput:
type: object
required:
- index
- script
- prev_out
- sequence
- witness
properties:
index:
type: integer
script:
type: string
prev_out:
$ref: '#/components/schemas/BinfoTxOutput'
sequence:
type: integer
witness:
type: string
BinfoXPubPath:
type: object
required:
- 'm'
- path
properties:
m:
type: string
path:
type: string
BinfoSpender:
type: object
required:
- tx_index
- 'n'
properties:
tx_index:
$ref: '#/components/schemas/BinfoTxId'
n:
type: integer
BinfoTxOutput:
type: object
required:
- tx_index
- 'n'
- type
- spent
- value
- spending_outpoints
- script
properties:
type:
type: integer
spent:
type: boolean
value:
type: integer
format: int64
spending_outpoints:
$ref: '#/components/schemas/BinfoSpender'
n:
type: integer
tx_index:
$ref: '#/components/schemas/BinfoTxId'
script:
type: string
addr:
type: string
xpub:
$ref: '#/components/schemas/BinfoXPubPath'
BinfoHeader:
type: object
required:
- hash
- time
- block_index
- height
- txIndexes
properties:
hash:
type: string
time:
type: integer
block_index:
type: integer
height:
type: integer
txIndexes:
type: array
items:
$ref: '#/components/schemas/BinfoTxId'
BinfoBlock:
type: object
required:
- hash
- ver
- prev_block
- mrkl_root
- time
- bits
- next_block
- fee
- nonce
- n_tx
- size
- block_index
- main_chain
- height
- weight
- tx
properties:
hash:
type: string
ver:
type: integer
prev_block:
type: string
mrkl_root:
type: string
time:
type: integer
bits:
type: integer
next_block:
type: array
items:
type: string
fee:
type: integer
format: int64
nonce:
type: integer
n_tx:
type: integer
size:
type: integer
block_index:
type: integer
main_chain:
type: boolean
height:
type: integer
weight:
type: integer
tx:
type: array
items:
$ref: '#/components/schemas/BinfoTx'
BinfoHistory:
type: object
required:
- date
- time
- type
- amount
- value_then
- value_now
- exchange_rate_then
- tx
- fee
properties:
date:
type: string
time:
type: string
type:
type: string
enum:
- sent
- received
amount:
type: number
value_then:
type: number
value_now:
type: number
exchange_rate_then:
type: number
tx:
type: string
fee:
type: number
BinfoTx:
type: object
required:
- hash
- ver
- vin_sz
- vout_sz
- size
- weight
- fee
- relayed_by
- lock_time
- tx_index
- double_spend
- time
- block_index
- block_height
- inputs
- out
properties:
hash:
type: string
ver:
type: integer
vin_sz:
type: integer
vout_sz:
type: integer
size:
type: integer
weight:
type: integer
fee:
type: integer
format: int64
relayed_by:
type: string
lock_time:
type: integer
tx_index:
$ref: '#/components/schemas/BinfoTxId'
double_spend:
type: boolean
time:
type: integer
block_index:
type: integer
block_height:
type: integer
inputs:
type: array
items:
$ref: '#/components/schemas/BinfoTxInput'
out:
type: array
items:
$ref: '#/components/schemas/BinfoTxOutput'
result:
type: integer
format: int64
balance:
type: integer
format: int64
rbf:
type: boolean
BinfoUnspent:
type: object
required:
- tx_hash_big_endian
- tx_hash
- tx_output_n
- script
- value
- value_hex
- confirmations
- tx_index
properties:
tx_hash_big_endian:
type: string
tx_hash:
type: string
tx_output_n:
type: integer
script:
type: string
value:
type: integer
format: int64
value_hex:
type: string
confirmations:
type: integer
tx_index:
$ref: '#/components/schemas/BinfoTxId'
BinfoBalanceReq:
type: object
properties:
active:
type: array
items:
type: string
example: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
activeP2SH:
type: array
items:
type: string
activeBech32:
type: array
items:
type: string
cashaddr:
type: boolean
example: true
BinfoHistoryReq:
type: object
properties:
active:
type: array
items:
type: string
example: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
activeP2SH:
type: array
items:
type: string
activeBech32:
type: array
items:
type: string
currency:
type: string
example: eur
start:
type: string
example: 20-10-2020
end:
type: string
example: 09-04-2021
BinfoMultiAddrReq:
type: object
properties:
active:
type: array
items:
type: string
example: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
activeP2SH:
type: array
items:
type: string
activeBech32:
type: array
items:
type: string
onlyShow:
type: array
items:
type: string
n:
type: integer
example: 2
offset:
type: integer
example: 5
noCompact:
type: boolean
example: false
currency:
type: string
example: eur
cashaddr:
type: boolean
example: true
txidindex:
type: boolean
example: true
filter:
type: integer
enum: [0,1,2,3,5,7]
example: 5
BinfoUnspentReq:
type: object
properties:
active:
type: array
items:
type: string
example: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
activeP2SH:
type: array
items:
type: string
activeBech32:
type: array
items:
type: string
limit:
type: integer
example: 2
confirmations:
type: integer
example: 6
txidindex:
type: boolean
example: true
parameters:
pubKeyParam:
name: pubkey
in: path
description: |
A public key in hexadecimal, compressed or not.
required: true
schema:
type: string
example: 027eb504988cbc043dd4c9fac51685d68718a24d7f9f1d4c07b9f8c3d04327794c
addressParam:
name: address
in: path
description: |
An address of the network of the server. An address that does not parse,
or is of another network, gives 404.
required: true
schema:
type: string
example: qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
hashParam:
name: hash
in: path
description: |
A hash160 (20 bytes) in hexadecimal.
required: true
schema:
type: string
example: 37d070b3c6716a6174080722579fbdddad39bfb3
addressesParam:
name: addresses
in: query
description: |
Addresses, separated by commas. Every address must be valid: one that is not
fails the whole request with 400, rather than giving an answer that silently
leaves it out.
explode: false
required: true
schema:
type: array
items:
type: string
example:
- qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
- qql2wpu4fa36yf07gcc8q80sjfxfaq66xssezyukg2
limitParam:
name: limit
in: query
description: |
How many items to return at most. Without it, the server's default (100
unless the operator changed it). `0` asks for the server's maximum. A
larger number is lowered to the maximum rather than refused. See *Paging* at
the top.
required: false
schema:
type: integer
heightParam:
name: height
in: query
description: |
Where the page starts: a transaction id (included), a block hash, a block
height (transactions confirmed at or below it), or a Unix time (the last
block at or before it). Numbers up to 1,230,768,000 are heights, larger ones
times. Unconfirmed transactions come first in every list, and a page that
starts at a height, a block or a time has none of them, even when the height
is above the best block.
To get the next page, pass the id of the last transaction you received here,
with `offset=1`. See *Paging* at the top for why this is better than a large
offset.
required: false
schema:
oneOf:
- type: integer
- type: string
offsetParam:
name: offset
in: query
description: |
How many items to skip after the start. Above the server's maximum (50,000
unless the operator changed it), the request fails with 400; use `height` to
go further back.
required: false
schema:
type: integer
nocacheParam:
name: nocache
in: query
description: |
Answer from the database of this server, without reading the Redis cache and
without caching the wallet. The answer is the same; this is for comparing,
and for servers whose cache is shared with others that may be ahead of or
behind this one. A server of a fleet still answers from the block and the
mempool that the fleet shares, only without its cache of wallets.
required: false
schema:
type: boolean
notxParam:
name: notx
in: query
description: |
Leave out the transaction ids, except the first (the coinbase). A block can
have thousands of transactions, and pages that list blocks rarely need them.
required: false
schema:
type: boolean
blockParam:
name: block
in: path
description: |
A block hash in hexadecimal.
required: true
schema:
type: string
example: 000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506
blocksParam:
name: blocks
in: query
description: |
Block hashes in hexadecimal, separated by commas.
explode: false
required: true
schema:
type: array
items:
type: string
example:
- 000000001aeae195809d120b5d66a39c83eb48792e068f8ea1fea19d84a4278a
- 000000000845517b31c6820d83f25cff46429bf136a7515fe504116427e60f8e
blockHeightParam:
name: height
in: path
description: |
A block height. The first block is at height 0.
required: true
schema:
type: integer
example: 200
blockHeightsParam:
name: heights
in: query
description: |
Block heights, separated by commas.
explode: false
required: true
schema:
type: array
items:
type: integer
example:
- 100
- 200
- 300
txidParam:
name: txid
in: path
description: |
A transaction id in hexadecimal.
required: true
schema:
type: string
example: 03c16602a41ae7cbc2a25b0d2801fdc3295e2e8ebfb26774030b2f7d538f5568
timeParam:
name: time
in: path
description: |
A Unix timestamp, in seconds.
required: true
schema:
type: integer
example: 1231753120
txidsParam:
name: txids
in: query
description: |
Transaction ids in hexadecimal, separated by commas.
explode: false
required: true
schema:
type: array
items:
type: string
example:
- 03c16602a41ae7cbc2a25b0d2801fdc3295e2e8ebfb26774030b2f7d538f5568
- 02ea64dfff60b1f215282bbb4b2d729fecc50d81d2d0ef09a60d550a5a69418f
xpubParam:
name: xpub
in: path
description: |
An extended public key of the network of the server: `xpub` on BTC and BCH,
`tpub` on test networks. Keys that wallets export as `ypub` or `zpub` are
not accepted; export them as `xpub` and say the kind of address with
`derive`.
required: true
schema:
type: string
example: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
xpubDerive:
name: derive
in: query
description: |
The kind of address the wallet derives from the key:
- `legacy`: pay-to-public-key-hash (P2PKH), addresses starting with `1`
on BTC; the default, and the only kind on networks without SegWit, such as
BCH. `normal`, its name up to version 1.8, is still accepted, so old
URLs keep working;
- `compat`: SegWit nested in pay-to-script-hash (P2SH-P2WPKH), addresses
starting with `3`, as BIP 49 wallets use;
- `segwit`: native SegWit (P2WPKH), addresses starting with `bc1q`, as BIP
84 wallets use.
An xpub does not record which kind its wallet uses, and each kind gives
different addresses from the same key. When the wallet has no
transactions with this kind but has some with another, the request
fails with 400 and a message that names the right kind, rather than
answering with an empty wallet.
required: false
schema:
type: string
enum: [legacy, compat, segwit, normal]
default: legacy
prettyParam:
name: pretty
in: query
description: |
Indent the JSON, for people to read. Responses are compact by default to
save bandwidth.
required: false
schema:
type: boolean
binfoAddr:
name: address
in: path
description: |
An address or an extended public key.
required: true
schema:
type: string
example: qqmaqu9nceck5ct5pqrjy4ulhhw66wdlkv2s7f2l9u
binfoActive:
name: active
in: query
description: |
Addresses and extended public keys of the wallet, separated by `|` or `,`.
Extended public keys here derive legacy (P2PKH) addresses.
required: false
schema:
type: string
example: "xpub6By8JDaPr5L6oHfgQDc47quD69qH1hTwnFYbuia8paiYxSE9u84K\
ZfYqn6xLMUqxKK3wNpsgP4Kwu1gzXHD5xBxj5HrLposEYL6PwZzpAMZ"
binfoActiveP2SH:
name: activeP2SH
in: query
description: |
Extended public keys that derive SegWit addresses nested in
pay-to-script-hash (P2SH-P2WPKH), separated by `|` or `,`.
required: false
schema:
type: string
binfoActiveBech32:
name: activeBech32
in: query
description: |
Extended public keys that derive native SegWit (P2WPKH) addresses, separated
by `|` or `,`.
required: false
schema:
type: string
binfoOnlyShow:
name: onlyShow
in: query
description: |
The addresses and extended public keys, among the active ones, whose
balances to list and from whose point of view to compute the result of each
transaction, separated by `|` or `,`. All the active ones if left out.
required: false
schema:
type: string
binfoFilter:
name: filter
in: query
description: |
Which transactions to list (`0` or `6` for all of them):
- `1`: those that send coins out of the wallet;
- `2`: those that bring coins into the wallet;
- `3`: those that move coins within the wallet, changing its balance by
the fee only;
- `5`: confirmed ones;
- `7`: unconfirmed ones.
required: false
schema:
type: integer
enum: [0,1,2,3,5,7]
example: 5
binfoLimit:
name: limit
in: query
description: |
How many items to return at most. The default and maximum are those of the
server.
required: false
schema:
type: integer
example: 2
binfoCount:
name: n
in: query
description: |
How many transactions to return at most. The default and maximum are those
of the server for full transactions.
required: false
schema:
type: integer
example: 2
binfoOffset:
name: offset
in: query
description: |
How many items to skip at the start. Above the server's maximum, the request
fails with 400.
required: false
schema:
type: integer
binfoConfirmations:
name: confirmations
in: query
description: |
Only return outputs with at least this many confirmations. `0`, the default,
includes unconfirmed ones.
required: false
schema:
type: integer
binfoNoCompact:
name: noCompact
in: query
description: |
Keep the outputs of incoming transactions that pay to other addresses. They
are left out by default, as they belong to other people and can be many.
`no_compact` is accepted as another name for it; `noCompact` wins if both
are given.
required: false
schema:
type: boolean
example: false
binfoCurrency:
name: currency
in: query
description: |
The currency for the `info` section, such as `USD`, `EUR` or `GBP`, in any
case. `USD` by default. A currency that the price service does not list
is refused. Until the server has prices, which it does not if the price
service cannot be reached, every currency is accepted with a price of
zero.
required: false
schema:
type: string
example: eur
binfoCashAddr:
name: cashaddr
in: query
description: |
Write Bitcoin Cash addresses in CashAddr format. They are in the legacy
format by default, as Blockchain.info writes them, so that software written
for it reads them.
required: false
schema:
type: boolean
example: true
binfoTxIdIndex:
name: txidindex
in: query
description: |
Identify transactions by their id (`true`) rather than by a short number
(the default).
Blockchain.info identifies transactions by a number, and software written
for it expects one. The server derives it from the transaction id: the first
64 bits, shifted right by 11, so that it fits in the 53 bits that numbers in
JavaScript hold exactly. Two transactions can share a number, rarely; the
ids never collide, so use them when you can.
required: false
schema:
type: boolean
example: true
binfoBlockId:
name: block
in: path
description: |
A block hash in hexadecimal, or a block height.
required: true
schema:
oneOf:
- type: string
- type: integer
example: 50000
binfoTxId:
name: txid
in: path
description: |
A transaction id in hexadecimal, or the short number of a transaction (see
`txidindex`).
required: true
schema:
oneOf:
- type: string
- type: integer
example: 369c2a28fc84b060e4423e26ac898fa4ce9eda8943a36d0a48df66e6a6275aa6
binfoJsonFormat:
name: format
in: query
description: |
Only `json` is accepted. Software written for Blockchain.info often sends
`format=json`, so it is accepted; any other value is refused rather than
answered in JSON anyway.
required: false
schema:
type: string
enum: [json]
binfoFormat:
name: format
in: query
description: |
`json`, the default, or `hex` for the data serialized as in the peer-to-peer
protocol.
required: false
schema:
type: string
enum:
- json
- hex
binfoStart:
name: start
in: query
description: |
The first day of the history, as `dd-mm-yyyy` or `dd/mm/yyyy`.
required: true
schema:
type: string
example: 20-10-2020
binfoEnd:
name: end
in: query
description: |
The last day of the history, included, as `dd-mm-yyyy` or `dd/mm/yyyy`.
required: true
schema:
type: string
example: 09-04-2021