api.chain.metadap.io
Open in
urlscan Pro
103.252.72.217
Public Scan
URL:
https://api.chain.metadap.io/
Submission: On January 26 via api from US — Scanned from US
Submission: On January 26 via api from US — Scanned from US
Form analysis
0 forms found in the DOMText Content
false false 92% Blocks Indexed - We're indexing this chain right now. Some of the counts may be inaccurate. * APIs GraphQL RPC Eth RPC * MetaDAP Enterprise Mainnet Testnets MetaDAP Testnet Other Networks MetaDAP Devnet / Search / Search API DOCUMENTATION [ Base URL: ://api ] This API is provided for developers transitioning their applications from Etherscan to BlockScout. It supports GET and POST requests. Account ?module=account Logs ?module=logs Token ?module=token Stats ?module=stats Block ?module=block Contract ?module=contract Transaction ?module=transaction ACCOUNT ?MODULE=ACCOUNT MIMICS ETHEREUM JSON RPC'S ETH_GETBALANCE. RETURNS THE BALANCE AS OF THE PROVIDED BLOCK (DEFAULTS TO LATEST) ?module=account&action=eth_get_balance&address={addressHash} eth_get_balance GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: account ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: eth_get_balance ADDRESS *REQUIRED string (query) The address of the account. BLOCK string (query) Either the block number as a string, or one of latest, earliest or pending latest will be the latest balance in a *consensus* block. earliest will be the first recorded balance for the address. pending will be the latest balance in consensus *or* nonconsensus blocks. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "id": 1, "jsonrpc": "2.0", "result": "0x0234c8a3397aab58" } RESULT { id string example: "1" jsonrpc string example: "2.0" result string example: "767969" } GET BALANCE FOR ADDRESS. ALSO AVAILABLE THROUGH A GRAPHQL 'ADDRESSES' QUERY. IF THE BALANCE HASN'T BEEN UPDATED IN A LONG TIME, WE WILL DOUBLE CHECK WITH THE NODE TO FETCH THE ABSOLUTE LATEST BALANCE. THIS WILL NOT BE REFLECTED IN THE CURRENT REQUEST, BUT ONCE IT IS UPDATED, SUBSEQUENT REQUESTS WILL SHOW THE UPDATED BALANCE. IF YOU WANT TO KNOW WHETHER OR NOT WE ARE CHECKING FOR ANOTHER BALANCE, USE THE `BALANCEMULTI` ACTION. THAT CONTAINS A PROPERTY CALLED `STALE` THAT WILL LET YOU KNOW TO RECHECK THAT BALANCE IN THE NEAR FUTURE. ?module=account&action=balance&address={addressHash} balance GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: account ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: balance ADDRESS *REQUIRED string (query) A 160-bit code used for identifying Accounts. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": "663046792267785498951364", "status": "1" } RESULT { message string example: "OK" result wei example: "663046792267785498951364" status status enum: ["0", "1"] enum interpretation "0" error "1" ok } 200 error * Example Value { "message": "Invalid address hash", "result": null, "status": "0" } GET BALANCE FOR MULTIPLE ADDRESSES. ALSO AVAILABLE THROUGH A GRAPHQL 'ADDRESSES' QUERY. IF THE BALANCE HASN'T BEEN UPDATED IN A LONG TIME, WE WILL DOUBLE CHECK WITH THE NODE TO FETCH THE ABSOLUTE LATEST BALANCE. THIS WILL NOT BE REFLECTED IN THE CURRENT REQUEST, BUT ONCE IT IS UPDATED, SUBSEQUENT REQUESTS WILL SHOW THE UPDATED BALANCE. YOU CAN KNOW THAT THIS IS TAKING PLACE VIA THE `STALE` ATTRIBUTE, WHICH IS SET TO `TRUE` IF A NEW BALANCE IS BEING FETCHED. ?module=account&action=balancemulti&address={addressHash1,addressHash2,addressHash3} balancemulti GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: account ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: balancemulti ADDRESS *REQUIRED string (query) A 160-bit code used for identifying Accounts. Separate addresses by comma. Maximum of 20 addresses. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": [ { "account": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a", "balance": "40807168566070000000000", "stale": true }, { "account": "0x63a9975ba31b0b9626b34300f7f627147df1f526", "balance": "332567136222827062478", "stale": false }, { "account": "0x198ef1ec325a96cc354c7266a038be8b5c558f67", "balance": "185178830000000000", "stale": false } ], "status": "1" } RESULT { message string example: "OK" result array [AddressBalance] status status enum: ["0", "1"] enum interpretation "0" error "1" ok } ADDRESSBALANCE { address address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" balance wei example: "663046792267785498951364" stale boolean example: true } 200 error * Example Value { "message": "Invalid address hash", "result": null, "status": "0" } GET PENDING TRANSACTIONS BY ADDRESS. ?module=account&action=pendingtxlist&address={addressHash} pendingtxlist GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: account ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: pendingtxlist ADDRESS *REQUIRED string (query) A 160-bit code used for identifying Accounts. PAGE integer (query) A nonnegative integer that represents the page number to be used for pagination. 'offset' must be provided in conjunction. OFFSET integer (query) A nonnegative integer that represents the maximum number of records to return when paginating. 'page' must be provided in conjunction. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": [ { "contractAddress": "", "cumulativeGasUsed": "122207", "from": "0x3fb1cd2cd96c6d5c0b5eb3322d807b34482481d4", "gas": "122261", "gasPrice": "50000000000", "gasUsed": "122207", "hash": "0x98beb27135aa0a25650557005ad962919d6a278c4b3dde7f4f6a3a1e65aa746c", "input": "0xf00d4b5d000000000000000000000000036c8cecce8d8bbf0831d840d7f29c9e3ddefa63000000000000000000000000c5a96db085dda36ffbe390f455315d30d6d3dc52", "nonce": "0", "to": "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae", "value": "0" } ], "status": "1" } RESULT { message string example: "OK" result array [Transaction] status status enum: ["0", "1"] enum interpretation "0" error "1" ok } TRANSACTION { blockHash block hash example: "0xd3cabad6adab0b52eb632c386ea194036805713682c62cb589b5abcd76de2159" blockNumber block number example: "34092" confirmations confirmations example: "6005998" contractAddress address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" cumulativeGasUsed gas example: "122261" from address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" gas gas example: "122261" gasPrice wei example: "663046792267785498951364" gasUsed gas example: "122261" hash transaction hash example: "0x9c81f44c29ff0226f835cd0a8a2f2a7eca6db52a711f8211b566fd15d3e0e8d4" input input example: "0x797af627d02e23b68e085092cd0d47d6cfb54be025f37b5989c0264398f534c08af7dea9" isError error enum: ["0", "1"] enum interpretation "0" ok "1" error nonce nonce example: "0" timeStamp timestamp example: "1439232889" to address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" transactionIndex transaction index example: "0" txreceipt_status status enum: ["0", "1"] enum interpretation "0" error "1" ok value wei example: "663046792267785498951364" } 200 error * Example Value { "message": "No transactions found", "result": [], "status": "0" } GET TRANSACTIONS BY ADDRESS. UP TO A MAXIMUM OF 10,000 TRANSACTIONS. ALSO AVAILABLE THROUGH A GRAPHQL 'ADDRESS' QUERY. ?module=account&action=txlist&address={addressHash} txlist GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: account ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: txlist ADDRESS *REQUIRED string (query) A 160-bit code used for identifying Accounts. SORT string (query) A string representing the order by block number direction. Defaults to descending order. Available values: asc, desc START_BLOCK integer (query) A nonnegative integer that represents the starting block number. END_BLOCK integer (query) A nonnegative integer that represents the ending block number. PAGE integer (query) A nonnegative integer that represents the page number to be used for pagination. 'offset' must be provided in conjunction. OFFSET integer (query) A nonnegative integer that represents the maximum number of records to return when paginating. 'page' must be provided in conjunction. FILTER_BY string (query) A string representing the field to filter by. If none is given it returns transactions that match to, from, or contract address. Available values: to, from START_TIMESTAMP unix timestamp (query) Represents the starting block timestamp. END_TIMESTAMP unix timestamp (query) Represents the ending block timestamp. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": [ { "blockHash": "0x373d339e45a701447367d7b9c7cef84aab79c2b2714271b908cda0ab3ad0849b", "blockNumber": "65204", "confirmations": "5994246", "contractAddress": "", "cumulativeGasUsed": "122207", "from": "0x3fb1cd2cd96c6d5c0b5eb3322d807b34482481d4", "gas": "122261", "gasPrice": "50000000000", "gasUsed": "122207", "hash": "0x98beb27135aa0a25650557005ad962919d6a278c4b3dde7f4f6a3a1e65aa746c", "input": "0xf00d4b5d000000000000000000000000036c8cecce8d8bbf0831d840d7f29c9e3ddefa63000000000000000000000000c5a96db085dda36ffbe390f455315d30d6d3dc52", "isError": "0", "nonce": "0", "timeStamp": "1439232889", "to": "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae", "transactionIndex": "0", "txreceipt_status": "1", "value": "0" } ], "status": "1" } RESULT { message string example: "OK" result array [Transaction] status status enum: ["0", "1"] enum interpretation "0" error "1" ok } TRANSACTION { blockHash block hash example: "0xd3cabad6adab0b52eb632c386ea194036805713682c62cb589b5abcd76de2159" blockNumber block number example: "34092" confirmations confirmations example: "6005998" contractAddress address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" cumulativeGasUsed gas example: "122261" from address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" gas gas example: "122261" gasPrice wei example: "663046792267785498951364" gasUsed gas example: "122261" hash transaction hash example: "0x9c81f44c29ff0226f835cd0a8a2f2a7eca6db52a711f8211b566fd15d3e0e8d4" input input example: "0x797af627d02e23b68e085092cd0d47d6cfb54be025f37b5989c0264398f534c08af7dea9" isError error enum: ["0", "1"] enum interpretation "0" ok "1" error nonce nonce example: "0" timeStamp timestamp example: "1439232889" to address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" transactionIndex transaction index example: "0" txreceipt_status status enum: ["0", "1"] enum interpretation "0" error "1" ok value wei example: "663046792267785498951364" } 200 error * Example Value { "message": "No transactions found", "result": [], "status": "0" } GET INTERNAL TRANSACTIONS BY TRANSACTION OR ADDRESS HASH. UP TO A MAXIMUM OF 10,000 INTERNAL TRANSACTIONS. ALSO AVAILABLE THROUGH A GRAPHQL 'TRANSACTION' QUERY. ?module=account&action=txlistinternal&txhash={transactionHash} txlistinternal GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: account ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: txlistinternal TXHASH *REQUIRED string (query) Transaction hash. Hash of contents of the transaction. A transaction hash or address hash is required. ADDRESS string (query) A 160-bit code used for identifying accounts. An address hash or transaction hash is required. SORT string (query) A string representing the order by block number direction. Defaults to ascending order. Available values: asc, desc. WARNING: Only available if 'address' is provided. START_BLOCK integer (query) A nonnegative integer that represents the starting block number. WARNING: Only available if 'address' is provided. END_BLOCK integer (query) A nonnegative integer that represents the ending block number. WARNING: Only available if 'address' is provided. PAGE integer (query) A nonnegative integer that represents the page number to be used for pagination. 'offset' must be provided in conjunction. WARNING: Only available if 'address' is provided. OFFSET integer (query) A nonnegative integer that represents the maximum number of records to return when paginating. 'page' must be provided in conjunction. WARNING: Only available if 'address' is provided. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": [ { "blockNumber": "6153702", "callType": "delegatecall", "contractAddress": "0x883103875d905c11f9ac7dacbfc16deb39655361", "errCode": "", "from": "0x2ca1e3f250f56f1761b9a52bc42db53986085eff", "gas": "814937", "gasUsed": "536262", "index": "0", "input": "", "isError": "0", "timeStamp": "1534362606", "to": "", "transactionHash": "0xd65b788c610949704a5f9aac2228c7c777434dfe11c863a12306f57fcbd8cdbb", "type": "call", "value": "5488334153118633" } ], "status": "1" } RESULT { message string example: "OK" result array [InternalTransaction] status status enum: ["0", "1"] enum interpretation "0" error "1" ok } INTERNALTRANSACTION { blockNumber block number example: "34092" callType type example: "delegatecall" contractAddress address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" errCode string example: "Out of gas" from address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" gas gas example: "122261" gasUsed gas example: "122261" input input example: "0x797af627d02e23b68e085092cd0d47d6cfb54be025f37b5989c0264398f534c08af7dea9" isError error enum: ["0", "1"] enum interpretation "0" ok "1" rejected/cancelled timeStamp timestamp example: "1439232889" to address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" type type example: "create" value wei example: "663046792267785498951364" } 200 error * Example Value { "message": "No internal transactions found", "result": [], "status": "0" } GET TOKEN TRANSFER EVENTS BY ADDRESS. UP TO A MAXIMUM OF 10,000 TOKEN TRANSFER EVENTS. ALSO AVAILABLE THROUGH A GRAPHQL 'TOKEN_TRANSFERS' QUERY. ?module=account&action=tokentx&address={addressHash} tokentx GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: account ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: tokentx ADDRESS *REQUIRED string (query) A 160-bit code used for identifying accounts. CONTRACTADDRESS string (query) A 160-bit code used for identifying contracts. SORT string (query) A string representing the order by block number direction. Defaults to ascending order. Available values: asc, desc START_BLOCK integer (query) A nonnegative integer that represents the starting block number. END_BLOCK integer (query) A nonnegative integer that represents the ending block number. PAGE integer (query) A nonnegative integer that represents the page number to be used for pagination. 'offset' must be provided in conjunction. OFFSET integer (query) A nonnegative integer that represents the maximum number of records to return when paginating. 'page' must be provided in conjunction. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": [ { "blockHash": "0x6169c5dc05d0051564ba3eae8ebfbdefda640c5f5ffc095846b8aed0b44f64ea", "blockNumber": "5997843", "confirmations": "199384", "contractAddress": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2", "cumulativeGasUsed": "1043649", "from": "0x4e83362442b8d1bec281594cea3050c8eb01311c", "gas": "44758", "gasPrice": "7000000000", "gasUsed": "37298", "hash": "0xd65b788c610949704a5f9aac2228c7c777434dfe11c863a12306f57fcbd8cdbb", "input": "0xa9059cbb00000000000000000000000021e21ba085289f81a86921de890eed30f1ad23750000000000000000000000000000000000000000000000008ac7230489e80000", "logIndex": "0", "nonce": "765", "timeStamp": "1532086946", "to": "0x21e21ba085289f81a86921de890eed30f1ad2375", "tokenDecimal": "18", "tokenName": "Maker", "tokenSymbol": "MKR", "transactionIndex": "27", "value": "10000000000000000000" } ], "status": "1" } RESULT { message string example: "OK" result array [TokenTransfer] status status enum: ["0", "1"] enum interpretation "0" error "1" ok } TOKENTRANSFER { blockHash block hash example: "0xd3cabad6adab0b52eb632c386ea194036805713682c62cb589b5abcd76de2159" blockNumber block number example: "34092" confirmations confirmations example: "6005998" contractAddress address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" cumulativeGasUsed gas example: "122261" from address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" gas gas example: "122261" gasPrice wei example: "663046792267785498951364" gasUsed gas example: "122261" hash transaction hash example: "0x9c81f44c29ff0226f835cd0a8a2f2a7eca6db52a711f8211b566fd15d3e0e8d4" input input example: "0x797af627d02e23b68e085092cd0d47d6cfb54be025f37b5989c0264398f534c08af7dea9" nonce nonce example: "0" timeStamp timestamp example: "1439232889" to address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" tokenDecimal integer example: "18" tokenID integer example: "0" tokenIDs array [Token ID] tokenName string example: "Some Token Name" tokenSymbol string example: "SYMBOL" transactionIndex transaction index example: "0" value integer example: "663046792267785498951364" values array [Transferred amount] } 200 error * Example Value { "message": "No token transfers found", "result": [], "status": "0" } GET TOKEN ACCOUNT BALANCE FOR TOKEN CONTRACT ADDRESS. ?module=account&action=tokenbalance&contractaddress={contractAddressHash}&address={addressHash} tokenbalance GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: account ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: tokenbalance CONTRACTADDRESS *REQUIRED string (query) A 160-bit code used for identifying contracts. ADDRESS *REQUIRED string (query) A 160-bit code used for identifying accounts. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": "135499", "status": "1" } RESULT { message string example: "OK" result integer example: "135499" status status enum: ["0", "1"] enum interpretation "0" error "1" ok } 200 error * Example Value { "message": "Invalid address format", "result": null, "status": "0" } GET LIST OF TOKENS OWNED BY ADDRESS. ?module=account&action=tokenlist&address={addressHash} tokenlist GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: account ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: tokenlist ADDRESS *REQUIRED string (query) A 160-bit code used for identifying accounts. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": [ { "balance": "135499", "contractAddress": "0x0000000000000000000000000000000000000000", "decimals": "18", "name": "Example Token", "symbol": "ET", "type": "ERC-20" }, { "balance": "1", "contractAddress": "0x0000000000000000000000000000000000000001", "decimals": "18", "name": "Example ERC-721 Token", "symbol": "ET7", "type": "ERC-721" } ], "status": "1" } RESULT { message string example: "OK" result array [TokenBalance] status status enum: ["0", "1"] enum interpretation "0" error "1" ok } TOKENBALANCE { balance integer example: "135499" contractAddress address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" decimals integer example: "18" name string example: "Some Token Name" symbol string example: "SYMBOL" } 200 error * Example Value { "message": "Invalid address format", "result": null, "status": "0" } GET LIST OF BLOCKS MINED BY ADDRESS. ?module=account&action=getminedblocks&address={addressHash} getminedblocks GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: account ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: getminedblocks ADDRESS *REQUIRED string (query) A 160-bit code used for identifying accounts. PAGE integer (query) A nonnegative integer that represents the page number to be used for pagination. 'offset' must be provided in conjunction. OFFSET integer (query) A nonnegative integer that represents the maximum number of records to return when paginating. 'page' must be provided in conjunction. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": [ { "blockNumber": "3462296", "blockReward": "5194770940000000000", "timeStamp": "1491118514" } ], "status": "1" } RESULT { message string example: "OK" result array [Block] status status enum: ["0", "1"] enum interpretation "0" error "1" ok } BLOCK { blockNumber block number example: "34092" timeStamp timestamp example: "1480072029" } 200 error * Example Value { "message": "No blocks found", "result": [], "status": "0" } GET A LIST OF ACCOUNTS AND THEIR BALANCES, SORTED ASCENDING BY THE TIME THEY WERE FIRST SEEN BY THE EXPLORER. ?module=account&action=listaccounts listaccounts GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: account ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: listaccounts PAGE integer (query) A nonnegative integer that represents the page number to be used for pagination. 'offset' must be provided in conjunction. OFFSET integer (query) A nonnegative integer that represents the maximum number of records to return when paginating. 'page' must be provided in conjunction. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": [ { "address": "0x0000000000000000000000000000000000000000", "balance": "135499" } ], "status": "1" } RESULT { message string example: "OK" result array [Account] status status enum: ["0", "1"] enum interpretation "0" error "1" ok } ACCOUNT { address address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" balance wei example: "663046792267785498951364" } LOGS ?MODULE=LOGS GET EVENT LOGS FOR AN ADDRESS AND/OR TOPICS. UP TO A MAXIMUM OF 1,000 EVENT LOGS. ?module=logs&action=getLogs&fromBlock={blockNumber}&toBlock={blockNumber}&address={addressHash}&topic0={firstTopic} getLogs GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: logs ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: getLogs FROMBLOCK *REQUIRED integer (query) A nonnegative integer that represents the starting block number. The use of 'latest' is also supported. TOBLOCK *REQUIRED integer (query) A nonnegative integer that represents the ending block number. The use of 'latest' is also supported. ADDRESS *REQUIRED string (query) A 160-bit code used for identifying contracts. An address and/or topic{x} is required. TOPIC0 *REQUIRED string (query) A string equal to the first topic. A topic{x} and/or address is required. TOPIC1 string (query) A string equal to the second topic. A topic{x} and/or address is required. TOPIC2 string (query) A string equal to the third topic. A topic{x} and/or address is required. TOPIC3 string (query) A string equal to the fourth topic. A topic{x} and/or address is required. TOPIC0_1_OPR string (query) A string representing the and|or operator for topic0 and topic1. Required if topic0 and topic1 is used. Available values: and, or TOPIC0_2_OPR string (query) A string representing the and|or operator for topic0 and topic2. Required if topic0 and topic2 is used. Available values: and, or TOPIC0_3_OPR string (query) A string representing the and|or operator for topic0 and topic3. Required if topic0 and topic3 is used. Available values: and, or TOPIC1_2_OPR string (query) A string representing the and|or operator for topic1 and topic2. Required if topic1 and topic2 is used. Available values: and, or TOPIC1_3_OPR string (query) A string representing the and|or operator for topic1 and topic3. Required if topic1 and topic3 is used. Available values: and, or TOPIC2_3_OPR string (query) A string representing the and|or operator for topic2 and topic3. Required if topic2 and topic3 is used. Available values: and, or Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": [ { "address": "0x33990122638b9132ca29c723bdf037f1a891a70c", "blockNumber": "0x5c958", "data": "0x", "gasPrice": "0xba43b7400", "gasUsed": "0x10682", "logIndex": "0x", "timeStamp": "0x561d688c", "topics": [ "0xf63780e752c6a54a94fc52715dbc5518a3b4c3c2833d301a204226548a2a8545", "0x72657075746174696f6e00000000000000000000000000000000000000000000", "0x000000000000000000000000d9b2f59f3b5c7b3c67047d2f03c3e8052470be92" ], "transactionHash": "0x0b03498648ae2da924f961dda00dc6bb0a8df15519262b7e012b7d67f4bb7e83", "transactionIndex": "0x" } ], "status": "1" } RESULT { message string example: "OK" result array [Log] status status enum: ["0", "1"] enum interpretation "0" error "1" ok } LOG { address address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" blockNumber block number example: "0x5c958" data data example: "0x" gasPrice wei example: "0xba43b7400" gasUsed gas example: "0x10682" logIndex hexadecimal example: "0x" timeStamp timestamp example: "0x561d688c" topics topics example: ["0xf63780e752c6a54a94fc52715dbc5518a3b4c3c2833d301a204226548a2a8545"] transactionHash transaction hash example: "0x9c81f44c29ff0226f835cd0a8a2f2a7eca6db52a711f8211b566fd15d3e0e8d4" transactionIndex hexadecimal example: "0x" } 200 error * Example Value { "message": "Invalid address format", "result": null, "status": "0" } TOKEN ?MODULE=TOKEN GET ERC-20 OR ERC-721 TOKEN BY CONTRACT ADDRESS. ?module=token&action=getToken&contractaddress={contractAddressHash} getToken GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: token ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: getToken CONTRACTADDRESS *REQUIRED string (query) A 160-bit code used for identifying contracts. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": { "cataloged": true, "contractAddress": "0x0000000000000000000000000000000000000000", "decimals": "18", "name": "Example Token", "symbol": "ET", "totalSupply": "1000000000", "type": "ERC-20" }, "status": "1" } RESULT { message string example: "OK" result Token status status enum: ["0", "1"] enum interpretation "0" error "1" ok } TOKEN { cataloged boolean example: true contractAddress address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" decimals integer example: "18" name string example: "Some Token Name" symbol string example: "SYMBOL" totalSupply integer example: "1000000000" type token type enum: ["ERC-20", "ERC-721"] enum interpretation "ERC-20" ERC-20 token standard "ERC-721" ERC-721 token standard } 200 error * Example Value { "message": "Invalid contract address format", "result": null, "status": "0" } GET TOKEN HOLDERS BY CONTRACT ADDRESS. ?module=token&action=getTokenHolders&contractaddress={contractAddressHash} getTokenHolders GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: token ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: getTokenHolders CONTRACTADDRESS *REQUIRED string (query) A 160-bit code used for identifying contracts. PAGE integer (query) A nonnegative integer that represents the page number to be used for pagination. 'offset' must be provided in conjunction. OFFSET integer (query) A nonnegative integer that represents the maximum number of records to return when paginating. 'page' must be provided in conjunction. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": [ { "address": "0x0000000000000000000000000000000000000000", "value": "965208500001258757122850" } ], "status": "1" } RESULT { message string example: "OK" result array [Token holder Detail] status status enum: ["0", "1"] enum interpretation "0" error "1" ok } TOKEN HOLDER DETAIL { address address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" value value example: "1000000000000000000" } 200 error * Example Value { "message": "Invalid contract address format", "result": null, "status": "0" } STATS ?MODULE=STATS GET ERC-20 OR ERC-721 TOKEN TOTAL SUPPLY BY CONTRACT ADDRESS. ?module=stats&action=tokensupply&contractaddress={contractAddressHash} tokensupply GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: stats ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: tokensupply CONTRACTADDRESS *REQUIRED string (query) A 160-bit code used for identifying contracts. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": "21265524714464", "status": "1" } RESULT { message string example: "OK" result integer example: "1000000000" status status enum: ["0", "1"] enum interpretation "0" error "1" ok } 200 error * Example Value { "message": "Invalid contract address format", "result": null, "status": "0" } GET TOTAL SUPPLY IN WEI FROM EXCHANGE. ?module=stats&action=ethsupplyexchange ethsupplyexchange GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: stats ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: ethsupplyexchange Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": "101959776311500000000000000", "status": "1" } RESULT { message string example: "OK" result integer example: "101959776311500000000000000" description: The total supply. status status enum: ["0", "1"] enum interpretation "0" error "1" ok } GET TOTAL SUPPLY IN WEI FROM DB. ?module=stats&action=ethsupply ethsupply GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: stats ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: ethsupply Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": "101959776311500000000000000", "status": "1" } RESULT { message string example: "OK" result integer example: "101959776311500000000000000" description: The total supply in Wei from DB. status status enum: ["0", "1"] enum interpretation "0" error "1" ok } GET TOTAL COIN SUPPLY FROM DB MINUS BURNT NUMBER. ?module=stats&action=coinsupply coinsupply GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: stats ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: coinsupply Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model 101959776.3115 RESULT { result integer example: 101959776.3115 description: The total supply from DB minus burnt number in coin dimension. } GET LATEST PRICE OF NATIVE COIN IN USD AND BTC. ?module=stats&action=coinprice coinprice GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: stats ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: coinprice Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": { "coin_btc": "0.03246", "coin_btc_timestamp": "1537212510", "coin_usd": "204", "coin_usd_timestamp": "1537212513" }, "status": "1" } RESULT { message string example: "OK" result CoinPrice status status enum: ["0", "1"] enum interpretation "0" error "1" ok } COINPRICE { coin_btc coin_btc example: "0.03161" coin_btc_timestamp timestamp example: "1537234460" coin_usd coin_usd example: "197.57" coin_usd_timestamp timestamp example: "1537234460" } GETS TOTAL TRANSACTION FEES IN WEI ARE PAID BY USERS TO VALIDATORS PER DAY. ?module=stats&action=totalfees&date={date} totalfees GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: stats ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: totalfees DATE *REQUIRED string (query) day in ISO 8601 format (yyyy-mm-dd) Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": { "total_fees": "75411956011480008034" }, "status": "1" } RESULT { message string example: "OK" result TotalFees status status enum: ["0", "1"] enum interpretation "0" error "1" ok } TOTALFEES { total_fees total_fees example: "75411956011480008034" } 200 error * Example Value { "message": "An incorrect input date provided. It should be in ISO 8601 format (yyyy-mm-dd).", "result": null, "status": "0" } BLOCK ?MODULE=BLOCK GET BLOCK REWARD BY BLOCK NUMBER. ?module=block&action=getblockreward&blockno={blockNumber} getblockreward GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: block ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: getblockreward BLOCKNO *REQUIRED integer (query) A nonnegative integer that represents the block number. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": { "blockMiner": "0x13a06d3dfe21e0db5c016c03ea7d2509f7f8d1e3", "blockNumber": "2165403", "blockReward": "5314181600000000000", "timeStamp": "1472533979", "uncleInclusionReward": null, "uncles": null }, "status": "1" } RESULT { message string example: "OK" result BlockReward status status enum: ["0", "1"] enum interpretation "0" error "1" ok } BLOCKREWARD { blockMiner address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" blockNumber block number example: "34092" blockReward block reward example: "5003251945421042780" timeStamp timestamp example: "1480072029" uncleInclusionReward null uncles null } 200 error * Example Value { "message": "Invalid block number", "result": null, "status": "0" } GET BLOCK NUMBER BY TIMESTAMP. ?module=block&action=getblocknobytime×tamp={blockTimestamp}&closest={before/after} getblocknobytime GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: block ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: getblocknobytime TIMESTAMP *REQUIRED integer (query) A nonnegative integer that represents the block timestamp (Unix timestamp in seconds). CLOSEST *REQUIRED string (query) Direction to find the closest block number to given timestamp. Available values: before/after. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": { "blockNumber": "2165403" }, "status": "1" } RESULT { message string example: "OK" result BlockNo status status enum: ["0", "1"] enum interpretation "0" error "1" ok } BLOCKNO { blockNumber block number example: "34092" } 200 error * Example Value { "message": "Invalid params", "result": null, "status": "0" } MIMICS ETHEREUM JSON RPC'S ETH_BLOCKNUMBER. RETURNS THE LATEST BLOCK NUMBER ?module=block&action=eth_block_number eth_block_number GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: block ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: eth_block_number ID integer (query) A nonnegative integer that represents the json rpc request id. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful request * Example Value * Model { "id": 1, "jsonrpc": "2.0", "result": "0xb33bf1" } RESULT { id string example: "1" jsonrpc string example: "2.0" result string example: "767969" } CONTRACT ?MODULE=CONTRACT GET A LIST OF CONTRACTS, SORTED ASCENDING BY THE TIME THEY WERE FIRST SEEN BY THE EXPLORER. IF YOU PROVIDE THE FILTERS `NOT_DECOMPILED`(`4`) OR `NOT_VERIFIED(4)` THE RESULTS WILL NOT BE SORTED FOR PERFORMANCE REASONS. ?module=contract&action=listcontracts listcontracts GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: contract ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: listcontracts PAGE integer (query) A nonnegative integer that represents the page number to be used for pagination. 'offset' must be provided in conjunction. OFFSET integer (query) A nonnegative integer that represents the maximum number of records to return when paginating. 'page' must be provided in conjunction. FILTER string (query) verified|decompiled|unverified|not_decompiled|empty, or 1|2|3|4|5 respectively. This requests only contracts with that status. NOT_DECOMPILED_WITH_VERSION string (query) Ensures that none of the returned contracts were decompiled with the provided version. Ignored unless filtering for decompiled contracts. VERIFIED_AT_START_TIMESTAMP unix timestamp (query) Represents the starting timestamp when contracts verified. Taking into account only with `verified` filter. VERIFIED_AT_END_TIMESTAMP unix timestamp (query) Represents the ending timestamp when contracts verified. Taking into account only with `verified` filter. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": [ { "ABI": "[{\n\"type\":\"event\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}],\n\"name\":\"Event\"\n}, {\n\"type\":\"event\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}],\n\"name\":\"Event2\"\n}, {\n\"type\":\"function\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\"}],\n\"name\":\"foo\",\n\"outputs\": []\n}]\n", "CompilerVersion": "v0.2.1-2016-01-30-91a6b35", "ContractName": "Test", "OptimizationUsed": "1", "SourceCode": "pragma solidity >0.4.24;\n\ncontract Test {\nconstructor() public { b = hex\"12345678901234567890123456789012\"; }\nevent Event(uint indexed a, bytes32 b);\nevent Event2(uint indexed a, bytes32 b);\nfunction foo(uint a) public { emit Event(a, b); }\nbytes32 b;\n}\n" } ], "status": "1" } RESULT { message string example: "OK" result array [Contract] status status enum: ["0", "1"] enum interpretation "0" error "1" ok } CONTRACT { ABI ABI example: "[{ \"type\":\"event\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}], \"name\":\"Event\" }, { \"type\":\"event\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}], \"name\":\"Event2\" }, { \"type\":\"function\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\"}], \"name\":\"foo\", \"outputs\": [] }]" Address address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" ContractName string example: "Some name" OptimizationUsed optimization used enum: ["0", "1"] enum interpretation "0" false "1" true } GET ABI FOR VERIFIED CONTRACT. ALSO AVAILABLE THROUGH A GRAPHQL 'ADDRESSES' QUERY. ?module=contract&action=getabi&address={addressHash} getabi GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: contract ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: getabi ADDRESS *REQUIRED string (query) A 160-bit code used for identifying contracts. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": "[{\"constant\":false,\"inputs\":[{\"name\":\"voucher_token\",\"type\":\"bytes32\"}],\"name\":\"burn\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"voucher_token\",\"type\":\"bytes32\"}],\"name\":\"is_expired\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"voucher_token\",\"type\":\"bytes32\"}],\"name\":\"is_burnt\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"voucher_token\",\"type\":\"bytes32\"},{\"name\":\"_lifetime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]", "status": "1" } RESULT { message string example: "OK" result abi status status enum: ["0", "1"] enum interpretation "0" error "1" ok } 200 error * Example Value { "message": "Contract source code not verified", "result": null, "status": "0" } GET CONTRACT SOURCE CODE FOR VERIFIED CONTRACT. ALSO AVAILABLE THROUGH A GRAPHQL 'ADDRESSES' QUERY. ?module=contract&action=getsourcecode&address={addressHash} getsourcecode GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: contract ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: getsourcecode ADDRESS *REQUIRED string (query) A 160-bit code used for identifying contracts. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": { "ABI": "[{\n\"type\":\"event\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}],\n\"name\":\"Event\"\n}, {\n\"type\":\"event\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}],\n\"name\":\"Event2\"\n}, {\n\"type\":\"function\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\"}],\n\"name\":\"foo\",\n\"outputs\": []\n}]\n", "CompilerVersion": "v0.2.1-2016-01-30-91a6b35", "ContractName": "Test", "FileName": "{sourcify path or empty}", "ImplementationAddress": "0x000000000000000000000000000000000000000e", "IsProxy": "true", "OptimizationUsed": "1", "SourceCode": "pragma solidity >0.4.24;\n\ncontract Test {\nconstructor() public { b = hex\"12345678901234567890123456789012\"; }\nevent Event(uint indexed a, bytes32 b);\nevent Event2(uint indexed a, bytes32 b);\nfunction foo(uint a) public { emit Event(a, b); }\nbytes32 b;\n}\n" }, "status": "1" } RESULT { message string example: "OK" result array [Contract] status status enum: ["0", "1"] enum interpretation "0" error "1" ok } CONTRACT { ABI ABI example: "[{ \"type\":\"event\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}], \"name\":\"Event\" }, { \"type\":\"event\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}], \"name\":\"Event2\" }, { \"type\":\"function\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\"}], \"name\":\"foo\", \"outputs\": [] }]" Address address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" ContractName string example: "Some name" DecompiledSourceCode contract decompiled source code example: const name() = 'CryptoKitties' const GEN0_STARTING_PRICE() = 10^16 const GEN0_AUCTION_DURATION() = 86400 const GEN0_CREATION_LIMIT() = 45000 const symbol() = 'CK' const PROMO_CREATION_LIMIT() = 5000 def storage: ceoAddress is addr # mask(160, 0) at storage #0 cfoAddress is addr # mask(160, 0) at storage #1 stor1.768 is uint16 => uint256 # mask(256, 768) at storage #1 cooAddress is addr # mask(160, 0) at storage #2 stor2.0 is uint256 => uint256 # mask(256, 0) at storage #2 paused is uint8 # mask(8, 160) at storage #2 stor2.256 is uint256 => uint256 # mask(256, 256) at storage #2 stor3 is uint32 # ...<continues> DecompilerVersion decompiler version example: decompiler.version OptimizationUsed optimization used enum: ["0", "1"] enum interpretation "0" false "1" true SourceCode contract source code example: "pragma solidity >0.4.24; contract Test { constructor() public { b = hex"12345678901234567890123456789012"; } event Event(uint indexed a, bytes32 b); event Event2(uint indexed a, bytes32 b); function foo(uint a) public { emit Event(a, b); } bytes32 b; }" } 200 error * Example Value { "message": "Invalid address hash", "result": null, "status": "0" } VERIFY A CONTRACT WITH ITS SOURCE CODE AND CONTRACT CREATION INFORMATION. CURL POST EXAMPLE: CURL -D '{"ADDRESSHASH":"0XC63BB6555C90846AFACAC08A0F0AA5CAFCB382A1","COMPILERVERSION":"V0.5.4+COMMIT.9549D8FF", "CONTRACTSOURCECODE":"PRAGMA SOLIDITY ^0.5.4; CONTRACT TEST { }","NAME":"TEST","OPTIMIZATION":FALSE}' -H "CONTENT-TYPE: APPLICATION/JSON" -X POST "HTTPS://BLOCKSCOUT.COM/POA/SOKOL/API?MODULE=CONTRACT&ACTION=VERIFY" ?module=contract&action=verify&addressHash={addressHash}&name={name}&compilerVersion={compilerVersion}&optimization={false}&contractSourceCode={contractSourceCode} verify GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: contract ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: verify ADDRESSHASH *REQUIRED string (query) The address of the contract. NAME *REQUIRED string (query) The name of the contract. COMPILERVERSION *REQUIRED string (query) The compiler version for the contract. OPTIMIZATION *REQUIRED boolean (query) Whether or not compiler optimizations were enabled. CONTRACTSOURCECODE *REQUIRED string (query) The source code of the contract. CONSTRUCTORARGUMENTS string (query) The constructor argument data provided. AUTODETECTCONSTRUCTORARGUMENTS boolean (query) Whether or not automatically detect constructor argument. EVMVERSION string (query) The EVM version for the contract. OPTIMIZATIONRUNS integer (query) The number of optimization runs used during compilation LIBRARY1NAME string (query) The name of the first library used. LIBRARY1ADDRESS string (query) The address of the first library used. LIBRARY2NAME string (query) The name of the second library used. LIBRARY2ADDRESS string (query) The address of the second library used. LIBRARY3NAME string (query) The name of the third library used. LIBRARY3ADDRESS string (query) The address of the third library used. LIBRARY4NAME string (query) The name of the fourth library used. LIBRARY4ADDRESS string (query) The address of the fourth library used. LIBRARY5NAME string (query) The name of the fourth library used. LIBRARY5ADDRESS string (query) The address of the fourth library used. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": { "ABI": "[{\n\"type\":\"event\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}],\n\"name\":\"Event\"\n}, {\n\"type\":\"event\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}],\n\"name\":\"Event2\"\n}, {\n\"type\":\"function\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\"}],\n\"name\":\"foo\",\n\"outputs\": []\n}]\n", "CompilerVersion": "v0.2.1-2016-01-30-91a6b35", "ContractName": "Test", "ImplementationAddress": "0x000000000000000000000000000000000000000e", "IsProxy": "true", "OptimizationUsed": "1", "SourceCode": "pragma solidity >0.4.24;\n\ncontract Test {\nconstructor() public { b = hex\"12345678901234567890123456789012\"; }\nevent Event(uint indexed a, bytes32 b);\nevent Event2(uint indexed a, bytes32 b);\nfunction foo(uint a) public { emit Event(a, b); }\nbytes32 b;\n}\n" }, "status": "1" } CONTRACT { ABI ABI example: "[{ \"type\":\"event\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}], \"name\":\"Event\" }, { \"type\":\"event\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}], \"name\":\"Event2\" }, { \"type\":\"function\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\"}], \"name\":\"foo\", \"outputs\": [] }]" Address address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" ContractName string example: "Some name" OptimizationUsed optimization used enum: ["0", "1"] enum interpretation "0" false "1" true } 200 error * Example Value { "message": "There was an error verifying the contract.", "result": null, "status": "0" } VERIFY A CONTRACT THROUGH SOURCIFY. A) IF SMART-CONTRACT ALREADY VERIFIED ON SOURCIFY, IT WILL AUTOMATICALLY FETCH THE DATA FROM THE REPO B) OTHERWISE YOU HAVE TO UPLOAD SOURCE FILES AND JSON METADATA FILE(S). POST BODY EXAMPLE: --6E1E4C11657C62DC1E4349D024DE9E28 CONTENT-DISPOSITION: FORM-DATA; NAME="ADDRESSHASH" 0XB77B7443E0F32F1FEBF0BE0FBD7124D135D0A525 --6E1E4C11657C62DC1E4349D024DE9E28 CONTENT-DISPOSITION: FORM-DATA; NAME="FILES[0]"; FILENAME="CONTRACT.SOL" CONTENT-TYPE: APPLICATION/JSON ...SOURCE CODE... --6E1E4C11657C62DC1E4349D024DE9E28 CONTENT-DISPOSITION: FORM-DATA; NAME="FILES[1]"; FILENAME="METADATA.JSON" CONTENT-TYPE: APPLICATION/JSON ...JSON METADATA... --6E1E4C11657C62DC1E4349D024DE9E28-- ?module=contract&action=verify_via_sourcify&addressHash={addressHash} verify_via_sourcify GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: contract ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: verify_via_sourcify ADDRESSHASH *REQUIRED string (query) The address of the contract. FILES file[] (query) Array with sources and metadata files Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": { "ABI": "[{\n\"type\":\"event\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}],\n\"name\":\"Event\"\n}, {\n\"type\":\"event\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}],\n\"name\":\"Event2\"\n}, {\n\"type\":\"function\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\"}],\n\"name\":\"foo\",\n\"outputs\": []\n}]\n", "CompilerVersion": "v0.2.1-2016-01-30-91a6b35", "ContractName": "Test", "ImplementationAddress": "0x000000000000000000000000000000000000000e", "IsProxy": "true", "OptimizationUsed": "1", "SourceCode": "pragma solidity >0.4.24;\n\ncontract Test {\nconstructor() public { b = hex\"12345678901234567890123456789012\"; }\nevent Event(uint indexed a, bytes32 b);\nevent Event2(uint indexed a, bytes32 b);\nfunction foo(uint a) public { emit Event(a, b); }\nbytes32 b;\n}\n" }, "status": "1" } CONTRACT { ABI ABI example: "[{ \"type\":\"event\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}], \"name\":\"Event\" }, { \"type\":\"event\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}], \"name\":\"Event2\" }, { \"type\":\"function\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\"}], \"name\":\"foo\", \"outputs\": [] }]" Address address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" ContractName string example: "Some name" OptimizationUsed optimization used enum: ["0", "1"] enum interpretation "0" false "1" true } 200 error * Example Value { "message": "There was an error verifying the contract.", "result": null, "status": "0" } VERIFY A VYPER CONTRACT WITH ITS SOURCE CODE AND CONTRACT CREATION INFORMATION. CURL POST EXAMPLE: CURL --LOCATION --REQUEST POST 'HTTP://LOCALHOST:4000/API?MODULE=CONTRACT&ACTION=VERIFY_VYPER_CONTRACT' --FORM 'CONTRACTSOURCECODE="SOURCE_CODE"' --FORM 'NAME="VYPER_CONTRACT"' --FORM 'ADDRESSHASH="0XE60B1B8BD493569A3E945BE50A6C89D29A560FA1"' --FORM 'COMPILERVERSION="V0.2.12"' ?module=contract&action=verify_vyper_contract&addressHash={addressHash}&name={name}&compilerVersion={compilerVersion}&contractSourceCode={contractSourceCode} verify_vyper_contract GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: contract ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: verify_vyper_contract ADDRESSHASH *REQUIRED string (query) The address of the contract. NAME *REQUIRED string (query) The name of the contract. COMPILERVERSION *REQUIRED string (query) The compiler version for the contract. CONTRACTSOURCECODE *REQUIRED string (query) The source code of the contract. CONSTRUCTORARGUMENTS string (query) The constructor argument data provided. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": { "ABI": "[{\n\"type\":\"event\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}],\n\"name\":\"Event\"\n}, {\n\"type\":\"event\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}],\n\"name\":\"Event2\"\n}, {\n\"type\":\"function\",\n\"inputs\": [{\"name\":\"a\",\"type\":\"uint256\"}],\n\"name\":\"foo\",\n\"outputs\": []\n}]\n", "CompilerVersion": "v0.2.1-2016-01-30-91a6b35", "ContractName": "Test", "ImplementationAddress": "0x000000000000000000000000000000000000000e", "IsProxy": "true", "OptimizationUsed": "1", "SourceCode": "pragma solidity >0.4.24;\n\ncontract Test {\nconstructor() public { b = hex\"12345678901234567890123456789012\"; }\nevent Event(uint indexed a, bytes32 b);\nevent Event2(uint indexed a, bytes32 b);\nfunction foo(uint a) public { emit Event(a, b); }\nbytes32 b;\n}\n" }, "status": "1" } CONTRACT { ABI ABI example: "[{ \"type\":\"event\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}], \"name\":\"Event\" }, { \"type\":\"event\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"b\",\"type\":\"bytes32\",\"indexed\":false}], \"name\":\"Event2\" }, { \"type\":\"function\", \"inputs\": [{\"name\":\"a\",\"type\":\"uint256\"}], \"name\":\"foo\", \"outputs\": [] }]" Address address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" ContractName string example: "Some name" OptimizationUsed optimization used enum: ["0", "1"] enum interpretation "0" false "1" true } 200 error * Example Value { "message": "There was an error verifying the contract.", "result": null, "status": "0" } VERIFY A CONTRACT WITH STANDARD INPUT JSON FILE. ITS INTERFACE THE SAME AS ETHERSCAN'S API ENDPOINT ?module=contract&action=verifysourcecode&codeformat={solidity-standard-json-input}&contractaddress={contractaddress}&contractname={contractname}&compilerversion={compilerversion}&sourceCode={sourceCode} verifysourcecode GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: contract ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: verifysourcecode CODEFORMAT *REQUIRED string (query) Format of sourceCode(supported only "solidity-standard-json-input") CONTRACTADDRESS *REQUIRED string (query) The address of the contract. CONTRACTNAME *REQUIRED string (query) The name of the contract. It could be empty string(""), just contract name("ContractName"), or filename and contract name("contracts/contract_1.sol:ContractName") COMPILERVERSION *REQUIRED string (query) The compiler version for the contract. SOURCECODE *REQUIRED string (query) Standard input json CONSTRUCTORARGUMENTS string (query) The constructor argument data provided. AUTODETECTCONSTRUCTORARGUMENTS boolean (query) Whether or not automatically detect constructor argument. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": "b080b96bd06ad1c9341c2afb7e3730311388544961acde94", "status": "1" } UID { UID string example: b080b96bd06ad1c9341c2afb7e3730311388544961acde94 } RETURN STATUS OF THE VERIFICATION ATTEMPT (WORKS IN ADDITION TO VERIFYSOURCECODE METHOD) ?module=contract&action=checkverifystatus&guid={identifierString} checkverifystatus GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: contract ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: checkverifystatus GUID *REQUIRED string (query) A string used for identifying verification attempt Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": "Pending in queue", "status": "1" } STATUS { status string example: `Pending in queue` | `Pass - Verified` | `Fail - Unable to verify` | `Unknown UID` } TRANSACTION ?MODULE=TRANSACTION GET TRANSACTION INFO. ?module=transaction&action=gettxinfo&txhash={transactionHash} gettxinfo GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: transaction ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: gettxinfo TXHASH *REQUIRED string (query) Transaction hash. Hash of contents of the transaction. INDEX integer (query) A nonnegative integer that represents the log index to be used for pagination. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "result": { "revertReason": "No credit of that type", "blockNumber": "3", "confirmations": "0", "from": "0x000000000000000000000000000000000000000c", "gasLimit": "91966", "gasPrice": "100000", "gasUsed": "95123", "hash": "0x0000000000000000000000000000000000000000000000000000000000000004", "input": "0x04", "logs": [ { "address": "0x000000000000000000000000000000000000000e", "data": "0x00", "topics": [ "First Topic", "Second Topic", "Third Topic", "Fourth Topic" ] } ], "success": true, "timeStamp": "1541018182", "to": "0x000000000000000000000000000000000000000d", "value": "67612" }, "status": "1" } RESULT { message string example: "OK" result TransactionInfo status status enum: ["0", "1"] enum interpretation "0" error "1" ok } TRANSACTIONINFO { blockNumber block number example: "34092" confirmations confirmations example: "6005998" from address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" gasLimit wei example: "663046792267785498951364" gasPrice wei example: "663046792267785498951364" gasUsed gas example: "122261" hash transaction hash example: "0x9c81f44c29ff0226f835cd0a8a2f2a7eca6db52a711f8211b566fd15d3e0e8d4" input input example: "0x797af627d02e23b68e085092cd0d47d6cfb54be025f37b5989c0264398f534c08af7dea9" logs array [Log Detail] revertReason revert_reason example: "No credit of that type" success boolean example: true timeStamp timestamp example: "1439232889" to address hash example: "0x95426f2bc716022fcf1def006dbc4bb81f5b5164" value wei example: "663046792267785498951364" } 200 error * Example Value { "message": "Query parameter txhash is required", "result": null, "status": "0" } GET TRANSACTION RECEIPT STATUS. ALSO AVAILABLE THROUGH A GRAPHQL 'TRANSACTION' QUERY. ?module=transaction&action=gettxreceiptstatus&txhash={transactionHash} gettxreceiptstatus GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: transaction ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: gettxreceiptstatus TXHASH *REQUIRED string (query) Transaction hash. Hash of contents of the transaction. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": { "status": "1" }, "status": "1" } RESULT { message string example: "OK" result TransactionReceiptStatus status status enum: ["0", "1"] enum interpretation "0" error "1" ok } TRANSACTIONRECEIPTSTATUS { status status enum: ["0", "1"] enum interpretation "0" fail "1" pass } 200 error * Example Value { "message": "Query parameter txhash is required", "result": null, "status": "0" } GET ERROR STATUS AND ERROR MESSAGE. ALSO AVAILABLE THROUGH A GRAPHQL 'TRANSACTION' QUERY. ?module=transaction&action=getstatus&txhash={transactionHash} getstatus GET POST More Details Hide Details PARAMETERS TRY IT OUT CANCEL NAME DESCRIPTION MODULE *REQUIRED string (query) A string with the name of the module to be invoked. Must be set to: transaction ACTION *REQUIRED string (query) A string with the name of the action to be invoked. Must be set to: getstatus TXHASH *REQUIRED string (query) Transaction hash. Hash of contents of the transaction. Execute Clear CURL REQUEST URL SERVER RESPONSE CODE DETAILS Response Body RESPONSES CODE DESCRIPTION 200 successful operation * Example Value * Model { "message": "OK", "result": { "errDescription": "Out of gas", "isError": "1" }, "status": "1" } RESULT { message string example: "OK" result TransactionStatus status status enum: ["0", "1"] enum interpretation "0" error "1" ok } TRANSACTIONSTATUS { errDescription string example: "Out of gas" isError isError enum: ["0", "1"] enum interpretation "0" pass "1" error } 200 error * Example Value { "message": "Query parameter txhash is required", "result": null, "status": "0" } MetaDAP explorer is a tool for inspecting and analyzing EVM based blockchains. Blockchain explorer for Ethereum Networks. METADAP EXPLORER * RETX * Assets * News * Partner * Add MetaDAP Enterprise Mainnet MAIN NETWORKS * MetaDAP Devnet TEST NETWORKS * MetaDAP Testnet Version: 5.2.3 Ok Ok Ok No Yes