Dustone25 / blockchair

Blockchains and wallets
MIT License
2 stars 3 forks source link

Block #11

Open Dustone25 opened 3 years ago

Dustone25 commented 3 years ago

Describe the bug A clear and concise description of what the bug is.

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Smartphone (please complete the following information):

Additional context Add any other context about the problem here. Main logo Search for transactions, addresses, blocks and embedded text data...

API API documentation API documentation Introduction General stats endpoints Retrieve overall information about blockchains and tokens Dashboard endpoints Retrieve information about various entities in a neat format from our databases Bitcoin, Bitcoin Cash, Litecoin, Bitcoin SV, Dogecoin, Dash, Groestlcoin, Zcash, and Bitcoin Testnet Ethereum Block Uncle Transaction Address Second layers Cross-chain checks Raw data endpoints Retrieve raw information about various entities directly from our full nodes Infinitable endpoints SQL-like queries: filter, sort, and aggregate blockchain data Misc endpoints Privacy-o-meter News aggregator Support Show all Blockchair API Blockchair API Blockchair API provides developers, researchers, and businesses with access to data contained in 17 blockchains Explore pricing plans Dashboard endpoints for Ethereum Block info Endpoints:

https://api.blockchair.com/{:eth_chain}/dashboards/block/{:height}₀ https://api.blockchair.com/{:eth_chain}/dashboards/block/{:hash}₀ https://api.blockchair.com/{:eth_chain}/dashboards/blocks/{:height}₀,...,{:height}ᵩ (up to 10 blocks, comma-separated) https://api.blockchair.com/{:eth_chain}/dashboards/blocks/{:hash}₀,...,{:hash}ᵩ (up to 10 blocks, comma-separated) Where:

{:eth_chain} can only be: ethereum or ethereum/testnet {:height}ᵢ is the block height (integer value), also known as block id {:hash}ᵢ is the block hash (regex: /^0x[0-9a-f]{64}$/i) Possible options:

?limit={:limit} limits the number of returned transaction hashes contained in the block. Default is 100. Maximum is 10000. In case of 0 returns an empty transaction hashes array ?offset={:offset} allows to paginate transaction hashes. Default is 0. Maximum is 1000000. Output:

data contains an associative array where found block heights or block hashes used as keys:

data.{:id}ᵢ.block — information about the block (see Ethereum-like block object for the field descriptions) data.{:id}ᵢ.transactions — the array of transaction hashes (sorted by position in the block ascending) included in the block (respecting the set limit and offset) data.{:id}ᵢ.synthetic_transactions — array of internal Blockchair ids of synthetic transactions. By synthetic transactions we understand state changes in the blockchain which don't have parental transaction entities, i.e. transferring miner reward (for blocks and uncles), coin generation in the genesis block, etc. This array is not iterable, and always yields the entire result set. data.{:id}ᵢ.uncles — the array of hashes of the block's uncles (in case there are no uncles — an empty array). This array is not iterable as well, and always yields the entire result set. Where {:id}ᵢ is either {:height}ᵢ or {:hash}ᵢ from the query string.

If there's no {:id}ᵢ has been found in the database, there won't be such key.

Note that the total number of transactions in the block is contained in data.{:id}ᵢ.block.transaction_count, but that doesn't take synthetic transactions into account (use data.{:id}ᵢ.block.synthetic_transaction_count instead)

Context keys:

context.results — number of found blocks context.limit — applied limit context.offset — applied offset context.state — best block height on the {:eth_chain} chain (tip: it's possible to calculate the number of confirmation block received using this formula: confirmations = context.state - data.{:id}ᵢ.block.id + 1) Example requests:

https://api.blockchair.com/ethereum/dashboards/block/2345678 https://api.blockchair.com/ethereum/dashboards/block/0xda214d1b1d458e7ae0e626b69a52a59d19762c51a53ff64813c4d31256282fdf context.state: best block height on the {:eth_chain} chain (tip: it's possible to calculate the number of confirmation transaction received using this formula: confirmations = data.{:id}ᵢ.transaction.block_id - context.state + 1, or if data.{:id}ᵢ.transaction.block_id is -1 it's an unconfirmed transaction) https://api.blockchair.com/ethereum/dashboards/block/2345678?limit=2 https://api.blockchair.com/ethereum/dashboards/block/2345678?limit=2&offset=2 Example output:

https://api.blockchair.com/ethereum/dashboards/block/2345678:

{ "data": { "2345678": { "block": { "id": 2345678, "hash": "0xda214d1b1d458e7ae0e626b69a52a59d19762c51a53ff64813c4d31256282fdf", "date": "2016-09-29", "time": "2016-09-29 01:39:41", "size": 1109, "miner": "0x4bb96091ee9d802ed039c4d1a5f6216f90f81b01", "extra_data_hex": "657468706f6f6c2e6f7267202845553129", "difficulty": 81923183857781, "gas_used": 105000, "gas_limit": 1500000, "logs_bloom": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "mix_hash": "f5b95f5b79cd8425db7f04d200d78d16c104c28d078d0b653ae1c24f31759662", "nonce": "681508643254209570", "receipts_root": "51a6952987f2c7ebf74fc1a4f644265aebb660b1d86a12c0f6e3001a2866331f", "sha3_uncles": "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", "state_root": "4f6b1af13d99c75e0d644b226d57767a0d2f22921c529dfe3455bc63154b01e5", "total_difficulty": "66939257372572274863", "transactions_root": "dde4d2ce7556effca10c868f500f0e47fb09b5cb4a003d781080f1a06e582352", "uncle_count": 0, "transaction_count": 5, "synthetic_transaction_count": 1, "call_count": 5, "synthetic_call_count": 1, "value_total": "17966223975031638280", "value_total_usd": 238.950782294711, "internal_value_total": "17963073975031638280", "internal_value_total_usd": 238.90888729411, "generation": "5000000000000000000", "generation_usd": 66.5000009536743, "uncle_generation": "0", "uncle_generation_usd": 0, "fee_total": "3150000000000000", "fee_total_usd": 0.0418950006008148, "reward": "5003150000000000000", "reward_usd": 66.5418959542751 }, "uncles": [], "transactions": [ "0x4052841e7ff856e08e73245ed1fab5f41021d4bfe83202b6581870cb559b44c4", "0xa1ed63865958a1b3abc8e259dc980bd76dd3f989f14577cce18b7e265cf9528e", "0x1d6713c7e6be2a45e6b3d2a7dfc1af96443cfb65d4b51cd41ac21b7b840e77e0", "0xffbcdcbef6c5341dd60a9b7f182b61cf0c468d63defcc2fa8c56e292d4bfc8d6", "0x0c79e3ae36150eb36d6a631cc8d6250db4b9b832a82ac58ea356357f5987debe" ], "synthetic_transactions": [ 2345678000005 ] } }, "context": { "code": 200, "limit": 100, "offset": 0, "results": 1, "state": 8766187, "state_layer_2": 8766186, ... } } Request cost formula:

1 for https://api.blockchair.com/{:eth_chain}/dashboards/block/{:height}₀ and https://api.blockchair.com/{:eth_chain}/dashboards/block/{:hash}₀ endpoints 1 + (0.1 (entity count - 1)) for https://api.blockchair.com/{:eth_chain}/dashboards/blocks/{:height}₀,...,{:height}ᵩ and https://api.blockchair.com/{:eth_chain}/dashboards/blocks/{:hash}₀,...,{:hash}ᵩ endpoints (e.g. it's 1 + (0.1 (10 - 1)) = 1.9 for requesting 10 blocks) Explore visualizations on our front-end:

https://blockchair.com/ethereum/block/2345678 Uncle info Endpoints:

https://api.blockchair.com/{:eth_chain}/dashboards/uncle/{:hash}₀ https://api.blockchair.com/{:eth_chain}/dashboards/uncle/{:hash}₀,...,{:hash}ᵩ (up to 10 uncles, comma-separated) Where:

{:eth_chain} can only be: ethereum or ethereum/testnet {:hash}ᵢ is the uncle hash (regex: /^0x[0-9a-f]{64}$/i) Output:

data contains an associative array where uncle hashes used as keys:

data.{:hash}ᵢ.uncle — information about the block (see Ethereum-like uncle object for the field descriptions) If there's no {:hash}ᵢ has been found in the database, there won't be such key.

Context keys:

context.results: number of found uncles context.limit: applied limit context.offset: applied offset context.state: best block height on the {:eth_chain} chain Example requests:

https://api.blockchair.com/ethereum/dashboards/uncle/0x5cd50096dbb856a6d1befa6de8f9c20decb299f375154427d90761dc0b101109 https://api.blockchair.com/ethereum/dashboards/uncles/0x5cd50096dbb856a6d1befa6de8f9c20decb299f375154427d90761dc0b101109,0xedc7a92c2a8aa140b0afa26db4ce8e05994a67d6fc3d736ddd77210b0ba565bb Example output:

https://api.blockchair.com/ethereum/dashboards/uncle/0x5cd50096dbb856a6d1befa6de8f9c20decb299f375154427d90761dc0b101109:

{ "data": { "0x5cd50096dbb856a6d1befa6de8f9c20decb299f375154427d90761dc0b101109": { "uncle": { "parent_block_id": 3, "index": 0, "id": 1, "hash": "0x5cd50096dbb856a6d1befa6de8f9c20decb299f375154427d90761dc0b101109", "date": "2015-07-30", "time": "2015-07-30 15:26:58", "size": 538, "miner": "0xc8ebccc5f5689fa8659d83713341e5ad19349448", "extra_data_hex": "59617465732052616e64616c6c202d2045746865724e696e6a61", "difficulty": 17171480576, "gas_used": 0, "gas_limit": 5000, "logs_bloom": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "mix_hash": "f8c94dfe61cf26dcdf8cffeda337cf6a903d65c449d7691a022837f6e2d99459", "nonce": "7545615996671392490", "receipts_root": "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "sha3_uncles": "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", "state_root": "1e6e030581fd1873b4784280859cd3b3c04aa85520f08c304cf5ee63d3935add", "transactions_root": "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "generation": "3750000000000000000", "generation_usd": 3.75 } } }, "context": { "code": 200, "results": 1, "state": 8792290, "state_layer_2": 8792279, ... } } Request cost formula:

1 for https://api.blockchair.com/{:eth_chain}/dashboards/uncle/{:hash}₀ endpoint 1 + (0.1 (entity count - 1)) for https://api.blockchair.com/{:eth_chain}/dashboards/uncles/{:hash}₀,...,{:hash}ᵩ endpoint (e.g. it's 1 + (0.1 (10 - 1)) = 1.9 for requesting 10 uncles) Explore visualizations on our front-end:

https://blockchair.com/ethereum/uncle/0x5cd50096dbb856a6d1befa6de8f9c20decb299f375154427d90761dc0b101109 Transaction info Endpoints:

https://api.blockchair.com/{:eth_chain}/dashboards/transaction/{:hash}₀ https://api.blockchair.com/{:eth_chain}/dashboards/transactions/{:hash}₀,...,{:hash}ᵩ (up to 10 transactions, comma-separated) Where:

{:eth_chain} can only be: ethereum or ethereum/testnet {:hashᵢ} is the transaction hash (regex: /^0x[0-9a-f]{64}$/i), also known as txid Possible options:

?erc_20=true shows information about ERC-20 token transfers in this transaction ?effects=true shows state changes for the transaction ?trace_mempool=true — this option tries to retrieve a list of internall calls for mempool transactions. In conjunction with &erc_20=true it also shows the list of ERC-20 transfers. This is an experimental feature. Please note that internal transfers may get invalidated when transaction gets confirmed. ?assets_in_usd=true — adds value_usd_now to all layer_2.erc_20 items yielding the current (not at the moment of the transaction!) USD value of tokens (null if the price is unknown) ?events=true — this option costs 1 additional request point to use. When enabled, it adds an array of event logs to the output. Every log contains topics, data, contract, log_index, and decoded_event. Depending on how much our API knows about the event signature, there are 3 detalization levels for decoded_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 the arguments array; Partial data: only name_with_types is known (example: Withdrawal(address, uint256)), arguments yields null; No data: decoded_event yields null. Output:

data contains an associative array where found transaction hashes are used as keys:

data.{:hash}ᵢ.transaction — information about the transaction (see Ethereum-like transaction object) data.{:hash}ᵢ.calls — the array of all calls made during the execution of the transaction (always null for mempool transactions and the last 6 blocks) Additional data:

data.{:hash}ᵢ.layer_2.erc_20 (only if ?erc_20=true is set) — an array of ERC-20 transfers (or an empty array if there are none), Each array element contains the following keys: token_address, token_name, token_symbol, token_decimals, sender, recipient, value — field descriptions are available here. data.{:hash}ᵢ.effects (only if ?effects=true is set) — yields all ETH ad ERC-20 balance changes for the transaction in a neat format. Keys are 0x0000000000000000000000000000000000000000 for ETH or token address for ERC-20's. Each array element contains the following keys: asset_type, asset_name, asset_symbol, asset_decimals, changes. changes is an array containing all the changes for the asset (keys are Ethereum addresses, and values are balance changes). Please note this option is experimental. Example request: https://api.blockchair.com/ethereum/dashboards/transaction/0xd9a24f57c713207c39c58e8ef3cb44e115fcc8bd0f85eb4ea82c78bc065a723f?effects=true&erc_20=true. If ?erc_20=true option is not used, ?effects=true won't yield ERC-20 data. In case transaction is confirmed on the blockchain, data.{:hash}ᵢ.transaction.block_id contains the block number it's included in. If the transaction is in the mempool, data.{:hash}ᵢ.transaction.block_id yields -1. If the transaction is neither present in the blockchain, nor in the mempool, there won't be data.{:hash}ᵢ key with data.

Context keys:

context.results — number of found transactions context.state — best block height on the {:eth_chain} chain (tip: it's possible to calculate the number of confirmation transaction received using this formula: confirmations = data.{:id}ᵢ.transaction.block_id - context.state + 1, or if data.{:id}ᵢ.transaction.block_id is -1 it's an unconfirmed transaction) context.state_layer_2 — the latest block number for which our engine has processed second layer (e.g. ERC-20) transactions. If it's less than the block id in your current environment (e.g. block id of a transaction you requested), it makes sense to repeat the request after some time to retrieve second layer data Example requests:

https://api.blockchair.com/ethereum/dashboards/transaction/0xc132a422513e39038269e091847319a14029feb42c66bd1424c57dfc0e4f8d08 https://api.blockchair.com/ethereum/dashboards/transactions/0xc132a422513e39038269e091847319a14029feb42c66bd1424c57dfc0e4f8d08,0x502bc6fe1f39738f0fd3223a2f125433b8ec7e80acd11ef514f6909536cc9e66 https://api.blockchair.com/ethereum/dashboards/transaction/0xc132a422513e39038269e091847319a14029feb42c66bd1424c57dfc0e4f8d08?erc_20=true https://api.blockchair.com/ethereum/dashboards/transaction/0x77025c5c7ff5eeb4bb164a4be84dd49192e12086cc321199f73888830c3ecd9e?erc_20=true&assets_in_usd=true Example output:

https://api.blockchair.com/ethereum/dashboards/transaction/0xc132a422513e39038269e091847319a14029feb42c66bd1424c57dfc0e4f8d08?erc_20=true:

{ "data": { "0xc132a422513e39038269e091847319a14029feb42c66bd1424c57dfc0e4f8d08": { "transaction": { "block_id": 5678901, "id": 5678901000028, "index": 28, "hash": "0xc132a422513e39038269e091847319a14029feb42c66bd1424c57dfc0e4f8d08", "date": "2018-05-26", "time": "2018-05-26 08:06:16", "failed": false, "type": "call_tree", "sender": "0xcd36cfb41b81cfbc97772e43fda1fab39e718869", "recipient": "0x0ebe7487f60d3a4eb084a23152890a1a65b2ad65", "call_count": 101, "value": "0", "value_usd": 0, "internal_value": "0", "internal_value_usd": 0, "fee": "16821205000000000", "fee_usd": 9.84774982859924, "gas_used": 3364241, "gas_limit": 4000000, "gas_price": 5000000000, "input_hex": "bb0a64b600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000a68920f6d3c996ac3c232e4e93914e9d7615073500000000000000000000000000000000000000000000000000000000000000640000000000000000000000004cb04ab4dfc1963814cb2b1da8475e5ada6065f3000000000000000000000000459ed852d2f296942d82e0b88f678c01d3dda946000000000000000000000000c00dbc71bce389816763773fc4e5b757fce9b184...", "nonce": "9092", "v": "1c", "r": "9b9a4da4aa5f0dfe141b6dad2ae6e41bcd63cab7f0ae9aef4f1752037b698526", "s": "20acc42c4941a1077fa4bb8ccd707e6865a61c60f4a77d1b19f86d2e0525fcde" }, "calls": [ { "block_id": 5678901, "transaction_id": 5678901000028, "transaction_hash": "0xc132a422513e39038269e091847319a14029feb42c66bd1424c57dfc0e4f8d08", "index": "0", "depth": 0, "date": "2018-05-26", "time": "2018-05-26 08:06:16", "failed": false, "fail_reason": null, "type": "call", "sender": "0xcd36cfb41b81cfbc97772e43fda1fab39e718869", "recipient": "0x0ebe7487f60d3a4eb084a23152890a1a65b2ad65", "child_call_count": 100, "value": "0", "value_usd": 0, "transferred": true, "input_hex": "bb0a64b600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000a68920f6d3c996ac3c232e4e93914e9d7615073500000000000000000000000000000000000000000000000000000000000000640000000000000000000000004cb04ab4dfc1963814cb2b1da8475e5ada6065f300...", "output_hex": "0000000000000000000000000000000000000000000000000000000000000001" }, { "block_id": 5678901, "transaction_id": 5678901000028, "transaction_hash": "0xc132a422513e39038269e091847319a14029feb42c66bd1424c57dfc0e4f8d08", "index": "0.0", "depth": 1, "date": "2018-05-26", "time": "2018-05-26 08:06:16", "failed": false, "fail_reason": null, "type": "call", "sender": "0x0ebe7487f60d3a4eb084a23152890a1a65b2ad65", "recipient": "0xa68920f6d3c996ac3c232e4e93914e9d76150735", "child_call_count": 0, "value": "0", "value_usd": 0, "transferred": true, "input_hex": "a9059cbb0000000000000000000000004cb04ab4dfc1963814cb2b1da8475e5ada6065f30000000000000000000000000000000000000000000000056bc75e2d63100000", "output_hex": "" }, ... ], "layer_2": { "erc_20": [ { "token_address": "0xa68920f6d3c996ac3c232e4e93914e9d76150735", "token_name": "", "token_symbol": "MST", "token_decimals": 18, "sender": "0x0ebe7487f60d3a4eb084a23152890a1a65b2ad65", "recipient": "0xa488cf9adcac170f28a046ba34a9885eb9f67033", "value": "100000000000000000000", "value_approximate": 100 }, { "token_address": "0xa68920f6d3c996ac3c232e4e93914e9d76150735", "token_name": "", "token_symbol": "MST", "token_decimals": 18, "sender": "0x0ebe7487f60d3a4eb084a23152890a1a65b2ad65", "recipient": "0x8cc1e8ffc3bf19c67c244e2bd8126fd29ec50e58", "value": "100000000000000000000", "value_approximate": 100 }, ... ] } } }, "context": { "code": 200 "results": 1, "state": 8791761, "state_layer_2": 8791746, ... } } Bonus endpoint:

https://api.blockchair.com/{:eth_chain}/dashboards/transaction/{:hash}₀/priority For mempool transactions shows priority (position) by gas_price over other transactions (out_of mempool transactions). position is null if the transaction is not in the mempool. eta_seconds returns an approximate time for the transaction to confirm (in seconds, exprimental). Cost: 1.

Request cost formula:

1 for https://api.blockchair.com/{:eth_chain}/dashboards/transaction/{:hash}₀ endpoint 1 + (0.1 (entity count - 1)) for https://api.blockchair.com/{:eth_chain}/dashboards/transactions/{:hash}₀,...,{:hash}ᵩ endpoint (e.g. it's 1 + (0.1 (10 - 1)) = 1.9 for requesting 10 transactions) Using ?erc_20=true adds 1 for each requested transaction Using ?effects=true adds 1 for each requested transaction Using ?events=true adds 1 for each requested transaction Explore visualization on our front-end:

https://blockchair.com/ethereum/transaction/0xd628780ba231cefe6a4f6c3da3b683b16f6151dc9753afd8773d3c2d74ac10c8 Address info Endpoint:

https://api.blockchair.com/{:eth_chain}/dashboards/address/{:address}₀ Where:

{:eth_chain} can only be: ethereum or ethereum/testnet {:address}ᵢ is an Ethereum address (either an account or a contract, the address should start with 0x) Possible options:

?limit={:call_limit} — limits the number of returned latest calls associated with the address. Default is 100. Maximum is 10000. ?offset={:call_offset} — allows to paginate calls. Default is 0, and the maximum is 1000000. ?erc_20={...} — returns information about ERC-20 token balances of the address (tokens are sorted by market capitalization descending): ?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 costs 1. ?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 call getBalance 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 costs 2. ?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 has getBalance function implemented, the correct balance will be returned. Using this option costs 0.75 + 0.01 for each contract checked (the cheapest option!) ?nonce=true — returns current account nonce (mempool transactions are taken in account) ?output=type — this option scrubs all the output data except for the address type (account or contract). This may be a very fast handy way to retrieve address type instead of requesting full address data ?assets_in_usd=true — adds asset_balance_usd to the output yielding the total USD value of all (excluding ETH) account assets (currently it's most popular ERC-20 tokens only), as well as balance_usd to all layer_2.erc_20 items. If the exchange rate for a particular token is unknown, returns null for this token. ?state=latest — if this option is enabled, balance will yield the confirmed balance, and the calls array won't include unconfirmed data ?contract_details=true — if applied, it adds additional data on the address if it's a contract. At the moment, it works with ERC-20 contracts only yielding token_name, token_symbol, and token_decimals. It also yields some additional fields for all contracts: creating_transaction_hash, creating_address, and creating_transaction_time. The additional cost of using this option is 0.5 Output:

In case the address has been found, data.{:address}₀ returns an array consisting of the following elements:

address address.type — address type (account — for a simple address, contract — for a contract) address.contract_code_hex — hex code of the contract at the moment of creation (for a contract), or null for an address address.contract_created — for contracts only — if the contact was indeed created then true, if not (i.e. with a failed create call) — false, for a simple address yields null address.contract_destroyed — for contracts only — if the contact was successfully destroyed (SELFDESCTRUCT) then true, if not — false; for a simple address yields null address.balance — exact address balance in wei (here and below values in wei returned as strings as they don't fit into integers) address.balance_usd — address balance in USD (float) address.received_approximate — total received in wei (approximately) † address.received_usd — total received in USD (approximately) † address.spent_approximate — total spent in wei (approximately) † address.spent_usd — total spent in USD (approximately) † address.fees_approximate — total spent in transaction fees in wei (approximately) † address.fees_usd — total spent in transaction fees in USD (approximately) † address.receiving_call_count — number of calls the address has received, where value transfer occured ‡ address.spending_call_count — number of calls that has been made by this address where value transfer occured ‡ address.call_count — total number of calls the address participated in (may be greater than receiving_call_count + spending_call_count, because it also takes failed calls into account) address.transaction_count — number of transactions the address participated in address.first_seen_receiving — timestamp (UTC) when the address received a successful incoming call for the first time address.last_seen_receiving — timestamp (UTC) when the address received a successful incoming call for the last time address.first_seen_spending — timestamp (UTC) when the address sent a successful call for the first time address.last_seen_spending — timestamp (UTC) when the address sent a successful call for the last time address.nonce — current account nonce (only if ?nonce=true is set, null otherwise) calls — an array of the latest address call, each element of an array containing the following elements: block_id, transaction_hash, index, time, sender, recipient, value, value_usd, transferred (see the description here) layer_2.erc_20 (only if ?erc_20=true is set) — the array of ERC-20 token balances of the address, each element contains the following fields: token_address, token_name, token_symbol, token_decimals, balance_approximate (number of tokens), balance (exact number of tokens in the smallest denomination). Note that balance ≈ balance_approximate * 10 ^ token_decimals. Additional data:

data.{:hash}ᵢ.layer_2.erc_20 (or an empty array if there are none), Each array element contains the following keys: token_address, token_name, token_symbol, token_decimals, sender, recipient, value — field descriptions are available here. context.results contains the number of found addresses (0 or 1).

Notes:

† — for these fields the wei value can be rounded. For a million of calls, the rounding error can be more than 1 ether. ‡ — only those calls are counted that fit the following condition: transferred = true, i.e. calls that do not change state (including staticcall, failed calls, etc.) are not taken into account Context keys:

context.results — number of found addresses context.limit — applied limit context.offset — applied offset context.state — best block height on the {:eth_chain} chain (tip: it's possible to calculate the number of confirmation block received using this formula: confirmations = block_id - context.state + 1) context.state_layer_2 — the latest block number for which our engine has processed second layer (e.g. ERC-20) transactions. If it's less than the block id in your current environment (e.g. block id of a transaction you requested), it makes sense to repeat the request after some time to retrieve second layer data Example requests:

https://api.blockchair.com/ethereum/dashboards/address/0x3282791d6fd713f1e94f4bfd565eaa78b3a0599d https://api.blockchair.com/ethereum/dashboards/address/0x3282791d6fd713f1e94f4bfd565eaa78b3a0599d?limit=1&offset=0 https://api.blockchair.com/ethereum/dashboards/address/0x3282791d6fd713f1e94f4bfd565eaa78b3a0599d?erc_20=true&nonce=true Example output:

https://api.blockchair.com/ethereum/dashboards/address/0x3282791d6fd713f1e94f4bfd565eaa78b3a0599d?erc_20=true:

{ "data": { "0x3282791d6fd713f1e94f4bfd565eaa78b3a0599d": { "address": { "type": "account", "contract_code_hex": null, "contract_created": null, "contract_destroyed": null, "balance": "1337000000000000001337", "balance_usd": 217088.92828369106, "received_approximate": "1337000000000000000000", "received_usd": 1337, "spent_approximate": "0", "spent_usd": 0, "fees_approximate": "0", "fees_usd": 0, "receiving_call_count": 2, "spending_call_count": 0, "call_count": 2, "transaction_count": 2, "first_seen_receiving": "2015-07-30 00:00:00", "last_seen_receiving": "2018-11-16 00:52:45", "first_seen_spending": null, "last_seen_spending": null }, "calls": [ { "block_id": 6712155, "transaction_hash": "0x0357352473d64df14fb987f33bbc9c3cd317fafe7c9498139c6a0529b551a017", "index": "0", "time": "2018-11-16 00:52:45", "sender": "0x0f4b92e13cc618bb9ff2120aec2ccd19f0d97b68", "recipient": "0x3282791d6fd713f1e94f4bfd565eaa78b3a0599d", "value": 1337, "value_usd": 0, "transferred": true }, { "block_id": 0, "transaction_hash": null, "index": "0", "time": "2015-07-30 00:00:00", "sender": null, "recipient": "0x3282791d6fd713f1e94f4bfd565eaa78b3a0599d", "value": 1.337e+21, "value_usd": 1337, "transferred": true } ], "layer_2": { "erc_20": [ { "token_address": "0x68e14bb5a45b9681327e16e528084b9d962c1a39", "token_name": "en", "token_symbol": "CAT", "token_decimals": 18, "balance_approximate": 5, "balance": "5000000000000000000" }, { "token_address": "0xd49ff13661451313ca1553fd6954bd1d9b6e02b9", "token_name": "ElectrifyAsia", "token_symbol": "ELEC", "token_decimals": 18, "balance_approximate": 13.6553835383397, "balance": "13655383538340000000" }, ... ] } } }, "context": { "code": 200, "limit": 100, "offset": 0, "results": 1, "state": 8805160, "state_layer_2": 8805148, ... } } Request cost formula:

1 + 1 for each of the options used: ?erc_20=true, ?nonce=true + 0.5 if the ?contract_details=true option is used Explore visualizations on our front-end:

https://blockchair.com/ethereum/address/0x3282791d6fd713f1e94f4bfd565eaa78b3a0599d Beginning September 10th we will start using a 3rd party provider to filter our traffic. Neither we nor them store access logs for longer than needed to filter out certain network attacks. To achieve 100% privacy we recommend using the Tor Browser. Our Privacy Policy. Blockchair logo About Blockchair FAQ Careers Terms of service Privacy policy TwitterTelegramGitHubLinkedIn © 2021 Blockchair No 3d party trackers Works without javascript 1.010-1489-g6c1ab4b6 Thu 16 Sep 2021 08:24:20 PM UTC