Blockchair.com API
- English: https://blockchair.com/api/docs (up to v.2.0.80)
tl;dr:
- If you use our API occasionally a key is not required
- Non-commercial and academic projects constantly using our API should apply for a free Public API key
- Commercial projects should apply for a key to Premium API
Since the introduction of our API more than two years ago it has been free to use in both non-commercial and commercial cases with a limit of 30 requests per minute. Obtaining an API key has been required only for those who were hitting this limit.
Beginning July 19th, 2019 we require all applications using our API to obtain an API key.
If you develop a non-commercial project (e.g. a website showing some stats) or conducting academic research, please apply for a free key to our Public API ([email protected]).
If you develop a commercial project (e.g. a web wallet showing ads), please apply for a key to our Premium API ([email protected]).
While we still allow making requests without a key, services which make too many resource-consuming requests may automatically be banned (the API will return HTTP Error 430 in this case).
The key is applied to the end of the request string like this: api.blockchair.com/bitcoin/blocks?key=MYSECRETKEY
. Please remember that your key is a secret -- don't disclose it to client-side applications as unauthorized users may start to use your key.
-
v.2.0.88 - August 23rd, 2021
- Added basic SLP support for Bitcoin Cash. New endpoints and options:
https://api.blockchair.com/bitcoin-cash/stats
now yields statistical data on SLP in thelayer_2.slp
array:tokens
is the total number of SLP tokens,transactions
- the total number of SLP transfers,tokens_24h
- new SLP tokens over the last 24 hours,transactions_24h
- token transfers over the last 24 hours- Find SLP transfers inside of a transaction:
https://api.blockchair.com/bitcoin-cash/dashboards/transaction/{:hash}?slp=true
. Example:https://api.blockchair.com/bitcoin-cash/dashboards/transaction/ca851afc516f6d1488924f4a064abdd8b82b45bc8a5890bee8aba58a1314f498?slp=true
(validSEND
transaction),https://api.blockchair.com/bitcoin-cash/dashboards/transaction/71b31ecaf916fe2da690a61c45978542a654185caba643c3eda2a87f38f88d31?slp=true
(invalidMINT
transaction`)
- Added basic SLP support for Bitcoin Cash. New endpoints and options:
-
v.2.0.87 - August 20th, 2021
- For all API requests, the
context
array now yieldsmarket_price_usd
value. It contains the current USD price of the blockchain's main token in request. E.g. allhttps://api.blockchair.com/zcash/...
requests show ZEC price incontext.market_price_usd
. For Ethereum, it's always the ETH price, even if some token data is requested. This change also deprecatescontext.price_usd
for EOS and Tezos in favour ofcontext.market_price_usd
. - New
number({:n})
function for aggregations that returns a number. It may be useful when you are too lazy to divide some values on your side, for example, when you're calculating the average interval between blocks in seconds:https://api.blockchair.com/bitcoin/blocks?a=date,f(number(86400)/count())
. Our API can now also serve as your calculator for any needs:https://api.blockchair.com/bitcoin/blocks?a=f(number(2)*number(2))&limit=1
returns4
. - Tweaked
suggested_transaction_fee_per_byte_sat
for Dogecoin (inhttps://api.blockchair.com/dogecoin/stats
) to honour the minimum fee of 1 DOGE per transaction - The following Ethereum endpoints are now also available for Ethereum Goerli Testnet:
https://api.blockchair.com/ethereum/testnet/raw/block/{:id|hash}
https://api.blockchair.com/ethereum/testnet/raw/transaction/{:hash}
https://api.blockchair.com/ethereum/testnet/push/transaction
https://api.blockchair.com/ethereum/testnet/addresses
https://api.blockchair.com/ethereum/testnet/state/changes/block/{:id}
- For all API requests, the
-
v.2.0.86 - August 19th, 2021
- Error code
435
is now returned if you're using an API key and going over the maximum requests in parallel limit. By default, the limit isdaily_request_limit / 10000
request points. Also, by default, it is not enforced: it only comes into effect if our security system notices that your requests significantly overload our servers on a constant basis. This limit supersedes the 5 requests per second limit for premium API plans (which was also not enforced automatically). Example: if you're on a 5000 requests per day plan and do some daily calculations like fetching xpub balances right after the midnight, please try doing this in 2-3 app instances in parallel instead of spawning 1000 instances trying to complete the process in 10 seconds.
- Error code
-
v.2.0.85 - August 18th, 2021
- New hashrate dashboard for all Bitcoin-like and Ethereum-like chains:
https://api.blockchair.com/{:chain}/dashboards/hashrate
that outputs the estimated hashrate by day. Example:https://api.blockchair.com/bitcoin/dashboards/hashrate
. - New difficulty dashboard for Bitcoin:
https://api.blockchair.com/bitcoin/dashboards/difficulty
. It outputs:- All completed difficulty "periods" (2016 blocks each).
status
iscompleted
,hashrate
is the estimated average hashrate within the period,avg_block_time
is the average time between blocks in seconds - The current difficulty period.
status
isongoing
- The next difficulty period.
status
isplanned
,start_time
is the estimated time when the period will start based on the current hashrate and the number of blocks left in the current period,difficulty
is the estimated difficulty for the next period,hashrate
is the same as for the current period,avg_block_time
is always600
(10 minutes) as it's the target time between blocks
- All completed difficulty "periods" (2016 blocks each).
- New hashrate dashboard for all Bitcoin-like and Ethereum-like chains:
-
v.2.0.84 - August 9th, 2021
- Enhancements to the Ethereum transaction dashboard (
https://api.blockchair.com/{:eth_chain}/dashboards/transaction/{:hash}
) for unconfirmed transactions. Please note that these values are not final and may change as transactions get confirmed: tracing unconfirmed transactions doesn't take possible changes to the state into account.- If the
?events=true
option is used, API returns values forgas_used
,fee
,fee_usd
instead ofnull
s - If the
?trace_mempool=true
option is used, API returns values forinternal_value
andinternal_value_usd
instead ofnull
s - API still always returns
null
forfailed
- If the
- There's a new option for the Ethereum address dashboard (
https://api.blockchair.com/{:eth_chain}/dashboards/address/{:address}
):?transactions_instead_of_calls=true
. If applied, it returns the list of latest transaction hashes in thetransactions
array instead of returning thecalls
array. An important difference is that ERC-20 transfers that weren't previously included in thecalls
array will be amongtransactions
. This option also affectstransaction_count
behaviour: if enabled, it returns the transaction count for an address which takes ERC-20 transfers into account. Using this option costs2
. The option has no effect on contracts (i.e. for contracts thecalls
array will be returned even if the option is enabled). - The Ethereum stats dashboard (
https://api.blockchair.com/{:eth_chain}/stats
) now also outputsaddresses
yielding the total number of addresses (including both accounts and contracts) ever seen on chain.
- Enhancements to the Ethereum transaction dashboard (
-
v.2.0.83 - August 6th, 2021
- Added support for the Ethereum London hard fork. New table fields (for Ethereum and Ethereum Goerli Testnet):
- Blocks:
base_fee_per_gas
(queryable, sortable, aggregatable). Average base fee per day example:https://api.blockchair.com/ethereum/blocks?a=date,avg(base_fee_per_gas)&q=id(12965000..)
burned_total
(queryable, sortable, aggregatable). Examples:- Total ETH burned:
https://api.blockchair.com/ethereum/blocks?a=date,sum(burned_total)&q=id(12965000..)
- Burned to minted ratio by day:
https://api.blockchair.com/ethereum/blocks?a=date,f(sum(burned_total)/sum(generation))&q=id(12965000..)
- Total ETH burned:
- Uncles:
base_fee_per_gas
(queryable, sortable, aggregatable)
- Transactions:
effective_gas_price
(queryable, sortable, aggregatable)max_fee_per_gas
(null
for legacy transactions; queryable, sortable, aggregatable)max_priority_fee_per_gas
(null
for legacy transactions; queryable, sortable, aggregatable)base_fee_per_gas
(base fee of the block; queryable, sortable, aggregatable)burned
(calculated asgas_used * base_fee_per_gas
; queryable, sortable, aggregatable)
- Blocks:
- Added
burned
andburned_24h
to thehttps://api.blockchair.com/{:eth_chain}/stats
dashboard - Added
version
field (queryable, aggregatable) to Ethereum transactions.0
represents legacy transactions,1
is for EIP-2718 transactions,2
is for London transactions. In Ethereum terminology this is "type" instead of "version", but as we're already using "type" for another column, we decided to go with "version". Example:https://api.blockchair.com/ethereum/transactions?a=version,count()&q=block_id(12965000..)
. Please note that for all transactions before block #12965000 it always returns0
, even for EIP-2718 transactions: this will be fixed in one of the next updates. - Added support for the Ethereum Berlin hard fork. Transactions now have an additional field called
type_2718
(queryable) that represents transaction type as outlined in EIP-2718
- Added support for the Ethereum London hard fork. New table fields (for Ethereum and Ethereum Goerli Testnet):
-
v.2.0.82 - July 30th, 2021
- Now it's possible to broadcast Cardano transactions using the
https://api.blockchair.com/cardano/push/transaction
endpoint - Despite the request cost formulas for infinitables have been set in the documentation since July 19th, 2020, they haven't been effective, and every request to inifintables always cost 1 point. Now the formulas are respected.
- Fixed a bug with the
https://api.blockchair.com/{:btc_chain}/addresses
infinitable where some balances weren't returned correctly - Fixed a bug with the
https://api.blockchair.com/{:btc_chain}/addresses/balances?addresses={:list}
endpoint where some balances weren't calculated correctly - Fixed some bugs with eCash
- Now it's possible to broadcast Cardano transactions using the
-
v.2.0.81 - July 12th, 2021
- Infinitable enhancements:
- Intervals are now available for querying time columns. Example usage:
https://api.blockchair.com/bitcoin/blocks?q=time(~P1D)&a=count()
counts the number of blocks over the last 24 hours,https://api.blockchair.com/ethereum/mempool/transactions?q=time(~PT30S)
lists transactions that were included to the Ethereum mempool for the last 30 seconds. Previously users were required to set the interval manually (e.g.?q=time(2021-07-11 07:58:58..2021-07-12 07:58:58)
). The format is an ISO 8601 Duration. - New aggregation functions to calculate running totals:
runningcount()
,runningsum({:column})
,runningavg({:column})
,runningmedian({:column})
,runningmin({:column})
,runningmax({:column})
. Example usage:https://api.blockchair.com/bitcoin/blocks?a=month,sum(size),runningsum(size)
calculates the blockchain size,https://api.blockchair.com/bitcoin/blocks?a=date,avg(size),runningavg(size)
calculates the running average for block size,https://api.blockchair.com/bitcoin/blocks?a=year,count(),runningcount()
calculates the number of blocks by the end of each year since 2009.
- Intervals are now available for querying time columns. Example usage:
- Infinitable enhancements:
-
v.2.0.80 - July 8th, 2021
- Database dumps now feature Ethereum addresses, ERC-20 tokens, ERC-20 transfers, Zcash blocks, Zcash transactions, Zcash outputs, Zcash inputs, and Zcash addresses (transparent): https://gz.blockchair.com
- There's a new
addresses
infinitable for Ethereum:https://api.blockchair.com/ethereum/addresses
. The columns are:address
,balance
,nonce
,is_contract
. The default sort is by balance descending. Unlike with Bitocin-likeaddresses
infinitables which are updated once every 5 minutes, this infinitable is only updated once a day. The documentation is available here: https://blockchair.com/api/docs#link_310. Some cool examples:https://api.blockchair.com/ethereum/addresses?a=is_contract,count()
- count accounts and contractshttps://api.blockchair.com/ethereum/addresses?q=balance(1000000..)&a=count()
- count the number of addresses hodling more than 1 million ethers- Full dump is available here: https://gz.blockchair.com/ethereum/addresses/ (updated daily)
- Stats endpoint for Bitcoin-like chains (
https://api.blockchair.com/{:btc_chain}/stats
) now includesmempool_outputs
. - BREAKING CHANGE: Bitcoin ABC (which is still in beta status on our platform) is now renamed to eCash and starting from July 19th, 2021 00:00:00 UTC:
- All API paths will be renamed from
bitcoin-abc
toecash
(right now both work) - All array keys that previously were named
bitcoin-abc
will be renamed toecash
- The prefix for the address format will be changed from
bitcoincash:
toecash:
- All API paths will be renamed from
-
v.2.0.79 - April 23rd, 2021
- Added a new
?events=true
option to thehttps://api.blockchair.com/ethereum/dashboards/transaction/{:hash}
endpoint (works with thetransactions
endpoint as well). This option costs1
additional request point to use. When enabled, it adds an array of event logs to the output. Every log containstopics
,data
,contract
,log_index
, anddecoded_event
. Depending on how much our API knows about the event signature, there are 3 detalization levels fordecoded_event
(example transaction with all 3:https://api.blockchair.com/ethereum/dashboards/transaction/0x7d52cf58fe78403e8816dae6e900baff92b35760b4ed81cecd2590eafcde3dad?events=true
):- Full data:
decoded_event
contains both the full event name with its argument names (name_full
, example:Approval(address owner, address spender, uint256 value)
), and the argument values in thearguments
array; - Partial data: only
name_with_types
is known (example:Withdrawal(address, uint256)
),arguments
yieldsnull
; - No data:
decoded_event
yieldsnull
.
- Full data:
- Added
eta_seconds
to thehttps://api.blockchair.com/{:btc_chain}/dashboards/transaction/{:hash}/priority
andhttps://api.blockchair.com/{:eth_chain}/dashboards/transaction/{:hash}/priority
endpoints returning an approximate time for the transaction to confirm (in seconds). Please note it's an experimental function and may be unreliable. - Upgraded Dogecoin infrastructure for better transaction broadcasting
- Added a new
-
v.2.0.78 - April 17th, 2021
- The
?state=latest
option can now also be applied to the Ethereum address dashboard endpoint. If this option is enabled,balance
will yield the confirmed balance, and thecalls
array won't include unconfirmed data. Example:https://api.blockchair.com/{:eth_chain}/dashboards/address/{:address}?state=latest
. - Added a new
?contract_details=true
option to thehttps://api.blockchair.com/ethereum/dashboards/address/{:address}₀
endpoint. If applied, it adds additional data on the address if it's a contract. At the moment, it works with ERC-20 contracts only yieldingtoken_name
,token_symbol
, andtoken_decimals
. It also yields some additional fields for all contracts:creating_transaction_hash
,creating_address
, andcreating_transaction_time
. The additional cost of using this option is0.5
. - Added
hodling_addresses
to thehttps://api.blockchair.com/{:btc_chain}/stats
endpoint (stats on Bitcoin-like blockchains) yielding the total number of addresses with positive balance. - Added
market_price_usd
,market_price_btc
,market_cap_usd
to thehttps://api.blockchair.com/ethereum/erc-20/{:token_address}/stats
endpoint.null
s are returned if there's no market data for the specified token.
- The
-
v.2.0.77 - March 15th, 2021
- Added special statistical endpoints for USDT, USDC, and BUSD. Please note this feature is currently in test mode, there may be compatibility-breaking changes. These endpoints show the distribution of tokens amongst blockchain platforms they are issued on:
https://api.blockchair.com/cross-chain/tether/stats
for Tether (USDT)https://api.blockchair.com/cross-chain/usd-coin/stats
for USD Coin (USDC)https://api.blockchair.com/cross-chain/binance-usd/stats
for Binance USD (BUSD)https://api.blockchair.com/stats
was also updated to show these stats
- Added special statistical endpoints for USDT, USDC, and BUSD. Please note this feature is currently in test mode, there may be compatibility-breaking changes. These endpoints show the distribution of tokens amongst blockchain platforms they are issued on:
-
v.2.0.76 - March 12th, 2021
- Added a new
?assets_in_usd=true
option to thehttps://api.blockchair.com/ethereum/dashboards/transaction/{:hash}
endpoint (works with thetransactions
endpoint as well). When applied, it addsvalue_usd_now
to alllayer_2.erc_20
items yielding the current (not at the moment of the transaction!) USD value of tokens (null
if the price is unknown). Example:https://api.blockchair.com/ethereum/dashboards/transaction/0x77025c5c7ff5eeb4bb164a4be84dd49192e12086cc321199f73888830c3ecd9e?erc_20=true&assets_in_usd=true
- Added
{:hash}.layer_2.erc_20.{:index}.value_approximate
to thehttps://api.blockchair.com/{:eth_chain}/dashboards/transaction/{:hash}
endpoint when using?erc_20=true
option
- Added a new
-
v.2.0.75 - March 11th, 2021
- Added
suggested_transaction_fee_gwei_options
to thehttps://api.blockchair.com/{:eth_chain}/stats
endpoint yielding an array of suggested gas prices (sloth
if you can take the risk and wait;slow
,normal
, andfast
if you want to get the transaction confirmed within 2-10 minutes;cheetah
if you'd like to try to get into the next block). - The
https://api.blockchair.com/{:eth_chain}/dashboards/transaction/{:hash}₀/priority
endpoint now supports Ethereum Testnet
- Added
-
v.2.0.74 - March 4th, 2021
address.nonce
now yields0
instead ofnull
when using the?nonce=true
option with thehttps://api.blockchair.com/ethereum/dashboards/address/{:address}
dashboard for addresses that have made no transactions- The
https://api.blockchair.com/{:eth_chain}/dashboards/address/{:address}
endpoint now correctly returns token details when the?erc_20={:list}
option is fed with non-lowered token addresses - Cardano API enhancements
- Mixin API enhancements
-
v.2.0.73 - February 26th, 2021
- Added a new
?assets_in_usd=true
option to thehttps://api.blockchair.com/ethereum/dashboards/address/{:address}
endpoint. When applied, it addsasset_balance_usd
to the output yielding the total USD value of all account assets (currently it's most popular ERC-20 tokens only), as well asbalance_usd
to alllayer_2.erc_20
items. - Fixed wrong nonce values for some Ethereum transactions
- The
https://api.blockchair.com/premium/stats?key={:api_key}
now yields request points instead of raw requests inrequests_today
- The
https://api.blockchair.com/{:eth_chain}/push/transaction
endpoint now yields a more detailed error description (context.error
) in case the broadcast fails (e.g.nonce too low
,insufficient funds for gas * price + value
oralready known
)
- Added a new
-
v.2.0.72 - December 18th, 2020
- Added an ability to retrieve internal calls for unconfirmed Ethereum transactions. Usage:
https://api.blockchair.com/{:eth_chain}/dashboards/transaction/{:hash}?trace_mempool=true
. It's also possible to retrieve the list of ERC-20 transfers for mempool transactions:https://api.blockchair.com/{:eth_chain}/dashboards/transaction/{:hash}?trace_mempool=true&erc_20=true
. This is an experimental feature. Please note that internal transfers may get invalidated when transaction gets confirmed. - The
https://api.blockchair.com/{:eth_chain}/dashboards/transaction/{:hash}
dashboard is now more efficient at handling recently (1-30 seconds ago) confirmed transactions - Updated list of Bitcoin mining pools
- Fixed some issues with Bitcoin ABC
- Added an ability to retrieve internal calls for unconfirmed Ethereum transactions. Usage:
-
v.2.0.71 - December 14th, 2020
- Improved Dogecoin transaction broadcasting
- Added
?output=type
option to thehttps://api.blockchair.com/{:eth_chain}/dashboards/address/{:address}
dashboard. When this option is enabled, only address type (account
orcontract
) is returned. This may be a very fast handy way instead of requesting full address data. Example:https://api.blockchair.com/ethereum/dashboards/address/0x00000000219ab540356cbb839cbe05303d7705fa?output=type
. - Fixed a bug where the
https://api.blockchair.com/{:btc_chain}/raw/transaction/{:hash}
endpoint returned code200
even if there was a back end error - Fixed GitHub issue #320 ("No data returned for address balance mass check for some bitcoin-cash addresses", Blockchair#320)
- Added new nodes to the Release monitor:
Bitcoin Cash Node
for Bitcoin Cash,Cardano Node
for Cardano
-
v.2.0.70 - November 17th, 2020
- We're introducing News aggregator API! Starting today not only Blockchair API provides you with blockchain data, but also with some crypto news to integrate into your app. We're aggregating data from more than 60 news outlets in 14 languages, populating over 35,000 headlines into our database a month. Documentation: https://blockchair.com/api/docs#link_M7. Want your media outlet to be included to the aggregator? Please contact us at [email protected]!
-
v.2.0.69 - November 16th, 2020
- ERC-20 tokens in the
https://api.blockchair.com/{:eth_chain}/dashboards/address/{:address}?erc_20={approximate|precise|{:list}}
endpoint are now sorted by their market capitalization descending (so the most popular ones are on top now) - It's now possible to aggregate the Ethereum transactions infinitable (
https://api.blockchair.com/ethereum/transactions
) and the Ethereum calls infinitable (https://api.blockchair.com/ethereum/calls
) bysender
andrecipient
(the same applies for the Ethereum testnet). Example: show top 100 stakers of the eth2 contract (by number of deposits):https://api.blockchair.com/ethereum/calls?q=recipient(0x00000000219ab540356cbb839cbe05303d7705fa),failed(false)&limit=100&a=sender,count()&s=count()(desc)
- ERC-20 tokens in the
-
v.2.0.68 - November 10th, 2020
- Added an experimental
?effects=true
option to thehttps://api.blockchair.com/ethereum/dashboards/transaction/{:hash}
dashboard. Example:https://api.blockchair.com/ethereum/dashboards/transaction/0xd9a24f57c713207c39c58e8ef3cb44e115fcc8bd0f85eb4ea82c78bc065a723f?effects=true&erc_20=true
.effects
array yields the list of all changes to ETH and ERC-20 token balances. - Added an experimental endpoint to retrieve allowance for ERC-20 contracts:
https://api.blockchair.com/ethereum/erc-20/{:token_address}/utils/allowance?owner={:owner_address}&spender={:spender_address}
. Example:https://api.blockchair.com/ethereum/erc-20/0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2/utils/allowance?owner=0x448bb00f370da5af5d33d3e7fca686379fc782ea&spender=0xe0e6b25b22173849668c85e06bc2ce1f69baff8c
- The
https://api.blockchair.com/{:eth_chain}/dashboards/address/{:address}
dashboard now has 3 options to retrieve ERC-20 balances:?erc_20=approximate
(or?erc_20=true
, default) - yields all token balances from our database. These values may miss some non-standard transfers in tokens that don't follow the ERC-20 standard in full. Please double-check if this option returns correct values for the tokens you'd want to get information about. Using this option costs1
.?erc_20=precise
- yields all token balances from our node. The process is the following: we gather information from our database about potential ERC-20 tokens the address may hold, and then for each token we callgetBalance
function using our node to get precise balances. Please note that if for some reason some contract doesn't follow the ERC-20 standard, our database may still miss records about the address holding this token, and there will be no request to the node about this token. So while balances yielded with this option are precise, some non-standard tokens may still be missed. Using this option costs2
.?erc_20={:token_address}₀,...,{:token_address}ᵩ
(recommended) - yields balances for the enlisted ERC-20 tokens from our node. That's the recommended way if you have an exact list of tokens you'd like to check. Even if some token doesn't follow the ERC-20 standard, but still hasgetBalance
function implemented, the correct balance will be returned. Using this option costs0.75
+0.01
for each contract checked (the cheapest option!)
- Improved efficiency of the
https://api.blockchair.com/ethereum/erc-20/{:token_address}/stats
endpoint - Fixed a bug with cUSDT Ethereum contract
- Fixed some missing ERC-20 transfers
- Added an experimental
-
v.2.0.67 - November 6th, 2020
- Added Bitcoin ABC (Bitcoin Cash ABC) support. Please read our statement on the upcoming Bitcoin Cash split: https://twitter.com/Blockchair/status/1324424632179576832. Also please note that it is expected that Bitcoin ABC's hashrate will be very low so 51% attacks are possible. We'll be running Bitcoin ABC in beta mode and we don't guarantee neither its stability, nor that we'll run it if the chain won't be used by businesses.
-
v.2.0.66 - September 23rd, 2020
- We've upgraded our Ethereum engine - blocks, transactions, and ERC-20 transfers are now processed more than 10 times faster.
- Added Ethereum Goerli testnet: https://blockchair.com/ethereum/testnet (API endpoints are the same as for Ethereum, just use
ethereum/testnet
instead ofethereum
; ERC-20's are also supported for the testnet).
-
v.2.0.65 - August 27th, 2020
- Fixed wrong
nonce
values for Ethereum transactions.nonce
field now yields correct integers (thanks to Linmin Li for noticing this bug).
- Fixed wrong
-
v.2.0.64 - July 19th, 2020
- Added
?transaction_details=true
option tohttps://api.blockchair.com/{:btc_chain}/dashboards/addresses/{:address}₀,...,{:address}ᵩ
andhttps://api.blockchair.com/{:btc_chain}/dashboards/xpub/{:extended_key}
endpoints. The additional cost for using this option is1
. See its description in the v.2.0.37 changelog or in the documentation. Usage example:https://api.blockchair.com/bitcoin/dashboards/xpub/xpub6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz?transaction_details=true
- New
https://api.blockchair.com/multi/dashboards/addresses/{:address}₀,...,{:address}ᵩ
endpoint to check addresses from multiple blockchains at once. Supported blockchains: all Bitcoin-like blockchains and Ethereum. The maximum number of addresses is 100. See the documentation: https://blockchair.com/api/docs#link_391 - Previously announced request cost formulas now come into full effect.
- Added
-
v.2.0.63 - July 8th, 2020
- Added
is_rbf
field tohttps://api.blockchair.com/bitcoin/dashboards/transaction/{:hash}
andhttps://api.blockchair.com/bitcoin/dashboards/transactions/{:hash}₀,...,{:hash}ᵩ
endpoints. It yieldstrue
if the transaction can be replaced with a transaction with a higher fee (replace-by-fee), andfalse
otherwise. For blockchain transactions it shows whether the transaction could've been replaced before it has been included into the block. Available for Bitcoin Testnet as well. - Fixed a bug with Tezos when API returned error
500
for blocks with no transactions
- Added
-
v.2.0.62 - July 2nd, 2020
- We're happy to announce that Groestlcoin support has been extended up to at least January 1st, 2021.
https://api.blockchair.com/{:eos_chain}/raw/account/{:address}
endpoint now has?actions=true
option showing the last 10 actions for account- All EOS endpoints now have
context.price_usd
showing the USD price of EOS. - Fixed a bug where it wasn't possible to submit a transaction that is larger than 32 kB in size for broadcast (thanks to Koval for noticing that). Just a reminder, the transaction size still shouldn't be more than ~100 kB as it makes it non-standard and it won't be relayed by nodes.
- The
https://api.blockchair.com/{:btc_chain}/addresses/balances
endpoint now works more stable.
-
v.2.0.61 - Jun 24th, 2020
- We're launching Privacy-o-meter - a tool to highlight transactions privacy issues. See the most detailed documentation: https://blockchair.com/api/docs#link_M6
https://api.blockchair.com/{:btc_chain}/dashboards/transaction/{:hash}₀
andhttps://api.blockchair.com/{:btc_chain}/dashboards/transactions/{:hash}₀,...,{:hash}ᵩ
now yieldcoinbase_data_hex
for coinbase transactions if?privacy-o-meter=true
option is set.
-
v.2.0.60 - Jun 19th, 2020
- New way to fetch balances for multiple addresses:
https://api.blockchair.com/{:btc_chain}/addresses/balances
(POST
orGET
) withaddresses
key in aPOST
request (or?addresses={:list}
in aGET
request) as a comma-separated list of addresses (up to 25.000 at once). This endpoint returns confirmed balances only. If address hasn't been recorded on the blockchain or has a balance of zero, it won't be displayed in the results. This endpoint is extremely fast (under 1 second for 25.000 addresses) and cheap (it costs only 26 request points to fetch 25.000 addresses). See documentation here: https://blockchair.com/api/docs#link_390 (supported chains: Bitcoin, Bitcoin Cash, Bitcoin SV, Litecoin, Dash, Zcash, Dogecoin, Groestlcoin) - On Oct 26th, 2019 with v.2.0.38 we announced the "request cost" concept by which some requests cost more than others (i.e. requesting the data on 10 transactions costs more than requesting it for just 1 transaction, but since the request is done in bulk, it is cheaper for the API user in the end). Up until now we didn't enforce that policy counting each request as 1.
- Starting July 19th, 2020 at 00:00 UTC we'll start enforcing this rule
- As this is a somewhat compatibility-breaking change, we activate
context.api.next_major_update
and set it to2020-07-19 00:00:00
(see General Provisions for our policy on compatibility-breaking changes) context
array for all requests now has therequest_cost
field yielding the request cost- Premium API clients can track thier usage using the control panel. If you have any questions, you can always reach us at <
[email protected]
>
- New way to fetch balances for multiple addresses:
-
v.2.0.59 - Jun 18th, 2020
- Enhancements for Tezos:
- New
blocks
infinitable:https://api.blockchair.com/tezos/raw/blocks
context
array for every API call to the Tezos blockchain now hasprice_usd
element returning the current USD price of Tezos
- New
- Enhancements for Tezos:
-
v.2.0.58 - Jun 13th, 2020
- Added EOS support. Please note we're not running a full history EOS node at the moment, so our API shows the most recent blocks and transactions only. New endpoints:
https://api.blockchair.com/eos/stats
https://api.blockchair.com/eos/raw/block/{:id}
https://api.blockchair.com/eos/raw/transaction/{:hash}
https://api.blockchair.com/eos/raw/account/{:address}
- Added EOS support. Please note we're not running a full history EOS node at the moment, so our API shows the most recent blocks and transactions only. New endpoints:
-
v.2.0.57 - Jun 5th, 2020
- We now show multisig types for P2SH and P2WSH addresses. The type has the following format:
multisig_{:m}_of_{:n}
. If the script is not P2SH or P2WSH multisig, the type isnull
. Affected endpoints:https://api.blockchair.com/{:btc_chain}/dashboards/address/{:address}
now has thescripthash_type
field (example:https://api.blockchair.com/bitcoin/dashboards/address/37cmSuMp7CuLDhjYkNJiTSewmbPuv8RBt1
). If address hasn't been seen spending, it's not possible to derive the multisig type, andscripthash_type
will benull
.https://api.blockchair.com/{:btc_chain}/dashboards/transaction/{:hash}₀
andhttps://api.blockchair.com/{:btc_chain}/dashboards/transactions/{:hash}₀,...,{:hash}ᵩ
now havescripthash_type
field for inputs and outputs (example:https://api.blockchair.com/bitcoin/dashboards/transaction/4d41241148a7cb8f4e2820d4393415ccd3d0793053a3855b44c33e5053c231ff
). Please note that if output is unspent,scripthash_type
will always benull
, even if the associated address multisig type can be derived from some other spent output.
- Fixed bug in the
https://api.blockchair.com/{:btc_chain}/mempool/outputs
infinitable wherespending_witness
returned values in an incorrect format for SegWit-enabled chains (this closes Issue #157)
- We now show multisig types for P2SH and P2WSH addresses. The type has the following format:
-
v.2.0.56 - Jun 4th, 2020
- Improved the
https://api.blockchair.com/{:btc_chain}/dashboards/xpub/{:extended_key}
endpoint response time when requesting the same xpub for the second and subsequent times -- we now cache the minimum number of needed derivation cycles (e.g. now if an xpub contains 59 addresses on the first request API goes through 3 cycles -- 20 addresses each -- and then remembers that there are at least 60 addresses should be checked -- and on subsequent requests these 60 addresses will be checked using 1 database request instead of 3. - Fixed API returning error
500
for very large xpubs - Improved Cardano explorer stability
- Improved
https://api.blockchair.com/{:chain}/stats
andhttps://api.blockchair.com/stats
endpoints response time
- Improved the
-
v.2.0.55 - May 28th, 2020
- Added
circulation
andcirculation_approximate
fields to thehttps://api.blockchair.com/ethereum/erc-20/{:token}/stats
endpoint output. These values yield total circulating supply of the token (null
if the contract doesn't have thetotalSuply
function). - Fixed a precision issue in the
https://api.blockchair.com/ethereum/erc-20/{:contract}/dashboards/address/{:address}
endpoint, nowbalance
returns precise value. - Added
?nonce=true
option to thehttps://api.blockchair.com/ethereum/dashboards/address/{:address}
endpoint. If enabled,nonce
will yield account's current transaction nonce.
- Added
-
v.2.0.54 - May 27th, 2020
- The limit on xpub discovery is raised to 20.000 (10.000 main addresses and 10.000 change addresses) for Premium API customers. Please note that according to the request cost formula for
xpub
endpoints, the cost of fetching an xpub consisting of 10.000 addresses is1 + 2 * (10000 / 20) - 0.1 = 1000.9
- Fixed a bug with complex aggregation queries. Now instead throwing a
500
error, the following example works:https://api.blockchair.com/bitcoin/transactions?q=has_witness(true),has_witness(false),time(2020-05),input_count(1),output_count(1),is_coinbase(false)&a=date,f(avg(fee)/avg(fee))&aq=0:0;1:1
(this particular example returns data on how many times more SegWit transactions with a single input and a single outputs pay in fees on average). https://api.blockchair.com/{:chain}/push/transaction
endpoint now returns a detailed error description in thecontext.error
field in case you're trying to submit a malformed transaction. This is not yet available for Ethereum.- In addition to
POST
,https://api.blockchair.com/{:chain}/push/transaction
endpoint now works usingGET
as well. Example usage:https://api.blockchair.com/{:chain}/push/transaction?data={:raw_transaction}
. Available for all cryptos we support.
- The limit on xpub discovery is raised to 20.000 (10.000 main addresses and 10.000 change addresses) for Premium API customers. Please note that according to the request cost formula for
-
v.2.0.53 - May 26th, 2020
- Improved stability of our Omni Layer explorer
- The
https://api.blockchair.com/bitcoin/dashboads/transaction/{:hash}?omni=true
endpoint now returns info for unconfirmed Omni Layer transfers. In case there are any, thevalid
field will yieldnull
. Please note that it's not possible to know if an Omni Layer transfer is valid before it has at least 1 confirmation.
-
v.2.0.52 - May 22th, 2020
- Fixed a bug where it wasn't possible to filter Ethereum mempool tables by sender and recipient (thanks @emilianobonassi for noticing)
https://api.blockchair.com/{:btc_chain}/dashboards/transaction/{:hash}/priority
endpoint now yieldsconfirmed
in theposition
field for confirmed transactions. Previously it wasn't possible to differ confirmed transactions from transactions that have completely fallen out of the mempool.
-
v.2.0.51 - May 14th, 2020
- Added Tezos support. New endpoints:
https://api.blockchair.com/tezos/stats
https://api.blockchair.com/tezos/raw/block/{:id|hash}
https://api.blockchair.com/tezos/raw/operation/{:hash}
https://api.blockchair.com/tezos/raw/account/{:account|contract}
- Added Tezos support. New endpoints:
-
v.2.0.50 - May 13th, 2020
- Removed support for Telegram Open Network (TON) as the project has been shut down (see https://telegra.ph/What-Was-TON-And-Why-It-Is-Over-05-12). All the relevant endpoints will now return a
404
error.
- Removed support for Telegram Open Network (TON) as the project has been shut down (see https://telegra.ph/What-Was-TON-And-Why-It-Is-Over-05-12). All the relevant endpoints will now return a
-
v.2.0.49 - April 26th, 2020
- It's now possible to discard unconfirmed transactions from the address dashboard by applying
?state=latest
option. If this option is applied,balance
will show only confirmed balance, andtransactions
andutxo
arrays won't include unconfirmed data. Affected endpoints ({:btc_chain}
can be one of these:bitcoin
,bitcoin-cash
,litecoin
,bitcoin-sv
,dogecoin
,dash
,groestlcoin
,zcash
,bitcoin/testnet
):https://api.blockchair.com/{:btc_chain}/dashboards/address/{:address}₀?state=latest
https://api.blockchair.com/{:btc_chain}/dashboards/addresses/{:address}₀,...,{:address}ᵩ?state=latest
https://api.blockchair.com/{:btc_chain}/dashboards/xpub/{:extended_key}?state=latest
- It's now possible to discard unconfirmed transactions from the address dashboard by applying
-
v.2.0.48 - April 22nd, 2020 (Lenin turns 150 today!)
- Added Mixin support. The list of new endpoints (see the documentation for details):
https://api.blockchair.com/mixin/stats
https://api.blockchair.com/mixin/raw/snapshots
https://api.blockchair.com/mixin/raw/mintings
https://api.blockchair.com/mixin/raw/nodes
https://api.blockchair.com/mixin/raw/graph
https://api.blockchair.com/mixin/raw/snapshot/{:hash}
https://api.blockchair.com/mixin/raw/snapshot/{:id}
https://api.blockchair.com/mixin/raw/transaction/{:hash}
https://api.blockchair.com/mixin/raw/round/{:hash}
https://api.blockchair.com/mixin/raw/round/({:id},{:node_hash})
https://api.blockchair.com/mixin/raw/node/{:node_hash}
https://api.blockchair.com/mixin/push/transaction
- Added Mixin support. The list of new endpoints (see the documentation for details):
-
v.2.0.47 - March 12th, 2020
- Added Zcash support. Features: dashboard endpoints, raw endpoints, infinitables (allowing to filter and sort blockchain data), node explorer, and many more.
-
v.2.0.46 - March 3rd, 2020
- There's a new interface for our Premium API users available at
https://api.blockchair.com/premium
. It's now possible to buy and extend a subscription using this interface as well as to track some basic stats. Subscription extending is not available for existing customers with custom plans, please contact us at [email protected] if you'd like to have an automated interface.
- There's a new interface for our Premium API users available at
-
v.2.0.45 - February 6th, 2020
- New endpoint to track halvening events:
https://api.blockchair.com/tools/halvening
. Documentation: https://blockchair.com/api/docs#link_511
- New endpoint to track halvening events:
-
v.2.0.44 - January 28th, 2020
- New endpoint to track new reference node software releases:
https://api.blockchair.com/tools/releases
. This endpoint returns the list of latest software (core clients) releases for blockchains we support. This may be useful for those who want to track blockchain development, new features, and hard forks (especially this is useful for multi-currency blockchain software — wallets or exchanges — developers). Never miss a BSV hard fork anymore! Documentation: https://blockchair.com/api/docs#link_510
- New endpoint to track new reference node software releases:
-
v.2.0.43 - January 23rd, 2020
- Added alpha support for Cardano (ADA). Here's the list of new endpoints (please refer to our documentation for more info: https://blockchair.com/api/docs):
https://api.blockchair.com/cardano/stats
https://api.blockchair.com/cardano/raw/block/{:id|hash}
https://api.blockchair.com/cardano/raw/transaction/{:hash}
https://api.blockchair.com/cardano/raw/address/{:address}
- Added alpha support for Cardano (ADA). Here's the list of new endpoints (please refer to our documentation for more info: https://blockchair.com/api/docs):
-
v.2.0.42 - January 20th, 2020
- New endpoint to query the range of available blocks in blockchains we support:
https://api.blockchair.com/range
. Note that at this moment we don't store full historical data for Ripple and Stellar, so this endpoint is useful when you need to know which blocks can be queried.
- New endpoint to query the range of available blocks in blockchains we support:
-
v.2.0.41 - January 18th, 2020
- Added alpha support for Monero. Here's the list of new endpoints (please refer to our documentation for more info: https://blockchair.com/api/docs):
https://api.blockchair.com/monero/stats
https://api.blockchair.com/monero/raw/block/{:id|hash}
https://api.blockchair.com/monero/raw/transaction/{:hash}
https://api.blockchair.com/monero/raw/outputs?{:query}
- Added alpha support for Monero. Here's the list of new endpoints (please refer to our documentation for more info: https://blockchair.com/api/docs):
-
v.2.0.40 - December 3rd, 2019
- Added alpha support for Telegram Open Network (TON). Here's the list of new endpoints (please refer to our documentation for more info: https://blockchair.com/api/docs):
https://api.blockchair.com/ton/testnet/stats
https://api.blockchair.com/ton/testnet/raw/ledger/{:tuple}
https://api.blockchair.com/ton/testnet/raw/transaction/{:tuple}
https://api.blockchair.com/ton/testnet/raw/account/{:address}
- Added alpha support for Telegram Open Network (TON). Here's the list of new endpoints (please refer to our documentation for more info: https://blockchair.com/api/docs):
-
v.2.0.39 - Nov 1st, 2019
- Added alpha support for Stellar (XLM). Here's the list of new endpoints (please refer to our documentation for more info: https://blockchair.com/api/docs):
https://api.blockchair.com/stellar/stats
https://api.blockchair.com/stellar/raw/ledger/{:id}
https://api.blockchair.com/stellar/raw/transaction/{:hash}
https://api.blockchair.com/stellar/raw/account/{:address}
- Added alpha support for Stellar (XLM). Here's the list of new endpoints (please refer to our documentation for more info: https://blockchair.com/api/docs):
-
v.2.0.38 - Oct 26th, 2019
- We've published new documentation for our API which is lots more clear and describes all the functions we have, it's now available here: https://blockchair.com/api/docs
- Changes to the Omni Layer and Wormhole support (as they're in Alpha test mode these are compatibility-breaking changes; we'll be bringing Omni to Stable the next year):
- As Wormhole as a protocol isn't used anymore, we'll shut it down on our platform on January 1st, 2020
- Retrieving infomation about Omni Layer transfers within a Bitcoin transaction now requires a
?omni=true
parameter - Retrieving infomation about Wormhole transfers within a Bitcoin Cash transaction now requires a
?wormhole=true
parameter - Retrieving infomation about Omni Layer token balances of a Bitcoin address now requires a
?omni=true
parameter - Retrieving infomation about Wormhole token balances of a Bitcoin Cash transaction now requires a
?wormhole=true
parameter - Data is now yielded in
layer_2.omni
andlayer_2.wormhole
arrays instead of_omni
and_wormhole
- Changes to Ripple endpoints (they're in Alpha test mode as well):
https://api.blockchair.com/{:xrp_chain}/dashboards/ledger/{:hash|id}₀
is nowhttps://api.blockchair.com/{:xrp_chain}/raw/ledger/{:hash|id}₀
https://api.blockchair.com/{:xrp_chain}/dashboards/transaction/{:hash}₀
is nowhttps://api.blockchair.com/{:xrp_chain}/raw/transaction/{:hash}₀
https://api.blockchair.com/{:xrp_chain}/dashboards/account/{:address}₀
is nowhttps://api.blockchair.com/{:xrp_chain}/raw/account/{:address}₀
- Added
block_id
property to the output of the?transaction_details=true
param introduced in v.2.0.37 - it's now easier to count the number of confirmations. Also a small bug has been fixed with the timestamps (thanks to Maxim Chistov for noticing) - We're introducing the "request cost" concept (full description is available in our new documentation; basically, the idea is that some of API requests will cost more than others). We'll not be forcing this rule at the moment, the launch date will be announced later. That won't affect our existing API customers until the end of their subscription periods.
-
v.2.0.37 - Oct 9th, 2019
{:chain}/dashboards/address/{:address}
endpoint now has an optional parameter?transaction_details=true
which allows you to retrieve transaction details in thetransactions
array instead of just transaction hashes. Eachtransactions
array element contains the following values:hash
- transaction hashtime
- transaction timestamp (UTC)balance_change
- how the transaction affected the balance of{:address}
Appending a request with
?transaction_details=true
makes it count as 2 separate requests in the matter of API limits (including Premium API).Usage example:
https://api.blockchair.com/bitcoin/dashboards/address/12cbQLTFMXRnSzktFkuoG3eHoMeFtpTu3S?transaction_details=true
This option is supported for Bitcoin, Bitcoin Cash, Litecoin, Dash, Bitcoin SV, Dogecoin, and Groestlcoin only.
-
v.2.0.36 - Sep 17th, 2019
-
We begin a public beta test of ERC-20 support on our platform. Over 100.000 tokens are available to explore!
- New ERC-20 endpoints:
- ERC-20 tokens infinitable:
https://api.blockchair.com/ethereum/erc-20/tokens
- ERC-20 transactions infinitable:
https://api.blockchair.com/ethereum/erc-20/transactions
(example:https://api.blockchair.com/ethereum/erc-20/transactions?q=token_address({:token_address})
- filter transactions by a specific token). These two infinitables act as other infinitables in our API, i.e. it's possible to sort and filter by many params, to paginate, etc. - ERC-20 token stats dashboard:
https://api.blockchair.com/ethereum/erc-20/{:token_address}/stats
- returns some basic stats about a token - ERC-20 token holder dashboard:
https://api.blockchair.com/ethereum/erc-20/{:token_address}/dashboards/address/{:address}
- returns info about a token holder (the balance, list of latest transactions, etc.)
- ERC-20 tokens infinitable:
- New options and changes to the existing Ethereum dashboards:
- Ethereum transaction dashboard:
https://api.blockchair.com/ethereum/dashboards/transaction/{:transaction_hash}?erc_20=true
- returns info about a transaction including ERC-20 transfers - Ethereum address dashboard:
https://api.blockchair.com/ethereum/dashboards/address/{:address}?erc_20=true
- returns info about an address including its ERC-20 token balances (tip: addresses and hashes should start with0x
) - Ethereum stats dashboards (
https://api.blockchair.com/ethereum/stats
) now havedata.layer_2.erc_20
key yielding basic stats on ERC-20's: the total number of tokens, the total number of transactions, and the number of new tokens and transactions over the last 24 hours. - For all Ethereum endpoints there's a new key
context.state_layer_2
which yields the latest processed block number. It can be different fromcontext.state
as it takes some time to process second layer transactions.
- Ethereum transaction dashboard:
Please note these endpoints are in beta, so there may be some unannounced compatibility-breaking changes. More detailed documentation will come later this month. Appending
?erc_20=true
to requests makes it counted as 2 separate requests in the matter of API limits (including Premium API). - New ERC-20 endpoints:
-
-
v.2.0.35 - Sep 11th, 2019
api.blockchair.com/{:chain}/nodes
endpoint now also returns theheights
array showing distribution of the latest block numbers among nodes. See a visualisation on our web interface as an example: https://blockchair.com/bitcoin/nodes- There's a new endpoint
api.blockchair.com/nodes
showing some aggregated node stats across 7 networks (Bitcoin, Bitcoin Cash, Bitcoin SV, Litecoin, Dash, Dogecoin, and Groestlcoin). - Our database dumps now also feature daily balances snapshot, see Bitcoin for example: https://gz.blockchair.com/bitcoin/addresses/ (please note that the download speed is limited for non-premium users). The format is
address<TAB>balance
.
-
v.2.0.34 - Aug 7th, 2019
-
It's now possible to retrieve raw block data directly from our nodes. The endpoint is
api.blockchair.com/{:chain}/raw/block/{:hash}|{:id}
. This endpoint supports all chains except forripple
.- For Bitcoin-like chains the
data
array returns two elements:raw_block
- contains hex representation of the blockdecoded_raw_block
- contains json representation of the block that is generated by our node
- For Ethereum only
decoded_raw_block
is available
Please note that these endpoints are for development usage only. The result is returned directly from our nodes, so we can't guarantee backward compatibility in case we upgrade our nodes. For production, please use the
api.blockchair.com/{:chain}/dashboards/block/{:hash}|{:id}
endpoint - it pulls data from our databases. - For Bitcoin-like chains the
-
Ethereum uncles now have an
id
property (previously they only hadparent_block_id
,index
, andhash
properties as identifiers). This affectsapi.blockchair.com/ethereum/dashboards/uncle/{:hash}
andapi.blockchair.com/ethereum/uncles?{:params}
endpoints. Please note thatid
is not a unique identifier for an uncle (usehash
orparent_block_id:index
instead). -
Fixed a bug where
api.blockchair.com/{:chain}/dashboards/addresses/{:address},{:address},...
endpoint returned500
if?limit=0
was applied -
context.state
doesn't return the latest block number anymore in case API returns an error (400
,402
,404
, etc.)
-
-
v.2.0.33 - Jul 23rd, 2019
- According to the Bitcoin SV roadmap we've upgraded our nodes to support the Quasar upgrade
- BREAKING CHANGE: Upon popular request (#161, #162, #193, #196, #211, and others), starting July 29th 00:00:00+0000 we're switching to the legacy address format for Bitcoin SV. This will affect the output of the following endpoints:
api.blockchair.com/bitcoin-sv/dashboards/transaction/{:hash}
api.blockchair.com/bitcoin-sv/dashboards/transactions/{:hash},{:hash},...
api.blockchair.com/bitcoin-sv/dashboards/address/{:address}
(it will be still possible to use CashAddr in the query string)api.blockchair.com/bitcoin-sv/dashboards/addresses/{:address},{:address},...
(the same)api.blockchair.com/bitcoin-sv/dashboards/xpub/{:[xyz]pub}
api.blockchair.com/bitcoin-sv/outputs?{:params}
api.blockchair.com/bitcoin-sv/mempool/outputs?{:params}
api.blockchair.com/bitcoin-sv/addresses?{:params}
api.blockchair.com/bitcoin-sv/state/changes/block/{:block_id)
api.blockchair.com/bitcoin-sv/state/changes/mempool
-
v.2.0.32 - Jul 15th, 2019
-
We're launching Bitcoin Testnet support for developers! All the functions available for Bitcoin are now available for Bitcoin Testnet as well, including:
- Filtering and sorting blockchain data using infinitables (
api.blockchair.com/bitcoin/testnet/blocks
,api.blockchair.com/bitcoin/testnet/transactions
,api.blockchair.com/bitcoin/testnet/outputs
,api.blockchair.com/bitcoin/testnet/mempool/transactions
,api.blockchair.com/bitcoin/testnet/mempool/outputs
, andapi.blockchair.com/bitcoin/testnet/addresses
), including aggregation capabilities - Dashboards (
api.blockchair.com/bitcoin/testnet/dashboards/block/{:id|hash}
,api.blockchair.com/bitcoin/testnet/dashboards/blocks/{:id|hash},{:id|hash},...
,api.blockchair.com/bitcoin/testnet/dashboards/transaction/{:hash}
,api.blockchair.com/bitcoin/testnet/dashboards/transactions/{:hash},{:hash},...
),api.blockchair.com/bitcoin/testnet/dashboards/address/{:address}
,api.blockchair.com/bitcoin/testnet/dashboards/addresses/{:address},{:address},...
,api.blockchair.com/bitcoin/testnet/dashboards/xpub/{:[xyz]pub}
- Broadcasting transactions (
api.blockchair.com/bitcoin/testnet/push/transaction
) - State changes (
api.blockchair.com/bitcoin/testnet/state/changes/block/{:block_id)
andapi.blockchair.com/bitcoin/testnet/state/changes/mempool
) - Stats (
api.blockchair.com/bitcoin/testnet/stats
)
See documentation for Bitcoin for more details. Please note that USD countervalue for testnet coins is always 0. In the future we also plan to launch support for Bitcoin Cash and Ethereum testnets.
- Filtering and sorting blockchain data using infinitables (
-
outputs.type
column for SegWit-coins can now yieldwitness_unknown
type -
blocks.generation
column for Bitcoin-like coins can now yield negative values in case there are transaction fees, but the output for the coinbase transaction is less than the sum of the fees -
The
utxo
array in the{:chain}/dashboards/xpub/{[xyz]pub}
dashboard now shows which utxo belongs to which addresses (now it's identical to{:address1}[,{:address2}…]
)
-
-
v.2.0.31 - Jul 5th, 2019
-
Added two new keys to
bitcoin/stats
andlitecoin/stats
calls:next_retarget_time_estimate
yields an estimated timestamp of the next difficulty retargetnext_difficulty_estimate
yeilds an estimated next difficulty value
These keys are available for Bitcoin and Litecoin as other cryptos we support recalculate difficulty every block.
-
-
v.2.0.30 - Jul 4th, 2019
-
We're adding a new table called
addresses
containing the list of all addresses and their confirmed balances to all Bitcoin-like coins (Bitcoin, Bitcoin Cash, Litecoin, Dash, Bitcoin SV, Dogecoin, Groestlcoin). Unlike other "infinitables" (blocks
,transactions
,outputs
) this table isn't live, it's automatically updated every 5 minutes, thus we're classifying it as an "infiniview", meaning it's not really a table, but a view over theoutputs
table. See the documentation for this table. Here are some examples of how it can be used:api.blockchair.com/bitcoin/addresses
- show Bitcoin addresses with biggest balances (i.e. the rich list)api.blockchair.com/bitcoin/addresses?q=balance(100000000)
- show Bitcoin addresses having exactly 1 BTC on their balanceapi.blockchair.com/bitcoin/addresses?a=count()
- count the number of addresses with a non-zero balanceapi.blockchair.com/bitcoin/addresses?a=count()&q=balance(100000000..)
- count the number of addresses holding at least 1 BTCapi.blockchair.com/bitcoin/addresses?a=sum(balance)&q=balance(100000000..)
- calculate how many bitcoins do the addresses from the previous example holdapi.blockchair.com/bitcoin/addresses?a=median(balance)
- calculate the median balance
Using this table makes it trivial to build various sorts of rich lists. It's now also possible to retrieve a full list of addresses and balances in one file (available only in our Private API solution). Please note that this table shouldn't be used for retrieving balances for a particular set of addresses, please use the
api.blockchair.com/{:chain}/dashboards/addresses/{:addr1}[,{:addr2}...]
dashboard endpoint instead.
-
-
v.2.0.29 - Jun 30th, 2019
- The State changes feature now supports requesting potential state changes caused by mempool transactions. The endpoint is
https://api.blockchair.com/{:chain}/state/changes/mempool
. It's now possible to easily build an app watching for transactions incoming/outgoing to/from millions of addresses, see an example.
- The State changes feature now supports requesting potential state changes caused by mempool transactions. The endpoint is
-
v.2.0.28 - Jun 28th, 2019
- Added support for Groestlcoin nodes. The endpoint is
https://api.blockchair.com/groestlcoin/nodes
. Thestats
endpoint (https://api.blockchair.com/groestlcoin/stats
) now also shows the node count.
- Added support for Groestlcoin nodes. The endpoint is
-
v.2.0.27 - Jun 27th, 2019
- Effective July 19th, there will be a new policy on using our Public API for both non-commercial and commercial projects. Please see Applying for an API key first and apply for an API key before July 19th! Since this is a major compatibility-breaking change,
context.api.next_major_update
is set to2019-07-19 18:07:19
(see General Provisions) - Removed
ethereum.uncles.total_difficulty
column according to ethereum/go-ethereum#19024
- Effective July 19th, there will be a new policy on using our Public API for both non-commercial and commercial projects. Please see Applying for an API key first and apply for an API key before July 19th! Since this is a major compatibility-breaking change,
-
v.2.0.26 - Jun 20th, 2019
-
Added
utxo
array showing available unspent transaction outputs for Bitcoin-like coins to the following endpoints:api.blockchair.com/{:chain}/dashboards/address/{:address}
api.blockchair.com/{:chain}/dashboards/addresses/{:address1}[,{:address2}…]
api.blockchair.com/{:chain}/dashboards/xpub/{:[xyz]pub}
Each array element has the following structure:
block_id
- block number (-1
for unconfirmed outputs)transaction_hash
- transaction hashindex
- output index in the transaction (also known as thevout
number)value
- output value in satoshiaddress
(only foraddresses
andxpub
dashboards) - showing the output owner
This new functionality DEPRECATES usage of an old method to retrieve the UTXO set for an address, namely
api.blockchair.com/{:chain}/outputs?q=recipient({:address}),is_spent(false)
. See the discussion with some examples here: Blockchair#192 -
The 3 above listed endpoints now also have a new way to iterate through the transaction list and the UTXO set. It's now possible to use
?limit=A,B
and?offset=C,D
sections in the query. The first number affects the transaction list, the second number affects the UTXO set. If only one number is set, it affects both. The defaultlimit
is100
. The maximumlimit
is10000
. The default offset is0
. The maximum offset is1000000
. Here are some examples:api.blockchair.com/{:chain}/dashboards/address/{:address}
- shows address data with an array of 100 latest transactions and 100 latest UTXOsapi.blockchair.com/{:chain}/dashboards/address/{:address}?limit=0
- if you require just some general stats like the address balanceapi.blockchair.com/{:chain}/dashboards/address/{:address}?limit=0,100
- if you need just the general stats and the UTXO setapi.blockchair.com/{:chain}/dashboards/address/{:address}?limit=100,0
- if you need just the general stats and the transaction listapi.blockchair.com/{:chain}/dashboards/address/{:address}?limit=100,0&offset=100,0
- ... and to iterate it
-
The
api.blockchair.com/{:chain}/dashboards/block/{:hash}|{:id}
endpoint now also has an iterable set of transaction hashes included in the block. The defaultlimit
is100
. The maximumlimit
is10000
. The default offset is0
. The maximum offset is1000000
. This feature implements Blockchair#189
-
-
v.2.0.25 - Jun 19th, 2019
- Added Groestlcoin support (it has SegWit support, so all API functionality available for Bitcoin and Litecoin is available for Groestlcoin as well).
- Added
suggested_transaction_fee_per_byte_sat
key to{:chain}/stats
calls. This value shows a good enough approximation of an optimal fee value suggested by our engine based on the current mempool state (in satoshi per byte) to get into the next block. Please note that for transactions less important for you this fee suggestion may be too high, while for very important transactions it may not be enough if you'll get unlucky because of the lack of new blocks. Supported for all coins except for Ripple and Ethereum for which we'll have a separate value suggesting an appropriate gas price value. - Updated xpub support to v.b5 (see
xpub support
in the docs: two bugs have been fixed);
-
v.2.0.24 - Jun 6th, 2019
- Added an optional
countdowns
array to{:chain}/stats
calls. If present, this array contains information about various upcoming events such as hard forks or reward halvings. There are two keys for each event:event
which contains event description, andtime_left
showing how many seconds are left until the event occurs. Please note that the number of seconds is an approximate value because most events are triggered after a block at a specific height is mined, and since it's not possible to know for sure when a block becomes mined, we can only approximate that.
- Added an optional
-
v.2.0.23 - May 24th, 2019
- Added support for Dash nodes. The endpoint is
https://api.blockchair.com/dash/nodes
. Thestats
endpoint (https://api.blockchair.com/dash/stats
) now also shows the node count. - It's now possible to query Dash xpubs (see
xpub support
in the docs) - Dash is now out of beta on our platform
- Added support for Dash nodes. The endpoint is
-
v.2.0.22 - May 23rd, 2019
- The state changes feature introduced in v.2.0.20 is now available for Ethereum. The endpoint is
https://api.blockchair.com/ethereum/state/changes/block/{:block_id}
. Please note that it shows only the balance changes caused by a block. Values are returned as strings because some wei values don't fit into int64. - Some optimizations to the Ethereum mempool processing - we now show a lot more unconfirmed transactions
- The state changes feature introduced in v.2.0.20 is now available for Ethereum. The endpoint is
-
v.2.0.21 - Apr 22nd, 2019
- We've added an ability to query multiple addresses at once. The endpoint is
https://api.blockchair.com/{:chain}/dashboards/addresses/{:addr1},{:addr2},...
(supported for BTC, BCH, LTC, DASH, BSV, and DOGE). E.g., now, if you need to retrieve information about 3 different addresses, you wouldn't need to make 3 separate queries, you'd need to query justhttps://api.blockchair.com/bitcoin/dashboards/addresses/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa,12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX,1HLoD9E4SDFFPDiYfNYnkBLQ85Y51J3Zb1
. The response contains information on the set of addresses (total balance, total transaction count, etc.), information about each address, and the list of the latest 100 transactions for this set (iterable with&offset=N
). The maximum number of addresses in one query is 100 (higher limits are available for our premium users). Querying multiple addresses at once works much faster (e.g. it's almost 95 times faster to query 100 addresses via the new endpoint compared to making separate requests).
- We've added an ability to query multiple addresses at once. The endpoint is
-
v.2.0.20 - Apr 19th, 2019
- Now it's possible to query state changes caused by a block for all chains we support except for ETH. The endpoint is
https://api.blockchair.com/{:chain}/state/changes/block/{:block_id}
. The response contains an array where the keys are addresses which were affected by the block, and the values are balance changes. Example:https://api.blockchair.com/bitcoin/state/changes/block/1
returns12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX => 5000000000
which means that the only state change caused by this block was rewarding the miner with 50 bitcoins. This is useful if you need to track balance changes for a lot of addresses - you can now simply track state changes and find the needed addresses there instead of constantly retrieving information about the balances.
- Now it's possible to query state changes caused by a block for all chains we support except for ETH. The endpoint is
-
v.2.0.19 - Apr 17th, 2019
- Added alpha support for Ripple (see
Ripple support
in the docs) - Introducing Graph API for Ethereum (a possibility to find connections between two Ethereum addresses), see
Ethereum graph
in the docs) - it's in private alpha test mode - If you're constantly hitting Error 402 (i.e. by making too many requests per minute to our free API), you'll now receive Error 429 which means that your IP is banned for an hour. Not honoring our limits may result in a permanent ban
- Fixed a couple of minor bugs in our Ethereum engine. We'll be rolling out an updated engine the next week, there shouldn't be any compatibility breaking changes
- Added alpha support for Ripple (see
-
v.2.0.18 - Apr 2nd, 2019
- Added biggest transactions over the last 24h to
https://api.blockchair.com/{chain}/stats
calls (largest_transaction_24h
key); - Updated xpub support to v.b3 (see
xpub support
in the docs, there are some breaking changes); - Updated aggregation support to v.b4 (see
Data aggregation support
in the docs) - We're DEPRECATING usage of unsupported parameters in GET and POST requests to our API endpoints (e.g.
https://api.blockchair.com/stats?myarbitrarykey=1234
might result in a400 Bad Request
error); - Previously DEPRECATED API v.1 has been shut down
- Previously DEPRECATED undocumented
?export=
functionality now requires an API key (apply at <[email protected]
>) for everything except:- Aggregated results
blocks
tables across all blockchains we support
- Added biggest transactions over the last 24h to
-
v.2.0.17 - Mar 14th, 2019
- Added support for Bitcoin SV nodes, they are now separate from Bitcoin Cash nodes. Endpoint:
https://api.blockchair.com/bitcoin-sv/nodes
.
- Added support for Bitcoin SV nodes, they are now separate from Bitcoin Cash nodes. Endpoint:
-
v.2.0.16 - Mar 13th, 2019
- Added support for ypub and zpub for Bitcoin and Litecoin in test mode. See
xpub support
in the docs.
- Added support for ypub and zpub for Bitcoin and Litecoin in test mode. See
-
v.2.0.15 - Mar 12th, 2019
- Added Dash support in test mode. We're supporting all the features for DASH as we support for other Satoshi-like coins. Additional columns:
blocks.cbtx
,transactions.type
(possible types:simple
,proregtx
,proupservtx
,proupregtx
,prouprevtx
,cbtx
,qctx
,subtxregister
,subtxtopup
,subtxresetkey
,subtxcloseaccount
),transactions.is_instant_lock
,transactions.is_special
(true
for all transaction types exceptsimple
),transactions.special_json
(contains special transaction data encoded in json). E.g.:https://api.blockchair.com/dash/blocks
- Added Dash support in test mode. We're supporting all the features for DASH as we support for other Satoshi-like coins. Additional columns:
-
v.2.0.14 - Mar 6th, 2019
- Added xpub support in test mode. There's now support for retrieving info about multiple addresses using xpub keys. Use
https://api.blockchair.com/{chain}/dashboards/xpub/{xpub}
. Seexpub support
in the docs. - Extended data aggregation abilities (still in test mode), see
Data aggregation support
in the docs. Now it's possbile to find correlations with price, and use special functions (e.g. to calculate SegWit adoption). - We're DEPRECATING API v.1 and will be shutting it down on April 1st, 2019.
- We're DEPRECATING undocumented
?export=
functionality when exporting large datasets without an API key. This feature will be documented in one of the next updates. - Full support for
CREATE2
in Ethereum (seehttps://blockchair.com/ethereum/calls?q=type(create2)#
) - When using CSV/TSV API (undocumented
?export=
functionality) amounts in USD are now shown as in the JSON API version (previously you had to divide them by 10000).bitcoin.outputs.type
,ethereum.transaction.type
, andethereum.calls.type
now yield strings (e.g.pubkeyhash
instead of2
).
- Added xpub support in test mode. There's now support for retrieving info about multiple addresses using xpub keys. Use
-
v.2.0.13 - Feb 13th, 2019
- Added support for Cyrillic characters in fulltext search, e.g.
https://api.blockchair.com/bitcoin/outputs?q=script_bin(~привет)
- Added support for Cyrillic characters in fulltext search, e.g.
-
v.2.0.12 - Feb 12th, 2019
- Fixed a bug in Ethereum where some contract creations were erroneously shown as failed (thanks Daniel Luca for noticing)
-
v.2.0.11 - Feb 5th, 2019
- We're changing behavior of our
mempool
tables (for all supported coins except for Ethereum): now they don't contain the contents of the latest block (it was quite a clumsy thing to have both mempool transactions and transactions from the latest block in this table, but we've rebuilt our engine, so nowmempool
tables contain mempool content only, and it finally makes sense!). That means:{chain}/mempool/blocks
is deprecated. Hint: if you usedmempool/blocks
to get info about the latest block you can simply switch to usingblocks?limit=1
, e.g.https://api.blockchair.com/bitcoin/blocks?limit=1
{chain}/mempool/transactions
and{chain}/mempool/outputs
now don't contain info from the latest block, while{chain}/transactions
and{chain}/outputs
do- Before this update when using (undocumented)
export
functionality there was no information about the latest block at all, now there is - The same change to Ethereum will come in one of the next updates
- Dogecoin is out of beta.
- Bitcoin SV is out of beta. Please note there's still a possibility that we won't be able to offer some functionality in the long term if blocks suddenly become larger than 1 exabyte, we're still waiting for a more clear development roadmap.
- We're changing behavior of our
-
v.2.0.10 - Jan 29th, 2019
- Added Dogecoin support in test mode (see
Dogecoin support
in the docs)
- Added Dogecoin support in test mode (see
-
v.2.0.9 - Dec 13th, 2018
- Added Bitcoin SV support in test mode (see
Bitcoin SV support
in the docs); updated aggregation abilities (seeData aggregation support
in the docs)
- Added Bitcoin SV support in test mode (see
-
v.2.0.8 - Nov 26th, 2018
- Added the ability to retrieve raw transaction data in hex, see
Retrieving raw transactions
in the docs
- Added the ability to retrieve raw transaction data in hex, see
-
v.2.0.7 - Nov 22th, 2018
- Now it's possible to broadcast transactions using our API, see
Broadcasting transactions
in the docs
- Now it's possible to broadcast transactions using our API, see
-
v.2.0.6 - Oct 8th, 2018
- Added data aggregation of blockchain data in beta mode, see
Data aggregation support
in the docs
- Added data aggregation of blockchain data in beta mode, see
-
v.2.0.5 - Oct 8th, 2018
- Fixed bug where
balance
andreceived
for bitcoin[-cash]|litecoin addresses in the{chain}/dashboards/address/{address}
call were calculated wrong if there were specific unconfirmed transactions
- Fixed bug where
-
v.2.0.4 - Oct 3rd, 2018
- Added some new useful fields to
{chain}/stats
calls
- Added some new useful fields to
-
v.2.0.3 - Sep 18th, 2018
- Added
context.api.tested_features
with the list of features our API supports, but with no guarantee for backward compatibility if updated. Added Omni Layer and Wormhole support in testing mode (see "Tested features changelog")
- Added
-
v.2.0.2 - Sep 9th, 2018
- Added
address.contract_created
to theethereum/dashboards/address/{A}
call
- Added
-
v.2.0.1 - Sep 1st, 2018
- Added Litecoin support
-
v.2.0.0
- Migrating from API v.1 to API v.2 (see the docs)
- E-mail: [email protected]