NAV
中文

Introduction

Welcome to OKLink Explorer APIs, an essential resource offering Web3 developers a suite of accessible and scalable APIs. Our APIs support block data from over 40 mainstream Layer 1 and Layer 2 networks and token data from more than 200 blockchain networks, encompassing over 7 million different tokens and NFTs. Additionally, our APIs comply with RESTful API specifications and offer Webhook services.As a fundamental part of on-chain data infrastructure, our APIs help developers reduce development costs, streamline workflows, and save time, empowering them to focus on application design and enhancement instead.

The APIs provide comprehensive on-chain data across various categories. Please refer to the following sections for specific details:

Quickstart Guide

Getting Started

This is a quick start guide for the OKLink Explorer APIs. Quickly learn how to create an account, generate API keys, and perform authentication to build customized applications using our APIs.

  1. Visit the OKLink official website and register using your email or phone number.
    sign up

  2. After successful registration, log in using your email or phone number.
    log in

  3. Go to the API management page and create your API keys.
    key

  4. Use the API keys to start exploring on-chain data with OKLink Explorer APIs.

API authentication

API keys are unique identifiers used to access API endpoints. All OpenAPI endpoints require API key authentication for access. You can create up to 5 API keys based on your needs. For your data security, do not share your API key with anyone.

API request URL:

Usage of API keys:

Examples of API interface calls:

cURL

curl -X GET 'https://www.oklink.com/api/v5/explorer/blockchain/summary' \
  --header 'Ok-Access-Key:Your APIkey' \
  --header 'Content-type: application/json'

Python

import requests

url = "https://www.oklink.com/api/v5/explorer/blockchain/summary?chainShortName=ETH"

payload = ""
headers = {
  # apiKey
  'Ok-Access-Key': 'apiKey'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

JavaScript - jQuery

var settings = {
  "url": "https://www.oklink.com/api/v5/explorer/blockchain/summary?chainShortName=ETH",
  "method": "GET",
  "timeout": 0,
  "headers": {
    "Accept": "*/*",
    "Ok-Access-Key": "apiKey",
  },
};

$.ajax(settings).done(function (response) {
  console.log(response);
});

Go

package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://www.oklink.com/api/v5/explorer/blockchain/summary?chainShortName=ETH"
  method := "GET"
  apiKey := "apiKey"


  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Ok-Access-Key", apiKey)

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}

Java - OkHttp

package com.oklink.demo;

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

import java.io.IOException;

public class JavaDemo {
    public static void main(String[] args) {
        try {
            String url = "https://www.oklink.com/api/v5/explorer/blockchain/summary?chainShortName=ETH";
            String apiKey = "apiKey";
            OkHttpClient client = new OkHttpClient.Builder().build();
            Request request = new Request.Builder()
                    .url(url)
                    .addHeader("Ok-Access-Key", apiKey)
                    .build();
            Response response = client.newCall(request).execute();
            System.out.println(response.body().string());
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}

PHP

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://www.oklink.com/api/v5/explorer/blockchain/summary?chainShortName=ETH');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');


$headers = array();
$headers[] = 'Ok-Access-Key: apiKey';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);

Rust

extern crate reqwest;
use reqwest::header;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut headers = header::HeaderMap::new();
    headers.insert("Ok-Access-Key", "apiKey".parse().unwrap());

    let res = reqwest::Client::new()
        .get("https://www.oklink.com/api/v5/explorer/blockchain/summary?chainShortName=ETH")
        .headers(headers)
        .send()?
        .text()?;
    println!("{}", res);

    Ok(())
}

List of supported chains

The OKLink Explorer APIs currently support 49 blockchains, including key Layer 1 and Layer 2 chains.You can query the list of API interface URLs supported by each public chain and the list of public chains supported by each API interface URL through the Account usage query module.

Chain Full Name Chain Short Name Chain ID
Bitcoin BTC 0
Bitcoin Cash BCH 145
Litecoin LTC 2
DASH DASH 5
Dogecoin DOGE 3
Ethereum ETH 1
OKT Chain OKTC 66
BNB Chain BSC 56
Ethereum Classic ETC 61
Polygon POLYGON 137
Avalanche-C AVAXC 43114
EthereumPoW ETHW 10001
Dis Chain (EthereumFair) DIS (ETHF) 513100
Fantom FTM 250
Canto CANTO 70000014
OP Mainnet OP 10
Arbitrum One ARBITRUM 42161
Kaia KAIA 8217
zkSync Era ZKSYNC 324
Gnosis GNOSIS 100
Ronin RONIN 2020
LINEA LINEA 59144
Beacon BEACON 70000040
StarkNet STARKNET 9004
Polygon zkEVM POLYGON_ZKEVM 1101
Base BASE 8453
Scroll SCROLL 534352
Omega OMEGA 408
Manta Pacific MANTA 169
opBNB Mainnet OPBNB 204
X Layer Testnet XLAYER_TESTNET 19500
X Layer XLAYER 196
Sepolia Testnet SEPOLIA_TESTNET 11155111
Goerli Testnet GOERLI_TESTNET 70000030
Mumbai Testnet MUMBAI_TESTNET 80001
Amoy Testnet AMOY_TESTNET 80002
Polygon zkEVM Testnet POLYGON_ZKEVM_TESTNET 1442
Aptos APT 637
Sui SUI 784
TRON TRON 195
Cosmos Hub COSMOS 118
Kava KAVA 459
Blast BLAST 81457
Gravity Alpha Mainnet GRAVITY 1625
Bsquared Mainnet B2 223
Bitlayer Mainnet BITLAYER 200901
BOB Mainnet BOB 60808
Fractal Bitcoin Mainnet FRACTAL 70000061
BEVM Mainnet BEVM 11501
Duckchain mainnet DUCKCHAIN 5545

For token price data, we support 200+ blockchains.

As part of ongoing enhancements, the OKLink Explorer APIs will be expanded to include support for additional blockchains. If the blockchain you wish to integrate isn't currently listed, please reach out to us via email at [email protected]. We'll assess your request and proceed accordingly.

Rate Limits

To prevent API overload, we have implemented rate limits on API calls to ensure optimal processing speed, response time, and security when accessing data through our APIs. Free and paid users have different rate limits:

API Tier pricing($/year) Number of calls Cost per 1,000 calls API rate limits
Free 0 1,000,000 Free 3 calls/second
Basic 599 12,000,000 0.050 10 calls/second
Standard 2,399 60,000,000 0.040 20 calls/second
Advanced 4,499 200,000,000 0.022 50 calls/second
Professional 9,999 600,000,000 0.017 80 calls/second

To learn more about our paid subscription plans, log in to your account and go to API management page > My subscription > Check out more API plans. Specific details of our plans can be viewed in the pop-up window.

Support

FAQ

1. How many blockchains are supported by the OKLink Explorer APIs?

2. Do the OKLink Explorer APIs currently offer SDK?

3. What is the pricing scheme for OKLink Explorer APIs?

4. How do I check which blockchains are supported by the different APIs?

5. How can I view my API usage?

Errors and API status

When a request is sent to the server, it will respond to the user's request with HTTP status codes and error codes. Please refer to the table below for more information on the different error codes and messages returned when API calls fail.

Response Example

{
    "code": "50038",
    "msg": "This chain does not currently support.",
    "data": []
}

The following shows the error codes and messages used:

General Class

Error Message HTTP Status Code Error Code
Succeeded. 200 0
Body can not be empty. 400 50000
Service temporarily unavailable, please try again later. 503 50001
Json data format error. 400 50002
Endpoint request timeout (does not mean that the request was successful or failed,
please check the request result).
400 50004
API is offline or unavailable. 410 50005
Invalid Content_Type, please use "application/json" format. 400 50006
Account blocked. 200 50007
User does not exist. 200 50008
Account is suspended due to ongoing liquidation. 200 50009
User ID can not be empty. 200 50010
Requests too frequent. 429 50011
Account status invalid. 200 50012
System is busy, please try again later. 200 50013
Parameter {0} can not be empty. 400 50014
Either parameter {0} or {1} is required. 400 50015
Parameter {0} does not match parameter {1}. 400 50016
Parameter {0} and {1} can not exist at the same time. 200 50024
Parameter {0} count exceeds the limit {1}. 200 50025
System error. 500 50026
No permission to use this API. You need to upgrade your account's payment level. 403 50030
Parameter %s error. 400 50036
Token does not exist. 200 50037
This chain does not currently support. 200 50038
This alert has no history of processing. 200 50039
No data is displayed for this block height. 200 50040
The historical balance of this token is not currently supported. 200 50041
This token protocol type does not support scanning. 200 50042
Your account behavior triggered risk control, and the API function has been frozen.
Please contact us by email [email protected]
200 50043
Data already exists. 400 50044
Client operation error. 400 50045
According to regulations, the OKLink API service is not available in your country or region. 400 50047

API Class

Error Message HTTP Status Code Error Code
API frozen, please contact customer service. 400 50100
Timestamp request expired. 401 50102
Request header "OK_ACCESS_KEY" can not be empty. 401 50103
Request header "OK_ACCESS_PASSPHRASE" can not be empty. 401 50104
Request header "OK_ACCESS_PASSPHRASE" incorrect. 401 50105
Request header "OK_ACCESS_SIGN" can not be empty. 401 50106
Request header "OK_ACCESS_TIMESTAMP" can not be empty. 401 50107
Exchange ID does not exist. 401 50108
Exchange domain does not exist. 401 50109
Invalid IP. 401 50110
Invalid OK_ACCESS_KEY. 401 50111
Invalid OK_ACCESS_TIMESTAMP. 401 50112
Invalid signature. 401 50113
Invalid authorization. 401 50114
Invalid request method. 405 50115
Exceeds the range of historical data queries. 400 50117

Trade Class

Error Message HTTP Status code Error Code
Parameter {0} error. 404 51000
The outputAddress you filled in was not found in this transaction. 200 51001
The outputAddress specified by this index does not exist in this transaction. 200 51002
Detail information with this transaction hash has not been found on the blockchain network, and risk status is pending for this transaction. 200 51003

Contact Us

If you have any questions regarding the OKLink Explorer APIs, please contact us via:

Fundamental blockchain data

Retrieve basic data, block data, address data, mining data, transaction data, token data, transaction logs, and chain-level statistics for over 40 blockchains. Certain APIs also support batch querying of on-chain data for addresses.

Fundamental data

These endpoints from this module retrieve data for supported networks, including network details, optimal gas fees, number of addresses, and transaction counts.

Get list of supported blockchain list

This endpoint retrieves the list of crypto networks supported by Network module.

HTTP Request

GET /api/v5/explorer/blockchain/summary

Consumption per query 0

Request Example

GET /api/v5/explorer/blockchain/summary

Request Parameters

Parameter Type Required Description
chainShortName String No The blockchain network symbol, e.g. BTC. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "symbol": "BTC",
            "lastHeight": "812740",
            "lastBlockTime": "1697622753000",
            "circulatingSupply": "19517050",
            "circulatingSupplyProportion": "0.9294",
            "transactions": "913669129"
        },
        {
            "chainFullName": "Bitcoin Cash",
            "chainShortName": "BCH",
            "symbol": "BCH",
            "lastHeight": "815586",
            "lastBlockTime": "1697622060000",
            "circulatingSupply": "19534862.5",
            "circulatingSupplyProportion": "0.9302",
            "transactions": "376125240"
        },
        {
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "symbol": "ETH",
            "lastHeight": "18376498",
            "lastBlockTime": "1697623103000",
            "circulatingSupply": "120262264.05",
            "circulatingSupplyProportion": "1",
            "transactions": "2127824775"
        },
        {
            "chainFullName": "OKT Chain",
            "chainShortName": "OKTC",
            "symbol": "OKT",
            "lastHeight": "22989718",
            "lastBlockTime": "1697623102000",
            "circulatingSupply": "20077976.25",
            "circulatingSupplyProportion": "0.9560941071428571",
            "transactions": "167592112"
        },
        {
            "chainFullName": "X Layer Testnet",
            "chainShortName": "XLAYER_TESTNET",
            "symbol": "OKB",
            "lastHeight": "26938",
            "lastBlockTime": "1700031881000",
            "circulatingSupply": "",
            "circulatingSupplyProportion": "",
            "transactions": "26801.0"
        },
        {
            "chainFullName": "BNB Chain",
            "chainShortName": "BSC",
            "symbol": "BNB",
            "lastHeight": "32707931",
            "lastBlockTime": "1697623106000",
            "circulatingSupply": "151705624.6",
            "circulatingSupplyProportion": "1",
            "transactions": "3584346166"
        },
        {
            "chainFullName": "Ethereum Classic",
            "chainShortName": "ETC",
            "symbol": "ETC",
            "lastHeight": "18541162",
            "lastBlockTime": "1697623087000",
            "circulatingSupply": "143564715.29",
            "circulatingSupplyProportion": "1",
            "transactions": "115483536"
        },
        {
            "chainFullName": "Litecoin",
            "chainShortName": "LTC",
            "symbol": "LTC",
            "lastHeight": "2564279",
            "lastBlockTime": "1697622845000",
            "circulatingSupply": "73774507.97",
            "circulatingSupplyProportion": "0.8783",
            "transactions": "181126166"
        },
        {
            "chainFullName": "DASH",
            "chainShortName": "DASH",
            "symbol": "DASH",
            "lastHeight": "1956330",
            "lastBlockTime": "1697623059000",
            "circulatingSupply": "11499070.93",
            "circulatingSupplyProportion": "0.6087",
            "transactions": "49535771"
        },
        {
            "chainFullName": "TRON",
            "chainShortName": "TRON",
            "symbol": "TRX",
            "lastHeight": "55663883",
            "lastBlockTime": "1697623107000",
            "circulatingSupply": "90580932915.58",
            "circulatingSupplyProportion": "1",
            "transactions": "6.56881736E+9"
        },
        {
            "chainFullName": "Polygon",
            "chainShortName": "POLYGON",
            "symbol": "MATIC",
            "lastHeight": "48859754",
            "lastBlockTime": "1697623104000",
            "circulatingSupply": "9299803030.72",
            "circulatingSupplyProportion": "",
            "transactions": "3071306297"
        },
        {
            "chainFullName": "Avalanche-C",
            "chainShortName": "AVAXC",
            "symbol": "AVAX",
            "lastHeight": "36601091",
            "lastBlockTime": "1697623102000",
            "circulatingSupply": "354811879.38",
            "circulatingSupplyProportion": "",
            "transactions": "257890662"
        },
        {
            "chainFullName": "Aptos",
            "chainShortName": "APT",
            "symbol": "APT",
            "lastHeight": "104439850",
            "lastBlockTime": "1697623100438",
            "circulatingSupply": "245335823.53",
            "circulatingSupplyProportion": "0",
            "transactions": "289582063"
        },
        {
            "chainFullName": "EthereumPoW",
            "chainShortName": "ETHW",
            "symbol": "ETHW",
            "lastHeight": "18110977",
            "lastBlockTime": "1697623090000",
            "circulatingSupply": "107818999.05",
            "circulatingSupplyProportion": "1",
            "transactions": "1688548041"
        },
        {
            "chainFullName": "DIS CHAIN",
            "chainShortName": "DIS",
            "symbol": "DIS",
            "lastHeight": "18144023",
            "lastBlockTime": "1697623083000",
            "circulatingSupply": "",
            "circulatingSupplyProportion": "",
            "transactions": "1660726868"
        },
        {
            "chainFullName": "Fantom",
            "chainShortName": "FTM",
            "symbol": "FTM",
            "lastHeight": "69463847",
            "lastBlockTime": "1697623104000",
            "circulatingSupply": "2803634835.53",
            "circulatingSupplyProportion": "0.883035",
            "transactions": "446638938"
        },
        {
            "chainFullName": "OP Mainnet",
            "chainShortName": "OP",
            "symbol": "ETH",
            "lastHeight": "111012162",
            "lastBlockTime": "1697623101000",
            "circulatingSupply": "120262264.05",
            "circulatingSupplyProportion": "1",
            "transactions": "168183124"
        },
        {
            "chainFullName": "Arbitrum One",
            "chainShortName": "ARBITRUM",
            "symbol": "ETH",
            "lastHeight": "141661625",
            "lastBlockTime": "1697623108000",
            "circulatingSupply": "120262264.05",
            "circulatingSupplyProportion": "1",
            "transactions": "373814666"
        },
        {
            "chainFullName": "Dogecoin",
            "chainShortName": "DOGE",
            "symbol": "DOGE",
            "lastHeight": "4928818",
            "lastBlockTime": "1697622845000",
            "circulatingSupply": "141459666383.71",
            "circulatingSupplyProportion": "",
            "transactions": ""
        },
        {
            "chainFullName": "Sui",
            "chainShortName": "SUI",
            "symbol": "SUI",
            "lastHeight": "15891997",
            "lastBlockTime": "1697623099245",
            "circulatingSupply": "860392959.69",
            "circulatingSupplyProportion": "0.08603929596900001",
            "transactions": "821855364"
        },
        {
            "chainFullName": "KLAYTN",
            "chainShortName": "KLAYTN",
            "symbol": "KLAY",
            "lastHeight": "135657958",
            "lastBlockTime": "1697623108000",
            "circulatingSupply": "3234951226.08",
            "circulatingSupplyProportion": "",
            "transactions": ""
        },
        {
            "chainFullName": "zkSync Era",
            "chainShortName": "ZKSYNC",
            "symbol": "ETH",
            "lastHeight": "16684962",
            "lastBlockTime": "1697623105000",
            "circulatingSupply": "120262264.05",
            "circulatingSupplyProportion": "1",
            "transactions": "140220679"
        },
        {
            "chainFullName": "Gnosis",
            "chainShortName": "GNOSIS",
            "symbol": "ETH",
            "lastHeight": "30516833",
            "lastBlockTime": "1697623100000",
            "circulatingSupply": "",
            "circulatingSupplyProportion": "",
            "transactions": ""
        },
        {
            "chainFullName": "Ronin",
            "chainShortName": "RONIN",
            "symbol": "RONIN",
            "lastHeight": "28598542",
            "lastBlockTime": "1697623106000",
            "circulatingSupply": "251442247.22",
            "circulatingSupplyProportion": "",
            "transactions": ""
        },
        {
            "chainFullName": "LINEA",
            "chainShortName": "LINEA",
            "symbol": "LINEA",
            "lastHeight": "659835",
            "lastBlockTime": "1697623102000",
            "circulatingSupply": "",
            "circulatingSupplyProportion": "",
            "transactions": "2127828200"
        },
        {
            "chainFullName": "POLYGON_ZKEVM",
            "chainShortName": "POLYGON_ZKEVM",
            "symbol": "ETH",
            "lastHeight": "6371025",
            "lastBlockTime": "1697623096000",
            "circulatingSupply": "",
            "circulatingSupplyProportion": "",
            "transactions": "5236188.0"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
symbol String The native token symbol, e.g. btc.
lastHeight String The latest block height
lastBlockTime String The Unix timestamp for when the latest block was validated, in milliseconds format, e.g., 1597026383085.
circulatingSupply String Circulating supply
circulatingSupplyProportion String The ratio of the circulating quantity to the total supply, displayed in decimals, e.g.: 0.85 equals 85%
transactions String Total number of transactions

Get blockchain details

Get the details of the chains currently supported by OKLink.

HTTP Request

GET /api/v5/explorer/blockchain/info

Consumption per query 1

Request Example

GET /api/v5/explorer/blockchain/info?chainShortName=btc

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "symbol": "BTC",
            "rank": "1",
            "mineable": true,
            "algorithm": "SHA-256",
            "consensus": "PoW",
            "diffEstimation": "65.70T",
            "currentDiff": "61.03T",
            "diffAdjustTime": "1698582329000",
            "circulatingSupply": "19517050",
            "totalSupply": "21000000",
            "tps": "3.16",
            "lastHeight": "812742",
            "lastBlockTime": "1697623175000",
            "issueDate": "1231006505000"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
symbol String Chain native tokens, e.g. btc
rank String Rank
mineable Bol Whether to support mining
true
false
algorithm String The core algorithm, e.g. SHA-256
consensus String Consensus algorithm, e.g. PoW
diffEstimation String Prediction of next mining difficulty, BTC unit: T
currentDiff String The current mining difficulty of the whole network
diffAdjustTime String The next mining difficulty adjustment time (This field is no longer maintained)
circulatingSupply String Circulating supply
totalSupply String Max total supply
tps String Transactions per second
lastHeight String The latest block height
lastBlockTime String The Unix timestamp for when the latest block was validated, in milliseconds format, e.g., 1597026383085.
issueDate String Issue date; Unix timestamp format in milliseconds, e.g. 1597026383085

Get block statistics

Obtain the basic information of the detailed blocks of the chains.

HTTP Request

GET /api/v5/explorer/blockchain/block

Consumption per query 1

Request Example

GET /api/v5/explorer/blockchain/block?chainShortName=btc

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "symbol": "BTC",
            "lastHeight": "812742",
            "firstExchangeHistoricalTime": "1231006505000",
            "firstBlockTime": "1231006505000",
            "firstBlockHeight": "0",
            "avgBlockInterval": "573.2926587301587",
            "avgBlockSize24h": "1565974.456375839",
            "avgBlockSize24hPercent": "-0.10001506153712443",
            "mediaBlockSize": "1575044.942857143",
            "halveTime": "1712805881000"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
symbol String Chain native tokens, e.g. btc
lastHeight String The latest block height
firstExchangeHistoricalTime String First The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085.
firstBlockTime String First block time; Unix timestamp format in milliseconds, e.g. 1597026383085
firstBlockHeight String First block height
avgBlockInterval String Average block time (nearly a week), ETH unit is s
avgBlockSize24h String Average block size (24 hours)
avgBlockSize24hPercent String Average block size change
mediaBlockSize String Median block size (last week)
halveTime String halving time;Unix timestamp format in milliseconds, e.g. 1597026383085

Get address statistics by chain

Get the basic information of the currency Holder addresses of the chains.

HTTP Request

GET /api/v5/explorer/blockchain/address

Consumption per query 1

Request Example

GET /api/v5/explorer/blockchain/address?chainShortName=eth

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "symbol": "ETH",
            "validAddressCount": "107721078",
            "newAddressCount24h": "47093",
            "totalAddresses": "305937721",
            "newTotalAddresses24h": "109599",
            "contractAddresses": "64007840",
            "newContractAddresses24h": "19582",
            "externalAddresses": "241929881",
            "newExternalAddresses24h": "90017",
            "activeAddresses": "714816",
            "newActiveAddresses": "19728"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
symbol String Chain native tokens, e.g. btc
validAddressCount String The number of addresses holding the native token of the blockchain.
newAddressCount24h String Increment / decrement of the past 24-hour period comparing to the previous one of Holder addresses
totalAddresses String Total number of addresses on the blockchain
newTotalAddresses24h String Increment / decrement of the past 24-hour period comparing to the previous one of total addresses
contractAddresses String Contract addresses
newContractAddresses24h String Increment / decrement of the past 24-hour period comparing to the previous one of contract addresses
externalAddresses String External addresses
newExternalAddresses24h String Increment / decrement of the past 24-hour period comparing to the previous one of external addresses
activeAddresses String Active addresses
newActiveAddresses String Increment / decrement of the past 24-hour period comparing to the previous one of active addresses

Get transaction or Gas fee

Get the basic information of the gas fee of the chains.

HTTP Request

GET /api/v5/explorer/blockchain/fee

Consumption per query 1

Request Example

GET /api/v5/explorer/blockchain/fee?chainShortName=eth

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "symbol": "ETH",
            "bestTransactionFee": "",
            "bestTransactionFeeSat": "",
            "recommendedGasPrice": "34.843994267",
            "rapidGasPrice": "35.043994267",
            "standardGasPrice": "34.793994267",
            "slowGasPrice": "34.743994267",
            "baseFee": "34.057663431",
            "gasUsedRatio": "0.4781578,0.420984233333333333,0.5279502,0.485460466666666667,0.434564833333333333"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
symbol String Chain native tokens, e.g. btc
bestTransactionFee String Best transaction fee
bestTransactionFeeSat String Best transaction fee (Sat)
recommendedGasPrice String Recommended gas fee. ETH unit: Gwei
rapidGasPrice String Extremely fast Gas fee, estimated transaction confirmation within 15s
standardGasPrice String General Gas fee, estimated 3 minutes to complete the transaction confirmation
slowGasPrice String Slow Gas fee, estimated greater than 15 minutes to complete transaction confirmation
baseFee String Base fee per Gas
gasUsedRatio String Gas used ratio of the latest 5 blocks(i.e., Gas consumed / Gas limit), separated by a comma

Get transaction details by chain

Get the basic transaction information on the chains.

HTTP Request

GET /api/v5/explorer/blockchain/transaction

Consumption per query 1

Request Example

GET /api/v5/explorer/blockchain/transaction?chainShortName=btc

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g:BTC、ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "symbol": "BTC",
            "pendingTransactionCount": "22597",
            "transactionValue24h": "34410716804875",
            "totalTransactionCount": "913670420",
            "tranRate": "3.16",
            "avgTransactionCount24h": "1936.8523489932886",
            "avgTransactionCount24hPercent": "0.0211",
            "pendingTransactionSize": "164205183"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
symbol String Chain native tokens, e.g. btc
pendingTransactionCount String Pending transaction count
transactionValue24h String Transaction value 24h
totalTransactionCount String Total transaction count
tranRate String The average TPS for 50 blocks
avgTransactionCount24h String Avg number of transactions in 24h
avgTransactionCount24hPercent String Changing percent of the avg number of transactions in 24h
pendingTransactionSize String Pending transaction size

Get hashrate statistics

Get the basic information of the chain computing power

HTTP Request

GET /api/v5/explorer/blockchain/hashes

Consumption per query 1

Request Example

GET /api/v5/explorer/blockchain/hashes?chainShortName=btc

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "symbol": "BTC",
            "hashRate": "437.58EH",
            "hashRateChange24h": "-0.0074"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
symbol String Chain native tokens, e.g. btc
hashrate String The total network hash rate in the past week
hashrateChange24h String The 24-hour rise and fall of the computing power of the entire network,
For example: a positive number means an increase; 0.02, which means an increase of 2%
For example: a negative number means a decline: -0.02, which means a decline of 2%

Get mining data statistics

Obtain the basic mining information of the chains.

HTTP Request

GET /api/v5/explorer/blockchain/mine

Consumption per query 1

Request Example

GET /api/v5/explorer/blockchain/mine?chainShortName=btc

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "symbol": "BTC",
            "avgMineReward24h": "6.37771195",
            "minerIncomePerUnit": "0.000002082802405598016",
            "minerIncomePerUnitCoin": "0.000002060056106572138"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
symbol String Chain native tokens, e.g. btc
avgMineReward24h String 24-hour average block reward
minerIncomePerUnit String Revenue per unit of computing power
minerIncomePerUnitCoin String The number of coins earned per unit of computing power

Block data

These endpoints from this module retrieve data for a specific block such as block details, block lists, transaction lists within blocks and historical block heights.

Get block details

Get the block details of the chains.

HTTP Request

GET /api/v5/explorer/block/block-fills

Consumption per query 1

Request Example

GET /api/v5/explorer/block/block-fills?chainShortName=eth&height=735732

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
height String Yes Block height
netWork String No The abbreviated name of the blockchain network, required for USDT

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "hash": "0x545f02750b8fffe8354140b8ec2414fd72fa34a5ca93c58fe25f94c07ebb44ff",
            "height": "735732",
            "validator": "NanoPool",
            "blockTime": "1450873643000",
            "txnCount": "4",
            "amount": "12.950329114",
            "blockSize": "1509",
            "mineReward": "5.012841864",
            "totalFee": "0.012841864",
            "feeSymbol": "ETH",
            "ommerBlock": "0",
            "merkleRootHash": "0xcfb7cc8bc5f11bb9c3e05a9fec1a17b63b0899a75624038a762ce800bda588b3",
            "gasUsed": "249382",
            "gasLimit": "3141592",
            "gasAvgPrice": "0.000000051494751025",
            "state": "",
            "burnt": "",
            "netWork": "",
            "txnInternal": "0",
            "miner": "0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5",
            "difficuity": "8518354788907",
            "nonce": "e246c1795e5cc38f",
            "tips": "",
            "confirm": "17640838",
            "baseFeePerGas": ""
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
hash String Block hash
height String Block height
validator String Validator
blockTime String The Unix timestamp for when the block was validated, in milliseconds format, e.g., 1597026383085.
amount String Amount of the transaction
txnCount String The number of normal transactions contained in the block
txnInternal String The number of internal transactions contained in the block
blockSize String Block size, measured in bytes
mineReward String Block reward, block revenue is equal to mineReward + totalFee
totalFee String The sum of all fees in the block, in the currency of the fee
feeSymbol String Fee currency
ommerBlock String The number of ommer blocks
merkleRootHash String Merkle root hash
gasUsed String Actual amount of gas used
gasLimit String Gas limit
gasAvgPrice String Gas avg price, in ETH
state String Different block states:
"pending" indicates that confirmation is currently in progress
"done" indicates completion.
burnt String Destruction fee amount
netWork String The blockchain network, displaying the "chainFullName" of the corresponding chain, e.g., TRON.
miner String The miner's address Hash that packs the block
difficulty String Difficulty when packing the block
nonce String In PoW blockchains, nonce is used to describe mining difficulty
confirm String Confirmed block count
tips String The maximum gas price that the transaction initiator is willing to pay to prioritize their transaction for inclusion in a block by miners
baseFeePerGas String Basic fee per Gas, in ETH

Get block list

Get the block list information of the chains, and only return nearly 10,000 block list data.

HTTP Request

GET /api/v5/explorer/block/block-list

Consumption per query 1

Request Example

GET /api/v5/explorer/block/block-list?chainShortName=eth&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
height String No Height
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "blockList": [
                {
                    "hash": "0x68888279454c3a5e20b7f1b814d9b09c42ba13b6ee6e773a8d78dcc0a4bbcaf0",
                    "height": "18376580",
                    "validator": "unknown",
                    "blockTime": "1697624087000",
                    "txnCount": "134",
                    "blockSize": "159565",
                    "mineReward": "0.022295016661867617",
                    "totalFee": "0.09549692314174378",
                    "feeSymbol": "ETH",
                    "avgFee": "0.0007",
                    "ommerBlock": "0",
                    "gasUsed": "11074005",
                    "gasLimit": "30000000",
                    "gasAvgPrice": "0.000000008623521765",
                    "state": "",
                    "burnt": "0.07320190647987616",
                    "netWork": ""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
blockList Array Block list
> hash String Block hash
> height String Block height
> validator String Validator
> blockTime String The Unix timestamp for when the block was validated, in milliseconds format, e.g., 1597026383085.
> txnCount String The number of transactions contained in the block
> blockSize String Block size. The unit is: bytes
> mineReward String Block reward, block revenue is equal to mineReward + totalFee
> totalFee String The sum of all fees in the block, in the currency of the fee
> feeSymbol String Fee currency
> avgFee String Average transaction fee
> ommerBlock String The number of ommer blocks
> gasUsed String Actual amount of gas used
> gasLimit String Gas limit
> gasAvgPrice String Gas avg price
> state String Different block states:
"pending" indicates that confirmation is currently in progress
"done" indicates completion.
> burnt String Destruction fee amount
> netWork String The blockchain network, displaying the "chainFullName" of the corresponding chain, e.g., TRON.

Get block transaction list

Get the list of transactions in a block under the blockchain.

HTTP Request

GET /api/v5/explorer/block/transaction-list

Consumption per query 1

Request Example

GET /api/v5/explorer/block/transaction-list?chainShortName=eth&height=18126560&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
height String Yes Height
protocolType String No Protocol type
transaction: normal transaction
internal: internal transaction
token_20
token_721
token_1155
token_10
The default is transaction
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "635",
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "blockList": [
                {
                    "txid": "0x5a597e627d67a4e9daa9b710bf217c6690a2ac09521b45ffbb0b82b0f6d84245",
                    "methodId": "0x771d503f",
                    "blockHash": "0xadaed44b8d75332a8627a490cdd49e8aab227c901859f7918aea2b7f6d54e297",
                    "height": "18126560",
                    "transactionTime": "1694598095000",
                    "from": "0x104da4efb22a7e560e6df9c813e5eb54ca038737",
                    "isFromContract": false,
                    "isToContract": true,
                    "to": "0x51c72848c68a965f66fa7a88855f9f7784502a7f",
                    "amount": "0",
                    "transactionSymbol": "ETH",
                    "txfee": "0.004454715411444375",
                    "state": "success",
                    "tokenId": "",
                    "tokenContractAddress": ""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
blockList Array Block transaction list
> txid String Transaction hash
> blockHash String Block hash
> height String Block height
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085.
> from String Sender address
> isFromContract Bol Is the From address a contract address
> isToContract Bol Is the To address a contract address
> to String Recipient address
> amount String Number of transactions
> transactionSymbol String Symbol
> txfee String Transaction Fees
> state String Transaction status
success
fail
pending
> tokenContractAddress String Token Contract Address
> tokenId String NFT token Id
> methodId String Method ID

Get block transaction list in batches

Batch query the transaction list for certain blocks on a blockchain, and only return the latest 10,000 transaction data.

HTTP Request

GET /api/v5/explorer/block/transaction-list-multi

Consumption per query 3

Request Example

GET /api/v5/explorer/block/transaction-list-multi?chainShortName=eth&startBlockHeight=18809970&endBlockHeight=18809972&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
startBlockHeight String Yes The starting block height
endBlockHeight String Yes The end block height
protocolType String No Protocol type
transaction: normal transaction
internal: internal transaction
token_20
token_721
token_1155
The default is transaction
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "724",
            "transactionList": [
                {
                    "height": "18809972",
                    "txId": "0xb86c039478b97be1e4de569ffa227dd57c0aeb793955328d7d17674f9ec0cee1",
                    "blockHash": "0x5248621464bded6029e20a0b2da1e103bb31bc4048d8623619b82eb6c2da25ce",
                    "transactionTime": "1702867319000",
                    "from": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5",
                    "isFromContract": false,
                    "isToContract": false,
                    "to": "0x5c8d0eed35a9e632bb8c0abe4662b6ab3326850b",
                    "amount": "0.150851832900380503",
                    "transactionSymbol": "ETH",
                    "txFee": "0.000926296864164",
                    "state": "success",
                    "tokenId": "",
                    "tokenContractAddress": ""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
transactionList Array Block transaction list
> txId String Transaction hash
> blockHash String Block hash
> height String Block height
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085.
> from String Sender address
> isFromContract Bol Is the From address a contract address
> isToContract Bol Is the To address a contract address
> to String Recipient address
> amount String Number of transactions
> transactionSymbol String Symbol
> txFee String Transaction Fees
> state String Transaction status
success
fail
pending
> tokenContractAddress String Token Contract Address
> tokenId String NFT token Id
> methodId String Method ID

Get block height based on timestamp

Query the block height that was validated at a certain timestamp.

HTTP Request

GET /api/v5/explorer/block/block-height-by-time

Consumption per query 1

Request Example

GET /api/v5/explorer/block/block-height-by-time?chainShortName=eth&time=1702366480000

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
time String Yes The specific time you want to query, Unix timestamp in millisecond format, e.g. 1597026383085
closest String Yes before: the most recent block that was validated before (including) the given timestamp
after: the most recent block that was validated after (including) the given timestamp
The default ia before

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "height": "18768649",
            "blockTime": "1702366475000"
        }
    ]
}

Response Parameters

Parameter Type Description
height String Block height
blockTime String The actual time when the block was validated, Unix timestamp in millisecond format, e.g. 1597026383085

Get block countdown time

Query the estimated time remaining, in seconds, until a certain block is validated .

HTTP Request

GET /api/v5/explorer/block/block-count-down

Consumption per query 1

Request Example

GET /api/v5/explorer/block/block-count-down?chainShortName=eth&countDownBlockHeight=18812000

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
countDownBlockHeight String Yes The specific block height you want to query

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "currentBlockHeight": "18810144",
            "countDownBlockHeight": "18812000",
            "remainingBlock": "1856",
            "estimateTime": "22405.632"
        }
    ]
}

Response Parameters

Parameter Type Description
currentBlockHeight String The current latest block height
countDownBlockHeight String The block height you want to query
remainingBlock String Remaining number of blocks
estimateTime String Estimated remaining time for block verification to be completed, the unit is second

Get block list verified by address

Get the list of blocks validated by an address, and only return the latest 10,000 data.

HTTP Request

GET /api/v5/explorer/block/mined-block-list

Consumption per query 1

Request Example

GET /api/v5/explorer/block/mined-block-list?chainShortName=eth&address=0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String Yes Validator address
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "blockList": [
                {
                    "height": "18811110",
                    "blockTime": "1702881083000",
                    "mineReward": "0.028655772120729006"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
blockList Array The block list validated by the address
> height String Block height
> blockTime String Block time; Unix timestamp format in milliseconds, e.g. 1597026383085
> blockReward String Block reward, the unit is the native token of the chain

Address data

These endpoints from this module retrieve the blockchain address data such as address balance, top whale address, and address details.

Get basic address details

To obtain the balance information of an address, you can obtain information such as the balance of the chain address and the balance of the supported chain smart contract tokens.

HTTP Request

GET /api/v5/explorer/address/address-summary

Consumption per query 1

Request Example

GET /api/v5/explorer/address/address-summary?chainShortName=eth&address=0x85c6627c4ed773cb7c32644b041f58a058b00d30

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String Yes Address

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "address": "0x85c6627c4ed773cb7c32644b041f58a058b00d30",
            "contractAddress": "",
            "balance": "0",
            "balanceSymbol": "ETH",
            "transactionCount": "3",
            "verifying": "0",
            "sendAmount": "0.00144563982877912",
            "receiveAmount": "0.00144563982877912",
            "tokenAmount": "0",
            "totalTokenValue": "",
            "createContractAddress": "",
            "createContractTransactionHash": "",
            "firstTransactionTime": "1649936533000",
            "lastTransactionTime": "1673174795000",
            "token": "",
            "bandwidth": "",
            "energy": "",
            "votingRights": "",
            "unclaimedVotingRewards": "",
            "isAaAddress": false
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
address String Ordinary address
contractAddress String Smart contract address
isProducerAddress Bol Whether it is the contract validator address
true
false
balance String Native token balance of the address
balanceSymbol String The currency symbol for the native token balance
transactionCount String Number of transactions for this address
verifying String Amount under confirmation
sendAmount String Send amount
receiveAmount String Received amount
tokenAmount String Total types of tokens
totalTokenValue String Total token value
createContractAddress String Contract creator
createContractTransactionHash String The transaction hash that created the smart contract
firstTransactionTime String The time when the first transaction occurred at this address
lastTransactionTime String The last transaction time for this address
token String Corresponding token
bandwidth String As one of the resources in the TRON network, users need to consume bandwidth for sending transactions. Each user is eligible for a certain amount of free bandwidth every day, and also obtain extra bandwidth by staking TRX(Applicable to TRON)
energy String The execution of each instruction of smart contract consume a certain amount of energy while running, so contracts of different complexity consume different amounts of energy. When the contract is executed, energy is calculated and deducted according to instruction one by one. When the available energy of the account is insufficient, TRX needs to be burned to pay for the corresponding energy(Applicable to TRON)
votingRights String Each user in the TRON network is eligible to participate in the elections by staking their TRX to claim for the voting rights. Inversely, withdrawing their TRX under these processes would loss the voting rights(Applicable to TRON)
unclaimedVotingRewards String During the validator election, uses can received certain rewards if successfully voted for the validators. After each round of elections,the voting rewards distributed by validators need to be collected manually(Applicable to TRON)
isAaAddress Bol Whether it is an AA address

Get EVM address information

Get the information of an address, you can get the detail information such as balance, token balance, number of contract calls, contract corresponding tokens.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/address/information-evm

Request Example

GET /api/v5/explorer/address/information-evm?chainShortName=eth&address=0xdac17f958d2ee523a2206206994597c13d831ec7

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String Yes Address

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
            "balance": "0.000000000000000001",
            "balanceSymbol": "ETH",
            "transactionCount": "183337245",
            "firstTransactionTime": "1511831234000",
            "lastTransactionTime": "1697624363000",
            "contractAddress": true,
            "createContractAddress": "0x36928500bc1dcd7af6a2b4008875cc336b927d57",
            "createContractTransactionHash": "0x2f1c5c2b44f771e942a8506148e256f94f1a464babc938ae0690c6e34cd79190",
            "contractCorrespondingToken": "USDT",
            "contractCalls": "5132287",
            "contractCallingAddresses": "897673"
        }
    ]
}

Response Parameters

Parameter Type Description
address String Ordinary address
balance String Native token balance of the address
balanceSymbol String Symbol of native token
transactionCount String The transaction amount of the address
firstTransactionTime String The time when the first transaction occurred of this address
lastTransactionTime String The last transaction time of this address
contractAddress Bol Whether it is the contract validator address
createContractAddress String Contract creator address
createContractTransactionHash String The transaction hash that created the smart contract
contractCorrespondingToken String Corresponding token
contractCalls String The number of times the contract was called in the last 30 days. External and internal transactions are counted.
contractCallingAddresses String The number od addresses that called the contract in the last 30 days.

Get address active chain

Query the chains where EVM-based addresses are active (i.e., have transactions).

Consumption per query 0

HTTP Request

GET /api/v5/explorer/address/address-active-chain

Request Example

GET /api/v5/explorer/address/address-active-chain?address=0xC098B2a3Aa256D2140208C3de6543aAEf5cd3A94

Request Parameters

Parameter Type Required Description
address String Yes Address

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Avalanche-C",
            "chainShortName": "AVAXC",
            "isContractAddress": true
        },
        {
            "chainFullName": "BNB Chain",
            "chainShortName": "BSC",
            "isContractAddress": false
        },
        {
            "chainFullName": "Polygon",
            "chainShortName": "POLYGON",
            "isContractAddress": false
        },
        {
            "chainFullName": "EthereumPoW",
            "chainShortName": "ETHW",
            "isContractAddress": false
        },
        {
            "chainFullName": "Fantom",
            "chainShortName": "FTM",
            "isContractAddress": false
        },
        {
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "isContractAddress": false
        },
        {
            "chainFullName": "Gnosis",
            "chainShortName": "GNOSIS",
            "isContractAddress": false
        },
        {
            "chainFullName": "DIS CHAIN",
            "chainShortName": "DIS",
            "isContractAddress": false
        },
        {
            "chainFullName": "OP Mainnet",
            "chainShortName": "OP",
            "isContractAddress": false
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network
chainShortName String The abbreviated name of the blockchain network,
isContractAddress Bol Whether it is the contract validator address

Get token balance details by address

Get Token Balance Detail for an address to get information about the balance of all tokens on that address.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/address/token-balance

Request Example

GET /api/v5/explorer/address/token-balance?chainShortName=eth&address=0xdac17f958d2ee523a2206206994597c13d831ec7&protocolType=token_20&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String Yes Address
protocolType String Yes Contract protocol Type
token_20
token_721
token_1155
tokenContractAddress String No Token Contract Address
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "limit": "1",
            "page": "1",
            "totalPage": "308",
            "tokenList": [
                {
                    "symbol": "FNK",
                    "tokenContractAddress": "0xb5fe099475d3030dde498c3bb6f3854f762a48ad",
                    "holdingAmount": "115.71687581",
                    "priceUsd": "",
                    "valueUsd": "34.25416242664877",
                    "tokenId": ""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
tokenList Array Token list
> symbol String Symbol of the token
> tokenContractAddress String Token Contract Address
> holdingAmount String The holding amount of the token
> priceUsd String Token price in USD
> valueUsd String Total token value in USD
> tokenId String NFT token ID

Get the balance details of an address, you can get other large balance information on the address.

This is an old interface. It is recommended to use the "Query address token balance" under this module.

GET /api/v5/explorer/address/address-balance-fills

Request Example

GET /api/v5/explorer/address/address-balance-fills?chainShortName=eth&address=0xdac17f958d2ee523a2206206994597c13d831ec7&limit=1
Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String Yes Address
protocolType String Yes Contract protocol Type
token_20
token_721
token_1155
token_10
tokenContractAddress String No Token Contract Address
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "308",
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "tokenList": [
                {
                    "token": "USDT",
                    "tokenId": "",
                    "holdingAmount": "406275.909624",
                    "totalTokenValue": "257.29075982",
                    "change24h": "0.00010996",
                    "priceUsd": "1.00046",
                    "valueUsd": "406462.79654242704",
                    "tokenContractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7"
                }
            ]
        }
    ]
}
Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
tokenList Array Token List
> token String Token name
> tokenContractAddress String Token contract address
> holdingAmount String Token holding amount
> totalTokenValue String Total token value
> change24h String 24-hour change in token price
> priceUsd String Token USD price
> valueUsd String Total USD value of tokens
> tokenId String NFT token ID

Get address balance at specific block height

The interface updates the height of searchable blocks on an hourly basis.

HTTP Request

GET /api/v5/explorer/block/address-balance-history

Consumption per query 1

Request Example

GET /api/v5/explorer/block/address-balance-history?chainShortName=eth&height=18376634&address=0xd275e5cb559d6dc236a5f8002a5f0b4c8e610701

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
height String Yes Block height
address String Yes Address to check historical balance
tokenContractAddress String No Token contract address, if not filled in, check the balance of this chain tokens, if filled in, check the historical balance of the specified tokens

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "address": "0xd275e5cb559d6dc236a5f8002a5f0b4c8e610701",
            "height": "18376634",
            "balance": "5.895934930980364414",
            "balanceSymbol": "ETH",
            "tokenContractAddress": "",
            "blockTime": "1697624735000"
        }
    ]
}

Response Parameters

Parameter Type Description
address String Address
height String Block height
balance String Balance
blockTime String The Unix timestamp for when the block was validated, in milliseconds format, e.g., 1597026383085.
tokenContractAddress String Token contract address, if the query is for this chain coin, returns ""
balanceSymbol String The balance currency, if it is the local chain coin, is the name of the local chain token, if it is the specified token, is the abbreviated name of the token

Get address transaction list

Get the transaction list of the chains currently supported by OKLink, and only return nearly 10,000 transaction data.

HTTP Request

GET /api/v5/explorer/address/transaction-list

Consumption per query 1

Request Example

GET /api/v5/explorer/address/transaction-list?chainShortName=eth&address=0x85c6627c4ed773cb7c32644b041f58a058b00d30&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String Yes Address
protocolType String No Contract protocol type
transaction
internal
token_20
token_721
token_1155
token_10
trx The default is transaction
symbol String No Symbol of the token
startBlockHeight String No The starting block height, not supported for SUI and APT
endBlockHeight String No The end block height, not supported for SUI and APT
isFromOrTo String No from, filter transactions where the from address is the query address. to, filter transactions where the to address is the query address. Only supported for Tron and EVM chains
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "3",
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "transactionLists": [
                {
                    "txId": "0x18714d659c9022eecd29bff3cd05cb78adc6c0b9522b04d713bfb2cc7a2f62f0",
                    "methodId": "",
                    "blockHash": "0xea0ee963034d87aeaccd6a0513725bec2a604b6a890e85d96289bfcd547154db",
                    "height": "16361564",
                    "transactionTime": "1673174795000",
                    "from": "0x85c6627c4ed773cb7c32644b041f58a058b00d30",
                    "to": "0xcffad3200574698b78f32232aa9d63eabd290703",
                    "isFromContract": false,
                    "isToContract": false,
                    "amount": "0.000567475798167289",
                    "transactionSymbol": "ETH",
                    "txFee": "0.000430211335176",
                    "state": "success",
                    "tokenId": "",
                    "tokenContractAddress": "",
                    "challengeStatus": "",
                    "l1OriginHash": ""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
transactionLists Array Transaction list
> txId String Transaction hash
> blockHash String Block hash
> height String Block height
> transactionTime String Transaction time. Broadcasting time for pending transactions. Unix timestamp format in milliseconds, e.g. 1597026383085
> from String Sender address
> to String Recipient address
> isFromContract Bol Is the From address a contract address
> isToContract Bol Is the To address a contract address
> amount String Transaction amount, for blockchains utilizing the UTXO model, the returned value represents the balance change prompted by this transaction for the specified address
> transactionSymbol String Transaction currency
> txFee String Transaction Fees
> state String Trading state
success
fail
pending
> tokenContractAddress String Token Contract Address
> challengeStatus String Challenge period status
> l1OriginHash String L1 executed transaction hash

Get standard transaction list by address

Get a list of common transactions associated with an address and return only the last year or one year back from the time of the last transaction.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/address/normal-transaction-list

Request Example

GET /api/v5/explorer/address/normal-transaction-list?chainShortName=eth&address=0xdac17f958d2ee523a2206206994597c13d831ec7&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String Yes Address
startBlockHeight String No The starting block height
endBlockHeight String No The end block height
isFromOrTo String No from, filter transactions where the from address is the query address. to, filter transactions where the to address is the query address. Only supported for Tron and EVM chains
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "limit": "1",
            "page": "1",
            "totalPage": "10000",
            "transactionList": [
                {
                    "txId": "0xac39ce204486c83fa1aef285456a7e0d76f4a76976ab5ab65bcea98d97ee8508",
                    "methodId": "0xa9059cbb",
                    "nonce": "0",
                    "gasPrice": "8438956495",
                    "gasLimit": "94813",
                    "gasUsed": "63209",
                    "blockHash": "0x62a73bc006e481f6f6da53c3d71ea7a8f20c78de4b12a8eaa89d59d68501eefc",
                    "height": "18383240",
                    "transactionTime": "1697704715000",
                    "from": "0xf284512f225b350bf6e71d5a327891fcd26f640c",
                    "to": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                    "isFromContract": false,
                    "isToContract": true,
                    "amount": "0",
                    "symbol": "ETH",
                    "txFee": "0.000533418001092455",
                    "state": "success",
                    "transactionType": "2"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
transactionList Array Transaction list
> txId String Transaction hash
> blockHash String Block hash
> height String Block height
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085.
> from String Sender address
> to String Recipient address
> isFromContract Bol Is the From address a contract address
> isToContract Bol Is the To address a contract address
> amount String Transaction amount
> state String trading state
success
fail
pending
> methodId String Method ID
> symbol String Symbol of the token
> nonce String The number of transactions initiated by the sender's address
> gasUsed String Actual amount of gas used
> gasLimit String Gas limit
> gasPrice String Gas price
> txFee String Transaction fees
> state String Transaction status
success
fail
pending
> transactionType String Transaction type
0:original transaction
1:EIP2930
2:EIP1559
Transaction type for Tron is also supported

Get internal transaction list by address

Get a list of internal transactions associated with an address.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/address/internal-transaction-list

Request Example

GET /api/v5/explorer/address/internal-transaction-list?chainShortName=eth&address=0xdac17f958d2ee523a2206206994597c13d831ec7&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String Yes Address
startBlockHeight String No The starting block height
endBlockHeight String No The end block height
isFromOrTo String No from, filter transactions where the from address is the query address. to, filter transactions where the to address is the query address. Only supported for Tron and EVM chains
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "limit": "1",
            "page": "1",
            "totalPage": "10000",
            "transactionList": [
                {
                    "txId": "0x34d5bd0c44da0864cfb8b9d7f3311d5eb598a4093b26dd5df5d25ec0e9df4942",
                    "operation": "call",
                    "blockHash": "0xee4e80ebc8a4b8071b07abd63906a4201bcf76d66100369a39148a0f529d098c",
                    "height": "18376673",
                    "transactionTime": "1697625227000",
                    "from": "0x3a5cc8689d1b0cef2c317bc5c0ad6ce88b27d597",
                    "to": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                    "isFromContract": true,
                    "isToContract": true,
                    "amount": "0",
                    "state": "success",
                    "symbol": "ETH"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
transactionList Array Transaction list
> txid String Transaction hash
> blockHash String Block hash
> height String Block height
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> from String Sender address
> to String Recipient address
> isFromContract Bol Is the From address a contract address
> isToContract Bol Is the To address a contract address
> operation String Operation type
> amount String Transaction amount
> state String Transaction status
success
fail
> symbol String Symbol of the token

Get token transaction list by address

Get a list of token trading transactions associated with the address.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/address/token-transaction-list

Request Example

GET /api/v5/explorer/address/token-transaction-list?chainShortName=eth&address=0xdac17f958d2ee523a2206206994597c13d831ec7&protocolType=token_20&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink
address String Yes Address
protocolType String Yes Token protocol Type
token_20
token_721
token_1155
token_10
The default is token_20
tokenContractAddress String No Token contract address
startBlockHeight String No The starting block height
endBlockHeight String No The end block height
isFromOrTo String No from, filter transactions where the from address is the query address. to, filter transactions where the to address is the query address. Only supported for Tron and EVM chains
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "limit": "1",
            "page": "1",
            "totalPage": "10000",
            "transactionList": [
                {
                    "txId": "0x66e4b648d6b82c5e2cfdd2121af896a11618c69a356c307e2403a885a8503c88",
                    "blockHash": "0x6199c61f711a797e7bc88b213a5ae71374898a413e5e20f9f8ad420189088e82",
                    "height": "18376245",
                    "transactionTime": "1697620043000",
                    "from": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                    "to": "0xce7a837e1717301cb30d668ec6fcc9f4d312f30f",
                    "tokenContractAddress": "0xd8daa146dc3d7f2e5a7df7074164b6ad99bed260",
                    "tokenId": "",
                    "amount": "1450000000",
                    "symbol": "",
                    "isFromContract": true,
                    "isToContract": false
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
transactionList Array Transaction list
> txId String Transaction hash
> blockHash String Block hash
> height String Block height
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> from String Sender address
> to String Recipient address
> tokenContractAddress String Token contract address
> isFromContract Bol Is the From address a contract address
> isToContract Bol Is the To address a contract address
> amount String Transaction amount
> symbol String Token symbol
> tokenId String NFT token ID

Get address entity labels in batches

Batch query the entity labels for a maximum of 20 addresses on a specific chain, only returning the addresses with exchange big address labels and project labels.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/address/entity-label

Request Example

GET /api/v5/explorer/address/entity-label?chainShortName=eth&address=0x539C92186f7C6CC4CbF443F26eF84C595baBBcA1

Request Parameters

Parameter Type Required Description
chainShortName String Yes Chain name, e.g, BTC, ETH.
address String Yes Address, up to 20 addresses separated by a comma.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "label": "OKX.Cold Wallet",
            "address": "0x539c92186f7c6cc4cbf443f26ef84c595babbca1"
        }
    ]
}

Response Parameters

Parameter Type Description
label String The entity labels for the address, such as "Binance.Deposit". If an address has multiple entity labels, they will be separated by commas.
address String Address

Get native token balance in batches

This API allows for the batch querying of native token balances for up to 100 addresses.

Consumption per query 10

HTTP Request

GET /api/v5/explorer/address/balance-multi

Request Example

GET /api/v5/explorer/address/balance-multi?chainShortName=eth&address=0x85c6627c4ed773cb7c32644b041f58a058b00d30,0xb13a8883d5116b418066c379bc3b3f40d087b8d8

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network,
address String Yes Addresses, up to 100 addresses separated by a comma.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "symbol": "ETH",
            "balanceList": [
                {
                    "address": "0x85c6627c4ed773cb7c32644b041f58a058b00d30",
                    "balance": "0"
                },
                {
                    "address": "0xb13a8883d5116b418066c379bc3b3f40d087b8d8",
                    "balance": "0.00019330554147975"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
symbol String Native token of the chain
balanceList Array Balance list
> address String Address
> balance String Native token balance of the address

Get token balance in batches

This API allows for the batch querying of token balances for up to 50 addresses.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/address/token-balance-multi

Request Example

GET /api/v5/explorer/address/token-balance-multi?chainShortName=eth&address=0x85c6627c4ed773cb7c32644b041f58a058b00d30,0xb13a8883d5116b418066c379bc3b3f40d087b8d8

Request Example

Parameter Type Required Description
chainShortName String Yes Chain abbreviation
address String Yes Addresses, up to 50 addresses separated by commas.
protocolType String No Different token types, for ERC-20 tokens: token_20, for ERC-721 tokens: token_721, for ERC-1155 tokens: token_1155
page String No Page
limit String No The number of results returned per request. The maximum is 2000. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "2",
            "totalPage": "686",
            "balanceList": [
                {
                    "address": "0xf977814e90da44bfa03b6295a0616a897441acec",
                    "holdingAmount": "400",
                    "tokenContractAddress": "0x7379cbce70bba5a9871f97d33b391afba377e885"
                },
                {
                    "address": "0xf977814e90da44bfa03b6295a0616a897441acec",
                    "holdingAmount": "123101078.45198849",
                    "tokenContractAddress": "0x5c885be435a9b5b55bcfc992d8c085e4e549661e"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String Number of records per page, default minimum 20 records, up to 2000 records
totalPage String Total number of pages
balanceList Array List of token balances
> address String Address
> holdingAmount String Token balance of the address
> tokenContractAddress String Contract address of the token

Get standard transaction list for specific block

This allows for querying ordinary transactions of up to 20 addresses at once. It is necessary to limit the starting block height and the ending block height, the difference between which cannot exceed 10,000 blocks.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/address/normal-transaction-list-multi

Example Request

GET /api/v5/explorer/address/normal-transaction-list-multi?chainShortName=eth&address=00x533a7ae90fee4cafbc00e6a551cfb39a954cbf48,0xc0a3465b50a47848b7d04e145df61565d3e10566&endBlockHeight=18374343&startBlockHeight=18374341

Request Parameters

Parameter Type Required Description
chainShortName String Yes Chain abbreviation
address String Yes Addresses, up to 20 addresses separated by ,
startBlockHeight String Yes Starting block number for the search
endBlockHeight String Yes Ending block number for the search
isFromOrTo String No from, filter transactions where the from address is the query address. to, filter transactions where the to address is the query address. Only supported for Tron and EVM chains
page String No Page number
limit String No Number of records per page, default min 20, max 100

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "20",
            "totalPage": "1",
            "transactionList": [
                {
                    "txId": "0x76e650150abadac6c781c9c90a0fcda69fce6e69f0fbbfb08d8cadc26076802a",
                    "methodId": "",
                    "blockHash": "0x58c6a91b0b5ff04bb7ea9b9f264c547472a96dafbdb069acc1e2e8d63792db16",
                    "height": "18374343",
                    "transactionTime": "1697597087000",
                    "from": "0x533a7ae90fee4cafbc00e6a551cfb39a954cbf48",
                    "to": "0xc0a3465b50a47848b7d04e145df61565d3e10566",
                    "isFromContract": false,
                    "isToContract": false,
                    "amount": "15296",
                    "symbol": "ETH",
                    "txFee": "0.000139810264818",
                    "gasLimit": "21000",
                    "gasUsed": "21000",
                    "gasPrice": "6657631658",
                    "nonce": "",
                    "transactionType": "2"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Page number
limit String Number of records per page, default min 20, max 100
totalPage String Total number of pages
transactionList Array List of transactions
> txId String Transaction hash
> methodId String Short hash identifying the smart contract function
> nonce String The number of transactions initiated by the sender's address
> blockHash String Block hash
> height String Block height of the transaction
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> from String Transaction sender's address, multiple addresses separated by ,
> to String Transaction receiver's address, multiple addresses separated by ,
> isFromContract Bool Whether the from address is a contract address
> isToContract Bool Whether the to address is a contract address
> amount String Token amount
> symbol String Symbol of the transaction token
> txFee String Transaction fee (in ETH)
> gasLimit String Maximum gas amount
> gasUsed String Actual amount of gas used (in Wei)
> gasPrice String Gas price (in Wei)
> transactionType String Transaction type
0:original transaction
1:EIP2930
2:EIP1559
Transaction type for Tron is also supported

Get internal transaction list for specific block

You can perform a batch query for up to 20 addresses' regular transactions. You need to limit the query to a starting and ending block height, and the difference between the two cannot exceed 10,000 blocks.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/address/internal-transaction-list-multi

Request Example

GET /api/v5/explorer/address/internal-transaction-list-multi?chainShortName=eth&address=0xd501520326d41aead2a70d4b5bf0c4646c0c9bd8,0xd275e5cb559d6dc236a5f8002a5f0b4c8e610701&endBlockHeight=18374470&startBlockHeight=18370000&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String Yes Addresses, up to 20 can be entered, separated by commas
startBlockHeight String Yes The start block height for the search
endBlockHeight String Yes The end block height for the search
page String No Page number
limit String No Number of results per page. The default minimum is 20 and the maximum is 100

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "7",
            "transactionList": [
                {
                    "txId": "0xfcc0b4d18791f5932ba7e3563012a176ef0d9f959e0beefc34f6956a0d0043b6",
                    "blockHash": "0x6eab9220138600d0cd66b73737aec77c016c18c91e13e93a938b7477e1e18865",
                    "height": "18373050",
                    "transactionTime": "1697581427000",
                    "operation": "call",
                    "from": "0x09fa0d3154363036ea406f254808c53f5f975518",
                    "to": "0xd275e5cb559d6dc236a5f8002a5f0b4c8e610701",
                    "isFromContract": true,
                    "isToContract": false,
                    "amount": "2450"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String Number of results per page. The default minimum is 20 and the maximum is 100
totalPage String Total number of pages
transactionList Array List of transactions
> txId String Transaction hash
> blockHash String Block hash
> height String Block height where the transaction occurred
> operation String Operation type (e.g., staticcall)
> from String Transaction origin addresses, multiple addresses can be separated by commas
> to String Transaction destination addresses, multiple addresses can be separated by commas
> isFromContract Bool Whether the 'from' address is a contract address
> isToContract Bool Whether the 'to' address is a contract address
> amount String Amount of tokens involved in the transaction

Get token transaction list for specific block

This API allows for the batch querying of transactions for up to 20 addresses. It is required to set both the starting block height and the ending block height, with the difference between the two not exceeding 10,000 blocks.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/address/token-transaction-list-multi

Request Example

GET /api/v5/explorer/address/token-transaction-list-multi?chainShortName=eth&address=0xd501520326d41aead2a70d4b5bf0c4646c0c9bd8,0xd275e5cb559d6dc236a5f8002a5f0b4c8e610701&endBlockHeight=18374470&startBlockHeight=18370000&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes Chain abbreviation
address String Yes Addresses, up to 20 addresses separated by a comma.
startBlockHeight String Yes Starting block height for the search.
endBlockHeight String Yes Ending block height for the search.
page String No Page number.
limit String No Number of results per page; default is a minimum of 20 and a maximum of 100.
protocolType String No Token protocol Type
token_20
token_721
token_1155
token_10
The default is token_20
tokenContractAddress String No Token contract address, up to 20 addresses separated by a comma.
isFromOrTo String No from, filter transactions where the from address is the query address. to, filter transactions where the to address is the query address. Only supported for Tron and EVM chains

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "88",
            "transactionList": [
                {
                    "txId": "0x644fe2fbc53316c3146760ecdb1405fc2dcb4893ac19552ad0898ea669176300",
                    "blockHash": "0xd027f203664d2911cb2bf2f73134539e6f7b5ac20be6ca998b7ea3691acfcd3d",
                    "height": "18373112",
                    "transactionTime": "1697582183000",
                    "from": "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae",
                    "to": "0xd275e5cb559d6dc236a5f8002a5f0b4c8e610701",
                    "isFromContract": true,
                    "isToContract": false,
                    "amount": "1",
                    "tokenId": "1",
                    "symbol": "Airdrop",
                    "tokenContractAddress": "0xf7b24c63fe941f2caadaee49f10e565d850be067"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Page number.
limit String Number of results per page; default is a minimum of 20 and a maximum of 100.
totalPage String Total number of pages.
transactionList Array List of transactions.
> txId String Transaction hash.
> blockHash String Block hash.
> height String Block height at which the transaction occurred.
> transactionTime String Time of the transaction; in Unix timestamp format in milliseconds, e.g., 1597026383085.
> from String Sending address(es) of the transaction, separated by a comma if multiple.
> to String Receiving address(es) of the transaction, separated by a comma if multiple.
> isFromContract Bool Whether the sending address is a contract address.
> isToContract Bool Whether the receiving address is a contract address.
> amount String Token amount.
> tokenId String Token ID, applicable for ERC721 and ERC1155 tokens.
> symbol String Symbol of the token.
> tokenContractAddress String Contract address of the token.

Get top 100 richest address

Get the details of the top 100 addresses with the address balance of a chain or contract.

HTTP Request

GET /api/v5/explorer/address/rich-list

Consumption per query 1

Request Example

GET /api/v5/explorer/address/rich-list?chainShortName=btc

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String No Address

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "symbol": "BTC",
            "rank": "1",
            "address": "34xp4vRoCGJym3xR7yCVPFHoCNxv4Twseo",
            "amount": "248597.39163733",
            "transactionCount": "842",
            "holdRatio": "0.0118",
            "netWork": ""
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
symbol String Symbol of the token held
rank String Rank of the token balance
address String Holder address
amount String Holding amount
transactionCount String The number of transactions
holdRatio String Holding percentage
netWork String The blockchain network, displaying the "chainFullName" of the corresponding chain, e.g., TRON.

Get addresses holding main chain tokens

Get the native token position ranking of a chain, and only return the address with a balance of top 10000.

HTTP Request

GET /api/v5/explorer/address/native-token-position-list

Consumption per query 1

Request Example

GET /api/v5/explorer/address/native-token-position-list?chainShortName=ETH

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
page String No Page number
limit String No Number of results per page, default is a minimum of 20 and a maximum of 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "3",
            "totalPage": "3334",
            "positionList": [
                {
                    "rank": "1",
                    "symbol": "ETH",
                    "holderAddress": "0x00000000219ab540356cbb839cbe05303d7705fa",
                    "amount": "35312968.32606823"
                },
                {
                    "rank": "2",
                    "symbol": "ETH",
                    "holderAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                    "amount": "3234638.2256898033"
                },
                {
                    "rank": "3",
                    "symbol": "ETH",
                    "holderAddress": "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8",
                    "amount": "1996008.379796362"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Page number.
limit String Number of results per page; default is a minimum of 20 and a maximum of 100.
totalPage String Total number of pages.
positionList Array Position list
> rank String Rank of the token balance
> symbol String Symbol of the token held
> address String Holder address
> amount String Holding amount

Mining data

These endpoints from this module retrieve data related to specific mining pools such as mining hash rate rankings and lists of validators.

Get mining pool hashrate share

Get the estimated share of each mining pool.

HTTP Request

GET /api/v5/explorer/pool/estimated-pool-share

Consumption per query 1

Request Example

GET /api/v5/explorer/pool/estimated-pool-share?chainShortName=btc

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC、ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink
period String No Date
1D; 3D; 1W; 1M; 3M; 1Y; All
Default is 1D

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "rank": "1",
            "poolName": "AntPool",
            "hashrate": "0",
            "ratio": "0.2933",
            "blockCount": "44",
            "emptyBlockCount": "0",
            "ommerBlockCount": "0",
            "avgBlockSize": "",
            "avgFee": "0.12343160636363637",
            "minerFeeRatio": "0.0197"
        },
        {
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "rank": "2",
            "poolName": "Foundry USA",
            "hashrate": "0",
            "ratio": "0.28",
            "blockCount": "42",
            "emptyBlockCount": "0",
            "ommerBlockCount": "0",
            "avgBlockSize": "",
            "avgFee": "0.14027478785714284",
            "minerFeeRatio": "0.0224"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
rank String The rank of block production quantity
poolName String Pool name
hashrate String Hash rate
ratio String The percentage of block production share, displayed as a decimal with precision to four decimal places
blockCount String The number of blocks
emptyBlockCount String The number of empty blocks
ommerBlockCount String The number of ommer blocks
avgBlockSize String Average block size, in Bytes
avgFee String Average transaction fee
minerFeeRatio String Miner fee percentage

Get mining pool hashrate ranking

Get the computing power ranking of a chain mining pool.

HTTP Request

GET /api/v5/explorer/pool/pool-hashrate-rank

Consumption per query 1

Request Example

GET /api/v5/explorer/pool/pool-hashrate-rank?chainShortName=btc

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC、ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink
category String No Category
real
estimated
Defaults to real

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "rank": "1",
            "poolName": "Foundry USA",
            "hashrate": "127637910960000010000",
            "change24h": "0.0174",
            "luckyRatio": "1.0347"
        },
        {
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "rank": "2",
            "poolName": "AntPool",
            "hashrate": "115000000000000000000",
            "change24h": "0.0000",
            "luckyRatio": "1.0785"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
rank String The rank of hash rate
poolName String Pool name
hashrate String Hash rate
change24h String 24-hour change in computing power
luckyRatio String Lucky ratio

Retrieve list of super nodes/validators

Get the list of supernodes or validators of the chains currently supported by OKLink, suitable for chains such as OKC and BSC for pledge mining.

HTTP Request

GET /api/v5/explorer/pool/validator-list

Consumption per query 1

Request Example

GET /api/v5/explorer/pool/validator-list?chainShortName=bsc&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network. e.g. BTC、ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink
period period No Date
1D; 1W; 3M; 1Y; All
Default is 1D
validatorName String No Validator name
limit String No The number of results returned per request. The maximum is 50. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": {
        "page": "1",
        "limit": "1",
        "totalPage": "33",
        "validatorList": [
            {
                "rank": "1",
                "validatorName": "Fuji",
                "validatorAddress": "0x7ae2f5b9e386cd1b50a4550696d957cb4900f03a",
                "weightRatio": "0.05",
                "weight": "",
                "blocks": "1323",
                "staked": "1118400.13217862",
                "stakedSymbol": "BNB",
                "reward": "-0.07670620656615305",
                "rewardSymbol": "BNB",
                "state": "-1",
                "firstHeight": "48",
                "latestHeight": "32710953",
                "type": ""
            }
        ]
    }
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
validatorList Array Validator list
> rank String The rank of the validator
> validatorName String Validator name
> validatorAddress String Validator address
> weightRatio String Weight ratio
> weight String Weight
> blocks String Number of blocks generated
> staked String Amount of pledge (estimated value)
> stakedSymbol String Staked token name
> reward String Reward
> rewardSymbol String Reward token
> state String Validator Status
> firstHeight String First block height
> latestHeight String Last block height
> type String Tron node type
SUPER, Super representative
SUPERPARTNER, SR partner
SUPERCANDIDATE, SR candidates

Transaction data

These endpoints from this module retrieve transaction data such as a list of large transactions, transaction details, and unconfirmed transactions.

Get chain transaction list

Get the transaction list of the chains, and only return nearly 10,000 transaction data.

HTTP Request

GET /api/v5/explorer/transaction/transaction-list

Consumption per query 1

Request Example

GET /api/v5/explorer/transaction/transaction-list?chainShortName=btc&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g, BTC, ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink
blockHash String No Block hash
height String No Block height
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "transactionList": [
                {
                    "txid": "8b09dcbc5604284aa88e171e75d717557d9668d4f5499a0db2a7522e478ac3dc",
                    "blockHash": "000000000000000000021a5bdbd89b086bf6932db2751cf7a01ca873317b3231",
                    "height": "812753",
                    "transactionTime": "1697632271000",
                    "input": "bc1qr2kugnsttnjkcawhpltw4nsh3z6vuxxguk0z3d,bc1qr2kugnsttnjkcawhpltw4nsh3z6vuxxguk0z3d,bc1qr2kugnsttnjkcawhpltw4nsh3z6vuxxguk0z3d,bc1qr2kugnsttnjkcawhpltw4nsh3z6vuxxguk0z3d,bc1qr2kugnsttnjkcawhpltw4nsh3z6vuxxguk0z3d,bc1qr2kugnsttnjkcawhpltw4nsh3z6vuxxguk0z3d",
                    "output": "bc1qlavjjmxghslxj6qrcjy2rs5mv7pugy3mzawt80,bc1qr2kugnsttnjkcawhpltw4nsh3z6vuxxguk0z3d",
                    "isInputContract": false,
                    "isOutputContract": false,
                    "amount": "0.00499015",
                    "transactionSymbol": "BTC",
                    "txfee": "0.0007215",
                    "methodId": "",
                    "transactionType": "",
                    "state": ""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
transactionList Array Transaction list
> txid String Transaction hash
> blockHash String Block hash
> height String Block height of the transaction
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085.
> input String Token arrival address
> output String Token transfer out address
> isFromContract Bol Is the input address a contract address
> isToContract Bol Is the output address a contract address
> amount String Transaction amount
> transactionSymbol String Token symbol of the transaction
> txfee String Transaction fee
> methodId String Method ID
> transactionType String Transaction type
0:original transaction type
1:EIP2930
2:EIP1559
> state String Transaction state
success
fail
pending

Get chain large transaction list

Get the list of large-value transactions on the chains.

HTTP Request

GET /api/v5/explorer/transaction/large-transaction-list

Consumption per query 1

Request Example

GET /api/v5/explorer/transaction/large-transaction-list?chainShortName=btc&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g, BTC, ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink
type String No Query transactions with amount more than this value, with a minimum threshold of 100. The default is 100.
height String No Block height
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "transactionList": [
                {
                    "txid": "bca066292115784d9e83263df6b520794d43b8a8ac8622b03fc7ef6803331710",
                    "blockHash": "000000000000000000003549b3b7fcdff3a6328021eeabdae70c57e0fd3776c5",
                    "height": "812747",
                    "transactionTime": "1697627155000",
                    "input": "3D68UNbZVkaxZHGeXZ553xudqGfGjcF5y2",
                    "output": "3MNZCAW6C8rGQKzS39tARXnKVUcRyFF379,3JFudoNxai4Mg9TTB97PZ1i5kZHZ1EzJPT",
                    "isInputContract": false,
                    "isOutputContract": false,
                    "amount": "5119.9088941",
                    "transactionSymbol": "BTC",
                    "txfee": "0.0000498",
                    "methodId": "",
                    "transactionType": "",
                    "state": ""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
transactionList Array Transaction list
> txid String Transaction hash
> blockHash String Block hash
> height String Block height
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> input String Input address
> output String Output address
> isInputContract Bol Is the input address a contract address
> isOutputContract Bol Is the output address a contract address
> amount String Transaction amount
> transactionSymbol String Transaction symbol
> txfee String Transaction fee
> methodId String Method ID
> transactionType String Transaction type
0:original transaction
1:EIP2930
2:EIP1559
> state String Transaction status
success
fail
pending

Get chain unconfirmed transaction list

Get the list of unconfirmed transactions on the chains, and only return nearly 10,000 transaction data.

HTTP Request

GET /api/v5/explorer/transaction/unconfirmed-transaction-list

Consumption per query 1

Request Example

GET /api/v5/explorer/transaction/unconfirmed-transaction-list?chainShortName=btc&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g, BTC, ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "transactionList": [
                {
                    "txid": "e41a58a47d2f9220c367780acd8fc9ee8461b964f1b6ffb3dd610302681b7656",
                    "height": "",
                    "transactionTime": "",
                    "input": "bc1qxx76udl8kjahmlvd8xktaflxgyg0gn664ucw00",
                    "output": "3GzPyo2eJJgjRB3C3e6w2SfX1heuiPnixo",
                    "isInputContract": false,
                    "isOutputContract": false,
                    "amount": "0.002321",
                    "transactionSymbol": "BTC",
                    "txfee": "2220",
                    "methodId": "",
                    "transactionType": "",
                    "randomNumber": "",
                    "status": "pending"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
transactionList Array Transaction list
> txid String Transaction hash
> height String Block height
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085.
> isInputContract Bol Is the input address a contract address
> isOutputContract Bol Is the output address a contract address
> input String Token arrival address
> output String Token transfer out address
> amount String Transaction amount
> transactionSymbol String Token symbol
> txfee String Transaction fee
> methodId String Method ID
> transactionType String Transaction type
0:original transaction type
1:EIP2930
2:EIP1559
> state String Transaction state
success
fail
pending
> randomNumber String RandomNumber

Get internal transactions for specific transaction hash

Query for internal transaction detail by transaction hash.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/transaction/internal-transaction-detail

Request Example

GET /api/v5/explorer/transaction/internal-transaction-detail?chainShortName=eth&txId=0x06d35ea1b5ec75fa9f66bb0d481102aad6236a8e70427cd91a1b1c3e754244dc&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
txId String Yes Transaction hash
page String No Page
limit String No The number of results returned per request

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10",
            "internalTransactionDetails": [
                {
                    "txId": "0x06d35ea1b5ec75fa9f66bb0d481102aad6236a8e70427cd91a1b1c3e754244dc",
                    "from": "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad",
                    "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                    "height": "18076803",
                    "transactionTime": "1693995971000",
                    "isFromContract": true,
                    "isToContract": true,
                    "operation": "call",
                    "amount": "0.002",
                    "state": "success"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
internalTransactionDetails Array Internal transaction details
> txId String Transaction hash
> height String Block height of the transaction
> transactionTime String Transaction time
> from String Sender address
> to String Recipient address
> isFromContract Bol Is the From address a contract address
> isToContract Bol Is the To address a contract address
> operation String Operation type
> amount String Transaction amount
> state String Trading state

Get token transactions for specific transaction hash

Query for token transfer detail by transaction hash.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/transaction/token-transaction-detail

Request Example

GET /api/v5/explorer/transaction/token-transaction-detail?chainShortName=eth&txId=0x06d35ea1b5ec75fa9f66bb0d481102aad6236a8e70427cd91a1b1c3e754244dc&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
txId String Yes Transaction hash
protocolType String No Contract protocol Type
page String No Page
limit String No The number of results returned per request

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "20",
            "totalPage": "1",
            "tokenTransferDetails": [
                {
                    "txId": "0x06d35ea1b5ec75fa9f66bb0d481102aad6236a8e70427cd91a1b1c3e754244dc",
                    "from": "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad",
                    "to": "0xf66369997ae562bc9eec2ab9541581252f9ca383",
                    "height": "18076803",
                    "transactionTime": "1693995971000",
                    "isFromContract": true,
                    "isToContract": true,
                    "tokenContractAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                    "symbol": "WETH",
                    "amount": "0.002"
                },
                {
                    "txId": "0x06d35ea1b5ec75fa9f66bb0d481102aad6236a8e70427cd91a1b1c3e754244dc",
                    "from": "0xf66369997ae562bc9eec2ab9541581252f9ca383",
                    "to": "0xb59ac29fadba6818628a6cb0060a4b57fc4a7126",
                    "height": "18076803",
                    "transactionTime": "1693995971000",
                    "isFromContract": true,
                    "isToContract": false,
                    "tokenContractAddress": "0xbc396689893d065f41bc2c6ecbee5e0085233447",
                    "symbol": "PERP",
                    "amount": "4.23951772020582"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
tokenTransferDetails Array Token transfer detail
> txId String Transaction hash
> height String Block height
> transactionTime String Transaction time
> from String Sender address
> to String Recipient address
> isFromContract Bol Is the From address a contract address
> isToContract Bol Is the To address a contract address
> tokenContractAddress String Contract address of the token
> amount String Transaction amount
> symbol String Token symbol

Get transaction details for specific transaction hash

Get the basic transaction information on the chains.

This is an old interface. We recommend using other interfaces under this module to query detailed transaction information.

HTTP Request

GET /api/v5/explorer/transaction/transaction-fills

Consumption per query 1

Request Example

GET /api/v5/explorer/transaction/transaction-fills?chainShortName=eth&txid=0x3ae59abf714df29a15bb8ecadfbe3068aff20693bb91c7e7c9d34ce245d56def

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g, BTC, ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink
txid String Yes Transaction hash, batch query up to 20 transactions, separated by English commas.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "txid": "0x3ae59abf714df29a15bb8ecadfbe3068aff20693bb91c7e7c9d34ce245d56def",
            "height": "18126676",
            "transactionTime": "1694599499000",
            "amount": "0.1",
            "transactionSymbol": "ETH",
            "txfee": "0.000491371954353",
            "index": "576",
            "confirm": "250634",
            "inputDetails": [
                {
                    "inputHash": "0xe61771cd810d82e6ef302f69c76fbaf0538818c7",
                    "isContract": false,
                    "amount": ""
                }
            ],
            "outputDetails": [
                {
                    "outputHash": "0x095624a01088cca5aae036c128cc9ac8032b9a3c",
                    "isContract": false,
                    "amount": ""
                }
            ],
            "state": "success",
            "gasLimit": "21000",
            "gasUsed": "21000",
            "gasPrice": "0.000000023398664493",
            "totalTransactionSize": "",
            "virtualSize": "0",
            "weight": "",
            "nonce": "1365",
            "transactionType": "2",
            "methodId": "",
            "errorLog": "",
            "inputData": "0x",
            "isAaTransaction": false,
            "tokenTransferDetails": [],
            "contractDetails": []
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
txid String Transaction hash
height String Block height of the transaction
transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
transactionType String Transaction type
0:original transaction
1:EIP2930
2:EIP1559
amount String Transaction amount
methodId String Method ID
errorLog String Transaction failure logs
inputData String Input data
transactionSymbol String Token symbol of the transaction
txfee String Transaction fee
index String The position index of the transaction in the block
confirm String Confirmed block count
inputDetails Array Input details
> inputHash String The hash address that initiated the transaction
> isContract Bol Contract address
true
false
> amount String Transaction amount
outputDetails Array Output details
> outputHash String The hash address to receive the transaction
> isContract Bol Contract address
true
false
> amount String Transaction amount
state String Transaction state
success
fail
pending
gasLimit String Gas limit
gasUsed String Actual amount of gas used
gasPrice String Gas price
totalTransactionSize String Total transaction size
virtualSize String Virtual size
weight String Weight
nonce String The number of transactions initiated by the sender's address
isAaTransaction Bol Whether it is an AA transaction
tokenTransferDetails Array Token transfer details. Request the new interface GET /api/v5/explorer/transaction/internal-transaction-detail and GET /api/v5/explorer/transaction/token-transaction-detail to query more transaction data
> index String The positional index of the transaction in the block
> token String Token name
> tokenContractAddress String Token contract address
> symbol String Token symbol
> from String Token transfer out address
> to String Token arrival address
> isFromContract Bol Is the transfer out token address a contract address
> isToContract Bol Whether the receiving token address is a contract address
> tokenId String NFT token id
> amount String Token transfer amount
contractDetails Array Contract call transfer details
> index String The positional index of the transaction in the block
> from String Token transfer out address
> to String Token arrival address
> isFromContract Bol Is the transfer out token address a contract address
> isToContract Bol Is the receiving token address a contract address
> amount String Transaction amount
> gasLimit String Gas limit

Get transactions for multiple transaction hash

This allows for querying transactions of up to 20 transaction at once.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/transaction/transaction-multi

Request Example

GET /api/v5/explorer/transaction/transaction-multi?chainShortName=eth&txId=0x9a6eca1a9f4cc9b8d338bba2ad50d71be42ceb6aac50059cb8b1fac7e8a37d74

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
txId Array Yes Transaction hash , multiple transactions separated by ,
Maximum 20 txIds

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "txId": "0x9a6eca1a9f4cc9b8d338bba2ad50d71be42ceb6aac50059cb8b1fac7e8a37d74",
            "methodId": "",
            "blockHash": "0x7b9f40bb135a93a9638d30aa6e4ad97deba89542a975468eede129fad9f5e8df",
            "height": "18362555",
            "transactionTime": "1697454719000",
            "from": "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97",
            "to": "0xd87cba5b88ca8c937792a564a60afc0d0683e731",
            "isFromContract": false,
            "isToContract": false,
            "amount": "0.030891615623385848",
            "symbol": "ETH",
            "nonce": "97806",
            "txFee": "0.000194151615588",
            "gasPrice": "9245315028",
            "gasLimit": "21000",
            "gasUsed": "21000",
            "state": "success",
            "transactionType": ""
        }
    ]
}

Response Parameters

Parameter Type Description
txId String Transaction hash
blockHash String Block hash
height String Block height
transactionTime String Transaction time;Unix timestamp format in milliseconds
from String Sender address
to String Recipient address
isFromContract Bol Is the From address a contract address
isToContract Bol Is the To address a contract address
amount String Transaction amount
symbol String Token symbol
nonce String The number of transactions initiated by the sender's address
gasLimit String Gas limit
gasUsed String Actual amount of gas used
gasPrice String Gas price
txFee String Transaction Fees
state String Trading state
transactionType String Transaction type
0:original transaction
1:EIP2930
2:EIP1559
methodId String Method ID
> isFromContract Bol Is the From address a contract address
> isToContract Bol Is the To address a contract address
> amount String Transaction amount
> state String trading state
success
fail
pending
> method String Method ID
> symbol String Symbol
> nonce String Nonce
> gasUsed String Gas
> gasLimit String Gas limit
> gasPrice String Gas avg price
> txFee String Transaction Fees
> state String Transaction status
success
fail
pending

Get internal transactions for multiple transaction hash

This allows for querying internal transactions of up to 20 transaction at once.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/transaction/internal-transaction-multi

Request Example

GET /api/v5/explorer/transaction/internal-transaction-multi?chainShortName=eth&txId=0x633989939634e27ca69e784476a6e06766357ededc42b81b1e112a0180f3b03b

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
txId String Yes Transaction hash, multiple transactions separated by ,
Maximum 20 txIds
page String No Page
limit String No The number of results returned per request

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "20",
            "totalPage": "1",
            "transactionList": [
                {
                    "txId": "0x633989939634e27ca69e784476a6e06766357ededc42b81b1e112a0180f3b03b",
                    "blockHash": "0x469ae737291639f3137d3d4e9649c56489e5d19e272248781f8869220900f809",
                    "height": "18368538",
                    "transactionTime": "1697526923000",
                    "operation": "delegatecall",
                    "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                    "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf",
                    "isFromContract": true,
                    "isToContract": true,
                    "amount": "0"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
internalTransactionDetails Array Internal transaction details
> txId String Transaction hash
> height String Block height of the transaction
> transactionTime String Transaction time
> operation String Operation type
> from String Sender address
> to String Recipient address
> isFromContract Bol Is the From address a contract address
> isToContract Bol Is the To address a contract address
> amount String Transaction amount

Get token transactions for multiple transaction hash

This allows for querying token transactions of up to 20 transaction at once.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/transaction/token-transfer-multi

Request Example

GET /api/v5/explorer/transaction/token-transfer-multi?chainShortName=eth&txId=0x633989939634e27ca69e784476a6e06766357ededc42b81b1e112a0180f3b03b

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
txId String Yes Transaction hash, multiple transactions separated by ,
Maximum 20 txIds
protocolType String No Contract protocol Type
page String No Page
limit String No The number of results returned per request

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "20",
            "totalPage": "1",
            "transactionList": [
                {
                    "txId": "0x633989939634e27ca69e784476a6e06766357ededc42b81b1e112a0180f3b03b",
                    "blockHash": "0x469ae737291639f3137d3d4e9649c56489e5d19e272248781f8869220900f809",
                    "height": "18368538",
                    "transactionTime": "1697526923000",
                    "from": "0xc94ebb328ac25b95db0e0aa968371885fa516215",
                    "to": "0x3275311fde369a68ef90bc25de9d462e1d5c8bb7",
                    "isFromContract": false,
                    "isToContract": false,
                    "amount": "554",
                    "tokenId": "",
                    "symbol": "USDC",
                    "tokenContractAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
tokenTransferDetails Array Token transfer detail
> txId String Transaction hash
> blockHash String Block hash of the transaction
> height String Block height
> transactionTime String Transaction time
> from String Sender address
> to String Recipient address
> isFromContract Bol Is the From address a contract address
> isToContract Bol Is the To address a contract address
> tokenContractAddress String Contract address of the token.
> amount String Transaction amount
> tokenId String NFT token ID
> symbol String Token symbol

Token data

The endpoints from this module retrieve data for a specified token detail. You can query the token price data on 200+ chains via the endpoints in Market Data module.

Get token list

Get basic information about a token on a chain, you can filter tokens by their issue date to search for the latest issued tokens, and the maximum filtering time span is one year.

HTTP Request

GET /api/v5/explorer/token/token-list

Consumption per query 1

Request Example

GET /api/v5/explorer/token/token-list?chainShortName=eth&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g, BTC, ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink
protocolType String No Contract protocol type
token_20
token_721
token_1155
token_10 Default is token_20
tokenContractAddress String No Token contract address
startTime String No Retrieve tokens with issue dates later than this time. It should be in Unix timestamp format in milliseconds, e.g., 1597026383085. The time difference between startTime and endTime should not exceed one year.
endTime String No Retrieve tokens with issue dates earlier than this time. It should be in Unix timestamp format in milliseconds, e.g., 1597026383085. The time difference between startTime and endTime should not exceed one year.
orderBy String No Return the results in descending order based on different criteria. Only applicable to 20 tokens.
totalMarketCap: Sort by total market capitalization in descending order.
transactionAmount24h: Sort by 24-hour transaction amount in descending order.
By default, the results are sorted by market capitalization in descending order.
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "20",
            "totalPage": "1",
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "tokenList": [
                {
                    "tokenFullName": "Tether USD",
                    "token": "USDT",
                    "precision": "6",
                    "tokenContractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                    "protocolType": "ERC20",
                    "addressCount": "5630800",
                    "totalSupply": "50999156520.37353",
                    "circulatingSupply": "109840251114.81",
                    "price": "1.00054",
                    "website": "https://tether.to/",
                    "totalMarketCap": "109907253667.99",
                    "issueDate": "1511883490000",
                    "transactionAmount24h": "6074260853.604071",
                    "tvl": "298613818.3666634",
                    "logoUrl": "https://static.coinall.ltd/cdn/wallet/logo/USDT-991ffed9-e495-4d1b-80c2-a4c5f96ce22d.png"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
tokenList Array Token list
> tokenFullName String Full name of the token
> token String Token name
> precision String Precision
> tokenContractAddress String Token contract address
> protocolType String Protocol type
> addressCount String Address count
> totalSupply String Total supply
> circulatingSupply String The total circulating supply of this token on all chains
> price String Price, the unit is USD
> website String Website
> totalMarketCap String The total market cap of this token on all chains
> issueDate String Issue Date
> transactionAmount24h String Transaction amount in the past 24 hours, the unit is USD, only for ERC-20 token
> tvl String Total value locked
> logoUrl String Logo url of the token

Get token holder list

Get the list of positions of a token under a chain, return only the address with a balance of top10000.

HTTP Request

GET /api/v5/explorer/token/position-list

Consumption per query 1

Request Example

GET /api/v5/explorer/token/position-list?chainShortName=eth&tokenContractAddress=0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g, BTC, ETH.
tokenContractAddress String Yes Token Contract Address
holderAddress String No Holder address
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "circulatingSupply": "977631.04",
            "positionList": [
                {
                    "holderAddress": "0x0a3f6849f78076aefadf113f5bed87720274ddc0",
                    "amount": "165544.6846010534",
                    "valueUsd": "231029494.33741083165440853217918",
                    "positionChange24h": "-0.000030241911044021",
                    "rank": "1"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
circulatingSupply String Circulating Supply
positionList Array Position List
> holderAddress String Holder Address
> amount String Holding amount
> valueUsd String Value of positions, Unit: USD
> positionChange24h String 24 hour position changes
> rank String Position ranking

Get statistics of token holder addresses

Get the Holder addresses' total purchase amount, purchase quantity, holding cost, and unrealized profit of a specific token on a particular blockchain. The interface only considers addresses that have purchased the token on a DEX and still hold the token at present.

HTTP Request

GET /api/v5/explorer/token/position-stats

Consumption per query 1

Request Example

GET /api/v5/explorer/token/position-stats?chainShortName=eth&tokenContractAddress=0xdac17f958d2ee523a2206206994597c13d831ec7&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes Chain name, e.g, BTC, ETH.
tokenContractAddress String Yes Token contract address
holderAddress String No Holder address
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "20",
            "totalPage": "500",
            "positionList": [
                {
                    "holderAddress": "0xcee284f754e854890e311e3280b767f80797180d",
                    "amount": "1432683907.127544",
                    "totalTxnAmount": "949071.1488562819",
                    "totalTxnQuantity": "948975.819459",
                    "holdingCost": "1.000100455033023",
                    "unrealizedProfit": "-244208.182700946177592885512"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
positionList Array Position list
> holderAddress String Holder address
> amount String Holding amount
> totalTxnAmount String Total transaction amount in USD for purchases on DEX by the address
> totalTxnQuantity String Total quantity of the token purchased on DEX by the address
> holdingCost String Holding cost of the address, calculated as totalTxnAmount / totalTxnQuantity. Unit: USD
> unrealizedProfit String Unrealized profit of the token held by the address, calculated as (current token price - position cost) * holding amount

Get token transfer details

Get details of a specified token transfer from a specified chain.

HTTP Request

GET /api/v5/explorer/token/transaction-list

Consumption per query 1

Request Example

GET /api/v5/explorer/token/transaction-list?chainShortName=eth&tokenContractAddress=0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g, BTC, ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink
tokenContractAddress String Yes Token contract address
maxAmount String No Transaction quantity range, maximum amount
minAmount String No Transaction quantity range, minimum amount
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "totalTransfer": "2005176",
            "transactionList": [
                {
                    "txid": "0x784c42f0dee87a0e83ed29d69df6ab2af0a13792f2c266a4fe3f6f2b1f4c59ae",
                    "blockHash": "0x907077f5157ee31a5665f37f5589170fad2450857fea8d5d99a91ed02f908f1d",
                    "height": "18377320",
                    "transactionTime": "1697633099000",
                    "from": "0xaafb85ad4a412dd8adc49611496a7695a22f4aeb",
                    "to": "0x7913005b548839da13765020ddb9bf74a151b327",
                    "isToContract": false,
                    "isFromContract": true,
                    "amount": "0",
                    "transactionSymbol": "MKR",
                    "methodId": "0x8a179be4",
                    "tokenContractAddress": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
                    "protocolType": "ERC20",
                    "state": "success",
                    "tokenId": ""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
totalTransfer String Total transfer
transactionList Array Transaction List
> txid String Transaction hash
> blockHash String Block hash
> height String Block height
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> to String Token arrival address
> from String Token transfer out address
> isFromContract Bol Is the transfer out token address a contract address
> isToContract Bol Is the receiving token address a contract address
> amount String Transaction amount
> transactionSymbol String Token symbol of the transaction
> methodId String Method ID
> tokenContractAddress String Token Contract Address
> protocolType String Protocol Type
> state String Status
success
fail
pending
> tokenId String NFT token ID for 721 and 1155 tokens

Get token transactions for specific block

Batch query transactions of up to 20 contracts' tokens, with a maximum search of 10,000 blocks.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/token/token-transaction-list-multi

Request Example

GET /api/v5/explorer/token/token-transaction-list-multi?chainShortName=eth&tokenContractAddress=0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2&endBlockHeight=17925814&startBlockHeight=17916100&limit=1

Request Parameters

Parameter Name Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g, BTC, ETH. Query via GET /api/v5/explorer/blockchain/summary.
tokenContractAddress String Yes Token contract address, can input up to 20 addresses, separated by ','.
startBlockHeight String Yes Starting block number for the search.
endBlockHeight String Yes Ending block number for the search.
page String No Page number.
limit String No Number of items to return per page. Defaults to a minimum of 20 and a maximum of 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "712",
            "transactionList": [
                {
                    "txId": "0x3512b39be2705de69c45b94d08068dd9ff8d932b8cf163650e97154136dca9b3",
                    "blockHash": "0x7a6dc63e2f04cc40013f4359771038fbaebe9895568c93df122eb0c1aa2f0b32",
                    "height": "17925812",
                    "transactionTime": "1692169811000",
                    "from": "0x2e52f794dec462be6a05c7291b5d80326f953668",
                    "to": "0x5bea21c54bbb549c1c5fc3e451955878ed152dac",
                    "isFromContract": false,
                    "isToContract": false,
                    "amount": "0.9971",
                    "tokenId": "",
                    "symbol": "MKR",
                    "tokenContractAddress": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Name Type Description
page String The page number
limit String Number of cases returned per page,a default minimum of 20 to a maximum of 100
totalPage String Total number of pages
transactionList Array List of transactions
> txId String Transaction hash
> blockHash String Block hash
> height String The integer block number where the transaction occurred
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> from String Sender's address, multiple addresses separated by ,
> to String Receiver's address, multiple addresses separated by ,
> isFromContract Bol Indicates if the sender's address is a contract address
> isToContract Bol Indicates if the receiver's address is a contract address
> amount String Token amount
> tokenId String NFT token ID, applicable for 721 and 1155 tokens
> symbol String Cryptocurrency symbol corresponding to the amount
> tokenContractAddress String Token contract address

Get token supply for specific block

The API can be used to query historical supply of a token at specified block heights across various supported blockchains.

5 API calls per query

HTTP request

GET /api/v5/explorer/token/supply-history

Request Example

GET /api/v5/explorer/token/supply-history?chainShortName=polygon_zkevm&tokenContractAddress=0x1e4a5963abfd975d8c9021ce480b42188849d41d&height=946117

Request parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. ETH
tokenContractAddress String Yes The token contract address
height String Yes The block height

Response parameters

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "supply": "2495333.838249"
        }
    ]
}

返回参数

Parameter Type Description
supply String The token supply at this block height

Get token transaction statistics

Query the addresses with the highest transaction volume for a specific token in the last 24 hours, along with the number of transactions, the quantity of transactions, and the transaction volume for each of these addresses. Return data for up to 10,000 addresses.

HTTP Request

GET /api/v5/explorer/token/transaction-stats

Consumption per query 5

Request Example

GET /api/v5/explorer/token/transaction-stats?chainShortName=eth&tokenContractAddress=0xae7ab96520de3a18e5e111b5eaab095312d7fe84

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
tokenContractAddress String Yes Token contract address
orderBy String No Return the results in descending order based on different metrics: buyCount, buyAmount, buyValueUsd, sellCount, sellAmount, sellValueUsd, txnCount, txnAmount, txnValueUsd
By default, return the results sorted by txnValueUsd
page String No Page
limit String No The number of results returned per request. The maximum is 100. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "252",
            "transactionAddressList": [
                {
                    "address": "0xce96ae6de784181d8eb2639f1e347fd40b4fd403",
                    "buyCount": "1",
                    "buyAmount": "6358.000330039933",
                    "sellCount": "0",
                    "sellAmount": "0",
                    "txnCount": "1",
                    "txnAmount": "6358.000330039933",
                    "buyValueUsd": "20927505.05462761",
                    "sellValueUsd": "0",
                    "txnValueUsd": "20927505.05462761"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
transactionAddressList Array List of addresses with transactions involving this token in the last 24 hours.
> address String The addresses involved in transactions with this token.
> buyCount String The number of purchases of this token by this address on DEXs in the last 24 hours
> buyAmount String The amount of the token purchased by the address on DEXs in the last 24 hours
> buyValueUsd String The total value spent by the address on purchasing the token on DEXs in the last 24 hours, in USD.
> sellCount String The number of sales of this token by this address on DEXs in the last 24 hours
> sellAmount String The amount of the token sold by the address on DEXs in the last 24 hours
> sellValueUsd String The total value received by the address from selling the token on DEXs in the last 24 hours, in USD.
> txnCount String The number of transactions of this token by this address on DEXs in the last 24 hours
> txnAmount String The amount of the token traded by the address on DEXs in the last 24 hours
> txnValueUsd String The total transaction value of the token by the address on DEXs in the last 24 hours, in USD.

Log data

Query log data by block and address, address and topic, address, and transaction.

Get event logs for specific block and address

Query the transaction event logs by block height and address, only returns nearly 1000 results.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/log/by-block-and-address

Request Example

GET /api/v5/explorer/log/by-block-and-address?chainShortName=ETH&startBlockHeight=18827085&endBlockHeight=18827085&address=0xa2e3356610840701bdf5611a53974510ae27e2e1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
startBlockHeight String Yes The start block height for the search
endBlockHeight String Yes The end block height for the search
address String Yes The smart contract address that triggered the event log

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "height": "18827085",
            "address": "0xa2e3356610840701bdf5611a53974510ae27e2e1",
            "topics": [
                "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                "0x00000000000000000000000000000000003b3cc22af3ae1eac0440bcee416b40",
                "0x000000000000000000000000402b2bceb1415f48b413752cc0e27d76ff34ddeb"
            ],
            "data": "0x00000000000000000000000000000000000000000000000a8f4e545c96c74dfd",
            "methodId": "0x04b7962c",
            "blockHash": "0xdbeab8d3ffb13f4dd738940388349c7cbf062d98da40f90066d9d59d794a9bff",
            "transactionTime": "1703074871000",
            "logIndex": "10",
            "txId": "0xda476a00e3a22360ef8fdd1be6cfe9da1b97dc0af086ce9229ffefa24fae31d9"
        }
    ]
}

Response Parameters

Parameter Type Description
height String Block height
address String The smart contract address that triggered the event log
topics Array The topics of the event log
data String The non-indexed parameter of the event
blockHash String Block hash
methodId String Method ID
transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
logIndex String The location index of the event log in the block
txId String Transaction hash

Get event logs for specific address and topic

Query the transaction event logs by address and topic0, only returns nearly 1000 results.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/log/by-address-and-topic

Request Example

GET /api/v5/explorer/log/by-address-and-topic?chainShortName=ETH&address=0xa2e3356610840701bdf5611a53974510ae27e2e1&topic0=0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String Yes The smart contract address that triggered the event log
topic0 String Yes The topic0 of the event log

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "height": "18827085",
            "address": "0xa2e3356610840701bdf5611a53974510ae27e2e1",
            "topics": [
                "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                "0x00000000000000000000000000000000003b3cc22af3ae1eac0440bcee416b40",
                "0x000000000000000000000000402b2bceb1415f48b413752cc0e27d76ff34ddeb"
            ],
            "data": "0x00000000000000000000000000000000000000000000000a8f4e545c96c74dfd",
            "methodId": "0x04b7962c",
            "blockHash": "0xdbeab8d3ffb13f4dd738940388349c7cbf062d98da40f90066d9d59d794a9bff",
            "transactionTime": "1703074871000",
            "logIndex": "10",
            "txId": "0xda476a00e3a22360ef8fdd1be6cfe9da1b97dc0af086ce9229ffefa24fae31d9"
        }
    ]
}

Response Parameters

Parameter Type Description
height String Block height
address String The smart contract address that triggered the event log
topics Array The topics of the event log
data String The non-indexed parameter of the event
blockHash String Block hash
methodId String Method ID
transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
logIndex String The location index of the event log in the block
txId String Transaction hash

Get event logs for specific address

Query the transaction event logs by address, only returns nearly 1000 results.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/log/by-address

Request Example

GET /api/v5/explorer/log/by-address?chainShortName=ETH&address=0xa2e3356610840701bdf5611a53974510ae27e2e1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String Yes The smart contract address that triggered the event log

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "height": "18827085",
            "address": "0xa2e3356610840701bdf5611a53974510ae27e2e1",
            "topics": [
                "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                "0x00000000000000000000000000000000003b3cc22af3ae1eac0440bcee416b40",
                "0x000000000000000000000000402b2bceb1415f48b413752cc0e27d76ff34ddeb"
            ],
            "data": "0x00000000000000000000000000000000000000000000000a8f4e545c96c74dfd",
            "methodId": "0x04b7962c",
            "blockHash": "0xdbeab8d3ffb13f4dd738940388349c7cbf062d98da40f90066d9d59d794a9bff",
            "transactionTime": "1703074871000",
            "logIndex": "10",
            "txId": "0xda476a00e3a22360ef8fdd1be6cfe9da1b97dc0af086ce9229ffefa24fae31d9"
        }
    ]
}

Response Parameters

Parameter Type Description
height String Block height
address String The smart contract address that triggered the event log
topics Array The topics of the event log
data String The non-indexed parameter of the event
blockHash String Block hash
methodId String Method ID
transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
logIndex String The location index of the event log in the block
txId String Transaction hash

Get event logs for specific hash

Query the transaction event logs by transaction hash, only returns nearly 1000 results.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/log/by-transaction

Request Example

GET /api/v5/explorer/log/by-transaction?chainShortName=ETH&txId=0x74e2d0404b073d043d5c9aac574fe6b354ca92c43bebfdb169e5136f4ff4393e

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
txId String Yes Transaction hash

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "height": "18827085",
            "address": "0xa2e3356610840701bdf5611a53974510ae27e2e1",
            "topics": [
                "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                "0x00000000000000000000000000000000003b3cc22af3ae1eac0440bcee416b40",
                "0x000000000000000000000000402b2bceb1415f48b413752cc0e27d76ff34ddeb"
            ],
            "data": "0x00000000000000000000000000000000000000000000000a8f4e545c96c74dfd",
            "methodId": "0x04b7962c",
            "blockHash": "0xdbeab8d3ffb13f4dd738940388349c7cbf062d98da40f90066d9d59d794a9bff",
            "transactionTime": "1703074871000",
            "logIndex": "10",
            "txId": "0xda476a00e3a22360ef8fdd1be6cfe9da1b97dc0af086ce9229ffefa24fae31d9"
        }
    ]
}

Response Parameters

Parameter Type Description
height String Block height
address String The smart contract address that triggered the event log
topics Array The topics of the event log
data String The non-indexed parameter of the event
blockHash String Block hash
methodId String Method ID
transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
logIndex String The location index of the event log in the block
txId String Transaction hash

Stats data

Access on-chain data, block information, and gas statistics across a wide range of chains, including access to comprehensive historical data.

Get statistics for a specific chain

The API can be used to query daily new addresses, overall transactions, contract calls, transaction fees, and network utilization across various supported blockchains.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/blockchain/stats

Request Example

GET /api/v5/explorer/blockchain/stats?chainShortName=eth

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. ETH
startTime String No The Unix timestamp marking the start of data querying, in milliseconds format e.g., 1597026383085
endTime String No The Unix timestamp marking the end of data querying, in milliseconds format e.g., 1597026383085
limit String No The number of results returned per request. The default is 20 and the maximum is 100.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "3110",
            "statsHistoryList": [
                {
                    "time": "1706832000000",
                    "newAddressCount": "104106",
                    "totalTransactionCount": "1108185",
                    "totalContractCalls": "5065734",
                    "transactionFee": "2657.1239669484817",
                    "networkUtilization": "0.5048832665557917"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The number of results returned per page
totalPage String Total number of pages
statsHistoryList Array List of historical statistical data
> time String Date, unix timestamp format in milliseconds, e.g. 1597026383085
> newAddressCount String The daily number of new addresses
> totalTransactionCount String Total transaction count
> totalContractCalls String The total number of contract calls on the blockchain per day
> transactionFee String The total transaction fee paid to validators per day, measured in the chain's native token
> networkUtilization String Daily network utilization rate, calculated based on the daily total gas consumption divided by the daily total gas limit

Get statistics for a specific chain and block

Query information such as daily number of blocks produced, block size, mining rewards, and average block interval across a range of supported blockchains.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/block/block-stats

Request Example

GET /api/v5/explorer/block/block-stats?chainShortName=eth

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. ETH
startTime String No The Unix timestamp marking the start of data querying, in milliseconds format e.g., 1597026383085
endTime String No The Unix timestamp marking the end of data querying, in milliseconds format e.g., 1597026383085
limit String No The number of results returned per request. The default is 20 and the maximum is 100.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "3110",
            "blockHistoryList": [
                {
                    "time": "1706832000000",
                    "blockCount": "7132",
                    "blockSize": "149949.05300056085",
                    "mineReward": "489.8858503788926",
                    "rewardSymbol": "ETH",
                    "avgBlockInterval": "12.114413909141895"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The number of results returned per page
totalPage String Total number of pages
blockHistoryList Array List of historical block data
> time String Date, unix timestamp format in milliseconds, e.g. 1597026383085
> blockCount String The total number of blocks produced per day
> blockSize String The daily average block size, measured in bytes
> mineReward String The total block rewards received per day
> rewardSymbol String The crypto type for the block reward
> avgBlockInterval String The daily average block production time, measured in seconds

Get Gas statistics for a specific chain

Retrieve information such as daily average gas limit, total gas consumption, average gas price, and maximum/minimum gas prices for supported blockchains.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/gas/stats

Request Example

GET /api/v5/explorer/gas/stats?chainShortName=eth

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. ETH
startTime String No The Unix timestamp marking the start of data querying, in milliseconds format e.g., 1597026383085
endTime String No The Unix timestamp marking the end of data querying, in milliseconds format e.g., 1597026383085
limit String No The number of results returned per request. The default is 20 and the maximum is 100.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "3110",
            "gasHistoryList": [
                {
                    "time": "1721606400000",
                    "avgGasLimit": "1125899906842624",
                    "totalGasUsed": "4047005807",
                    "avgGasPrice": "5949180624",
                    "maxGasPrice": "25680000000",
                    "minGasPrice": "0",
                    "price": "41.18"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The number of results returned per page
totalPage String Total number of pages
gasHistoryList Array List of historical gas data
> time String Date, unix timestamp format in milliseconds, e.g. 1597026383085
> avgGasLimit String The daily average gas limit across all blocks
> totalGasUsed String The total gas consumption per day
> avgGasPrice String The daily average gas price, measured in wei
> maxGasPrice String The daily maximum gas price, measured in wei
> minGasPrice String The daily minimum gas price, measured in wei
> price String The gas token price

UTXO-specific data

Retrieve unspent transaction outputs (UTXOs) for BTC, BCH, LTC, DASH, and DOGE chains.

Get remaining UTXO addresses

Get a breakdown of each UTXO remaining at the address.

HTTP Request

GET /api/v5/explorer/address/utxo

Consumption per query 1

Request Example

GET /api/v5/explorer/address/utxo?chainShortName=btc&address=bc1ql49ydapnjafl5t2cp9zqpjwe6pdgmxy98859v2&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g, BTC, ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink
address String Yes Address
page String No Page
limit String No The number of results returned per request. The maximum is 100. The default is 50.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "172",
            "utxoList": [
                {
                    "txid": "d11638ea2cf68c4b49c1d97ef681a9e7e4658ba6cb7290dd73d476db371b9037",
                    "height": "796599",
                    "blockTime": "1688150365",
                    "address": "bc1ql49ydapnjafl5t2cp9zqpjwe6pdgmxy98859v2",
                    "unspentAmount": "0.0003",
                    "index": "0"
                }
            ]
        }
    ]
}

Response Parameters

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
utxoList Array Remaining UTXO list
> txid String Transaction hash
> height String Block height
> blockTime String Block time
> address String Address
> unspentAmount String Unspent transaction output
> index String The position index of the transaction in the block

BRC-20 data

These endpoints from this module retrieve BRC20 data such as token lists, token inscriptions, token details, and token balance.

Get inscription list

Get the list of inscriptions for the BTC chain

HTTP Request

GET /api/v5/explorer/btc/inscriptions-list

Consumption per query 1

Request Example

GET /api/v5/explorer/btc/inscriptions-list

Request Parameters

Parameter Type Required Description
token String No Token name, tick
inscriptionId String No Inscription ID
inscriptionNumber String No Inscription Number
state String No State
success, fail. Default returns success
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "totalInscription": "31126135",
            "inscriptionsList": [
                {
                    "inscriptionId": "92780ef845a5190a1027724c24b5adbe6713abdaa43c5f273ff8a87d41f6cc8ci0",
                    "inscriptionNumber": "9999999",
                    "location": "92780ef845a5190a1027724c24b5adbe6713abdaa43c5f273ff8a87d41f6cc8c:0:0",
                    "token": "10MM",
                    "state": "success",
                    "msg": "",
                    "tokenType": "BRC20",
                    "actionType": "mint",
                    "logoUrl": "",
                    "ownerAddress": "bc1p53rrfs7l3fdyd60wzsk9gphnjm6y9hr4vhfrp207tsltyxjatfqqj9ly8k",
                    "txId": "92780ef845a5190a1027724c24b5adbe6713abdaa43c5f273ff8a87d41f6cc8c",
                    "blockHeight": "792013",
                    "contentSize": "",
                    "time": "1685401405000"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
totalInscription String Total number of inscriptions
inscriptionsList Array Inscriptions list
> inscriptionId String Inscription id
> inscriptionNumber String Inscription number
> token String Token name, tick
> state String State, success, fail
> msg String Transaction prompt: Error message for failures, and other messages for prompts
> tokenType String Token type, BRC20
> actionType String Action Type; deploy, mint, inscribeTransfer, transfer
> logoUrl String Logo URL
> ownerAddress String Address of the owner of the inscription
> txId String Latest transaction hash
> location String Location, in the format txid: out: offset
> blockHeight String Block height
> contentSize String The size of the stored information. Unit: Bytes
> time String Inscription creation time

Get BRC-20 token list

Get a list of BRC20 tokens for the BTC chain

HTTP Request

GET /api/v5/explorer/btc/token-list

Consumption per query 1

Request Example

GET /api/v5/explorer/btc/token-list

Request Parameters

Parameter Type Required Description
token String No Token name, tick
orderBy String No deployTimeAsc: Return in ascending order of deployTime, from far to near
deployTimeDesc: Return in descending order of deployTime, from near to far
The default is deployTimeAsc
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "tokenList": [
                {
                    "token": "ordi",
                    "deployTime": "1678248991000",
                    "inscriptionId": "b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0",
                    "inscriptionNumber": "348020",
                    "totalSupply": "21000000",
                    "mintAmount": "21000000",
                    "transactionCount": "484169",
                    "holder": "13080",
                    "mintRate": "1"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
> token String Token name, tick
> deployTime String Deploy Time
> inscriptionId String Inscription id
> inscriptionNumber String Inscription number
> totalSupply String Total supply
> mintAmount String Mint amount
> transactionCount String Number of transactions
> holder String THe number of holders
> mintRate String Mint ratio, displayed as a decimal, e.g. 0.9543; retains four decimal places

Get BRC-20 token details

Get token details, including number of holder addresses, number of minted, etc.

HTTP Request

GET /api/v5/explorer/btc/token-details

Consumption per query 1

Request Example

GET /api/v5/explorer/btc/token-details?token=sats

Request Parameters

Parameter Type Required Description
token String Yes Tick

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "token": "sats",
            "precision": "18",
            "totalSupply": "2100000000000000",
            "mintAmount": "2100000000000000",
            "limitPerMint": "100000000",
            "holder": "35825",
            "deployAddress": "bc1prtawdt82wfgrujx6d0heu0smxt4yykq440t447wan88csf3mc7csm3ulcn",
            "logoUrl": "https://static.oklink.com/cdn/web3/currency/token/btc-sats-9b664bdd6f5ed80d8d88957b63364c41f3ad4efb8eee11366aa16435974d9333i0.png/type=png_350_0",
            "txId": "9b664bdd6f5ed80d8d88957b63364c41f3ad4efb8eee11366aa16435974d9333",
            "inscriptionId": "9b664bdd6f5ed80d8d88957b63364c41f3ad4efb8eee11366aa16435974d9333i0",
            "deployHeight": "779971",
            "deployTime": "1678339934000",
            "inscriptionNumber": "357097",
            "state": "success",
            "tokenType": "BRC20",
            "msg": ""
        }
    ]
}

Response Parameters

Parameter Type Description
token String Token name, tick
precision String Precision
totalSupply String Total supply
mintAmount String Mint amount
limitPerMint String Maximum number of casts per time
holder String Number of token addresses held
deployAddress String Deploy address
logoUrl String Logo url
txId String Transaction hash
inscriptionId String Inscription id
deployHeight String Deployment block height
deployTime String Deploy time
inscriptionNumber String Inscription number
state String State: success、fail
tokenType String Token type, BRC20
msg String Msg

Get list of addresses holding BRC-20 tokens

Get a list of token Holder addresses and view token distribution details.

HTTP Request

GET /api/v5/explorer/btc/position-list

Consumption per query 1

Request Example

GET /api/v5/explorer/btc/position-list?token=sats&limit=2

Request Parameters

Parameter Type Required Description
token String Yes Token name, tick
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "2",
            "totalPage": "5000",
            "positionList": [
                {
                    "holderAddress": "bc1plff0sqm6ym55eak9vjljghd55h7hkheg22c84w55w646l857elqsfzmfdv",
                    "amount": "31740686608926",
                    "rank": "1"
                },
                {
                    "holderAddress": "bc1pun3whtlzac75f2vcznxmpfc09dnzyp0luw8tpfwc7wrruwav30pqsu6l9u",
                    "amount": "22651199774504",
                    "rank": "2"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
positionList Array List of addresses for token positions
> holderAddress String Holder address
> amount String Holding amount
> rank String Holding rank

Get BRC-20 token transfer list

Query transfer list by address, transaction hash, block height. No data on pending transactions.

HTTP Request

GET /api/v5/explorer/btc/transaction-list

Consumption per query 1

Request Example

GET /api/v5/explorer/btc/transaction-list

Request Parameters

Parameter Type Required Description
address String No BTC Address
token String No Token name, tick
inscriptionNumber String No Inscription number
actionType String No Action type:deploy, mint、inscribeTransfer、transfer
toAddress String No Sender BTC address
fromAddress String No Receiver BTC address
txId String No Transaction hash
blockHeight String No Block height
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "totalTransaction": "31124061",
            "inscriptionsList": [
                {
                    "txId": "af6bb18c64c57296ae07b8f4b1857c655160402a8d332fdb523915d7887476e2",
                    "blockHeight": "812873",
                    "state": "fail",
                    "tokenType": "BRC20",
                    "actionType": "mint",
                    "fromAddress": "",
                    "toAddress": "bc1qx2l6pzt7aknazsgdnvf5vnhp8ezx38ykg2wvfz",
                    "amount": "",
                    "token": "$ORC",
                    "inscriptionId": "af6bb18c64c57296ae07b8f4b1857c655160402a8d332fdb523915d7887476e2i0",
                    "inscriptionNumber": "35346117",
                    "index": "0",
                    "location": "af6bb18c64c57296ae07b8f4b1857c655160402a8d332fdb523915d7887476e2:0:0",
                    "msg": "tick: $ORC has been minted",
                    "time": "1697695573000"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
totalTransaction String Total number of transactions
transactionList Array Transaction list
> txid String Transaction hash
> blockHeight String Block height
> state String State: success, fail
> tokenType String Token Type, BRC20
> actionType String Action Type:deploy, mint, inscribeTransfer, transfer
> fromAddress String Sender BTC address
> toAddress String Receiver BTC address
> amount String Transaction amount
> index String The index of vout. When the type is coinbase, this field has no numerical value
> location String Location, in the format txid: out: offset; When the type is coinbase, this field has no numerical value
> token String Token name, tick
> inscriptionId String Inscription id
> inscriptionNumber String Inscription number
> msg String Transaction prompt: Error message for failures, and other messages for prompts
> time String Transaction time

Get BRC-20 token balance list by address

Query the balance of BRC20 tokens held by BTC address, transferable balance, available balance.

HTTP Request

GET /api/v5/explorer/btc/address-balance-list

Consumption per query 1

Request Example

GET /api/v5/explorer/btc/address-balance-list?address=bc1ph0057nc25ka94z8ydg43j8tnnp38u3hxpadutnt4n3jyfrmjzmcqw99mk2

Request Parameters

Parameter Type Required Description
address String Yes BTC Chain Address
token String No Token name, tick
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "12",
            "balanceList": [
                {
                    "token": "sats",
                    "tokenType": "BRC20",
                    "balance": "1350000000000",
                    "availableBalance": "1350000000000",
                    "transferBalance": "0"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
balanceList Array List of token balances held by BTC address
> token String Token name, tick
> tokenType String Token type, BRC20
> balance String Token balance
> availableBalance String Available balance
> transferBalance String Transfer balance

Get BRC-20 token balance details by address

Query the detailed list of the transferable balance of a token at an address.

HTTP Request

GET /api/v5/explorer/btc/address-balance-details

Consumption per query 1

Request Example

GET /api/v5/explorer/btc/address-balance-details?address=bc1ph0057nc25ka94z8ydg43j8tnnp38u3hxpadutnt4n3jyfrmjzmcqw99mk2&token=meme

Request Parameters

Parameter Type Required Description
address String Yes BTC chain address
token String Yes Token name, tick
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "6",
            "token": "meme",
            "tokenType": "BRC20",
            "balance": "18",
            "availableBalance": "0",
            "transferBalance": "18",
            "transferBalanceList": [
                {
                    "inscriptionId": "a1002519472f9a1d45db5a3df30ea521ecd5425e546a63a79f3a4a9ff4e6e582i0",
                    "inscriptionNumber": "4615101",
                    "amount": "3"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
token String Token name, tick
tokenType String Token type, BRC20
balance String Token balance
availableBalance String Available balance
transferBalance String Transfer balance
transferBalanceList Array Transfer balance list
> inscriptionId String Inscription id
> inscriptionNumber String Inscription Number
> amount String Token amount

Get BTC transaction statistics

Query the daily number of transactions on the blockchain, as well as the number of transactions for different types. The supported chain is BTC

Consumption per query 5

HTTP Request

GET /api/v5/explorer/utxo/transaction-stats

Request Example

GET /api/v5/explorer/utxo/transaction-stats?limit=2&chainShortName=btc

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. ETH
startTime String No The Unix timestamp marking the start of data querying, in milliseconds format e.g., 1597026383085
endTime String No The Unix timestamp marking the end of data querying, in milliseconds format e.g., 1597026383085
limit String No The number of results returned per request. The default is 20 and the maximum is 100.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "2",
            "totalPage": "2805",
            "transactionHistoryList": [
                {
                    "time": "1715616000000",
                    "totalTransactionCount": "480918",
                    "normalTransactionCount": "454299",
                    "atomicalsTransactionCount": "1888",
                    "stampTransactionCount": "859",
                    "ordinalsTransactionCount": "23884"
                },
                {
                    "time": "1715529600000",
                    "totalTransactionCount": "596134",
                    "normalTransactionCount": "573757",
                    "atomicalsTransactionCount": "2478",
                    "stampTransactionCount": "739",
                    "ordinalsTransactionCount": "63338"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The number of results returned per page
totalPage String Total number of pages
transactionHistoryList Array List of historical transaction data
> time String Date, unix timestamp format in milliseconds, e.g. 1597026383085
> totalTransactionCount String Total transaction count
> normalTransactionCount String Normal transaction count
> atomicalsTransactionCount String Atomicals transaction count
> stampTransactionCount String Stamp transaction count
> ordinalsTransactionCount String Ordinals transaction count

Get mining revenue statistics

Query the daily block reward and transaction fees on the blockchain. The supported chain is BTC

Consumption per query 5

HTTP Request

GET /api/v5/explorer/utxo/revenue-stats

Request Example

GET /api/v5/explorer/utxo/revenue-stats?limit=2&chainShortName=btc

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. ETH
startTime String No The Unix timestamp marking the start of data querying, in milliseconds format e.g., 1597026383085
endTime String No The Unix timestamp marking the end of data querying, in milliseconds format e.g., 1597026383085
limit String No The number of results returned per request. The default is 20 and the maximum is 100.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "2",
            "totalPage": "2806",
            "revenueHistoryList": [
                {
                    "time": "1715702400000",
                    "blockReward": "181.25",
                    "transactionFee": "9.6476646"
                },
                {
                    "time": "1715616000000",
                    "blockReward": "440.625",
                    "transactionFee": "24.94226618"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The number of results returned per page
totalPage String Total number of pages
revenueHistoryList Array List of historical revenue data
> time String Date, unix timestamp format in milliseconds, e.g. 1597026383085
> blockReward String Total block reward, measured in the chain's native token
> transactionFee String The total transaction fee paid to validators per day, measured in the chain's native token

Recommended transaction fee calculated based on the BTC memory pool.

GET /api/v5/explorer/utxo/recommended-fee

Request Example

GET /api/v5/explorer/utxo/recommended-fee?chainShortName=btc
Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "rapidFeeSats": "30.88",
            "rapidFeeUsd": "1.94",
            "rapidConfirmationTime": "1728713370000",
            "standardFeeSats": "19.1",
            "standardFeeUsd": "1.2",
            "standardConfirmationTime": "1728714450000",
            "slowFeeSats": "2",
            "slowFeeUsd": "0.13",
            "slowConfirmationTime": "1728718134000",
            "fastFeeSats": "26.84",
            "fastFeeUsd": "1.68",
            "fastConfirmationTime": "1728713919000"
        }
    ]
}
Parameter Type Description
rapidFeeSats String Rapid Transaction Fee , Unit: Sats/vB
rapidFeeUsd String Rapid Transaction Fee , Unit: USD
rapidConfirmTime String Rapid transaction fee initiates a transaction with an expected time for the block to be confirmed
standardFeeSats String Standard Transaction Fee , Unit: Sats/vB
standardFeeUsd String Standard Transaction Fee , Unit: USD
standardConfirmTime String Standard transaction fee initiates a transaction with an expected time for the block to be confirmed
slowFeeSats String Slow Transaction Fee , Unit: Sats/vB
slowFeeUsd String Slow Transaction Fee , Unit: USD
slowConfirmTime String Slow transaction fee initiates a transaction with an expected time for the block to be confirmed
fastFeeSats String Fast Transaction Fee , Unit: Sats/vB
fastFeeUsd String Fast Transaction Fee , Unit: USD
fastConfirmTime String Fast transaction fee initiates a transaction with an expected time for the block to be confirmed

BTC inscription data

Retrieve data for various inscription protocols such as BRC-20, SRC-20, ARC-20, Runes, and Ordinals NFT.

Get list of inscription tokens

Query the list of inscription tokens, return a maximum of 10,000 data. The supported tokens are Runes, BRC-20, SRC-20, ARC-20, Ordinals NFT on the BTC chain.

HTTP Request

GET /api/v5/explorer/inscription/token-list

Consumption per query 1

Request Example

GET api/v5/explorer/inscription/token-list?chainShortName=btc&protocolType=runes&limit=1

Request Parameters

Parameter Name Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g., BTC.
protocolType String Yes Protocol type of the inscription token
Runes: runes
BRC-20 token: brc20
SRC-20 token: src20
ARC-20 token: arc20
Ordinals NFT: ordinals_nft
tokenInscriptionId String No Inscription ID of the inscription token
For Runes, enter Rune ID
For BRC-20 tokens, enter the token's Inscription ID
For ARC-20 tokens, enter the token's Atomical ID
This parameter is not required for other inscription tokens
symbol String No For SRC-20 tokens, enter the token name
For Ordinals NFT, enter the project name, ensuring that it is case-sensitive
projectId String No For Ordinals NFT, names may be same for different projects. You can view the unique project ID through the URL in the OKLink BTC explorer, such as 1452128 (https://www.oklink.com/btc/token/nft/1452128). If this field is not filled in, it will default to returning the data of the project with the highest total transaction count.
This parameter is only applicable to Ordinals NFT.
startTime String No Query tokens issued after the Unix timestamp, in milliseconds format, e.g., 1597026383085. The "startTime" and "endTime" difference should not exceed one year.
This parameter is not applicable to Ordinals NFT.
endTime String No Query tokens issued before the Unix timestamp, in milliseconds format, e.g., 1597026383085. The "startTime" and "endTime" difference should not exceed one year.
This parameter is not applicable to Ordinals NFT.
orderBy String No deployTimeAsc: Sort results by ascending order, from oldest to newest based on deployment time
deployTimeDesc: Sort results by descending order, from newest to oldest based on deployment time
transactionCountAsc: Sort results by ascending order, from least to most based on total number of transactions
transactionCountDesc: Sort results by ascending order, from most to least based on total number of transactions
The default is "deployTimeAsc"
page String No Page number
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "tokenList": [
                {
                    "symbol": "UNCOMMON•GOODS",
                    "tokenInscriptionId": "1:0",
                    "protocolType": "RUNES",
                    "totalSupply": "3362172",
                    "mintAmount": "3362172",
                    "deployTime": "0",
                    "holder": "40851",
                    "transactionCount": "3374587",
                    "circulatingSupply": "3362067",
                    "mintBitwork": "",
                    "limitPerMint": "1",
                    "runesSymbol": "⧉",
                    "divisibility": "0",
                    "mintStatus": "mintable",
                    "premint": "0",
                    "burn": "135",
                    "mintStartBlock": "840000",
                    "mintEndBlock": "1050000",
                    "mintCap": "340282366920938463463374607431768211455"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Name Type Description
page String Current page number
limit String The number of results returned on the current page
totalPage String Total number of pages
tokenList Array List of tokens
> symbol String The token name
> tokenInscriptionId String Inscription ID of the inscription token
For Runes, return the Rune ID
For BRC-20 tokens, return the token's Inscription ID
For ARC-20 tokens, return the token's Atomical ID
For other inscription tokens, this field returns empty
> protocolType String Protocol type of the inscription token
> totalSupply String The maximum total supply
> mintAmount String The total quantity of tokens already minted
> deployTime String Token deployment date
This parameter is not applicable to Ordinals NFT.
> transactionCount String Total number of transactions
> holder String Number of addresses holding the token
> circulatingSupply String Circulating supply
This parameter is only applicable to ARC-20 and Runes.
> mintBitwork String Bitwork mining difficulty
This parameter is only applicable to some ARC-20 tokens.
> limitPerMint String The maximum limit of the tokens for a single mint
This parameter is only applicable to Runes.
> runesSymbol String The symbol of Runes token
This parameter is only applicable to Runes.
> divisibility String divisibility, i.e., token precision.
This parameter is only applicable to Runes.
> mintStatus String The mint status of the tokens.
no mintable
mintable
> premint String premint,
This parameter is only applicable to Runes.
> burn String burn
This parameter is only applicable to Runes.
> mintStartBlock String Mint start block.
This parameter is only applicable to Runes.
> mintEndBlock String Mint ent block.
This parameter is only applicable to Runes.
> mintCap String Mint cap.
This parameter is only applicable to Runes.

Get list of addresses holding inscription tokens

Query a list of addresses holding inscription tokens, return a maximum of 10,000 data. The supported tokens are Runes, BRC-20, SRC-20, ARC-20, Ordinals NFT on the BTC chain.

HTTP Request

GET /api/v5/explorer/inscription/token-position-list

Consumption per query 1

Request Example

GET api/v5/explorer/inscription/token-position-list?chainShortName=btc&protocolType=brc20&tokenInscriptionId=b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0&limit=3

Request Parameters

Parameter Name Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g., BTC.
protocolType String Yes Protocol type of the inscription token
Runes: runes
BRC-20 token: brc20
SRC-20 token: src20
ARC-20 token: arc20
Ordinals NFT: ordinals_nft
tokenInscriptionId String Yes when protocolType is BRC20, ARC20, or Runes Inscription ID of the inscription token
For Runes, enter Rune ID
For BRC-20 tokens, enter the token's Inscription ID
For ARC-20 tokens, enter the token's Atomical ID
This field is not required for other inscription tokens
symbol String Yes when protocolType is SRC20 or Ordinals NFT For SRC-20 tokens, enter the token name
For Ordinals NFT, enter the project name, ensuring that it is case-sensitive
projectId String No For Ordinals NFT, names may be same for different projects. You can view the unique project ID through the URL in the OKLink BTC explorer, such as 1452128 (https://www.oklink.com/btc/token/nft/1452128). If this field is not filled in, it will default to returning the data of the project with the highest total transaction count.
This parameter is only applicable to Ordinals NFT.
holderAddress String No Holder address
page String No Page number
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "3",
            "totalPage": "3334",
            "positionList": [
                {
                    "holderAddress": "bc1qhuv3dhpnm0wktasd3v0kt6e4aqfqsd0uhfdu7d",
                    "amount": "8704276.68038247",
                    "rank": "1"
                },
                {
                    "holderAddress": "bc1qggf48ykykz996uv5vsp5p9m9zwetzq9run6s64hm6uqfn33nhq0ql9t85q",
                    "amount": "1675781.3938851",
                    "rank": "2"
                },
                {
                    "holderAddress": "bc1qm64dsdz853ntzwleqsrdt5p53w75zfrtnmyzcx",
                    "amount": "1121981.97971559",
                    "rank": "3"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Name Type Description
page String Current page number
limit String The number of results returned on the current page
totalPage String Total number of pages
> holderAddress String Holder address
> amount String Holding quantity
> rank String Rank by holding quantity

Get inscription token transfer list

Query the list of inscription token transfers based on transaction time, sorted from newest to oldest, with a maximum of 10,000 data. The supported tokens are Runes, BRC-20, SRC-20, ARC-20, Ordinals NFT on the BTC chain.

HTTP Request

GET /api/v5/explorer/inscription/token-transaction-list

Consumption per query 1

Request Example

GET api/v5/explorer/inscription/token-transaction-list?chainShortName=btc&protocolType=brc20&tokenInscriptionId=b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0&limit=1

Request Parameters

Parameter Name Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g., BTC.
protocolType String Yes Protocol type of the inscription token
Runes: runes
BRC-20 token: brc20
SRC-20 token: src20
ARC-20 token: arc20
Ordinals NFT: ordinals_nft
tokenInscriptionId String Yes when protocolType is BRC20, ARC20, or Runes Inscription ID of the inscription token
For Runes, enter Rune ID
For BRC-20 tokens, enter the token's Inscription ID
For ARC-20 tokens, enter the token's Atomical ID
This field is not required for other inscription tokens
symbol String Yes when protocolType is SRC20 or Ordinals NFT For SRC-20 tokens, enter the token name
For Ordinals NFT, enter the project name, ensuring that it is case-sensitive
projectId String No For Ordinals NFT, names may be same for different projects. You can view the unique project ID through the URL in the OKLink BTC explorer, such as 1452128 (https://www.oklink.com/btc/token/nft/1452128). If this field is not filled in, it will default to returning the data of the project with the highest total transaction count.
This parameter is only applicable to Ordinals NFT.
startTime String No Query transactions after the Unix timestamp, in milliseconds format, e.g., 1597026383085. The "startTime" and "endTime" difference should not exceed one year.
endTime String No Query transactions before the Unix timestamp, in milliseconds format, e.g., 1597026383085. The "startTime" and "endTime" difference should not exceed one year.
page String No Page number
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "totalTransfer": "269839",
            "transactionList": [
                {
                    "txId": "0cf990907ef51eb0607f7fc6bb81809137d5750f4b64de9a8fc7917770bd1ad5",
                    "blockHash": "00000000000000000000256813d252f532a57f5473f2e723d8c7483a7df4d42f",
                    "height": "832486",
                    "transactionTime": "1709177741000",
                    "from": "",
                    "to": "bc1pqjwg8673seyk0t8jtz9j9g78uddps3cppd6nmnvjpp42sn22fqkqy8h700",
                    "amount": "141",
                    "symbol": "ordi",
                    "action": "inscribeTransfer",
                    "tokenInscriptionId": "b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0",
                    "protocolType": "BRC20",
                    "state": "success",
                    "inscriptionId": "0cf990907ef51eb0607f7fc6bb81809137d5750f4b64de9a8fc7917770bd1ad5i0",
                    "inscriptionNumber": "62753536",
                    "outputIndex":""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Name Type Description
page String Current page number
limit String The number of results returned on the current page
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g., Bitcoin.
chainShortName String The abbreviated name of the blockchain network, e.g., BTC.
transactionList Array List of transactions
> txId String Transaction hash
> blockHash String Block hash
> height String Block height at which the transaction occurred
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085.
> from String Sender(s), multiple addresses separated by commas
> to String Recipient(s), multiple addresses separated by commas
> amount String Transaction quantity.
> symbol String The token name
> action String Transaction type: "deploy", "mint", "inscribeTransfer", "transfer"
> tokenInscriptionId String Inscription ID of the inscription token
For Runes, return the Rune ID
For BRC-20 tokens, return the token's Inscription ID
For ARC-20 tokens, return the token's Atomical ID
For other inscription tokens, this field returns empty
> protocolType String Protocol type of the inscription token
> state String Transaction status types include: "success" and "fail".
> inscriptionId String Inscription ID involved in the transaction
> inscriptionNumber String Inscription number involved in the transaction
> outputIndex String The UTXO index corresponding to the transfer of the Runes token
This parameter is only applicable to Runes.

Get inscription list

Query the list of inscriptions, returned in descending order based on the "inscriptionNumber", with a maximum of 10,000 data. The supported tokens are BRC-20, Ordinals NFT on the BTC chain.

HTTP Request

GET /api/v5/explorer/inscription/inscription-list

Consumption per query 1

Request Example

GET /api/v5/explorer/inscription/inscription-list?chainShortName=btc&protocolType=brc20&limit=1

Request Parameters

Parameter Name Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g., BTC.
protocolType String Yes Protocol type of the inscription token
BRC-20 token: brc20
Ordinals NFT: ordinals_nft
tokenInscriptionId String No Inscription ID of the inscription token
For BRC-20 tokens, enter the token's Inscription ID
This field is not required for other inscription tokens
symbol String No For SRC-20 tokens, enter the token name
For Ordinals NFT, enter the project name, ensuring that it is case-sensitive
projectId String No For Ordinals NFT, names may be same for different projects. You can view the unique project ID through the URL in the OKLink BTC explorer, such as 1452128 (https://www.oklink.com/btc/token/nft/1452128). If this field is not filled in, it will default to returning the data of the project with the highest total transaction count.
This parameter is only applicable to Ordinals NFT.
page String No Page number
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "inscriptionList": [
                {
                    "inscriptionId": "03fbeb834260fed03f87f0a09e06339379efc5fd3d6d08cc0a87451e509c32f1i0",
                    "inscriptionNumber": "62752328",
                    "tokenInscriptionId": "b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0",
                    "symbol": "ordi",
                    "state": "success",
                    "protocolType": "BRC20",
                    "action": "inscribeTransfer",
                    "ownerAddress": "bc1q6fh6ll49efsjrgcdwh7hp3cswt8faw85agghkk"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Name Type Description
page String Current page number
limit String The number of results returned on the current page
totalPage String Total number of pages
inscriptionList Array List of inscriptions
> inscriptionId String Inscription ID
> inscriptionNumber String Inscription number
> symbol String The token name
> tokenInscriptionId String Inscription ID of the inscription token
For BRC-20 tokens, return the token's Inscription ID
For other inscription tokens, this field returns empty
> state String Inscription status types include: "success" and "fail".
> protocolType String Protocol type of the inscription token
> action String Transaction type: "deploy", "mint", "inscribeTransfer", "transfer"
> ownerAddress String Address of the inscription owner

Get inscription token list by address

Query the list of inscription tokens held by a specific address, return a maximum of 10,000 data. The supported tokens are Runes, BRC-20, SRC-20, ARC-20, Ordinals NFT on the BTC chain.

HTTP Request

GET GET /api/v5/explorer/inscription/address-token-list

Consumption per query 1

Request Example

GET api/v5/explorer/inscription/address-token-list?chainShortName=btc&protocolType=brc20&address=bc1qhuv3dhpnm0wktasd3v0kt6e4aqfqsd0uhfdu7d&limit=2

Request Parameters

Parameter Name Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g., BTC.
address String Yes Address
protocolType String Yes Protocol type of the inscription token
Runes: runes
BRC-20 token: brc20
SRC-20 token: src20
ARC-20 token: arc20
Ordinals NFT: ordinals_nft
tokenInscriptionId String No Inscription ID of the inscription token
For Runes, enter Rune ID
For BRC-20 tokens, enter the token's Inscription ID
For ARC-20 tokens, enter the token's Atomical ID
This field is not required for other inscription tokens
symbol String No For SRC-20 tokens, enter the token name
For Ordinals NFT, enter the project name, ensuring that it is case-sensitive
projectId String No For Ordinals NFT, names may be same for different projects. You can view the unique project ID through the URL in the OKLink BTC explorer, such as 1452128 (https://www.oklink.com/btc/token/nft/1452128). If this field is not filled in, it will default to returning the data of the project with the highest total transaction count.
This parameter is only applicable to Ordinals NFT.
page String No Page number
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "2",
            "totalPage": "48",
            "tokenList": [
                {
                    "symbol": "GPTu",
                    "tokenInscriptionId": "b7456b7e688edea8fb814df146a83a062260b596616bfceff3ae2b9ceb8dbab2i0",
                    "holdingAmount": "8188888888888889300",
                    "inscriptionAmount": "2",
                    "availableAmount": "8188888888888889300",
                    "transferableAmount": "0",
                    "inscriptionNumber": ""
                },
                {
                    "symbol": "arkg",
                    "tokenInscriptionId": "25e7f4ca11734aa1d1d8c9d9be262b8ea8b09a660a93a826084f7b21b3b41518i0",
                    "holdingAmount": "8000000000000000000",
                    "inscriptionAmount": "2",
                    "availableAmount": "8000000000000000000",
                    "transferableAmount": "0",
                    "inscriptionNumber": ""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Name Type Description
page String Current page number
limit String The number of results returned on the current page
totalPage String Total number of pages
tokenList Array List of tokens
> symbol String The token name
> tokenInscriptionId String Inscription ID of the inscription token
For Runes, return the Rune ID
For BRC-20 tokens, return the token's Inscription ID
For ARC-20 tokens, return the token's Atomical ID
For other inscription tokens, this field returns empty
> holdingAmount String Token holding amount = transferable balance + available balance
> availableAmount String The available balance represents the balance of mint-type tokens that are not directly transferable, which can be made transferable using the "inscribeTransfer" function. This parameter only applies to BRC-20 tokens.
> transferableAmount String The transferable balance. For "Transfer" type tokens, this balance is directly transferable. This parameter only applies to BRC-20 tokens.
> inscriptionAmount String Token inscription quantity
> inscriptionNumber String Inscription number, applicable only to Ordinals NFT

Get inscription list by address

Query the list of inscriptions held by a specific address, returned in descending order based on the "inscriptionNumber", with a maximum of 10,000 data. The supported tokens are BRC-20, Ordinals NFT on the BTC chain.

HTTP Request

GET /api/v5/explorer/inscription/address-inscription-list

Consumption per query 1

Request Example

GET /api/v5/explorer/inscription/address-inscription-list?chainShortName=btc&protocolType=brc20&address=bc1qhuv3dhpnm0wktasd3v0kt6e4aqfqsd0uhfdu7d&limit=2

Request Parameters

Parameter Name Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g., BTC.
address String Yes Address
protocolType String Yes Protocol type of the inscription token
BRC-20 token: brc20
Ordinals NFT: ordinals_nft
tokenInscriptionId String No Inscription ID of the inscription token
For BRC-20 tokens, enter the token's Inscription ID
This field is not required for other inscription tokens
symbol String No The token name
For Ordinals NFT, enter the project name, ensuring that it is case-sensitive
projectId String No For Ordinals NFT, names may be same for different projects. You can view the unique project ID through the URL in the OKLink BTC explorer, such as 1452128 (https://www.oklink.com/btc/token/nft/1452128). If this field is not filled in, it will default to returning the data of the project with the highest total transaction count.
This parameter is only applicable to Ordinals NFT.
page String No Page number
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "2",
            "totalPage": "2205",
            "totalInscription": "4409",
            "inscriptionList": [
                {
                    "inscriptionId": "bca21f193e5f16a3fa1207df8021a5923539175e7bab92235c8a7e6ef9cf8db7i0",
                    "tokenInscriptionId": "b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0",
                    "inscriptionNumber": "62748365",
                    "symbol": "ordi",
                    "state": "success",
                    "protocolType": "BRC20",
                    "action": "inscribeTransfer"
                },
                {
                    "inscriptionId": "e5bc024b23d6e3a2cb499300b34234a625ff2c1d70fa43a28d50250efba5c7d1i0",
                    "tokenInscriptionId": "9b664bdd6f5ed80d8d88957b63364c41f3ad4efb8eee11366aa16435974d9333i0",
                    "inscriptionNumber": "62748359",
                    "symbol": "sats",
                    "state": "success",
                    "protocolType": "BRC20",
                    "action": "inscribeTransfer"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Name Type Description
page String Current page number
limit String The number of results returned on the current page
totalPage String Total number of pages
totalInscription String Total amount of inscriptions
inscriptionList Array List of inscriptions
> inscriptionId String Inscription ID
> inscriptionNumber String Inscription number
> symbol String The token name
> tokenInscriptionId String Inscription ID of the inscription token
For BRC-20 tokens, enter the token's Inscription ID
This field is not required for other inscription tokens
> state String Inscription status types include: "success" and "fail".
> protocolType String Protocol type of the inscription token
> action String Transaction type: "deploy", "mint", "inscribeTransfer", "transfer"

Get inscription token transfers by address

Query inscription token transfers for a specific address, returned in descending order based on transaction time, with a maximum of 10,000 data. The supported tokens are Runes, BRC-20, SRC-20, ARC-20, Ordinals NFT on the BTC chain.

HTTP Request

GET /api/v5/explorer/inscription/address-token-transaction-list

Consumption per query 1

Request Example

GET /api/v5/explorer/inscription/address-token-transaction-list?chainShortName=btc&protocolType=brc20&address=bc1qvwqt8vtn2k7vrjqrsct63pkfw9ufqjldmjm439&limit=1

Request Parameters

Parameter Name Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g., BTC.
protocolType String Yes Protocol type of the inscription token
Runes: runes
BRC-20 token: brc20
SRC-20 token: src20
ARC-20 token: arc20
Ordinals NFT: ordinals_nft
tokenInscriptionId String No Inscription ID of the inscription token
For Runes, enter Rune ID
For BRC-20 tokens, enter the token's Inscription ID
For ARC-20 tokens, enter the token's Atomical ID
This field is not required for other inscription tokens
symbol String No For SRC-20 tokens, enter the token name
For Ordinals NFT, enter the project name, ensuring that it is case-sensitive
projectId String No For Ordinals NFT, names may be same for different projects. You can view the unique project ID through the URL in the OKLink BTC explorer, such as 1452128 (https://www.oklink.com/btc/token/nft/1452128). If this field is not filled in, it will default to returning the data of the project with the highest total transaction count.
This parameter is only applicable to Ordinals NFT.
startTime String No Query transactions after the Unix timestamp, in milliseconds format, e.g., 1597026383085. The "startTime" and "endTime" difference should not exceed one year.
endTime String No Query transactions before the Unix timestamp, in milliseconds format, e.g., 1597026383085. The "startTime" and "endTime" difference should not exceed one year.
page String No Page number
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "71",
            "chainFullName": "Bitcoin",
            "chainShortName": "BTC",
            "totalTransfer": "71",
            "transactionList": [
                {
                    "txId": "4cf9aefbc9febf80b68376fa773849aabfdd8e3f7a5254ad11fd7ec6c32d3e89",
                    "blockHash": "000000000000000000001765a54bc80e84b856d70a77884544839256b42e9a4e",
                    "height": "832015",
                    "transactionTime": "1708885500000",
                    "from": "",
                    "to": "bc1qvwqt8vtn2k7vrjqrsct63pkfw9ufqjldmjm439",
                    "amount": "5000",
                    "symbol": "SHNT",
                    "action": "inscribeTransfer",
                    "tokenInscriptionId": "4f54d82160bf08bab83bbe89276b2fd9bed514ce843c91a796daa07bafb85239i0",
                    "protocolType": "BRC20",
                    "state": "success",
                    "inscriptionId": "4cf9aefbc9febf80b68376fa773849aabfdd8e3f7a5254ad11fd7ec6c32d3e89i0",
                    "inscriptionNumber": "62377691",
                    "outputIndex":""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Name Type Description
page String Current page number
limit String The number of results returned on the current page
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g., Bitcoin.
chainShortName String The abbreviated name of the blockchain network, e.g., BTC.
totalTransfer String The total number of transfers for the token by the address
transactionList Array List of transactions
> txId String Transaction hash
> blockHash String Block hash
> height String Block height at which the transaction occurred
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085.
> from String Sender(s), multiple addresses separated by commas
> to String Recipient(s), multiple addresses separated by commas
> amount String Transaction quantity
> symbol String The token name
> action String Transaction type: "deploy", "mint", "inscribeTransfer", "transfer"
> tokenInscriptionId String Inscription ID of the inscription token
For Runes, return the Rune ID
For BRC-20 tokens, return the token's Inscription ID
For ARC-20 tokens, return the token's Atomical ID
For other inscription tokens, this field returns empty
> protocolType String Protocol type of the inscription token
> state String Transaction status types include: "success" and "fail".
> inscriptionId String Inscription ID involved in the transaction
> inscriptionNumber String Inscription number involved in the transaction
> outputIndex String The UTXO index corresponding to the transfer of the Runes token
This parameter is only applicable to Runes.

Get inscription token transaction details for specific hash

Query details of inscription token transactions based on transaction hash. The supported tokens are Runes, BRC-20, SRC-20, ARC-20, Ordinals NFT on the BTC chain.

HTTP Request

GET /api/v5/explorer/inscription/transaction-detail

Consumption per query 1

Request Example

GET /api/v5/explorer/inscription/transaction-detail?chainShortName=btc&protocolType=brc20&txId=c29fc5f33756c572fc55152435d9314059f8639797708b39471330536b94ed0c

Request Parameters

Parameter Name Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g., BTC.
txId String Yes Transaction hash
protocolType String Yes Protocol type of the inscription token
Runes: runes
BRC-20 token: brc20
SRC-20 token: src20
ARC-20 token: arc20
Ordinals NFT: ordinals_nft
page String No Page number
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "20",
            "totalPage": "1",
            "transactionList": [
                {
                    "txId": "c29fc5f33756c572fc55152435d9314059f8639797708b39471330536b94ed0c",
                    "blockHash": "0000000000000000000159cea4e78229ccffab8ecfa94354729ee2b0c52b7a3f",
                    "height": "831823",
                    "transactionTime": "1708779611000",
                    "from": "",
                    "to": "bc1qhuv3dhpnm0wktasd3v0kt6e4aqfqsd0uhfdu7d",
                    "amount": "2198220440",
                    "action": "inscribeTransfer",
                    "tokenInscriptionId": "9b664bdd6f5ed80d8d88957b63364c41f3ad4efb8eee11366aa16435974d9333i0",
                    "protocolType": "BRC20",
                    "state": "success",
                    "inscriptionId": "c29fc5f33756c572fc55152435d9314059f8639797708b39471330536b94ed0ci0",
                    "inscriptionNumber": "62184839",
                    "symbol": "sats",
                    "outputIndex":""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Name Type Description
page String Current page number
limit String The number of results returned on the current page
totalPage String Total number of pages
transactionList Array List of transactions
> txId String Transaction hash
> blockHash String Block hash
> height String Block height at which the transaction occurred
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085.
> from String Sender(s), multiple addresses separated by commas
> to String Recipient(s), multiple addresses separated by commas
> amount String Transaction quantity
> symbol String The token name
> action String Transaction type: "deploy", "mint", "inscribeTransfer", "transfer"
> tokenInscriptionId String Inscription ID of the inscription token
For Runes, return the Rune ID
For BRC-20 tokens, return the token's Inscription ID
For ARC-20 tokens, return the token's Atomical ID
For other inscription tokens, this field returns empty
> protocolType String Protocol type of the inscription token
> state String Transaction status types include: "success" and "fail".
> inscriptionId String Inscription ID involved in the transaction
> inscriptionNumber String Inscription number involved in the transaction
> outputIndex String The UTXO index corresponding to the transfer of the Runes token
This parameter is only applicable to Runes.

Get inscription token transaction details for specific block

Query inscription token transaction details based on block height, return a maximum of 10,000 data. The supported tokens are Runes, BRC-20, SRC-20, ARC-20, Ordinals NFT on the BTC chain.

HTTP Request

GET /api/v5/explorer/inscription/block-token-transaction

Consumption per query 1

Request Example

GET /api/v5/explorer/inscription/block-token-transaction?chainShortName=btc&protocolType=brc20&height=831823&limit=1

Request Parameters

Parameter Name Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g., BTC.
height String Yes Block height
protocolType String Yes Protocol type of the inscription token
Runes: runes
BRC-20 token: brc20
SRC-20 token: src20
ARC-20 token: arc20
Ordinals NFT: ordinals_nft
txnStartIndex String No The starting transaction index, the value range is [0, the total number of Runes token transfers under this block -1]
This parameter is only applicable to Runes.
txnEndIndex String No The ending transaction index, the value range is [txnStartIndex, the total number of Runes token transfers under this block -1]
This parameter is only applicable to Runes.
page String No Page number
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "559",
            "totalTransfer": "559",
            "transactionList": [
                {
                    "txId": "5ac740cad1c29266bf3615fc4f108c082431c7c0be74944e352edd75eed471ff",
                    "blockHash": "0000000000000000000159cea4e78229ccffab8ecfa94354729ee2b0c52b7a3f",
                    "height": "831823",
                    "from": "",
                    "to": "bc1pnad2fk3fw6q3d20mhyacdekl7wf96rpg5yqxhtchzvpwet989lpsmvuc9n",
                    "amount": "1000",
                    "action": "mint",
                    "tokenInscriptionId": "4865f05b9132f12bb09d6215f13da5a304a502a95315d0a49463d6f8c0bb7740i0",
                    "protocolType": "BRC20",
                    "state": "success",
                    "inscriptionId": "5ac740cad1c29266bf3615fc4f108c082431c7c0be74944e352edd75eed471ffi0",
                    "inscriptionNumber": "62196529",
                    "symbol": "LABS",
                    "transactionTime": "1708779611000",
                    "outputIndex":""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Name Type Description
page String Current page number
limit String The number of results returned on the current page
totalPage String Total number of pages
totalTransfer String The total number of transfers for the token by this address
Note For the Runes token, if txnStartIndex and txnEndIndex are entered, the total number of transfers in the corresponding range is returned. If these two parameters are not entered, the total number of transfers under the block is returned
transactionList Array List of transactions
> txId String Transaction hash
> blockHash String Block hash
> height String Block height at which the transaction occurred
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085.
> from String Sender(s), multiple addresses separated by commas
> to String Recipient(s), multiple addresses separated by commas
> amount String Transaction quantity
> symbol String The token name
> action String Transaction type: "deploy", "mint", "inscribeTransfer", "transfer"
> tokenInscriptionId String Inscription ID of the inscription token
For Runes, return the Rune ID
For BRC-20 tokens, return the token's Inscription ID
For ARC-20 tokens, return the token's Atomical ID
For other inscription tokens, this field returns empty
> protocolType String Protocol type of the inscription token
> state String Transaction status types include: "success" and "fail".
> inscriptionId String Inscription ID involved in the transaction
> inscriptionNumber String Inscription number involved in the transaction
> outputIndex String The UTXO index corresponding to the transfer of the Runes token
This parameter is only applicable to Runes.

EVM-specific data

Retrieve data from the Beacon and StarkNet chains, along with Ethereum deflation statistics and on-chain Blob data.

Blob data

In the Dencun Upgrade, EIP-4844 introduced a new transaction type known as Blob-carrying transactions. However, Blob storage is only temporary. All Blob data can be accessed using the APIs provided in this module.

Get Blob list

Get the blob list data, only return the latest 10,000 data.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/blob/blob-list

Request Example

GET /api/v5/explorer/blob/blob-list?limit=2

Request Parameters

Parameter Type Required Description
startBlockHeight String No The starting block height
endBlockHeight String No The end block height
page String No Page number
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "2",
            "totalPage": "5000",
            "blobList": [
                {
                    "blobVersionedHash": "0x011e4040f1a994dd7bab3ad0554f851ac007408ddb9fc1b160559b2052451fdc",
                    "txId": "0x9e3c2dd3f9db5ebc83efdd14fe8af756e0e5c358762b76758c18e69878a0949f",
                    "transactionTime": "1715155991",
                    "height": "19824076",
                    "blobSender": "0xcf2898225ed05be911d3709d9417e86e0b4cfc8f",
                    "blobSize": "128"
                },
                {
                    "blobVersionedHash": "0x019805d539c6eb9136ef22daeb41a9931001a8f433479a603715fe29fdf9f044",
                    "txId": "0x9be519f5f3185dba409ff54603513282e550ebd6853f98e65fd9218fb8e0efb3",
                    "transactionTime": "1715155991",
                    "height": "19824076",
                    "blobSender": "0xa9268341831efa4937537bc3e9eb36dbece83c7e",
                    "blobSize": "128"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The number of results returned on the current page
totalPage String Total number of pages
blobList Array The Blob list
> blobVersionedHash String The versioned hash of the Blob
> txId String Transaction hash containing the Blob
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> height String Block height of the transaction
> blobSender String The address that submitted the Blob data
> blobSize String Blob size, measured in KiB

Get Blob details

Get detailed data for a specific Blob

Consumption per query 1

HTTP Request

GET /api/v5/explorer/blob/blob-fills

Request Example

GET /api/v5/explorer/blob/blob-fills?blobVersionedHash=0x01dbbd07a095b1ce305a8cbd4caec70c9c7cdae8cedc5f1503ffdab7ce4a25f8

Request Parameters

Parameter Type Required Description
blobVersionedHash String Yes The versioned hash of the Blob

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "blobVersionedHash": "0x01dbbd07a095b1ce305a8cbd4caec70c9c7cdae8cedc5f1503ffdab7ce4a25f8",
            "commitment": "0xa448f0bc3791c97f855af3582197ca4f966a8034499342388c70ff77b5dbfbc59ea88085aed28eb3a22d86ef9e4caa39",
            "proof": "0x96568c422d58ca9cd906fb5be5b81dc4e21b3c426f40eb598f15e014269b2bd7555d95ce04a78374a92ec657e867faf7",
            "blobSize": "128",
            "blobData":
                "0x00000d00001e2000000bc900002caf0000259a0000277f00001b640000152c0000001e420000172300002da000003aab00003eeb0000317e000000000000000000f9025083097c37842613ca7b830fa25c94a658742d33ebd2ce2f0bdff7351500aa797fd161d980b901e4252f7b010000000000000000000000000000000000000000000000000000000000000000650000000000000000000000008013751000979822322193fc997d400d5a6c747bf7000000000000000000000000000000000000000000000000000000000000030d40546bb7bbc820acbb6830e0ad55d300032b477c538baa1fdbf363fb8f2cf71"

Response Parameters

Parameter Type Description
blobVersionedHash String The versioned hash of the Blob
commitment String The commitment value of the Blob, used to verify the integrity and correctness of Blob data
proof String Proof of blob, used to verify the existence and ownership of blob data
blobSize String Blob size, measured in KiB
blobData String Blob data

Get transaction list for specific Blob

Get transaction list data for a specific Blob, returning up to the latest 10,000 transactions which contain that Blob.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/blob/blob-transactions

Request Example

GET /api/v5/explorer/blob/blob-transactions?blobVersionedHash=0x016610aed788bb604331a850b8879ede4b51a2a18c4a168a9881e7c5837a5b80

Request Parameters

Parameter Type Required Description
blobVersionedHash String Yes The versioned hash of the Blob
page String No Page number
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "20",
            "totalPage": "1",
            "transactionList": [
                {
                    "txId": "0x151cb44c8b0336dab229b47b7bddf789f04d7a896f891b33e480325fc9f6e6e5",
                    "transactionTime": "1712917823",
                    "height": "19638943"
                },
                {
                    "txId": "0xa6ca614062d26d56ec291c65c8b99802d9d85aab1010f6eaeb87de7d700325d7",
                    "transactionTime": "1712917367",
                    "height": "19638905"
                },
                {
                    "txId": "0xb24ea64b54e989a1740a0d1064bc43a73a2934f9390909b5fbb3f63e3d3552f6",
                    "transactionTime": "1712856179",
                    "height": "19633839"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The number of results returned on the current page
totalPage String Total number of pages
transactionList Array List of transactions containing the Blob
> txId String Transaction hash containing the Blob
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> height String Block height of the transaction

Get Blob data for specific hash

Get Blob-related data from a specific transaction.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/blob/transactions

Request Example

GET /api/v5/explorer/blob/transactions?txId=0x4f6ff44f821e3803007caed8e97a70b0914a4310c7e7387d7006d21dcd74d3db

Request Parameters

Parameter Type Required Description
txId String Yes Transaction hash

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "blobAmount": "1",
            "totalBlobSize": "128",
            "blobGasPrice": "1",
            "blobGasUsed": "131072",
            "blobBaseFee": "131072",
            "blobMaxFee": "3407872000000000",
            "calldataGasUsed": "1911956",
            "calldataFee": "15711150446360176",
            "blobList": [
                {
                    "blobVersionedHash": "0x016780712aec2fa0ee67feedf470b6033b9fbab0c806df8529d40d0dbafc4251",
                    "commitment": "0xa19a8c40dd54ae91283aa98cbbb242c002664c41ec6bd0ca49721a37864d31c91b97b609d482f99f12989509e24cc7c8",
                    "blobSize": "128"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
blobAmount String The number of Blobs included in the transaction
totalBlobSize String The total size of Blobs in the transaction, measured in KiB
blobGasPrice String Blob Gas price, measured in wei
blobGasUsed String Blob Gas used
blobBaseFee String Base Blob fee, measured in wei
blobMaxFee String Maximum Blob fee, measured in wei
calldataGasUsed String Gas used in calldata format
calldataFee String Gas fee in calldata format, measured in wei
blobList Array The list of Blobs included in the transaction
> blobVersionedHash String The versioned hash of the Blob
> commitment String The commitment value of the Blob, used to verify the integrity and correctness of Blob data
> blobSize String Blob size, measured in KiB

Get Blob data for specific block

Get Blob-related data in a specific block.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/blob/blocks

Request Example

GET /api/v5/explorer/blob/blocks?height=19767096

Request Parameters

Parameter Type Required Description
height String Yes Block height

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "blobAmount": "4",
            "totalBlobSize": "512",
            "blobGasPrice": "1",
            "blobGasUsed": "524288",
            "blobBaseFee": "524288",
            "blobGasLimit": "786432",
            "calldataGasUsed": "5750684",
            "calldataFee": "75867916457355844",
            "transactionList": [
                {
                    "txId": "0x4009a24a9c4fdaf8e30c74f4b2af23f972bfe2f67555537e67f67884dcfca516"
                },
                {
                    "txId": "0xc37862ae9f0d184bbd599cbfa834a89fd55e28a8488312eb06ffcd30836c3ff2"
                },
                {
                    "txId": "0x9c38d397a168ea95f192e269803a7f23ab31114120a54c3859256f43601c992f"
                }
            ],
            "blobList": [
                {
                    "blobVersionedHash": "0x01d21435ec10efb4ede75d168677ddbd591644be9b181841fcfaf44017b34024",
                    "commitment": "0x82a2b8c5290944689b3725fb80f539249a7b886d24a6a9fb386456a02e9cddcf7ac28ff205df4116f8f12246bd294971",
                    "blobSize": "128"
                },
                {
                    "blobVersionedHash": "0x013c329417950f9f9438df7b7aea6b4abb2285e4de5654414919c85e49ce92de",
                    "commitment": "0xb13ea6630acfe202048c9567fced6151d39d0087f03e3e77b85400dc5f1493f01a449d54367a433c19d3a4ce18428319",
                    "blobSize": "128"
                },
                {
                    "blobVersionedHash": "0x01b8fe4b702fdd2eb03341facd8c10c81831fe51861973c57a1a256aaa5c2c7e",
                    "commitment": "0x8e3ba405dffac8cab92a9e8c1333574e56114b10286dedec41cc0cfa82aee0b3f0e646fd452b4c447ef99f776e78da3f",
                    "blobSize": "128"
                },
                {
                    "blobVersionedHash": "0x016726d67c622dd5f16227928553bd1ae05774bc4a7f903a41707a55393bfcac",
                    "commitment": "0x83fcfdb3530953b7aecee9309bdeccd62c838b20764c08b8e741060dea087f73dde763ae99a0a5a807145b90b54de359",
                    "blobSize": "128"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
blobAmount String The number of Blobs included in the block
totalBlobSize String The total size of Blobs in the block, measured in KiB
blobGasPrice String The average Blob Gas price for EIP-4844 transactions in the block, measured in wei
blobGasUsed String The sum of the Blob Gas used in the block
blobBaseFee String The sum of the base Blob fees in the block, measured in wei
blobGasLimit String The Blob Gas limit of the block
calldataGasUsed String The sum of Gas used for EIP-4844 transactions in the block, in calldata format
calldataFee String The sum of Gas fees for EIP-4844 transactions in the block, in calldata format
transactionList Array The list of Blob transactions included in the block
> txId String Blob transaction hash
blobList Array The list of Blobs included in the block
> blobVersionedHash String The versioned hash of the Blob
> commitment String The commitment value of the Blob, used to verify the integrity and correctness of Blob data
> blobSize String Blob size, measured in KiB

ETH deflation data

These endpoints from this module retrieve ETH data such as circulating supply, staking and gas consumption.

Get overview of ETH deflation metrics

Check the latest deflation data overview of ETH

HTTP Request

GET /api/v5/explorer/deflation/supply

Consumption per query 5

Request Example

GET /api/v5/explorer/deflation/supply

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "circulatingSupply": "120404650.2518",
            "totalBurnt": "3640484.712",
            "inflationRate": "0.004",
            "stakingAmount": "30739208",
            "stakingApy": "0.027"
        }
    ]
}

Response Parameters

Parameter Type Description
circulatingSupply String Circulation supply of ETH
totalBurnt String Total amount of ETH burned
stakingApy String Annual percentage yield for staking ETH
stakingAmount String Total staking amount of ETH
inflationRate String Current annual inflation rate, displayed as a decimal, example: 0.1 = 10%

Get ETH deflation details

Historical data on the daily supply and destruction of Eth through this interface.

HTTP Request

GET /api/v5/explorer/deflation/supply-burn

Consumption per query 5

Request Example

GET /api/v5/explorer/deflation/supply-burn

Request Parameters

Parameter Type Required Description
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "2246",
            "inflationHistoryList": [
                {
                    "supply": "2328.5755",
                    "burnt": "992.0577",
                    "netInflation": "1336.5177",
                    "circulatingSupply": "120404650.2518",
                    "inflationRate": "0.004",
                    "time": "1697558400000"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
inflationHistoryList Array Inflation history list
> circulatingSupply String Eth circulating supply
> burnt String Daily amount of ETH burnt
> netInflation String Daily net inflation of ETH quantity, positive value indicates an increase, negative value indicates a decrease
> supply String Daily amount of ETH supplied
> inflationRate String Current annualized inflation rate of ETH, displayed as a decimal, example: 0.1 = 10%
> time String The time when the data was last updated. Unix timestamp format in milliseconds, e.g. 1597026383085

Get ETH staking details

Get ETH pledge history details

HTTP Request

GET /api/v5/explorer/deflation/pos-staking

Consumption per query 5

Request Example

GET /api/v5/explorer/deflation/pos-staking

Request Parameters

Parameter Type Required Description
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "1052",
            "stakingHistoryList": [
                {
                    "time": "1697558400000",
                    "totalValidator": "979417",
                    "totalStaked": "30739208",
                    "stakingRatio": "0.2588",
                    "validatorDailyIncome": "2328.5755",
                    "apy": "0.027",
                    "nonEip1559Fee": "58.5716",
                    "baseRewards": "992.0577",
                    "priorityFee": "294.1105"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
stakingHistoryList Array ETH staking history list
> apy String Annual percentage yield
> baseRewards String Base rewards
> priorityFee String Priority fee
> totalStaked String Total amount of ETH staked
> stakingRatio String ETH staking ratio
> nonEip1559Fee String Non eip1559 fee
> totalValidator String Total number of validators
> validatorDailyIncome String Validator daily income
> time String The time when the data was last updated. Unix timestamp format in milliseconds, e.g. 1597026383085

Get ETH historical Gas fees

Get ETH historical gas data through this interface

HTTP Request

GET /api/v5/explorer/deflation/gas

Consumption per query 5

Request Example

GET /api/v5/explorer/deflation/gas

Request Parameters

Parameter Type Required Description
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "805",
            "gasHistoryList": [
                {
                    "nonEip1559Fee": "58.5716",
                    "eip1559BaseFee": "992.0577",
                    "eip1559Tip": "294.1105",
                    "totalTransactionCount": "994388",
                    "maxGasPrice": "101",
                    "minGasPrice": "4.7883",
                    "avgGasPrice": "9.9651",
                    "time": "1697558400000"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
gasHistoryList Array Gas historical data
> avgGasPrice String Average gas price
> maxGasPrice String Max gas price
> minGasPrice String Min gas price
> eip1559BaseFee String Eip1559 base fee
> eip1559Tip String Eip1559 tip
> totalTransactionCount String Total number of transactions
> nonEip1559Fee String Non eip1559 fee
> time String The time when the data was last updated. Unix timestamp format in milliseconds, e.g. 1597026383085

Beacon chain data

The Beacon data module supports querying data related to withdrawals and staking on the beacon chain.

Get Beacon chain details

Retrieve the basic information of the beacon chain, including an overview of the validators and staking data.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/beacon/beacon-summary

Sample Request

GET /api/v5/explorer/beacon/beacon-summary

Response Sample

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Beacon Chain",
            "chainShortName": "BEACON",
            "issueDate": "1606824023000",
            "consensus": "PoS",
            "finalizedEpoch": "236649",
            "finalizedSlot": "7572768",
            "lastCheckpoint": "7572833",
            "validators": {
                "totalValidators": "980088",
                "newTotalValidators": "1808",
                "activeValidators": "862463",
                "newActiveValidators": "-1473",
                "pendingValidators": "696",
                "newPendingValidators": "620",
                "exitedValidators": "3749",
                "newExitedValidators": "1234",
                "totalValidatorIncome": "1498841.462357212"
            },
            "staking": {
                "totalDeposits": "31414348",
                "newTotalDeposits": "37458",
                "beaconDepositsReceived": "31433146",
                "newBeaconDepositsReceived": "57143",
                "depositAddresses": "981304",
                "newDepositAddresses": "1157",
                "beaconDepositsPubKeys": "980093",
                "newBeaconDepositsPubKeys": "1808",
                "votedStakes": "27538741",
                "effectiveStakes": "27598587"
            }
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g., Beacon Chain
chainShortName String The abbreviated name of the blockchain network, e.g., BEACON
issueDate String Issue date
consensus String Consensus algorithm, e.g., PoS
finalizedEpoch String Final epoch
finalizedSlot String Final slot
lastCheckpoint String Latest checkpoint slot
validators Array Validator overview
> totalValidators String Total number of validators
> newTotalValidators String Number of new validators, positive for increase, negative for decrease
> activeValidators String Number of active validators
> newActiveValidators String Number of new active validators, positive for increase, negative for decrease
> pendingValidators String Number of validators pending review
> newPendingValidators String Number of new validators pending review, positive for increase, negative for decrease
> exitedValidators String Number of validators that have exited
> newExitedValidators String Number of new exited validators, positive for increase, negative for decrease
> totalValidatorIncome String Cumulative income of validators
staking Array Staking overview
> totalDeposits String Number of ETH staked on the ETH1.0 chain
> newTotalDeposits String New amount of ETH staked on the ETH1.0 chain, positive for increase, negative for decrease
> beaconDepositsReceived String Total staked amount received by the beacon chain
> newBeaconDepositsReceived String New staked amount received by the beacon chain, positive for increase, negative for decrease
> depositAddresses String Address list for ETH staked on the ETH1.0 chain
> newDepositAddresses String New addresses for ETH staked on the ETH1.0 chain, positive for increase, negative for decrease
> beaconDepositsPubKeys String Number of public keys for staking on the beacon chain
> newBeaconDepositsPubKeys String Number of new public keys for staking on the beacon chain, positive for increase, negative for decrease
> votedStakes String Active staked amount, valid ETH staked on the beacon chain for voting or block production, updated every hour
> effectiveStakes String Effective staked amount, ETH deposits visible and accepted by beacon chain nodes, updated every hour

Get block list for Beacon chain

Retrieve the validator details of the Beacon Chain.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/beacon/beacon-slot-list

Request Example

GET /api/v5/explorer/beacon/beacon-slot-list

Request Parameters

Parameter Type Required Description
slot String no Slot number, if none are filled in, default to slot order, with the latest at the top
epoch String no Epoch number
index String no Index of the validator
limit String no The number of results returned per request. The maximum is 100. The default is 20.
page String no Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "slotList": [
                {
                    "epoch": "236651",
                    "slot": "7572839",
                    "state": "proposed",
                    "index": "960171",
                    "time": "1697698091000",
                    "slotIndex": "8",
                    "attestationCount": "128",
                    "parentRoot": "0xab67fff2294a6a76e1dda77d0cc65dd183bd3574ff58ea4ffede84e4fc81fabd",
                    "root": "0xf8a24b30de4f066fcca8a423c619cff5c3217501cbc8e82f68a5934674bcbed4",
                    "signature": "0x8e103c3f3c8c9453d7c1aa89eed7b20808f78097ac4607db0877fee91db39126ff10e07d4dacfa34fb5adc9764fa3027064d1377ada3055074b2f1dc26c5bb4fc40e63bd080bf5ae39278908fd9ece292339108dd619ecc2fbf440c1939983c2",
                    "randaoReveal": "0x904c3f03c7ca03750168d362f57f7ea58d32ee57d7d8a53a035dddd37cb3790c94d3a5f332823f069116386750b788d3133e6aedc92354db0d865b1b6d42bb9f4068407cbee4a0a6276c379ba5e561b720a5edd67b01fd7ef5e7f1b63371d041",
                    "graffiti": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "voluntaryExitsCount": "0",
                    "attesterSlashingCount": "0",
                    "l1BlockHash": "0xe06cf95360ff87f350b2681a93d7220239a218da2edff3dca4732d72cd856446",
                    "l1DepositCount": "1011590",
                    "l1DepositRoot": "0xcc10e96d2ef785919c78bd249ff0af6d93c83919595f63b57ac101c9352ea905",
                    "pubkey": "0x80b3fae29e4ea97d81f97578453f44b2a30b54eb1c8e176c3c0b933a797510f123a70457301cb967f070e2ef173d51d3"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String Number of data items on the current page
totalPage String Total number of pages
slotList Array List of slot
> epoch String Epoch to which the slot belongs
> slot String Slot number
> state String Status; proposed, skipped, forked
> index String Corresponding validator number
> pubkey String Public key of the corresponding validator
> time String Start time of this slot
> slotIndex String Position of the current slot in the epoch; slotIndex/32
> attestations String Verifications provided by the designated validator committee for the slot
> parentRoot String Root of the previous slot
> root String Root hash
> signature String Signature
> randaoReveal String Random number
> graffiti String Signature
> voluntaryExitsCount String Number of validator exits
> attestationCount String Verification count
> attesterSlashingCount String Number of penalties for validators
> l1BlockHash String ETH chain block height hash for this proposal
> l1DepositCount String Number of ETH staked
> l1DepositRoot String Root of the ETH stake

Get validator list for Beacon chain

Retrieve the validator list from the Beacon Chain, including active validators, validators pending for approval, and those who have exited. The data is updated every hour.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/beacon/beacon-validator-list

Sample Request

GET /api/v5/explorer/beacon/beacon-validator-list

Request Parameters

Parameter Type Required Description
type String No Types of validators:
Active: active
Pending: pending
Exited: exited
All: all
Defaults to All if not specified
limit String No Number of records returned. Default is the most recent 20 entries, with a maximum of 100.
page String No Page number

Sample Response

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "validatorList": [
                {
                    "index": "21958",
                    "pubkey": "0x91104f28e17de8c6bec26c5a8e64a149ba3ed2a35273197c33ed2f2bc74b8dbda96f9098517a6e946247c169c89deb34",
                    "holdingAmount": "68.7918",
                    "state": "online",
                    "totalIncome": "4.7918",
                    "proposals": "27",
                    "activationEpoch": "268",
                    "exitEpoch": "",
                    "withdrawalAmountEpoch": "",
                    "isSlashed": false
                }
            ]
        }
    ]
}

Response Parameters

Parameter Name Type Description
page String Current page number
limit String Number of records on the current page
totalPage String Total number of pages
validatorList Array List of validators
> index String Validator number
> pubkey String Validator's public key
> state String Validator's status - online: active in the last 2 Epochs, offline: inactive in the last 2 Epochs
> holdingAmount String Validator's balance in ETH
> totalIncome String Total income of the validator
> proposals String Number of blocks proposed
> activationEpoch String Epoch when the validator was activated; "0" for genesis block, "" if not activated
> exitEpoch String Epoch when the validator exited
> withdrawalAmountEpoch String Epoch when the balance was withdrawn
> isSlashed Bol Whether the validator was penalized; true for yes, false for no

Get validator details for Beacon chain

Retrieve details of the validator on the beacon chain.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/beacon/beacon-validator-details

Sample Request

GET /api/v5/explorer/beacon/beacon-validator-details?index=21958

Request Parameters

Parameter Type Required Description
index String Choose one Validator index number
pubkey String Choose one Validator public key

Response Sample

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "index": "21958",
            "pubkey": "0x91104f28e17de8c6bec26c5a8e64a149ba3ed2a35273197c33ed2f2bc74b8dbda96f9098517a6e946247c169c89deb34",
            "type": "active",
            "beaconDepositsReceived": "64",
            "holdingAmount": "68.79185725",
            "totalIncome": "4.79185725",
            "effectiveStakes": "32",
            "address": "0x6282085170b2f3396fdccc2b5164fa70ee7c5192",
            "deposits": "64",
            "activationEpoch": "268",
            "exitEpoch": "",
            "eligibleEpoch": "41"
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String Number of data items on the current page
totalPage String Total number of pages
validatorList Array List of validators
> index String Validator index number
> pubkey String Validator public key
> type String Types of validators:
Active: active
Pending: pending
Exited: exited
All: all
Defaults to All if not specified
> beaconDepositsReceived String Total staked amount received by the beacon chain
> holdingAmount String Validator balance in ETH
> totalIncome String Total income of the validator
> effectiveStakes String Effective staked amount, ETH deposits visible and accepted by beacon chain nodes, updated every hour
> address String Validator address
> deposits String ETH deposits
> activationEpoch String Epoch when the validator was activated; "0" for genesis block, "" if not activated
> exitEpoch String Epoch when the validator exited
> eligibleEpoch String Epoch when the validator was eligible

|

Get staking record list for Beacon chain

Retrieve the staking record data of the beacon chain.

HTTP Request

GET /api/v5/explorer/beacon/beacon-deposit-list

Consumption per query 1

Request Example

GET /api/v5/explorer/beacon/beacon-deposit-list?index=21958&limit=1

Request Parameters

Parameter Type Required Description
index String No Corresponding validator number.
pubkey String No Corresponding validator public key.
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "2",
            "depositList": [
                {
                    "epoch": "40",
                    "slot": "1293",
                    "state": "active",
                    "index": "21958",
                    "pubkey": "0x91104f28e17de8c6bec26c5a8e64a149ba3ed2a35273197c33ed2f2bc74b8dbda96f9098517a6e946247c169c89deb34",
                    "time": "1606839539000",
                    "beaconDepositsReceived": "32",
                    "withdrawalCredential": "0x00f2c769bafa58cd7e973c597e69d73f9cc6624296f5ff6bb3aa359cb3db5a04"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String Number of records on the current page
totalPage String Total number of pages
depositList Array List of staking records
> epoch String Epoch to which the slot belongs
> slot String Slot number
> state String Validator status
deposited: Staking, user staked 32 or more ETH in the ETH 1.0 staking contract
pending: Waiting for confirmation. After Beacon receives the deposit, based on the total number of deposits, users have to wait in a queue for approval. Six validators are approved per epoch.
active: The user is activated and can serve as a validator to verify slots in the Beacon network.
exited: The user has exited. Either due to a previous violation or because they chose to exit (voluntarily), they cant continue verifying slots in the Beacon network.
> index String Corresponding validator number
> pubkey String Corresponding validator public key
> time String Time of staking
> beaconDepositsReceived String Total staked amount received by the beacon chain
> withdrawalCredential String Withdrawal certificate

Get redemption record list for Beacon chain

Retrieve withdrawal record data from the Beacon Chain.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/beacon/beacon-withdrawal-list

Sample Request

GET /api/v5/explorer/beacon/beacon-withdrawal-list?index=535309&limit=1

Request Parameters

Parameter Name Type Required Description
index String No Corresponding validator number.
pubkey String No Corresponding validator's public key.
limit String No Number of records returned. Default is the last 20, up to 100.
page String No Page number.

Sample Response

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "35",
            "withdrawalList": [
                {
                    "epoch": "236653",
                    "slot": "7572896",
                    "state": "active",
                    "index": "535309",
                    "pubkey": "0xb54d8183c989e51259ba93695a0b4584fec1b839b8ffbbc9e1925c8aa68221fbbe036657a2b409d03b2f4df85bb1afa9",
                    "time": "1697698775000",
                    "beaconWithdrawalReceived": "0.01681278",
                    "address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f",
                    "withdrawalCredential": "0x010000000000000000000000b9d7934878b5fb9610b3fe8a5e441e8fad7e293f"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Name Type Description
page String Current page number
limit String Number of records on the current page
totalPage String Total number of pages
withdrawalList Array List of staking records
> epoch String Epoch to which the slot belongs
> slot String Slot number
> state String Validator status:
deposited: Staked on the ETH1.0 staking contract with 32+ ETH

pending: Waiting for confirmation after Beacon received the deposit. Based on the total deposit amount, users need to queue for approval. Six validators are approved per epoch.

active: The user has been activated and can serve as a validator on the Beacon network to validate slots.

exited: The user has exited due to past violations or voluntary exit and cannot continue to validate slots on the Beacon network.
> index String Corresponding validator number
> pubkey String Corresponding validators public key
> time String Time of staking
> beaconWithdrawalReceived String Total withdrawal amount received by the beacon chain
> address String Validator address
> withdrawalCredential String Withdrawal credential

Get validator details corresponding to redemption certificates

Get the basic information by withdrawal credentials on the beacon chain.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/beacon/beacon-withdrawal-credentials

Sample Request

GET /api/v5/explorer/beacon/beacon-withdrawal-credentials?withdrawalCredential=0x0100000000000000000000004f13d70f72292e699fbb420003caff2778c18f70

Request Parameters

Parameter Type Required Description
withdrawalCredentials String Yes Withdrawal credential.
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Sample

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "2324",
            "validatorList": [
                {
                    "index": "19782",
                    "pubkey": "0x8313ce1237ff07c6afed630608e339034e76a9a396ab146401ed34abb957a30079d5f2b4d126e8a8e3f1c5c415361ec3",
                    "activationEpoch": "0",
                    "balance": "32.00239377",
                    "effectiveBalance": "32.00239377",
                    "voteEpoch": "237771",
                    "exitEpoch": "",
                    "slashed": "false",
                    "proposal": "38",
                    "status": "active_ongoing",
                    "withdrawalCredential": "0x010000000000000000000000347a70cb4ff0297102dc549b044c41bd61e22718"
                }
            ]
        }
    ]
}

Return Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
validatorList Array ValidatorList
> index String Validator index number
> pubkey String Number of data items on the current page
> withdrawalCredential String Withdrawal credential.
> activationEpoch String Epoch when the validator was activated; "0" for genesis block, "" if not activated
> exitEpoch String Epoch when the validator exited
> balance String balance
> effectiveBalance String Effective balance
> voteEpoch String Vote epoch
> proposals String Number of blocks produced
> status String status
> slashed Bol Whether the validator was penalized: true for yes, false for no

StarkNet data

These endpoints from this module retrieve transaction data and token data for the StarkNet chain

Get StarkNet block details

Get the block details of StarkNet chain.

HTTP Request

GET /api/v5/explorer/block/detail-starknet

Consumption per query 1

Request Example

GET /api/v5/explorer/block/detail-starknet?chainShortName=starknet&height=305653

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
height String Yes Block height

Response Example

{
    "code": "0",
    "msg": "",
    "data": {
        "blockHash": "0x0077befc73fba1983eeb0cc421266af52c63cdaece8a49c2e5c91cb4942ec16f",
        "height": "305653",
        "status": "ACCEPTED_ON_L1",
        "parentBlockHash": "0x0714623a72e27a1631ec9acac8f46e31409327913388c9a46b6fb88e95f040c1",
        "blockTime": "1696831933",
        "stateRoot": "0x372db6f7b7bd72396215035b7ff7f6eb7589a4f9cb249b5ae4fedd0ab1fbf5e",
        "sequencerAddress": "0x01176a1bd84444c89232ec27754698e5d2e7e1a7f1539f12027f28b23ec9f3d8",
        "l1TransactionHash": "0x98c5cf7d0c457ecc238a9e75a688e715c11be3bdbf0b0d89bc216d7a5e91aae3",
        "transactionAmount": "156",
        "messageAmount": "3",
        "eventAmount": "792"
    }
}

Response Parameters

Parameter Type Description
blockHash String Block hash
height String Block height
blockTime String The Unix timestamp for when the block was validated, in milliseconds format, e.g., 1597026383085.
parentBlockHash String The parent block hash of thin block
stateRoot String State commitment after the block
sequencerAddress String The address of sequencer
status String The status of block
transactionAmount String The number of transactions contained in the block
messageAmount String The number of message contained in the block
eventAmount String The number of event contained in the block
l1TransactionHash String L1 transaction hash

Get StarkNet block transaction list

Get the list of transactions in a block under the StarkNet.

HTTP Request

GET /api/v5/explorer/block/transaction-list-starknet

Consumption per query 1

Request Example

GET /api/v5/explorer/block/transaction-list-starknet?chainShortName=starknet&height=305653&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
height String Yes Block height
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": {
        "page": "1",
        "limit": "1",
        "totalPage": "156",
        "transactionList": [
            {
                "txId": "0x04e055fb82640d74576b107135e69535aa26ca17f1d1071c77281b5121bee531",
                "blockHash": "0x0077befc73fba1983eeb0cc421266af52c63cdaece8a49c2e5c91cb4942ec16f",
                "height": "305653",
                "transactionTime": "1696831933",
                "transactionType": "INVOKE",
                "transactionStatus": "ACCEPTED_ON_L1",
                "address": "0x05dd2e71e9f4627b79e115e2c2267c1d528735faf870fe5e8e3a584577b40707"
            }
        ]
    }
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
transactionList Array Block transaction list
> txId String Transaction hash
> blockHash String Block hash
> height String Block height
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> address String The address in the transaction
> transactionType String The type of transaction
> transactionStatus String The status of transaction

Get token balance details for StarkNet address

Get Token Balance Detail for an StarkNet address to get information about the balance of all tokens on that address.(Currently only supports ERC20 tokens)

Consumption per query 1

HTTP Request

GET /api/v5/explorer/address/token-balance-starknet

Request Example

GET /api/v5/explorer/address/token-balance-starknet?address=0x044a33f085b5ef75bde5df11d188e4c16db6c090f8c9c38c6020fbe6e24fcbc0&chainShortName=starknet&protocolType=token_20

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
address String Yes Address
protocolType String Yes Contract protocol type
token_20
token_721
token_1155
tokenContractAddress String No Token Contract Address
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": {
        "page": "1",
        "limit": "20",
        "totalPage": "1",
        "tokenList": [
            {
                "symbol": "ETH",
                "holdingAmount": "0.09338760014159263",
                "tokenContractAddress": "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"
            },
            {
                "symbol": "zETH",
                "holdingAmount": "0.01200306543397489",
                "tokenContractAddress": "0x01b5bd713e72fdc5d63ffd83762f81297f6175a5e0a4771cdadbc1dd5fe72cb1"
            }
        ]
    }
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
tokenList Array Token list
> symbol String Token symbol
> tokenContractAddress String Token contract address
> holdingAmount String The holding amount of the token

Get standard transaction list for StarkNet address

Get a list of common transactions associated with an StarkNet address.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/address/normal-transaction-list-starknet

Request Example

GET /api/v5/explorer/address/normal-transaction-list-starknet?limit=1&address=0x044a33f085b5ef75bde5df11d188e4c16db6c090f8c9c38c6020fbe6e24fcbc0&chainShortName=starknet

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
address String Yes Address
startBlockHeight String No The starting block height
endBlockHeight String No The end block height
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": {
        "page": "1",
        "limit": "1",
        "totalPage": "23",
        "transactionList": [
            {
                "txId": "0x008f40e4973d54ce0be584a851bd8dc9855c9b17277ea2cd3345ae73590af1ba",
                "blockHash": "0x0394c76b5148ef928302baadf1ad981126a8c7861ba6cc0d7a245aa0041a9d24",
                "height": "305222",
                "transactionTime": "1696820202",
                "transactionType": "INVOKE",
                "transactionStatus": "ACCEPTED_ON_L2"
            }
        ]
    }
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
transactionList Array Transaction list
> txid String Transaction hash
> blockHash String Block hash
> height String Block height
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> transactionType String The type of the transaction
> transactionStatus String The status of the transaction

Get token transaction list for StarkNet address

Get a list of token trading transactions associated with the StarkNet address.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/address/token-transaction-list-starknet

Request Example

GET /api/v5/explorer/address/token-transaction-list-starknet?limit=1&address=0x044a33f085b5ef75bde5df11d188e4c16db6c090f8c9c38c6020fbe6e24fcbc0&chainShortName=starknet&protocolType=token_20

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
address String Yes Address
protocolType String Yes Contract protocol type
token_20
token_721
token_1155
tokenContractAddress String No Token contract address
startBlockHeight String No The starting block height
endBlockHeight String No The end block height
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": {
        "page": "1",
        "limit": "1",
        "totalPage": "66",
        "transactionList": [
            {
                "txId": "0x008f40e4973d54ce0be584a851bd8dc9855c9b17277ea2cd3345ae73590af1ba",
                "blockHash": "0x0394c76b5148ef928302baadf1ad981126a8c7861ba6cc0d7a245aa0041a9d24",
                "height": "305222",
                "transactionTime": "1696820202",
                "from": "0x04270219d365d6b017231b52e92b3fb5d7c8378b05e9abc97724537a80e93b0f",
                "to": "0x044a33f085b5ef75bde5df11d188e4c16db6c090f8c9c38c6020fbe6e24fcbc0",
                "amount": "0.03156615266324224",
                "symbol": "ETH"
            }
        ]
    }
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
transactionList Array Transaction list
> txId String Transaction hash
> blockHash String Block hash
> height String Block height
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> from String Sender address
> to String Recipient address
> amount String Transaction amount
> symbol String Token symbol

EVM RPC data

The module currently supports API interfaces that are compatible with major EVM blockchain explorer providers. This allows developers to seamlessly transition to OKLink Explorer APIs. Supported chains include Ethereum, Polygon, X Layer, X Layer Testnet, OP Mainnet, Scroll, zkSync, Polygon zkEVM, Manta, and Canto.

API Request URL:

OKX Explorer APIs support multiple blockchains, when querying data from different blockchains, include the abbreviation of the blockchain in the Base URL, as shown in the example on the right. You can retrieve the abbreviation of each supported blockchain under the list of supported chains section to find the short name for each chain.

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=transaction
   &action=gettxreceiptstatus
   &txhash=0x513c1ba0bebf66436b5fed86ab668452b7805593c05073eb2d51d3a52f480a76

Address

Get native token balance for an address

Query the native token balance for an address.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=balance
   &address=0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae

Request Parameters

Parameter Type Required Description
address String Yes Address

Response Example

{
    "status": "1",
    "message": "OK",
    "result": "311273596438144883191969"
}

Response Parameters

Parameter Type Description
result String The current native token balance for the address, measured in wei

Get native token balance for multiple addresses

Query native token balances for up to 20 addresses.

Consumption per query 3

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=balancemulti
   &address=0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a,0x63a9975ba31b0b9626b34300f7f627147df1f526

Request Parameters

Parameter Type Required Description
address String Yes Addresses, up to a maximum of 20, separated by commas

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "balance": "332567136222827062478",
            "account": "0x63a9975ba31b0b9626b34300f7f627147df1f526"
        },
        {
            "balance": "40891626854930000000999",
            "account": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a"
        }
    ]
}

Response Parameters

Parameter Type Description
account String Addresses
balance String The current native token balance of each address, measured in wei

Get normal transactions by address

Query a list of transactions for a specific address, returning a maximum of 10,000 transactions.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=txlist
   &address=0x75fa7ed2996e3d430c8fc670a1c6fc4da4d91c9d
   &startblock=19166650
   &endblock=19166650
   &page=1
   &offset=1
   &sort=asc

Request Parameters

Parameter Type Required Description
address String Yes Address
startblock String No The starting block for the query
endblock String No The ending block for the query
page String No Page
offset String No The number of results returned per page
sort String No The parameter "asc" indicates ascending order, while "desc" indicates descending order. The default order is ascending (asc).

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "blockNumber": "19166650",
            "timeStamp": "1707191639",
            "hash": "0xc3ff0eba575456c7db192ac96d9fe663795e061494b8ac9242166ebe1418d846",
            "nonce": "9",
            "blockHash": "0xf93f6d21b9ccf9ffb96981239be6cee55d3b5a9ee3ada004b7f6faf54154bae9",
            "transactionIndex": "189",
            "from": "0x75fa7ed2996e3d430c8fc670a1c6fc4da4d91c9d",
            "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0",
            "value": "0",
            "gas": "105356",
            "gasPrice": "17465509927",
            "isError": "0",
            "input": "0xde0e9a3e00000000000000000000000000000000000000000000000000d275d8b2e31159",
            "contractAddress": "",
            "cumulativeGasUsed": "19090928",
            "gasUsed": "90310",
            "confirmations": "4",
            "methodId": "0xde0e9a3e",
            "functionName": "unwrap(uint256 tokenId)",
            "txreceipt_status": "1"
        }
    ]
}

Response Parameters

Parameter Type Description
blockNumber String Block height
timeStamp String Timestamp in seconds
hash String Transaction hash
nonce String The sequence number of transactions initiated by the sender's address
blockHash String Block hash
transactionIndex String The transaction index within the block
from String Sender address
to String Recipient address
value String Transaction value, measured in wei
gas String Gas limit
gasPrice String Gas price, measured in wei
isError String Indicates whether an error occurred in the contract execution during transaction, where 0 indicates no errors, while 1 indicates an error
txreceipt_status String Transaction status, where 1 indicates success, while 0 indicates failure
input String Transaction input data
contractAddress String If the transaction involves the creation of a new contract, it returns the address of the created contract
cumulativeGasUsed String The total amount of gas consumed by all transactions executed within the current block
gasUsed String Actual amount of gas used
confirmations String The number of confirmed blocks
methodId String Short hash identifying the smart contract function
functionName String The function of the contract called

Get internal transactions by block address

Query a list of internal transactions for a specific address, returning a maximum of 10,000 transactions.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=txlistinternal
   &address=0x2c1ba59d6f58433fb1eaee7d20b26ed83bda51a3
   &startblock=0
   &endblock=19153162
   &page=1
   &offset=1
   &sort=asc

Request Parameters

Parameter Type Required Description
address String Yes Address
startblock String No The starting block for the query
endblock String No The ending block for the query
page String No Page
offset String No The number of results returned per page
sort String No The parameter "asc" indicates ascending order, while "desc" indicates descending order. The default order is ascending (asc).

Response Example

{
   "status":"1",
   "message":"OK",
   "result":[
        {
         "blockNumber":"2535368",
         "timeStamp":"1477837690",
         "hash":"0x8a1a9989bda84f80143181a68bc137ecefa64d0d4ebde45dd94fc0cf49e70cb6",
         "from":"0x20d42f2e99a421147acf198d775395cac2e8b03d",
         "to":"",
         "value":"0",
         "contractAddress":"0x2c1ba59d6f58433fb1eaee7d20b26ed83bda51a3",
         "input":"",
         "type":"create",
         "gas":"254791",
         "gasUsed":"46750",
         "traceId":"0",
         "isError":"0",
         "errCode":""
      }

Response Parameters

Parameter Type Description
blockNumber String Block height
timeStamp String Timestamp in seconds
hash String Transaction hash
from String Sender address
to String Recipient address
value String Transaction value, measured in wei
contractAddress String If internal transactions involve the creation of a new contract, it returns the address of the created contract
input String Transaction input data
type String The type of internal transaction
gas String Gas limit
gasUsed String The amount of gas used when executing the step
traceId String The tracking identifier for internal transactions
isError String Indicates whether an error occurred during the transaction, where 0 indicates no errors, while 1 indicates an error
errCode String An error code is returned if an error occurs, otherwise, it returns empty

Get internal transactions by transaction hash

Query a list of internal transactions within a specific transaction, returning a maximum of 10,000 transactions.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=txlistinternal 
   &txhash=0x40eb908387324f2b575b4879cd9d7188f69c8fc9d87c901b9e2daaea4b442170

Request Parameters

Parameter Type Required Description
txhash String Yes Transaction hash

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "blockNumber": "1743059",
            "timeStamp": "1466489498",
            "hash": "0x40eb908387324f2b575b4879cd9d7188f69c8fc9d87c901b9e2daaea4b442170",
            "from": "0x2cac6e4b11d6b58f6d3c1c9d5fe8faa89f60e5a2",
            "to": "0x66a1c3eaf0f1ffc28d209c0763ed0ca614f3b002",
            "value": "7106740000000000",
            "contractAddress": "",
            "input": "",
            "type": "call",
            "gas": "2300",
            "gasUsed": "",
            "traceId": "2",
            "isError": "0",
            "errCode": "0"
        }
    ]
}

Response Parameters

Parameter Type Description
blockNumber String Block height
timeStamp String Timestamp in seconds
hash String Transaction hash
from String Sender address
to String Recipient address
value String Transaction value, measured in wei
contractAddress String If internal transactions involve the creation of a new contract, it returns the address of the created contract
input String Transaction input data
type String The type of internal transaction
gas String Gas limit
gasUsed String The amount of gas used when executing the step
traceId String The tracking identifier for internal transactions
isError String Indicates whether an error occurred during the transaction. 0 represents no errors, while 1 represents an error
errCode String An error code is returned if an error occurs, otherwise, it returns empty

Get internal transactions by block height

Query a list of internal transactions within a specified range of block heights, returning a maximum of 10,000 transactions.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=txlistinternal
   &startblock=13481773
   &endblock=13491773
   &page=1
   &offset=1
   &sort=asc

Request Parameters

Parameter Type Required Description
startblock String Yes The starting block for the query
endblock String Yes The ending block for the query
page String No Page
offset String No The number of results returned per page
sort String No The parameter "asc" indicates ascending order, while "desc" indicates descending order. The default order is ascending (asc).

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "blockNumber": "13481773",
            "timeStamp": "1635100060",
            "hash": "0x4ee28cc6a573f745b693a2571300c4e0eb2027c8f7275a5f3b37f3ead7f6b32d",
            "from": "0x7be8076f4ea4a4ad08075c2508e481d6c946d12b",
            "to": "0x5b3256965e7c3cf26e11fcaf296dfc8807c01073",
            "value": "38000000000000000",
            "contractAddress": "",
            "input": "",
            "type": "call",
            "gas": "2300",
            "gasUsed": "0",
            "traceId": "4",
            "isError": "0",
            "errCode": ""
        }
    ]
}

Response Parameters

Parameter Type Description
blockNumber String Block height
timeStamp String Timestamp in seconds
hash String Transaction hash
from String Sender address
to String Recipient address
value String Transaction value, measured in wei
contractAddress String If internal transactions involve the creation of a new contract, it returns the address of the created contract
input String Transaction input data
type String The type of internal transaction
gas String Gas limit
gasUsed String The amount of gas used when executing the step
traceId String The tracking identifier for internal transactions
isError String Indicates whether an error occurred during the transaction, where 0 indicates no errors, while 1 indicates an error
errCode String An error code is returned if an error occurs, otherwise, it returns empty

Get ERC-20 token transfers by address

Query a list of ERC-20 token transfers for a specific address or contract.

Note: It is recommended to keep the block height range within 10,000, as the interface may time out otherwise.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=tokentx
   &contractaddress=0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2
   &address=0x4e83362442b8d1bec281594cea3050c8eb01311c
   &page=1
   &offset=1
   &startblock=19153000
   &endblock=19153162
   &sort=asc

Request Parameters

Parameter Type Required Description
address String No Address
contractaddress String No Token contract address
startblock String No The starting block for the query
endblock String No The ending block for the query
page String No Page
offset String No The number of results returned per page
sort String No The parameter "asc" indicates ascending order, while "desc" indicates descending order. The default order is ascending (asc).

Response Example

{
    "status": "1",
    "message": "OK",
    "result":
    "result":[
          {
             "blockNumber":"4730207",
             "timeStamp":"1513240363",
             "hash":"0xe8c208398bd5ae8e4c237658580db56a2a94dfa0ca382c99b776fa6e7d31d5b4",
             "nonce":"406",
             "blockHash":"0x022c5e6a3d2487a8ccf8946a2ffb74938bf8e5c8a3f6d91b41c56378a96b5c37",
             "from":"0x642ae78fafbb8032da552d619ad43f1d81e4dd7c",
             "contractAddress":"0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
             "to":"0x4e83362442b8d1bec281594cea3050c8eb01311c",
             "value":"5901522149285533025181",
             "tokenName":"Maker",
             "tokenSymbol":"MKR",
             "tokenDecimal":"18",
             "transactionIndex":"81",
             "gas":"940000",
             "gasPrice":"32010000000",
             "gasUsed":"77759",
             "cumulativeGasUsed":"2523379",
             "input":"deprecated",
             "confirmations":"7968350"
          }
    ]
}

Response Parameters

Parameter Type Description
blockNumber String Block height
timeStamp String Timestamp in seconds
hash String Transaction hash
nonce String The sequence number of transactions initiated by the sender's address
blockHash String Block hash
from String Sender address
contractAddress String Token contract address
to String Recipient address
value String Token transaction value
tokenName String Token name
tokenSymbol String Token symbol
tokenDecimal String Number of decimal places for the token
transactionIndex String Transaction index within the block
gas String Gas limit
gasPrice String The gas price, measured in wei
gasUsed String Actual amount of gas used
cumulativeGasUsed String The total amount of gas consumed by all transactions executed within the current block
input String The input data of the transaction, typically representing the code for calling a contract function
confirmations String The number of confirmed blocks

Get ERC-721 token transfers by address

Query a list of ERC-721 (NFT) token transfers for a specific address or contract.

Note: It is recommended to keep the block height range within 10,000, as the interface may time out otherwise.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=tokennfttx
   &contractaddress=0x06012c8cf97bead5deae237070f9587f8e7a266d
   &address=0x6975be450864c02b4613023c2152ee0743572325
   &page=1
   &offset=1
   &startblock=0
   &endblock=27025780
   &sort=asc

Request Parameters

Parameter Type Required Description
address String No Address
contractaddress String No Token contract address
startblock String No The starting block for the query
endblock String No The ending block for the query
page String No Page
offset String No The number of results returned per page
sort String No The parameter "asc" indicates ascending order, while "desc" indicates descending order. The default order is ascending (asc).

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "blockNumber": "4708120",
            "timeStamp": "1512907118",
            "hash": "0x031e6968a8de362e4328d60dcc7f72f0d6fc84284c452f63176632177146de66",
            "nonce": "0",
            "blockHash": "0x4be19c278bfaead5cb0bc9476fa632e2447f6e6259e0303af210302d22779a24",
            "from": "0xb1690c08e213a35ed9bab7b318de14420fb57d8c",
            "to": "0x6975be450864c02b4613023c2152ee0743572325",
            "contractAddress": "0x06012c8cf97bead5deae237070f9587f8e7a266d",
            "tokenName": "CryptoKitties",
            "tokenSymbol": "CK",
            "tokenDecimal": "0",
            "transactionIndex": "81",
            "gas": "158820",
            "gasPrice": "40000000000",
            "gasUsed": "60508",
            "cumulativeGasUsed": "4880352",
            "input": "0x454a2ab3000000000000000000000000000000000000000000000000000000000003157a",
            "confirmations": "14452761",
            "tokenID": "202106"
        }
    ]
}

Response Parameters

Parameter Type Description
blockNumber String Block height
timeStamp String Timestamp in seconds
hash String Transaction hash
nonce String The sequence number of transactions initiated by the sender's address
blockHash String Block hash
from String Sender address
contractAddress String Token contract address
to String Recipient address
tokenID String NFT token ID
tokenName String Token name
tokenSymbol String Token symbol
tokenDecimal String Number of decimal places for the token
transactionIndex String Transaction index within the block
gas String Gas limit
gasPrice String The gas price, measured in wei
gasUsed String Actual amount of gas used
cumulativeGasUsed String The total amount of gas consumed by all transactions executed within the current block
input String The input data of the transaction, typically representing the code for calling a contract function
confirmations String The number of confirmed blocks

Get ERC-1155 token transfers by address

Query a list of ERC-1155 (multi token standard) token transfers for a specific address or contract.

Note: It is recommended to keep the block height range within 10,000, as the interface may time out otherwise.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=token1155tx
   &contractaddress=0x76be3b62873462d2142405439777e971754e8e77
   &address=0x83f564d180b58ad9a02a449105568189ee7de8cb
   &page=1
   &offset=1
   &startblock=0
   &endblock=99999999
   &sort=asc

Request Parameters

Parameter Type Required Description
address String No Address
contractaddress String No Token contract address
startblock String No The starting block for the query
endblock String No The ending block for the query
page String No Page
offset String No The number of results returned per page
sort String No The parameter "asc" indicates ascending order, while "desc" indicates descending order. The default order is ascending (asc).

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "blockNumber": "13472395",
            "timeStamp": "1634973285",
            "hash": "0x643b15f3ffaad5d38e33e5872b4ebaa7a643eda8b50ffd5331f682934ee65d4d",
            "nonce": "41",
            "blockHash": "0xa5da536dfbe8125eb146114e2ee0d0bdef2b20483aacbf30fed6b60f092059e6",
            "from": "0x1e63326a84d2fa207bdfa856da9278a93deba418",
            "to": "0x83f564d180b58ad9a02a449105568189ee7de8cb",
            "contractAddress": "0x76be3b62873462d2142405439777e971754e8e77",
            "tokenName": "parallel",
            "tokenSymbol": "LL",
            "transactionIndex": "100",
            "gas": "140000",
            "gasPrice": "52898577246",
            "gasUsed": "105030",
            "cumulativeGasUsed": "11739203",
            "input": "0x3e6b214b0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000288300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000004eb500000000000000000000000000000000000000000000000000000000000000410344d5913b3beedc05dd524fb9006ac0d8e52936b366551c1a0a0f8487e7e1e87e345e8094d856cdf5eb36a8b0e6e243d041760d21d3de073cb8bae0cc578fcd1b00000000000000000000000000000000000000000000000000000000000000",
            "confirmations": "5688487",
            "tokenValue": "1",
            "tokenID": "10371"
        }
    ]
}

Response Parameters

Parameter Type Description
blockNumber String Block height
timeStamp String Timestamp in seconds
hash String Transaction hash
nonce String The sequence number of transactions initiated by the sender's address
blockHash String Block hash
from String Sender address
contractAddress String Token contract address
to String Recipient address
tokenValue String Token transaction value
tokenID String NFT token ID
tokenName String Token name
tokenSymbol String Token symbol
transactionIndex String Transaction index within the block
gas String Gas limit
gasPrice String The gas price, measured in wei
gasUsed String Actual amount of gas used
cumulativeGasUsed String The total amount of gas consumed by all transactions executed within the current block
input String The input data of the transaction, typically representing the code for calling a contract function
confirmations String The number of confirmed blocks

Get address-validated blocks

Query the total number of blocks validated by a specific address.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=getminedblocks
   &address=0x9dd134d14d1e65f84b706d6f205cd5b1cd03a46b
   &page=1
   &offset=1

Request Parameters

Parameter Type Required Description
address String Yes Address
page String No Page
offset String No The number of results returned per page

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "blockNumber": "19135623",
            "timeStamp": "1706815223",
            "blockReward": "115675929186924040"
        }
    ]
}

Response Parameters

Parameter Type Description
blockNumber String Block height
timeStamp String Timestamp in seconds
blockReward String Block reward, measured in wei

Get historical native token balance by address

Query the native token balance for a specific address at a specific block height.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=balancehistory
   &address=0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae
   &blockno=8000000

Request Parameters

Parameter Type Required Description
address String Yes Address
blockno String Yes Block height

Response Example

{
    "status": "1",
    "message": "OK",
    "result": "610538078574759898951277"
}

Response Parameters

Parameter Type Description
result String The native token balance for the address in the corresponding block, measured in wei

Contract

Get ABI for verified contracts

Query the Contract Application Binary Interface (ABI) of verified smart contracts.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=contract
   &action=getabi
   &address=0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413

Request Parameters

Parameter Type Required Description
address String Yes Contract address

Response Example

{
    "status": "1",
    "message": "OK",
    "result": "[{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"},{\"name\":\"description\",\"type\":\"string\"},{\"name\":\"votingDeadline\",\"type\":\"uint256\"},{\"name\":\"open\",\"type\":\"bool\"},{\"name\":\"proposalPassed\",\"type\":\"bool\"},{\"name\":\"proposalHash\",\"type\":\"bytes32\"},{\"name\":\"proposalDeposit\",\"type\":\"uint256\"},{\"name\":\"newCurator\",\"type\":\"bool\"},{\"name\":\"yea\",\"type\":\"uint256\"},{\"name\":\"nay\",\"type\":\"uint256\"},{\"name\":\"creator\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minTokensToCreate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"rewardAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"daoCreator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"divisor\",\"outputs\":[{\"name\":\"divisor\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"extraBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_transactionData\",\"type\":\"bytes\"}],\"name\":\"executeProposal\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unblockMe\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalRewardToken\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"actualBalance\",\"outputs\":[{\"name\":\"_actualBalance\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"closingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowedRecipients\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferWithoutReward\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"refund\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_recipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_description\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_transactionData\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"_debatingPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_newCurator\",\"type\":\"bool\"}],\"name\":\"newProposal\",\"outputs\":[{\"name\":\"_proposalID\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"address\"}],\"name\":\"DAOpaidOut\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minQuorumDivisor\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_newContract\",\"type\":\"address\"}],\"name\":\"newContract\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_recipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_allowed\",\"type\":\"bool\"}],\"name\":\"changeAllowedRecipients\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"halveMinQuorum\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"address\"}],\"name\":\"paidOut\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_newCurator\",\"type\":\"address\"}],\"name\":\"splitDAO\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"DAOrewardAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proposalDeposit\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numberOfProposals\",\"outputs\":[{\"name\":\"_numberOfProposals\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastTimeMinQuorumMet\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_toMembers\",\"type\":\"bool\"}],\"name\":\"retrieveDAOReward\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"receiveEther\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isFueled\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_tokenHolder\",\"type\":\"address\"}],\"name\":\"createTokenProxy\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"_proposalID\",\"type\":\"uint256\"}],\"name\":\"getNewDAOAddress\",\"outputs\":[{\"name\":\"_newDAO\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_supportsProposal\",\"type\":\"bool\"}],\"name\":\"vote\",\"outputs\":[{\"name\":\"_voteID\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"getMyReward\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"address\"}],\"name\":\"rewardToken\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFromWithoutReward\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_proposalDeposit\",\"type\":\"uint256\"}],\"name\":\"changeProposalDeposit\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"address\"}],\"name\":\"blocked\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"curator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"_proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_recipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_transactionData\",\"type\":\"bytes\"}],\"name\":\"checkProposalCode\",\"outputs\":[{\"name\":\"_codeChecksOut\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"privateCreation\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_curator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_daoCreator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_proposalDeposit\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_minTokensToCreate\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_closingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_privateCreation\",\"type\":\"address\"}],\"payable\":false,\"type\":\"constructor\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"FuelingToDate\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CreatedToken\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Refund\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"newCurator\",\"type\":\"bool\"},{\"indexed\":false,\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalAdded\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"position\",\"type\":\"bool\"},{\"indexed\":true,\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"Voted\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"result\",\"type\":\"bool\"},{\"indexed\":false,\"name\":\"quorum\",\"type\":\"uint256\"}],\"name\":\"ProposalTallied\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_newCurator\",\"type\":\"address\"}],\"name\":\"NewCurator\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_recipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_allowed\",\"type\":\"bool\"}],\"name\":\"AllowedRecipientChanged\",\"payable\":false,\"type\":\"event\"}]"
}

Response Parameters

Parameter Type Description
result String Contract ABI

Get source code of verified contracts

Query the source code of verified smart contracts.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=contract
   &action=getsourcecode
   &address=0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413

Request Parameters

Parameter Type Required Description
address String Yes Contract address

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "SourceCode": "/*\n\n- Bytecode Verification performed was compared on second iteration -\n\nThis file is part of the DAO.\n\nThe DAO is free software: you can redistribute it and/or modify\nit under the terms of the GNU lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThe DAO is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU lesser General Public License for more details.\n\nYou should have received a copy of the GNU lesser General Public License\nalong with the DAO.  If not, see <http://www.gnu.org/licenses/>.\n*/\n\n\n/*\nBasic, standardized Token contract with no \"premine\". Defines the functions to\ncheck token balances, send tokens, send tokens on behalf of a 3rd party and the\ncorresponding approval process. Tokens need to be created by a derived\ncontract (e.g. TokenCreation.sol).\n\nThank you ConsenSys, this contract originated from:\nhttps://github.com/ConsenSys/Tokens/blob/master/Token_Contracts/contracts/Standard_Token.sol\nWhich is itself based on the Ethereum standardized contract APIs:\nhttps://github.com/ethereum/wiki/wiki/Standardized_Contract_APIs\n*/\n\n/// @title Standard Token Contract.\n\ncontract TokenInterface {\n    mapping (address => uint256) balances;\n    mapping (address => mapping (address => uint256)) allowed;\n\n    /// Total amount of tokens\n    uint256 public totalSupply;\n\n    /// @param _owner The address from which the balance will be retrieved\n    /// @return The balance\n    function balanceOf(address _owner) constant returns (uint256 balance);\n\n    /// @notice Send `_amount` tokens to `_to` from `msg.sender`\n    /// @param _to The address of the recipient\n    /// @param _amount The amount of tokens to be transferred\n    /// @return Whether the transfer was successful or not\n    function transfer(address _to, uint256 _amount) returns (bool success);\n\n    /// @notice Send `_amount` tokens to `_to` from `_from` on the condition it\n    /// is approved by `_from`\n    /// @param _from The address of the origin of the transfer\n    /// @param _to The address of the recipient\n    /// @param _amount The amount of tokens to be transferred\n    /// @return Whether the transfer was successful or not\n    function transferFrom(address _from, address _to, uint256 _amount) returns (bool success);\n\n    /// @notice `msg.sender` approves `_spender` to spend `_amount` tokens on\n    /// its behalf\n    /// @param _spender The address of the account able to transfer the tokens\n    /// @param _amount The amount of tokens to be approved for transfer\n    /// @return Whether the approval was successful or not\n    function approve(address _spender, uint256 _amount) returns (bool success);\n\n    /// @param _owner The address of the account owning tokens\n    /// @param _spender The address of the account able to transfer the tokens\n    /// @return Amount of remaining tokens of _owner that _spender is allowed\n    /// to spend\n    function allowance(\n        address _owner,\n        address _spender\n    ) constant returns (uint256 remaining);\n\n    event Transfer(address indexed _from, address indexed _to, uint256 _amount);\n    event Approval(\n        address indexed _owner,\n        address indexed _spender,\n        uint256 _amount\n    );\n}\n\n\ncontract Token is TokenInterface {\n    // Protects users by preventing the execution of method calls that\n    // inadvertently also transferred ether\n    modifier noEther() {if (msg.value > 0) throw; _}\n\n    function balanceOf(address _owner) constant returns (uint256 balance) {\n        return balances[_owner];\n    }\n\n    function transfer(address _to, uint256 _amount) noEther returns (bool success) {\n        if (balances[msg.sender] >= _amount && _amount > 0) {\n            balances[msg.sender] -= _amount;\n            balances[_to] += _amount;\n            Transfer(msg.sender, _to, _amount);\n            return true;\n        } else {\n           return false;\n        }\n    }\n\n    function transferFrom(\n        address _from,\n        address _to,\n        uint256 _amount\n    ) noEther returns (bool success) {\n\n        if (balances[_from] >= _amount\n            && allowed[_from][msg.sender] >= _amount\n            && _amount > 0) {\n\n            balances[_to] += _amount;\n            balances[_from] -= _amount;\n            allowed[_from][msg.sender] -= _amount;\n            Transfer(_from, _to, _amount);\n            return true;\n        } else {\n            return false;\n        }\n    }\n\n    function approve(address _spender, uint256 _amount) returns (bool success) {\n        allowed[msg.sender][_spender] = _amount;\n        Approval(msg.sender, _spender, _amount);\n        return true;\n    }\n\n    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {\n        return allowed[_owner][_spender];\n    }\n}\n\n\n/*\nThis file is part of the DAO.\n\nThe DAO is free software: you can redistribute it and/or modify\nit under the terms of the GNU lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThe DAO is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU lesser General Public License for more details.\n\nYou should have received a copy of the GNU lesser General Public License\nalong with the DAO.  If not, see <http://www.gnu.org/licenses/>.\n*/\n\n\n/*\nBasic account, used by the DAO contract to separately manage both the rewards \nand the extraBalance accounts. \n*/\n\ncontract ManagedAccountInterface {\n    // The only address with permission to withdraw from this account\n    address public owner;\n    // If true, only the owner of the account can receive ether from it\n    bool public payOwnerOnly;\n    // The sum of ether (in wei) which has been sent to this contract\n    uint public accumulatedInput;\n\n    /// @notice Sends `_amount` of wei to _recipient\n    /// @param _amount The amount of wei to send to `_recipient`\n    /// @param _recipient The address to receive `_amount` of wei\n    /// @return True if the send completed\n    function payOut(address _recipient, uint _amount) returns (bool);\n\n    event PayOut(address indexed _recipient, uint _amount);\n}\n\n\ncontract ManagedAccount is ManagedAccountInterface{\n\n    // The constructor sets the owner of the account\n    function ManagedAccount(address _owner, bool _payOwnerOnly) {\n        owner = _owner;\n        payOwnerOnly = _payOwnerOnly;\n    }\n\n    // When the contract receives a transaction without data this is called. \n    // It counts the amount of ether it receives and stores it in \n    // accumulatedInput.\n    function() {\n        accumulatedInput += msg.value;\n    }\n\n    function payOut(address _recipient, uint _amount) returns (bool) {\n        if (msg.sender != owner || msg.value > 0 || (payOwnerOnly && _recipient != owner))\n            throw;\n        if (_recipient.call.value(_amount)()) {\n            PayOut(_recipient, _amount);\n            return true;\n        } else {\n            return false;\n        }\n    }\n}\n/*\nThis file is part of the DAO.\n\nThe DAO is free software: you can redistribute it and/or modify\nit under the terms of the GNU lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThe DAO is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU lesser General Public License for more details.\n\nYou should have received a copy of the GNU lesser General Public License\nalong with the DAO.  If not, see <http://www.gnu.org/licenses/>.\n*/\n\n\n/*\n * Token Creation contract, used by the DAO to create its tokens and initialize\n * its ether. Feel free to modify the divisor method to implement different\n * Token Creation parameters\n*/\n\n\ncontract TokenCreationInterface {\n\n    // End of token creation, in Unix time\n    uint public closingTime;\n    // Minimum fueling goal of the token creation, denominated in tokens to\n    // be created\n    uint public minTokensToCreate;\n    // True if the DAO reached its minimum fueling goal, false otherwise\n    bool public isFueled;\n    // For DAO splits - if privateCreation is 0, then it is a public token\n    // creation, otherwise only the address stored in privateCreation is\n    // allowed to create tokens\n    address public privateCreation;\n    // hold extra ether which has been sent after the DAO token\n    // creation rate has increased\n    ManagedAccount public extraBalance;\n    // tracks the amount of wei given from each contributor (used for refund)\n    mapping (address => uint256) weiGiven;\n\n    /// @dev Constructor setting the minimum fueling goal and the\n    /// end of the Token Creation\n    /// @param _minTokensToCreate Minimum fueling goal in number of\n    ///        Tokens to be created\n    /// @param _closingTime Date (in Unix time) of the end of the Token Creation\n    /// @param _privateCreation Zero means that the creation is public.  A\n    /// non-zero address represents the only address that can create Tokens\n    /// (the address can also create Tokens on behalf of other accounts)\n    // This is the constructor: it can not be overloaded so it is commented out\n    //  function TokenCreation(\n        //  uint _minTokensTocreate,\n        //  uint _closingTime,\n        //  address _privateCreation\n    //  );\n\n    /// @notice Create Token with `_tokenHolder` as the initial owner of the Token\n    /// @param _tokenHolder The address of the Tokens's recipient\n    /// @return Whether the token creation was successful\n    function createTokenProxy(address _tokenHolder) returns (bool success);\n\n    /// @notice Refund `msg.sender` in the case the Token Creation did\n    /// not reach its minimum fueling goal\n    function refund();\n\n    /// @return The divisor used to calculate the token creation rate during\n    /// the creation phase\n    function divisor() constant returns (uint divisor);\n\n    event FuelingToDate(uint value);\n    event CreatedToken(address indexed to, uint amount);\n    event Refund(address indexed to, uint value);\n}\n\n\ncontract TokenCreation is TokenCreationInterface, Token {\n    function TokenCreation(\n        uint _minTokensToCreate,\n        uint _closingTime,\n        address _privateCreation) {\n\n        closingTime = _closingTime;\n        minTokensToCreate = _minTokensToCreate;\n        privateCreation = _privateCreation;\n        extraBalance = new ManagedAccount(address(this), true);\n    }\n\n    function createTokenProxy(address _tokenHolder) returns (bool success) {\n        if (now < closingTime && msg.value > 0\n            && (privateCreation == 0 || privateCreation == msg.sender)) {\n\n            uint token = (msg.value * 20) / divisor();\n            extraBalance.call.value(msg.value - token)();\n            balances[_tokenHolder] += token;\n            totalSupply += token;\n            weiGiven[_tokenHolder] += msg.value;\n            CreatedToken(_tokenHolder, token);\n            if (totalSupply >= minTokensToCreate && !isFueled) {\n                isFueled = true;\n                FuelingToDate(totalSupply);\n            }\n            return true;\n        }\n        throw;\n    }\n\n    function refund() noEther {\n        if (now > closingTime && !isFueled) {\n            // Get extraBalance - will only succeed when called for the first time\n            if (extraBalance.balance >= extraBalance.accumulatedInput())\n                extraBalance.payOut(address(this), extraBalance.accumulatedInput());\n\n            // Execute refund\n            if (msg.sender.call.value(weiGiven[msg.sender])()) {\n                Refund(msg.sender, weiGiven[msg.sender]);\n                totalSupply -= balances[msg.sender];\n                balances[msg.sender] = 0;\n                weiGiven[msg.sender] = 0;\n            }\n        }\n    }\n\n    function divisor() constant returns (uint divisor) {\n        // The number of (base unit) tokens per wei is calculated\n        // as `msg.value` * 20 / `divisor`\n        // The fueling period starts with a 1:1 ratio\n        if (closingTime - 2 weeks > now) {\n            return 20;\n        // Followed by 10 days with a daily creation rate increase of 5%\n        } else if (closingTime - 4 days > now) {\n            return (20 + (now - (closingTime - 2 weeks)) / (1 days));\n        // The last 4 days there is a constant creation rate ratio of 1:1.5\n        } else {\n            return 30;\n        }\n    }\n}\n/*\nThis file is part of the DAO.\n\nThe DAO is free software: you can redistribute it and/or modify\nit under the terms of the GNU lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThe DAO is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU lesser General Public License for more details.\n\nYou should have received a copy of the GNU lesser General Public License\nalong with the DAO.  If not, see <http://www.gnu.org/licenses/>.\n*/\n\n\n/*\nStandard smart contract for a Decentralized Autonomous Organization (DAO)\nto automate organizational governance and decision-making.\n*/\n\n\ncontract DAOInterface {\n\n    // The amount of days for which people who try to participate in the\n    // creation by calling the fallback function will still get their ether back\n    uint constant creationGracePeriod = 40 days;\n    // The minimum debate period that a generic proposal can have\n    uint constant minProposalDebatePeriod = 2 weeks;\n    // The minimum debate period that a split proposal can have\n    uint constant minSplitDebatePeriod = 1 weeks;\n    // Period of days inside which it's possible to execute a DAO split\n    uint constant splitExecutionPeriod = 27 days;\n    // Period of time after which the minimum Quorum is halved\n    uint constant quorumHalvingPeriod = 25 weeks;\n    // Period after which a proposal is closed\n    // (used in the case `executeProposal` fails because it throws)\n    uint constant executeProposalPeriod = 10 days;\n    // Denotes the maximum proposal deposit that can be given. It is given as\n    // a fraction of total Ether spent plus balance of the DAO\n    uint constant maxDepositDivisor = 100;\n\n    // Proposals to spend the DAO's ether or to choose a new Curator\n    Proposal[] public proposals;\n    // The quorum needed for each proposal is partially calculated by\n    // totalSupply / minQuorumDivisor\n    uint public minQuorumDivisor;\n    // The unix time of the last time quorum was reached on a proposal\n    uint  public lastTimeMinQuorumMet;\n\n    // Address of the curator\n    address public curator;\n    // The whitelist: List of addresses the DAO is allowed to send ether to\n    mapping (address => bool) public allowedRecipients;\n\n    // Tracks the addresses that own Reward Tokens. Those addresses can only be\n    // DAOs that have split from the original DAO. Conceptually, Reward Tokens\n    // represent the proportion of the rewards that the DAO has the right to\n    // receive. These Reward Tokens are generated when the DAO spends ether.\n    mapping (address => uint) public rewardToken;\n    // Total supply of rewardToken\n    uint public totalRewardToken;\n\n    // The account used to manage the rewards which are to be distributed to the\n    // DAO Token Holders of this DAO\n    ManagedAccount public rewardAccount;\n\n    // The account used to manage the rewards which are to be distributed to\n    // any DAO that holds Reward Tokens\n    ManagedAccount public DAOrewardAccount;\n\n    // Amount of rewards (in wei) already paid out to a certain DAO\n    mapping (address => uint) public DAOpaidOut;\n\n    // Amount of rewards (in wei) already paid out to a certain address\n    mapping (address => uint) public paidOut;\n    // Map of addresses blocked during a vote (not allowed to transfer DAO\n    // tokens). The address points to the proposal ID.\n    mapping (address => uint) public blocked;\n\n    // The minimum deposit (in wei) required to submit any proposal that is not\n    // requesting a new Curator (no deposit is required for splits)\n    uint public proposalDeposit;\n\n    // the accumulated sum of all current proposal deposits\n    uint sumOfProposalDeposits;\n\n    // Contract that is able to create a new DAO (with the same code as\n    // this one), used for splits\n    DAO_Creator public daoCreator;\n\n    // A proposal with `newCurator == false` represents a transaction\n    // to be issued by this DAO\n    // A proposal with `newCurator == true` represents a DAO split\n    struct Proposal {\n        // The address where the `amount` will go to if the proposal is accepted\n        // or if `newCurator` is true, the proposed Curator of\n        // the new DAO).\n        address recipient;\n        // The amount to transfer to `recipient` if the proposal is accepted.\n        uint amount;\n        // A plain text description of the proposal\n        string description;\n        // A unix timestamp, denoting the end of the voting period\n        uint votingDeadline;\n        // True if the proposal's votes have yet to be counted, otherwise False\n        bool open;\n        // True if quorum has been reached, the votes have been counted, and\n        // the majority said yes\n        bool proposalPassed;\n        // A hash to check validity of a proposal\n        bytes32 proposalHash;\n        // Deposit in wei the creator added when submitting their proposal. It\n        // is taken from the msg.value of a newProposal call.\n        uint proposalDeposit;\n        // True if this proposal is to assign a new Curator\n        bool newCurator;\n        // Data needed for splitting the DAO\n        SplitData[] splitData;\n        // Number of Tokens in favor of the proposal\n        uint yea;\n        // Number of Tokens opposed to the proposal\n        uint nay;\n        // Simple mapping to check if a shareholder has voted for it\n        mapping (address => bool) votedYes;\n        // Simple mapping to check if a shareholder has voted against it\n        mapping (address => bool) votedNo;\n        // Address of the shareholder who created the proposal\n        address creator;\n    }\n\n    // Used only in the case of a newCurator proposal.\n    struct SplitData {\n        // The balance of the current DAO minus the deposit at the time of split\n        uint splitBalance;\n        // The total amount of DAO Tokens in existence at the time of split.\n        uint totalSupply;\n        // Amount of Reward Tokens owned by the DAO at the time of split.\n        uint rewardToken;\n        // The new DAO contract created at the time of split.\n        DAO newDAO;\n    }\n\n    // Used to restrict access to certain functions to only DAO Token Holders\n    modifier onlyTokenholders {}\n\n    /// @dev Constructor setting the Curator and the address\n    /// for the contract able to create another DAO as well as the parameters\n    /// for the DAO Token Creation\n    /// @param _curator The Curator\n    /// @param _daoCreator The contract able to (re)create this DAO\n    /// @param _proposalDeposit The deposit to be paid for a regular proposal\n    /// @param _minTokensToCreate Minimum required wei-equivalent tokens\n    ///        to be created for a successful DAO Token Creation\n    /// @param _closingTime Date (in Unix time) of the end of the DAO Token Creation\n    /// @param _privateCreation If zero the DAO Token Creation is open to public, a\n    /// non-zero address means that the DAO Token Creation is only for the address\n    // This is the constructor: it can not be overloaded so it is commented out\n    //  function DAO(\n        //  address _curator,\n        //  DAO_Creator _daoCreator,\n        //  uint _proposalDeposit,\n        //  uint _minTokensToCreate,\n        //  uint _closingTime,\n        //  address _privateCreation\n    //  );\n\n    /// @notice Create Token with `msg.sender` as the beneficiary\n    /// @return Whether the token creation was successful\n    function () returns (bool success);\n\n\n    /// @dev This function is used to send ether back\n    /// to the DAO, it can also be used to receive payments that should not be\n    /// counted as rewards (donations, grants, etc.)\n    /// @return Whether the DAO received the ether successfully\n    function receiveEther() returns(bool);\n\n    /// @notice `msg.sender` creates a proposal to send `_amount` Wei to\n    /// `_recipient` with the transaction data `_transactionData`. If\n    /// `_newCurator` is true, then this is a proposal that splits the\n    /// DAO and sets `_recipient` as the new DAO's Curator.\n    /// @param _recipient Address of the recipient of the proposed transaction\n    /// @param _amount Amount of wei to be sent with the proposed transaction\n    /// @param _description String describing the proposal\n    /// @param _transactionData Data of the proposed transaction\n    /// @param _debatingPeriod Time used for debating a proposal, at least 2\n    /// weeks for a regular proposal, 10 days for new Curator proposal\n    /// @param _newCurator Bool defining whether this proposal is about\n    /// a new Curator or not\n    /// @return The proposal ID. Needed for voting on the proposal\n    function newProposal(\n        address _recipient,\n        uint _amount,\n        string _description,\n        bytes _transactionData,\n        uint _debatingPeriod,\n        bool _newCurator\n    ) onlyTokenholders returns (uint _proposalID);\n\n    /// @notice Check that the proposal with the ID `_proposalID` matches the\n    /// transaction which sends `_amount` with data `_transactionData`\n    /// to `_recipient`\n    /// @param _proposalID The proposal ID\n    /// @param _recipient The recipient of the proposed transaction\n    /// @param _amount The amount of wei to be sent in the proposed transaction\n    /// @param _transactionData The data of the proposed transaction\n    /// @return Whether the proposal ID matches the transaction data or not\n    function checkProposalCode(\n        uint _proposalID,\n        address _recipient,\n        uint _amount,\n        bytes _transactionData\n    ) constant returns (bool _codeChecksOut);\n\n    /// @notice Vote on proposal `_proposalID` with `_supportsProposal`\n    /// @param _proposalID The proposal ID\n    /// @param _supportsProposal Yes/No - support of the proposal\n    /// @return The vote ID.\n    function vote(\n        uint _proposalID,\n        bool _supportsProposal\n    ) onlyTokenholders returns (uint _voteID);\n\n    /// @notice Checks whether proposal `_proposalID` with transaction data\n    /// `_transactionData` has been voted for or rejected, and executes the\n    /// transaction in the case it has been voted for.\n    /// @param _proposalID The proposal ID\n    /// @param _transactionData The data of the proposed transaction\n    /// @return Whether the proposed transaction has been executed or not\n    function executeProposal(\n        uint _proposalID,\n        bytes _transactionData\n    ) returns (bool _success);\n\n    /// @notice ATTENTION! I confirm to move my remaining ether to a new DAO\n    /// with `_newCurator` as the new Curator, as has been\n    /// proposed in proposal `_proposalID`. This will burn my tokens. This can\n    /// not be undone and will split the DAO into two DAO's, with two\n    /// different underlying tokens.\n    /// @param _proposalID The proposal ID\n    /// @param _newCurator The new Curator of the new DAO\n    /// @dev This function, when called for the first time for this proposal,\n    /// will create a new DAO and send the sender's portion of the remaining\n    /// ether and Reward Tokens to the new DAO. It will also burn the DAO Tokens\n    /// of the sender.\n    function splitDAO(\n        uint _proposalID,\n        address _newCurator\n    ) returns (bool _success);\n\n    /// @dev can only be called by the DAO itself through a proposal\n    /// updates the contract of the DAO by sending all ether and rewardTokens\n    /// to the new DAO. The new DAO needs to be approved by the Curator\n    /// @param _newContract the address of the new contract\n    function newContract(address _newContract);\n\n\n    /// @notice Add a new possible recipient `_recipient` to the whitelist so\n    /// that the DAO can send transactions to them (using proposals)\n    /// @param _recipient New recipient address\n    /// @dev Can only be called by the current Curator\n    /// @return Whether successful or not\n    function changeAllowedRecipients(address _recipient, bool _allowed) external returns (bool _success);\n\n\n    /// @notice Change the minimum deposit required to submit a proposal\n    /// @param _proposalDeposit The new proposal deposit\n    /// @dev Can only be called by this DAO (through proposals with the\n    /// recipient being this DAO itself)\n    function changeProposalDeposit(uint _proposalDeposit) external;\n\n    /// @notice Move rewards from the DAORewards managed account\n    /// @param _toMembers If true rewards are moved to the actual reward account\n    ///                   for the DAO. If not then it's moved to the DAO itself\n    /// @return Whether the call was successful\n    function retrieveDAOReward(bool _toMembers) external returns (bool _success);\n\n    /// @notice Get my portion of the reward that was sent to `rewardAccount`\n    /// @return Whether the call was successful\n    function getMyReward() returns(bool _success);\n\n    /// @notice Withdraw `_account`'s portion of the reward from `rewardAccount`\n    /// to `_account`'s balance\n    /// @return Whether the call was successful\n    function withdrawRewardFor(address _account) internal returns (bool _success);\n\n    /// @notice Send `_amount` tokens to `_to` from `msg.sender`. Prior to this\n    /// getMyReward() is called.\n    /// @param _to The address of the recipient\n    /// @param _amount The amount of tokens to be transfered\n    /// @return Whether the transfer was successful or not\n    function transferWithoutReward(address _to, uint256 _amount) returns (bool success);\n\n    /// @notice Send `_amount` tokens to `_to` from `_from` on the condition it\n    /// is approved by `_from`. Prior to this getMyReward() is called.\n    /// @param _from The address of the sender\n    /// @param _to The address of the recipient\n    /// @param _amount The amount of tokens to be transfered\n    /// @return Whether the transfer was successful or not\n    function transferFromWithoutReward(\n        address _from,\n        address _to,\n        uint256 _amount\n    ) returns (bool success);\n\n    /// @notice Doubles the 'minQuorumDivisor' in the case quorum has not been\n    /// achieved in 52 weeks\n    /// @return Whether the change was successful or not\n    function halveMinQuorum() returns (bool _success);\n\n    /// @return total number of proposals ever created\n    function numberOfProposals() constant returns (uint _numberOfProposals);\n\n    /// @param _proposalID Id of the new curator proposal\n    /// @return Address of the new DAO\n    function getNewDAOAddress(uint _proposalID) constant returns (address _newDAO);\n\n    /// @param _account The address of the account which is checked.\n    /// @return Whether the account is blocked (not allowed to transfer tokens) or not.\n    function isBlocked(address _account) internal returns (bool);\n\n    /// @notice If the caller is blocked by a proposal whose voting deadline\n    /// has exprired then unblock him.\n    /// @return Whether the account is blocked (not allowed to transfer tokens) or not.\n    function unblockMe() returns (bool);\n\n    event ProposalAdded(\n        uint indexed proposalID,\n        address recipient,\n        uint amount,\n        bool newCurator,\n        string description\n    );\n    event Voted(uint indexed proposalID, bool position, address indexed voter);\n    event ProposalTallied(uint indexed proposalID, bool result, uint quorum);\n    event NewCurator(address indexed _newCurator);\n    event AllowedRecipientChanged(address indexed _recipient, bool _allowed);\n}\n\n// The DAO contract itself\ncontract DAO is DAOInterface, Token, TokenCreation {\n\n    // Modifier that allows only shareholders to vote and create new proposals\n    modifier onlyTokenholders {\n        if (balanceOf(msg.sender) == 0) throw;\n            _\n    }\n\n    function DAO(\n        address _curator,\n        DAO_Creator _daoCreator,\n        uint _proposalDeposit,\n        uint _minTokensToCreate,\n        uint _closingTime,\n        address _privateCreation\n    ) TokenCreation(_minTokensToCreate, _closingTime, _privateCreation) {\n\n        curator = _curator;\n        daoCreator = _daoCreator;\n        proposalDeposit = _proposalDeposit;\n        rewardAccount = new ManagedAccount(address(this), false);\n        DAOrewardAccount = new ManagedAccount(address(this), false);\n        if (address(rewardAccount) == 0)\n            throw;\n        if (address(DAOrewardAccount) == 0)\n            throw;\n        lastTimeMinQuorumMet = now;\n        minQuorumDivisor = 5; // sets the minimal quorum to 20%\n        proposals.length = 1; // avoids a proposal with ID 0 because it is used\n\n        allowedRecipients[address(this)] = true;\n        allowedRecipients[curator] = true;\n    }\n\n    function () returns (bool success) {\n        if (now < closingTime + creationGracePeriod && msg.sender != address(extraBalance))\n            return createTokenProxy(msg.sender);\n        else\n            return receiveEther();\n    }\n\n\n    function receiveEther() returns (bool) {\n        return true;\n    }\n\n\n    function newProposal(\n        address _recipient,\n        uint _amount,\n        string _description,\n        bytes _transactionData,\n        uint _debatingPeriod,\n        bool _newCurator\n    ) onlyTokenholders returns (uint _proposalID) {\n\n        // Sanity check\n        if (_newCurator && (\n            _amount != 0\n            || _transactionData.length != 0\n            || _recipient == curator\n            || msg.value > 0\n            || _debatingPeriod < minSplitDebatePeriod)) {\n            throw;\n        } else if (\n            !_newCurator\n            && (!isRecipientAllowed(_recipient) || (_debatingPeriod <  minProposalDebatePeriod))\n        ) {\n            throw;\n        }\n\n        if (_debatingPeriod > 8 weeks)\n            throw;\n\n        if (!isFueled\n            || now < closingTime\n            || (msg.value < proposalDeposit && !_newCurator)) {\n\n            throw;\n        }\n\n        if (now + _debatingPeriod < now) // prevents overflow\n            throw;\n\n        // to prevent a 51% attacker to convert the ether into deposit\n        if (msg.sender == address(this))\n            throw;\n\n        _proposalID = proposals.length++;\n        Proposal p = proposals[_proposalID];\n        p.recipient = _recipient;\n        p.amount = _amount;\n        p.description = _description;\n        p.proposalHash = sha3(_recipient, _amount, _transactionData);\n        p.votingDeadline = now + _debatingPeriod;\n        p.open = true;\n        //p.proposalPassed = False; // that's default\n        p.newCurator = _newCurator;\n        if (_newCurator)\n            p.splitData.length++;\n        p.creator = msg.sender;\n        p.proposalDeposit = msg.value;\n\n        sumOfProposalDeposits += msg.value;\n\n        ProposalAdded(\n            _proposalID,\n            _recipient,\n            _amount,\n            _newCurator,\n            _description\n        );\n    }\n\n\n    function checkProposalCode(\n        uint _proposalID,\n        address _recipient,\n        uint _amount,\n        bytes _transactionData\n    ) noEther constant returns (bool _codeChecksOut) {\n        Proposal p = proposals[_proposalID];\n        return p.proposalHash == sha3(_recipient, _amount, _transactionData);\n    }\n\n\n    function vote(\n        uint _proposalID,\n        bool _supportsProposal\n    ) onlyTokenholders noEther returns (uint _voteID) {\n\n        Proposal p = proposals[_proposalID];\n        if (p.votedYes[msg.sender]\n            || p.votedNo[msg.sender]\n            || now >= p.votingDeadline) {\n\n            throw;\n        }\n\n        if (_supportsProposal) {\n            p.yea += balances[msg.sender];\n            p.votedYes[msg.sender] = true;\n        } else {\n            p.nay += balances[msg.sender];\n            p.votedNo[msg.sender] = true;\n        }\n\n        if (blocked[msg.sender] == 0) {\n            blocked[msg.sender] = _proposalID;\n        } else if (p.votingDeadline > proposals[blocked[msg.sender]].votingDeadline) {\n            // this proposal's voting deadline is further into the future than\n            // the proposal that blocks the sender so make it the blocker\n            blocked[msg.sender] = _proposalID;\n        }\n\n        Voted(_proposalID, _supportsProposal, msg.sender);\n    }\n\n\n    function executeProposal(\n        uint _proposalID,\n        bytes _transactionData\n    ) noEther returns (bool _success) {\n\n        Proposal p = proposals[_proposalID];\n\n        uint waitPeriod = p.newCurator\n            ? splitExecutionPeriod\n            : executeProposalPeriod;\n        // If we are over deadline and waiting period, assert proposal is closed\n        if (p.open && now > p.votingDeadline + waitPeriod) {\n            closeProposal(_proposalID);\n            return;\n        }\n\n        // Check if the proposal can be executed\n        if (now < p.votingDeadline  // has the voting deadline arrived?\n            // Have the votes been counted?\n            || !p.open\n            // Does the transaction code match the proposal?\n            || p.proposalHash != sha3(p.recipient, p.amount, _transactionData)) {\n\n            throw;\n        }\n\n        // If the curator removed the recipient from the whitelist, close the proposal\n        // in order to free the deposit and allow unblocking of voters\n        if (!isRecipientAllowed(p.recipient)) {\n            closeProposal(_proposalID);\n            p.creator.send(p.proposalDeposit);\n            return;\n        }\n\n        bool proposalCheck = true;\n\n        if (p.amount > actualBalance())\n            proposalCheck = false;\n\n        uint quorum = p.yea + p.nay;\n\n        // require 53% for calling newContract()\n        if (_transactionData.length >= 4 && _transactionData[0] == 0x68\n            && _transactionData[1] == 0x37 && _transactionData[2] == 0xff\n            && _transactionData[3] == 0x1e\n            && quorum < minQuorum(actualBalance() + rewardToken[address(this)])) {\n\n                proposalCheck = false;\n        }\n\n        if (quorum >= minQuorum(p.amount)) {\n            if (!p.creator.send(p.proposalDeposit))\n                throw;\n\n            lastTimeMinQuorumMet = now;\n            // set the minQuorum to 20% again, in the case it has been reached\n            if (quorum > totalSupply / 5)\n                minQuorumDivisor = 5;\n        }\n\n        // Execute result\n        if (quorum >= minQuorum(p.amount) && p.yea > p.nay && proposalCheck) {\n            if (!p.recipient.call.value(p.amount)(_transactionData))\n                throw;\n\n            p.proposalPassed = true;\n            _success = true;\n\n            // only create reward tokens when ether is not sent to the DAO itself and\n            // related addresses. Proxy addresses should be forbidden by the curator.\n            if (p.recipient != address(this) && p.recipient != address(rewardAccount)\n                && p.recipient != address(DAOrewardAccount)\n                && p.recipient != address(extraBalance)\n                && p.recipient != address(curator)) {\n\n                rewardToken[address(this)] += p.amount;\n                totalRewardToken += p.amount;\n            }\n        }\n\n        closeProposal(_proposalID);\n\n        // Initiate event\n        ProposalTallied(_proposalID, _success, quorum);\n    }\n\n\n    function closeProposal(uint _proposalID) internal {\n        Proposal p = proposals[_proposalID];\n        if (p.open)\n            sumOfProposalDeposits -= p.proposalDeposit;\n        p.open = false;\n    }\n\n    function splitDAO(\n        uint _proposalID,\n        address _newCurator\n    ) noEther onlyTokenholders returns (bool _success) {\n\n        Proposal p = proposals[_proposalID];\n\n        // Sanity check\n\n        if (now < p.votingDeadline  // has the voting deadline arrived?\n            //The request for a split expires XX days after the voting deadline\n            || now > p.votingDeadline + splitExecutionPeriod\n            // Does the new Curator address match?\n            || p.recipient != _newCurator\n            // Is it a new curator proposal?\n            || !p.newCurator\n            // Have you voted for this split?\n            || !p.votedYes[msg.sender]\n            // Did you already vote on another proposal?\n            || (blocked[msg.sender] != _proposalID && blocked[msg.sender] != 0) )  {\n\n            throw;\n        }\n\n        // If the new DAO doesn't exist yet, create the new DAO and store the\n        // current split data\n        if (address(p.splitData[0].newDAO) == 0) {\n            p.splitData[0].newDAO = createNewDAO(_newCurator);\n            // Call depth limit reached, etc.\n            if (address(p.splitData[0].newDAO) == 0)\n                throw;\n            // should never happen\n            if (this.balance < sumOfProposalDeposits)\n                throw;\n            p.splitData[0].splitBalance = actualBalance();\n            p.splitData[0].rewardToken = rewardToken[address(this)];\n            p.splitData[0].totalSupply = totalSupply;\n            p.proposalPassed = true;\n        }\n\n        // Move ether and assign new Tokens\n        uint fundsToBeMoved =\n            (balances[msg.sender] * p.splitData[0].splitBalance) /\n            p.splitData[0].totalSupply;\n        if (p.splitData[0].newDAO.createTokenProxy.value(fundsToBeMoved)(msg.sender) == false)\n            throw;\n\n\n        // Assign reward rights to new DAO\n        uint rewardTokenToBeMoved =\n            (balances[msg.sender] * p.splitData[0].rewardToken) /\n            p.splitData[0].totalSupply;\n\n        uint paidOutToBeMoved = DAOpaidOut[address(this)] * rewardTokenToBeMoved /\n            rewardToken[address(this)];\n\n        rewardToken[address(p.splitData[0].newDAO)] += rewardTokenToBeMoved;\n        if (rewardToken[address(this)] < rewardTokenToBeMoved)\n            throw;\n        rewardToken[address(this)] -= rewardTokenToBeMoved;\n\n        DAOpaidOut[address(p.splitData[0].newDAO)] += paidOutToBeMoved;\n        if (DAOpaidOut[address(this)] < paidOutToBeMoved)\n            throw;\n        DAOpaidOut[address(this)] -= paidOutToBeMoved;\n\n        // Burn DAO Tokens\n        Transfer(msg.sender, 0, balances[msg.sender]);\n        withdrawRewardFor(msg.sender); // be nice, and get his rewards\n        totalSupply -= balances[msg.sender];\n        balances[msg.sender] = 0;\n        paidOut[msg.sender] = 0;\n        return true;\n    }\n\n    function newContract(address _newContract){\n        if (msg.sender != address(this) || !allowedRecipients[_newContract]) return;\n        // move all ether\n        if (!_newContract.call.value(address(this).balance)()) {\n            throw;\n        }\n\n        //move all reward tokens\n        rewardToken[_newContract] += rewardToken[address(this)];\n        rewardToken[address(this)] = 0;\n        DAOpaidOut[_newContract] += DAOpaidOut[address(this)];\n        DAOpaidOut[address(this)] = 0;\n    }\n\n\n    function retrieveDAOReward(bool _toMembers) external noEther returns (bool _success) {\n        DAO dao = DAO(msg.sender);\n\n        if ((rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) /\n            totalRewardToken < DAOpaidOut[msg.sender])\n            throw;\n\n        uint reward =\n            (rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) /\n            totalRewardToken - DAOpaidOut[msg.sender];\n        if(_toMembers) {\n            if (!DAOrewardAccount.payOut(dao.rewardAccount(), reward))\n                throw;\n            }\n        else {\n            if (!DAOrewardAccount.payOut(dao, reward))\n                throw;\n        }\n        DAOpaidOut[msg.sender] += reward;\n        return true;\n    }\n\n    function getMyReward() noEther returns (bool _success) {\n        return withdrawRewardFor(msg.sender);\n    }\n\n\n    function withdrawRewardFor(address _account) noEther internal returns (bool _success) {\n        if ((balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account])\n            throw;\n\n        uint reward =\n            (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account];\n        if (!rewardAccount.payOut(_account, reward))\n            throw;\n        paidOut[_account] += reward;\n        return true;\n    }\n\n\n    function transfer(address _to, uint256 _value) returns (bool success) {\n        if (isFueled\n            && now > closingTime\n            && !isBlocked(msg.sender)\n            && transferPaidOut(msg.sender, _to, _value)\n            && super.transfer(_to, _value)) {\n\n            return true;\n        } else {\n            throw;\n        }\n    }\n\n\n    function transferWithoutReward(address _to, uint256 _value) returns (bool success) {\n        if (!getMyReward())\n            throw;\n        return transfer(_to, _value);\n    }\n\n\n    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {\n        if (isFueled\n            && now > closingTime\n            && !isBlocked(_from)\n            && transferPaidOut(_from, _to, _value)\n            && super.transferFrom(_from, _to, _value)) {\n\n            return true;\n        } else {\n            throw;\n        }\n    }\n\n\n    function transferFromWithoutReward(\n        address _from,\n        address _to,\n        uint256 _value\n    ) returns (bool success) {\n\n        if (!withdrawRewardFor(_from))\n            throw;\n        return transferFrom(_from, _to, _value);\n    }\n\n\n    function transferPaidOut(\n        address _from,\n        address _to,\n        uint256 _value\n    ) internal returns (bool success) {\n\n        uint transferPaidOut = paidOut[_from] * _value / balanceOf(_from);\n        if (transferPaidOut > paidOut[_from])\n            throw;\n        paidOut[_from] -= transferPaidOut;\n        paidOut[_to] += transferPaidOut;\n        return true;\n    }\n\n\n    function changeProposalDeposit(uint _proposalDeposit) noEther external {\n        if (msg.sender != address(this) || _proposalDeposit > (actualBalance() + rewardToken[address(this)])\n            / maxDepositDivisor) {\n\n            throw;\n        }\n        proposalDeposit = _proposalDeposit;\n    }\n\n\n    function changeAllowedRecipients(address _recipient, bool _allowed) noEther external returns (bool _success) {\n        if (msg.sender != curator)\n            throw;\n        allowedRecipients[_recipient] = _allowed;\n        AllowedRecipientChanged(_recipient, _allowed);\n        return true;\n    }\n\n\n    function isRecipientAllowed(address _recipient) internal returns (bool _isAllowed) {\n        if (allowedRecipients[_recipient]\n            || (_recipient == address(extraBalance)\n                // only allowed when at least the amount held in the\n                // extraBalance account has been spent from the DAO\n                && totalRewardToken > extraBalance.accumulatedInput()))\n            return true;\n        else\n            return false;\n    }\n\n    function actualBalance() constant returns (uint _actualBalance) {\n        return this.balance - sumOfProposalDeposits;\n    }\n\n\n    function minQuorum(uint _value) internal constant returns (uint _minQuorum) {\n        // minimum of 20% and maximum of 53.33%\n        return totalSupply / minQuorumDivisor +\n            (_value * totalSupply) / (3 * (actualBalance() + rewardToken[address(this)]));\n    }\n\n\n    function halveMinQuorum() returns (bool _success) {\n        // this can only be called after `quorumHalvingPeriod` has passed or at anytime\n        // by the curator with a delay of at least `minProposalDebatePeriod` between the calls\n        if ((lastTimeMinQuorumMet < (now - quorumHalvingPeriod) || msg.sender == curator)\n            && lastTimeMinQuorumMet < (now - minProposalDebatePeriod)) {\n            lastTimeMinQuorumMet = now;\n            minQuorumDivisor *= 2;\n            return true;\n        } else {\n            return false;\n        }\n    }\n\n    function createNewDAO(address _newCurator) internal returns (DAO _newDAO) {\n        NewCurator(_newCurator);\n        return daoCreator.createDAO(_newCurator, 0, 0, now + splitExecutionPeriod);\n    }\n\n    function numberOfProposals() constant returns (uint _numberOfProposals) {\n        // Don't count index 0. It's used by isBlocked() and exists from start\n        return proposals.length - 1;\n    }\n\n    function getNewDAOAddress(uint _proposalID) constant returns (address _newDAO) {\n        return proposals[_proposalID].splitData[0].newDAO;\n    }\n\n    function isBlocked(address _account) internal returns (bool) {\n        if (blocked[_account] == 0)\n            return false;\n        Proposal p = proposals[blocked[_account]];\n        if (now > p.votingDeadline) {\n            blocked[_account] = 0;\n            return false;\n        } else {\n            return true;\n        }\n    }\n\n    function unblockMe() returns (bool) {\n        return isBlocked(msg.sender);\n    }\n}\n\ncontract DAO_Creator {\n    function createDAO(\n        address _curator,\n        uint _proposalDeposit,\n        uint _minTokensToCreate,\n        uint _closingTime\n    ) returns (DAO _newDAO) {\n\n        return new DAO(\n            _curator,\n            DAO_Creator(this),\n            _proposalDeposit,\n            _minTokensToCreate,\n            _closingTime,\n            msg.sender\n        );\n    }\n}\n",
            "ABI": "[{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"},{\"name\":\"description\",\"type\":\"string\"},{\"name\":\"votingDeadline\",\"type\":\"uint256\"},{\"name\":\"open\",\"type\":\"bool\"},{\"name\":\"proposalPassed\",\"type\":\"bool\"},{\"name\":\"proposalHash\",\"type\":\"bytes32\"},{\"name\":\"proposalDeposit\",\"type\":\"uint256\"},{\"name\":\"newCurator\",\"type\":\"bool\"},{\"name\":\"yea\",\"type\":\"uint256\"},{\"name\":\"nay\",\"type\":\"uint256\"},{\"name\":\"creator\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minTokensToCreate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"rewardAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"daoCreator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"divisor\",\"outputs\":[{\"name\":\"divisor\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"extraBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_transactionData\",\"type\":\"bytes\"}],\"name\":\"executeProposal\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unblockMe\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalRewardToken\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"actualBalance\",\"outputs\":[{\"name\":\"_actualBalance\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"closingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowedRecipients\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferWithoutReward\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"refund\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_recipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_description\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_transactionData\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"_debatingPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_newCurator\",\"type\":\"bool\"}],\"name\":\"newProposal\",\"outputs\":[{\"name\":\"_proposalID\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"address\"}],\"name\":\"DAOpaidOut\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minQuorumDivisor\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_newContract\",\"type\":\"address\"}],\"name\":\"newContract\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_recipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_allowed\",\"type\":\"bool\"}],\"name\":\"changeAllowedRecipients\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"halveMinQuorum\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"address\"}],\"name\":\"paidOut\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_newCurator\",\"type\":\"address\"}],\"name\":\"splitDAO\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"DAOrewardAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proposalDeposit\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numberOfProposals\",\"outputs\":[{\"name\":\"_numberOfProposals\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastTimeMinQuorumMet\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_toMembers\",\"type\":\"bool\"}],\"name\":\"retrieveDAOReward\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"receiveEther\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isFueled\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_tokenHolder\",\"type\":\"address\"}],\"name\":\"createTokenProxy\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"_proposalID\",\"type\":\"uint256\"}],\"name\":\"getNewDAOAddress\",\"outputs\":[{\"name\":\"_newDAO\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_supportsProposal\",\"type\":\"bool\"}],\"name\":\"vote\",\"outputs\":[{\"name\":\"_voteID\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"getMyReward\",\"outputs\":[{\"name\":\"_success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"address\"}],\"name\":\"rewardToken\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFromWithoutReward\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_proposalDeposit\",\"type\":\"uint256\"}],\"name\":\"changeProposalDeposit\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"address\"}],\"name\":\"blocked\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"curator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"indexed\":false,\"name\":\"_proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_recipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_transactionData\",\"type\":\"bytes\"}],\"name\":\"checkProposalCode\",\"outputs\":[{\"name\":\"_codeChecksOut\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"privateCreation\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_curator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_daoCreator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_proposalDeposit\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_minTokensToCreate\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_closingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_privateCreation\",\"type\":\"address\"}],\"payable\":false,\"type\":\"constructor\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"FuelingToDate\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CreatedToken\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Refund\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"newCurator\",\"type\":\"bool\"},{\"indexed\":false,\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalAdded\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"position\",\"type\":\"bool\"},{\"indexed\":true,\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"Voted\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalID\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"result\",\"type\":\"bool\"},{\"indexed\":false,\"name\":\"quorum\",\"type\":\"uint256\"}],\"name\":\"ProposalTallied\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_newCurator\",\"type\":\"address\"}],\"name\":\"NewCurator\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_recipient\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_allowed\",\"type\":\"bool\"}],\"name\":\"AllowedRecipientChanged\",\"payable\":false,\"type\":\"event\"}]",
            "ContractName": "DAO",
            "CompilerVersion": "v0.3.1-2016-04-12-3ad5e82",
            "OptimizationUsed": "1",
            "Runs": "200",
            "ConstructorArguments": "000000000000000000000000da4a4626d3e16e094de3225a751aab7128e965260000000000000000000000004a574510c7014e4ae985403536074abe582adfc80000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000000000000000000000000a968163f0a57b4000000000000000000000000000000000000000000000000000000000000057495e100000000000000000000000000000000000000000000000000000000000000000",
            "EVMVersion": "Default",
            "Library": "",
            "LicenseType": "",
            "Proxy": "0",
            "Implementation": "",
            "SwarmSource": ""
        }
    ]
}

Response Parameters

Parameter Type Description
SourceCode String Source code of the contract
ABI String Contract ABI
ContractName String
CompilerVersion String Compiler version used
OptimizationUsed String Indicates whether optimization was used when compiling the contract, where0 indicates no optimization, while 1 indicates optimization
Runs String The number of times the code is executed during optimization
ConstructorArguments String For contracts created with constructor parameters, encoded in ABI format
EVMVersion String Compile the EVM version of the contract
Library String Information about the libraries referenced in the contract
LicenseType String Open source license type
Proxy String Indicates whether it is a proxy contract, where 0 indicates that it is not a proxy contract, while 1 indicates that it is a proxy contract
Implementation String The address of the implementation contract for the proxy contract
SwarmSource String Hash value of the contract source code on Swarm

Get contract creator and creation transaction hash

Query the deployment address and transaction hash for creating a contract, up to 5 contracts at a time.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=contract
   &action=getcontractcreation
   &contractaddresses=0xB83c27805aAcA5C7082eB45C868d955Cf04C337F

Request Parameters

Parameter Type Required Description
contractaddresses String Yes Contract address, up to a maximum of 5, separated by commas

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "contractAddress": "0xb83c27805aaca5c7082eb45c868d955cf04c337f",
            "contractCreator": "0x390dcfddebeff949b9862ec91d7be337b8995553",
            "txHash": "0x0dbad4991b6727df606650635c9e632dad8a92c6363c91652307680efd336c6e"
        }
    ]
}

Response Parameters

Parameter Type Description
contractAddress String Contract address
contractCreator String Contract creator
txHash String Transaction hash of the contract creation

Verify contract source code

Upload contract source codes for verification.

Consumption per query 0

Request Example

POST https://www.oklink.com/api/v5/explorer/eth/api/contract/verifysourcecode 
body
{
    "sourceCode":"pragma solidity ^0.7.6;↵contract HelloWorl {↵ string public greet = 'Hello Worl!';↵}",
    "contractaddress":"0x9Dca580D2c8B8e19e9d77345a5b4C2820B25b386",
    "codeformat":"solidity-single-file",
    "contractname":"HelloWorld",
    "compilerversion":"v0.7.6+commit.7338295f",
    "optimizationUsed":"1",
    "runs":"200",
    "evmVersion":"tangerineWhistle"
        }
    ]
}

Request Parameters

Parameter Type Required Description
sourceCode String Yes Contract source code; if the contract uses imports, the code needs to be concatenated into a single file (otherwise known as flattening). Solidity flattening tools can also be used, such as SolidityFlattery(by@DaveAppleton)
contractaddress String Yes Contract address
codeformat String Yes Code format, which supports solidity-single-file, solidity-standard-json-input, vyper
contractname String Yes Contract name
compilerversion String Yes The compiler version used, such as v0.7.6+commit.7338295f, vyper:0.2.11. You can check supported compiler versions for contract verification in OKLink Explorer under Verify Contract
optimizationUsed String Yes Indicates whether optimization was used during contract compilation, where 0 indicates no optimization, while 1 indicates that optimization was used
runs String No The number of times the code is executed during optimization
constructorArguements String No For contracts created with constructor parameters, encoded in ABI format
evmversion String No Compile the EVM version of the contract. If the default version is used during compilation, leave it blank. Specify if others, such as tangerineWhistle, spuriousDragon, byzantium
licenseType String No Open source license type, leave blank for default No License
libraryname String No The name of the library used in the contract, up to 10 libraries
libraryaddress String No The address of the library used in the contract, corresponding with the libraryname, such as 0xCfE28868F6E0A24b7333D22D8943279e76aC2cdc

Response Example

{
    "status": "1",
    "message": "OK",
    "result": "7bea22463da94c649662c1a5aae3efa9"
}

Response Parameters

Parameter Type Description
result String A GUID is returned upon successful submission, which can be used to query the verification result

Get contract verification status

After submitting contract source code verification, use the returned GUID to retrieve the verification result.

Consumption per query 0

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=contract
   &action=checkverifystatus
   &guid=ezq878u486pzijkvvmerl6a9mzwhv6sefgvqi5tkwceejc7tvn

Request Parameters

Parameter Type Required Description
guid String Yes Query the verification results for contract source code based on the GUID

Response Example

{
    "status": "0",
    "message": "OK",
    "result": "Success"
}

Response Parameters

Parameter Type Description
result String Verification result of the contract source code, where Success indicates successful verification, Fail indicates verification failure, and Pending indicates that verification is in progress

Verify proxy contract

Validate whether a proxy contract implements the contract as expected.

Consumption per query 0

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=contract
   &action=verifyproxycontract
   &address=0xbc46363a7669f6e12353fa95bb067aead3675c29
   &expectedimplementation=0xe45a5176bc0f2c1198e2451c4e4501d4ed9b65a6

Request Parameters

Parameter Type Required Description
address String Yes Proxy contract address
expectedimplementation String No Verify whether the implementation contract for the proxy contract forwards calls to the specified address

Response Example

{
    "status": "1",
    "message": "OK",
    "result": "523a27789e84489285ffb7c3eaec9cf4"
}

Response Parameters

Parameter Type Description
result String Upon successful submission, a GUID will be returned, which can be used to query the verification result

Get proxy contract verification status

After submitting the proxy contract verification, use the returned GUID to retrieve the verification result.

Consumption per query 0

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=contract
   &action=checkproxyverification
   &guid=ezq878u486pzijkvvmerl6a9mzwhv6sefgvqi5tkwceejc7tvn

Request Parameters

Parameter Type Required Description
guid String Yes Query the verification results for proxy contracts based on the GUID

Response Example

{
    "status": "0",
    "message": "OK",
    "result": "The proxy's (0x826427966fb2e7edee940c5d99b7d66062faef2e) implementation contract is found at 0xd4a2dca4e03713d5bf7d2173237058466a9c1be4 and is successfully updated."
}

Response Parameters

Parameter Type Description
result String Verification result of the proxy contract, where Success indicates successful verification, Fail indicates verification failure, and Pending indicates that verification is in progress

Transaction

Check contract execution status

Query the contract execution status of a transaction.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=transaction
   &action=getstatus
   &txhash=0xaf1023b59104130950f5719fb5b719332385dc787cf2e2c31121a7268179b443

Request Parameters

Parameter Type Required Description
txhash String Yes Transaction hash

Response Example

{
    "status": "1",
    "message": "OK",
    "result": {
        "isError": "0",
        "errDescription": ""
    }
}

Response Parameters

Parameter Type Description
isError String Contract execution status, where 0 indicates successful transactions, while1 indicates failed transactions
errDescription String Error description

Check transaction receipt status

Query the execution status of a transaction.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=transaction
   &action=gettxreceiptstatus
   &txhash=0x513c1ba0bebf66436b5fed86ab668452b7805593c05073eb2d51d3a52f480a76

Request Parameters

Parameter Type Required Description
txhash String Yes Transaction hash

Response Example

{
    "status": "1",
    "message": "OK",
    "result": {
        "status": "1"
    }
}

Response Parameters

Parameter Type Description
status String Transaction execution status, where 1 indicates successful transactions, while0 indicates failed transactions

Block

Get block rewards

Query block rewards.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=block
   &action=getblockreward
   &blockno=2165403

Request Parameters

Parameter Type Required Description
blockno String Yes Block height

Response Example

{
    "status": "1",
    "message": "OK",
    "result": {
        "blockNumber": "2165403",
        "timeStamp": "1472533979",
        "blockMiner": "0x13a06d3dfe21e0db5c016c03ea7d2509f7f8d1e3",
        "blockReward": "5314181600000000000"
    }
}

Response Parameters

Parameter Type Description
blockNumber String Block height
timeStamp String The timestamp for block generation, with Unix timestamp in seconds
blockMiner String Address of the block validator
blockReward String Block reward, measured in wei

Get estimated countdown time until block validation

Query the estimated time remaining, in seconds, until block validation is completed.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=block
   &action=getblockcountdown
   &blockno=19161699

Request Parameters

Parameter Type Required Description
blockno String Yes Block height

Response Example

{
    "status": "1",
    "message": "OK",
    "result": {
        "CurrentBlock": "19161603",
        "CountdownBlock": "19161699",
        "RemainingBlock": "96",
        "EstimateTimeInSec": "1166.976"
    }
}

Response Parameters

Parameter Type Description
CurrentBlock String Current latest block height
CountdownBlock String Block height to query the countdown
RemainingBlock String The number of remaining blocks
EstimateTimeInSec String Estimated remaining time for block validation to complete, measured in seconds

Get block height by timestamp

Query the block height at a specific timestamp.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=block
   &action=getblocknobytime
   &timestamp=1578638524
   &closest=before

Request Parameters

Parameter Type Required Description
timestamp String Required The timestamp for the query, with Unix timestamp in seconds
closest String Required "before" represents the most recent block produced on or before the specified timestamp, while "after" represents the most recent block produced on or after the specified timestamp

Response Example

{
    "status": "1",
    "message": "OK",
    "result": "9251482"
}

Response Parameters

Parameter Type Description
result String Block height

Get daily average block size

Query the daily average block size over a specific date range.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=stats
   &action=dailyavgblocksize
   &startdate=2019-02-01
   &enddate=2019-02-02
   &sort=asc

Request Parameters

Parameter Type Required Description
startdate String Yes Start date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
enddate String Yes End date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
sort String No "asc" for ascending order, "desc" for descending order, default is "asc"

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "unixTimeStamp": "1548979200",
            "UTCDate": "2019-02-01",
            "blockSize_bytes": "20373.362004950493"
        },
        {
            "unixTimeStamp": "1549065600",
            "UTCDate": "2019-02-02",
            "blockSize_bytes": "17499.098277608915"
        }
    ]
}

Response Parameters

Parameter Type Description
UTCDate String UTC date, formatted as yyyy-MM-dd, for example, 2019-02-01
unixTimeStamp String Seconds-level timestamp
blockSize_bytes String Average block size for the day, measured in bytes

Get daily block count and rewards

Query the number of blocks mined daily and the amount of block rewards.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=stats
   &action=dailyblkcount
   &startdate=2019-02-01
   &enddate=2019-02-02
   &sort=asc

Request Parameters

Parameter Type Required Description
startdate String Yes Start date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
enddate String Yes End date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
sort String No "asc" for ascending order, "desc" for descending order, default is "asc"

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "unixTimeStamp": "1548979200",
            "blockCount": "4848",
            "UTCDate": "2019-02-01",
            "blockRewards_Eth": "14929.4646908706"
        },
        {
            "unixTimeStamp": "1549065600",
            "blockCount": "4935",
            "UTCDate": "2019-02-02",
            "blockRewards_Eth": "15120.386084685942"
        }
    ]
}

Response Parameters

Parameter Type Description
UTCDate String UTC date, formatted as yyyy-MM-dd, for example, 2019-02-01
unixTimeStamp String Seconds-level timestamp
blockCount String The number of blocks produced on the current day
blockRewards_Eth String The total block rewards for the day, measured in the chain's native token

Get daily block rewards

Query the amount of block rewards distributed daily.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=stats
   &action=dailyblockrewards
   &startdate=2019-02-01
   &enddate=2019-02-02
   &sort=asc

Request Parameters

Parameter Type Required Description
startdate String Yes Start date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
enddate String Yes End date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
sort String No "asc" for ascending order, "desc" for descending order, default is "asc"

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "unixTimeStamp": "1548979200",
            "UTCDate": "2019-02-01",
            "blockRewards_Eth": "14929.4646908706"
        },
        {
            "unixTimeStamp": "1549065600",
            "UTCDate": "2019-02-02",
            "blockRewards_Eth": "15120.386084685942"
        }
    ]
}

Response Parameters

Parameter Type Description
UTCDate String UTC date, formatted as yyyy-MM-dd, for example, 2019-02-01
unixTimeStamp String Seconds-level timestamp
blockRewards_Eth String The total block rewards for the day, measured in the chain's native token

Get daily average time block time

Query the daily average of time needed for a block to be successfully mined.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=stats
   &action=dailyavgblocktime
   &startdate=2019-02-01
   &enddate=2019-02-02
   &sort=asc

Request Parameters

Parameter Type Required Description
startdate String Yes Start date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
enddate String Yes End date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
sort String No "asc" for ascending order, "desc" for descending order, default is "asc"

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "unixTimeStamp": "1548979200",
            "UTCDate": "2019-02-01",
            "blockTime_sec": "17.821782178217823"
        },
        {
            "unixTimeStamp": "1549065600",
            "UTCDate": "2019-02-02",
            "blockTime_sec": "17.507598784194528"
        }
    ]
}

Response Parameters

Parameter Type Description
UTCDate String UTC date, formatted as yyyy-MM-dd, for example, 2019-02-01
unixTimeStamp String Seconds-level timestamp
blockTime_sec String Daily average block time, measured in seconds

Token

Get total supply of ERC-20 tokens by address

Query the current circulating supply of ERC-20 tokens.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=stats
   &action=tokensupply
   &contractaddress=0x57d90b64a1a57749b0f932f1a3395792e12e7055

Request Parameters

Parameter Type Required Description
contractaddress String Yes ERC-20 token contract address

Response Example

{
    "status": "1",
    "message": "OK",
    "result": "21265524714464"
}

Response Parameters

Parameter Type Description
result String The total token supply, with the result returned to the smallest decimal precision. For example, if the total token supply is 215.241526476136819398 with a precision of 18, the result will be returned as 215241526476136819398.

Get ERC-20 token balance by address

Query the current balance of an ERC-20 token for a given address.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=tokenbalance
   &contractaddress=0x57d90b64a1a57749b0f932f1a3395792e12e7055
   &address=0xe04f27eb70e025b78871a2ad7eabe85e61212761

Request Parameters

Parameter Type Required Description
contractaddress String Yes ERC-20 token contract address
address String Yes Address to query the balance

Response Example

{
    "status": "1",
    "message": "OK",
    "result": "15"
}

Response Parameters

Parameter Type Description
result String The address token balance, with the result returned to the smallest decimal precision. For example, if the total token supply is 215.241526476136819398 with a precision of 18, the result will be returned as 215241526476136819398.

Get total ERC-20 token supply by address

Query the overall historical supply of a specific ERC-20 token at a certain block height.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=stats
   &action=tokensupplyhistory
   &contractaddress=0x57d90b64a1a57749b0f932f1a3395792e12e7055
   &blockno=8000000

Request Parameters

Parameter Type Required Description
contractaddress String Yes ERC-20 token contract address
blockno String Yes Block height

Response Example

{
    "status": "1",
    "message": "OK",
    "result": "21265524714464"
}

Response Parameters

Parameter Type Description
result String The total token supply in the corresponding block, with the result returned to the smallest decimal precision. For example, if the total token supply is 215.241526476136819398 with a precision of 18, the result will be returned as 215241526476136819398.

Get historical ERC-20 token balance by address

Query the historical balance of an ERC-20 token for an address within a specified block.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=tokenbalancehistory
   &contractaddress=0x57d90b64a1a57749b0f932f1a3395792e12e7055
   &address=0xe04f27eb70e025b78871a2ad7eabe85e61212761
   &blockno=8000000

Request Parameters

Parameter Type Required Description
contractaddress String Yes ERC-20 token contract address
address String Yes Address to query the balance
blockno String Yes Block height

Response Example

{
    "status": "1",
    "message": "OK",
    "result": "135499"
}

Response Parameters

Parameter Type Description
result String The historical token balance for the address in the corresponding block, with the result returned to the smallest decimal precision. For example, if the total token supply is 215.241526476136819398 with a precision of 18, the result will be returned as 215241526476136819398.

Get list of addresses with ERC-20 tokens

Query a list of addresses along with their corresponding token holdings for a specific ERC-20 token, with results returned in descending order based on token holdings.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=token
   &action=tokenholderlist
   &contractaddress=0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d
   &page=1
   &offset=1

Request Parameters

Parameter Type Required Description
contractaddress String Yes ERC-20 token contract address
page String No Page number
offset String No The number of results returned per page. The maximum and default is 100.

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "TokenHolderAddress": "0x455257963812c008ce8edf3d08cb48e95c8aa2e2",
            "TokenHolderQuantity": "6521980135015"
        }
    ]
}

Response Parameters

Parameter Type Description
TokenHolderAddress String Addresses holding the token
TokenHolderQuantity String The amount of tokens held by an address, with the result returned to the smallest decimal precision. For example, if the total token supply is 215.241526476136819398 with a precision of 18, the result will be returned as 215241526476136819398.

Get ERC-20/721/1155 token information

Query information for specific ERC-20/721/1155 tokens.

Consumption per query 3

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=token
   &action=tokeninfo
   &contractaddress=0x0e3a2a1f2146d86a604adc220b4967a898d7fe07

Request Parameters

Parameter Type Required Description
contractaddress String Yes Token contract address

Response Example

{
    "status": "1",
    "message": "OK",
    "result": {
        "contractAddress": "0x0e3a2a1f2146d86a604adc220b4967a898d7fe07",
        "tokenName": "Gods Unchained Cards",
        "symbol": "CARD",
        "divisor": "0",
        "tokenType": "ERC721",
        "totalSupply": "6972003",
        "website": "https://godsunchained.com/?refcode=0x5b3256965e7C3cF26E11FCAf296DfC8807C01073",
        "twitter": "https://twitter.com/GodsUnchained",
        "whitepaper": "",
        "tokenPriceUSD": ""
    }
}

Response Parameters

Parameter Type Description
contractAddress String Token contract address
tokenName String Token name
symbol String Token symbol
divisor String Token precision
tokenType String Token type (ERC-20, ERC-721, ERC-1155)
totalSupply String Total token supply
website String Official website of the token
twitter String Link to the token's Twitter page
whitepaper String Link to the token's whitepaper
tokenPriceUSD String Token's current price in USD

Get ERC-20 token holdings by address

Query the list of ERC-20 tokens held by a specific address along with their balances.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=addresstokenbalance
   &address=0x983e3660c0bE01991785F80f266A84B911ab59b0
   &page=1
   &offset=1

Request Parameters

Parameter Type Required Description
address String Yes Address
page String No Page number
offset String No The number of results returned per page. The maximum and default is 100.

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "TokenAddress": "0x618e75ac90b12c6049ba3b27f5d5f8651b0037f6",
            "TokenName": "QASH",
            "TokenSymbol": "QASH",
            "TokenQuantity": "19",
            "TokenDivisor": "6"
        }
    ]
}

Response Parameters

Parameter Type Description
TokenAddress String Token contract address
TokenName String Token name
TokenSymbol String Token symbol
TokenQuantity String Token holding quantity
TokenDivisor String Token precision

Get ERC-721 token holdings by address

Query the list of ERC-721 tokens held by a specific address along with their balances.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=addresstokennftbalance
   &address=0x6b52e83941eb10f9c613c395a834457559a80114
   &page=1
   &offset=1

Request Parameters

Parameter Type Required Description
address String Yes Address
page String No Page number
offset String No The number of results returned per page. The maximum and default is 100.

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "TokenAddress": "0x7c6f282efbe06e93de4ab5e646478bee20f966b8",
            "TokenName": "Legionfarm Celebrities Collection",
            "TokenSymbol": "LFT",
            "TokenQuantity": "1"
        }
    ]
}

Response Parameters

Parameter Type Description
TokenAddress String Token contract address
TokenName String Token name
TokenSymbol String Token symbol
TokenQuantity String Token holding quantity

Get specific ERC-721 token holdings by address

Query the list of specific ERC-721 tokens held by a specific address.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
   ?module=account
   &action=addresstokennftinventory
   &address=0x123432244443b54409430979df8333f9308a6040
   &contractaddress=0xed5af388653567af2f388e6224dc7c4b3241c544
   &page=1
   &offset=1

Request Parameters

Parameter Type Required Description
address String Yes Address
contractaddress String Yes ERC-721 token contract address
page String No Page number
offset String No The number of results returned per page. The maximum and default is 100.

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "TokenAddress": "0xed5af388653567af2f388e6224dc7c4b3241c544",
            "TokenId": "9055"
        }
    ]
}

Response Parameters

Parameter Type Description
TokenAddress String Token contract address
TokenId String ERC-721 token ID

Log

Get event logs

Query event logs based on different filter criteria, including: address and topic0; address and block number; address, block number, and topic0.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
?module=logs
&topic0=0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
&action=getLogs
&address=0xbd3531da5cf5857e7cfaa92426877b022e612cf8
&page=1
&offset=1

Request Parameters

Parameter Type Required Description
address String Yes The address of the smart contract that triggered the event log
startblock String No The starting block for the query
endblock String No The ending block for the query
topic0 String No The topic0 of the event log
page String No Page
offset String No The number of results returned per page. The maximum and default is 100.

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "address": "0xbd3531da5cf5857e7cfaa92426877b022e612cf8",
            "topics": [
                "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                "0x0000000000000000000000003e316f6abe52fc5cf70a6c9c0932dcb1fcbf3d62",
                "0x00000000000000000000000029469395eaf6f95920e59f858042f0e28d98a20b",
                "0x0000000000000000000000000000000000000000000000000000000000000f93"
            ],
            "data": "0x",
            "blockNumber": "0x12674cc",
            "timeStamp": "0x65d9e2af",
            "gasPrice": "0x56e959dc4",
            "gasUsed": "0x3210f",
            "logIndex": "0x18a",
            "transactionHash": "0x946d9bc16b827d616c37fc422aee9719153a3490585569f03ff7cfb9c00319ad",
            "transactionIndex": "0x78"
        }
    ]
}

Response Parameters

Parameter Type Description
address String The address of the smart contract that triggered the event log
topics Array The topics of the event log
data String The non-indexed parameter of the event
blockNumber String Block height
timeStamp String Transaction time, with timestamp in seconds
gasPrice String The gas price of the transaction, measured in wei
gasUsed String Actual amount of gas used for the transaction
logIndex String The position index of the event log within the block
transactionHash String Transaction hash
transactionIndex String Transaction index within the block

Gas

Get gas oracle

Query estimated gas price.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
?module=gastracker
&action=gasoracle

Request Parameters

Response Example

{
    "status": "1",
    "message": "OK",
    "result": {
        "suggestBaseFee": "28.126699714",
        "gasUsedRatio": "0.371853066666666667,0.999953733333333333,0.523121033333333333,0.738372333333333333,0.394655666666666667",
        "LastBlock": "19297505",
        "SafeGasPrice": "28.127541273",
        "ProposeGasPrice": "28.127933611",
        "FastGasPrice": "29.639802826"
    }
}

Response Parameters

Parameter Type Description
suggestBaseFee String Suggested base fee, measured in Gwei
gasUsedRatio String Gas used ratio of the last 5 blocks
LastBlock String The latest block height
SafeGasPrice String Slow gas price, measured in Gwei
ProposeGasPrice String Suggested gas price, measured in Gwei
FastGasPrice String Fast gas price, measured in Gwei

Get daily average gas limit

Query the historical daily average gas limit.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
?module=stats
&action=dailyavggaslimit
&startdate=2019-02-01
&enddate=2019-02-02
&sort=asc

Request Parameters

Parameter Type Required Description
startdate String Yes Start date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
enddate String Yes End date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
sort String No "asc" for ascending order, "desc" for descending order, default is "asc"

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "unixTimeStamp": "1548979200",
            "gasLimit": "8001271",
            "UTCDate": "2019-02-01"
        },
        {
            "unixTimeStamp": "1549065600",
            "gasLimit": "8001245",
            "UTCDate": "2019-02-02"
        }
    ]
}

Response Parameters

Parameter Type Description
UTCDate String UTC date, formatted as yyyy-MM-dd, for example, 2019-02-01
unixTimeStamp String Seconds-level timestamp
gasLimit String Daily average gas limit

Get daily total gas used

Query the total amount of gas used daily for blockchain transactions.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
?module=stats
&action=dailygasused
&startdate=2019-02-01
&enddate=2019-02-02
&sort=asc

Request Parameters

Parameter Type Required Description
startdate String Yes Start date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
enddate String Yes End date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
sort String No "asc" for ascending order, "desc" for descending order, default is "asc"

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "unixTimeStamp": "1548979200",
            "gasUsed": "29994520939",
            "UTCDate": "2019-02-01"
        },
        {
            "unixTimeStamp": "1549065600",
            "gasUsed": "28583928186",
            "UTCDate": "2019-02-02"
        }
    ]
}

Response Parameters

Parameter Type Description
UTCDate String UTC date, formatted as yyyy-MM-dd, for example, 2019-02-01
unixTimeStamp String Seconds-level timestamp
gasUsed String Total amount of gas used daily

Get daily average gas price

Query the historical daily average gas price.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
?module=stats
&action=dailyavggasprice
&startdate=2019-02-01
&enddate=2019-02-02
&sort=asc

Request Parameters

Parameter Type Required Description
startdate String Yes Start date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
enddate String Yes End date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
sort String No "asc" for ascending order, "desc" for descending order, default is "asc"

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "unixTimeStamp": "1548979200",
            "UTCDate": "2019-02-01",
            "maxGasPrice_Wei": "60814303896257",
            "minGasPrice_Wei": "0",
            "avgGasPrice_Wei": "13320433407"
        },
        {
            "unixTimeStamp": "1549065600",
            "UTCDate": "2019-02-02",
            "maxGasPrice_Wei": "20000000000000",
            "minGasPrice_Wei": "0",
            "avgGasPrice_Wei": "11986248035"
        }
    ]
}

Response Parameters

Parameter Type Description
UTCDate String UTC date, formatted as yyyy-MM-dd, for example, 2019-02-01
unixTimeStamp String Seconds-level timestamp
maxGasPrice_Wei String The daily maximum gas price, measured in wei
minGasPrice_Wei String The daily minimum gas price, measured in wei
avgGasPrice_Wei String The daily average gas price, measured in wei

Statistics

Get the total supply of the chain's native token

Query the total supply of the chain's native token across different public chains.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
?module=stats
&action=nativetokensupply

Request Parameters

Response Example

{
    "status": "1",
    "message": "OK",
    "result": "120156541650000000000000000"
}

Response Parameters

Parameter Type Description
result String Total supply of the native token, measured in wei

Get the last price of the chain's native token

Query the latest price of the chain's native token across different chains.

Consumption per query 2

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
?module=stats
&action=nativetokenprice

Request Parameters

Response Example

{
    "status": "1",
    "message": "OK",
    "result": {
        "nativetokenbtc": "0.057867210944049643",
        "nativetokenusd": "2954.26",
        "nativetokenbtc_timestamp": "1708778400",
        "nativetokenusd_timestamp": "1708778400"
    }
}

Response Parameters

Parameter Type Description
nativetokenbtc String The price of the native token relative to BTC
nativetokenbtc_timestamp String The latest timestamp of the price update for "nativetokenbtc", in seconds
nativetokenusd String The latest USD price of the native token
nativetokenusd_timestamp String The latest timestamp of the price update for "nativetokenusd", in seconds

Get daily network transaction fee

Query the total amount of network transaction fees per day.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
?module=stats
&action=dailytxnfee
&startdate=2019-02-01
&enddate=2019-02-02
&sort=asc

Request Parameters

Parameter Type Required Description
startdate String Yes Start date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
enddate String Yes End date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
sort String No "asc" for ascending order, "desc" for descending order, default is "asc"

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "unixTimeStamp": "1548979200",
            "UTCDate": "2019-02-01",
            "transactionFee_nativetoken": "14929.4646908706"
        },
        {
            "unixTimeStamp": "1549065600",
            "UTCDate": "2019-02-02",
            "transactionFee_nativetoken": "15120.386084685942"
        }
    ]
}

Response Parameters

Parameter Type Description
UTCDate String UTC date, formatted as yyyy-MM-dd, for example, 2019-02-01
unixTimeStamp String Seconds-level timestamp
transactionFee_nativetoken String The amount of transaction fees paid to miners per day, measured in the chain's native token

Get daily new address count

Query the number of new addresses created per day.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
?module=stats
&action=dailynewaddress
&startdate=2019-02-01
&enddate=2019-02-02
&sort=asc

Request Parameters

Parameter Type Required Description
startdate String Yes Start date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
enddate String Yes End date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
sort String No "asc" for ascending order, "desc" for descending order, default is "asc"

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "unixTimeStamp": "1548979200",
            "newAddressCount": "59997",
            "UTCDate": "2019-02-01"
        },
        {
            "unixTimeStamp": "1549065600",
            "newAddressCount": "70617",
            "UTCDate": "2019-02-02"
        }
    ]
}

Response Parameters

Parameter Type Description
UTCDate String UTC date, formatted as yyyy-MM-dd, for example, 2019-02-01
unixTimeStamp String Seconds-level timestamp
newAddressCount String The number of new addresses created per day

Get daily network utilization

Query the network utilization per day.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
?module=stats
&action=dailynetutilization
&startdate=2019-02-01
&enddate=2019-02-02
&sort=asc

Request Parameters

Parameter Type Required Description
startdate String Yes Start date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
enddate String Yes End date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
sort String No "asc" for ascending order, "desc" for descending order, default is "asc"

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "unixTimeStamp": "1548979200",
            "networkUtilization": "0.8464394280243289",
            "UTCDate": "2019-02-01"
        },
        {
            "unixTimeStamp": "1549065600",
            "networkUtilization": "0.7686569959455622",
            "UTCDate": "2019-02-02"
        }
    ]
}

Response Parameters

Parameter Type Description
UTCDate String UTC date, formatted as yyyy-MM-dd, for example, 2019-02-01
unixTimeStamp String Seconds-level timestamp
networkUtilization String The network utilization per day, calculated based on the daily average gas consumption divided by the daily average gas limit

Get daily transaction count

Query the number of blockchain transactions per day.

Consumption per query 5

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
?module=stats
&action=dailytx
&startdate=2019-02-01
&enddate=2019-02-02
&sort=asc

Request Parameters

Parameter Type Required Description
startdate String Yes Start date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
enddate String Yes End date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
sort String No "asc" for ascending order, "desc" for descending order, default is "asc"

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "unixTimeStamp": "1548979200",
            "transactionCount": "498856",
            "UTCDate": "2019-02-01"
        },
        {
            "unixTimeStamp": "1549065600",
            "transactionCount": "450314",
            "UTCDate": "2019-02-02"
        }
    ]
}

Response Parameters

Parameter Type Description
UTCDate String UTC date, formatted as yyyy-MM-dd, for example, 2019-02-01
unixTimeStamp String Seconds-level timestamp
transactionCount String The number of transactions performed on the blockchain per day

Get historical daily price of the chain's native token

Query the historical daily prices of the chain's native token across different chains.

Consumption per query 1

Request Example

https://www.oklink.com/api/v5/explorer/eth/api
?module=stats
&action=nativetokendailyprice
&startdate=2024-02-01
&enddate=2024-02-02
&sort=asc

Request Parameters

Parameter Type Required Description
startdate String Yes Start date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
enddate String Yes End date for the query in UTC, formatted as yyyy-MM-dd, for example, 2019-02-01
sort String No "asc" for ascending order, "desc" for descending order, default is "asc"

Response Example

{
    "status": "1",
    "message": "OK",
    "result": [
        {
            "unixTimeStamp": "1706745600",
            "value": "2283.4",
            "UTCDate": "2024-02-01"
        },
        {
            "unixTimeStamp": "1706832000",
            "value": "2303.71",
            "UTCDate": "2024-02-02"
        }
    ]
}

Response Parameters

Parameter Type Description
UTCDate String UTC date, formatted as yyyy-MM-dd, for example, 2019-02-01
unixTimeStamp String Seconds-level timestamp
value String The historical USD price of the native token per day

Cosmos-specific data

Retrieve basic information, block details, validator data, address holdings, transaction information, and token details from Cosmos, Kava, and Evmos chains. Additionally, retrieve token price data for Cosmos.

Get supported chain details

Query blockchain basic information.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/cosmos/blockchain

Request Example

GET /api/v5/explorer/cosmos/blockchain?chainShortName=COSMOS

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. COSMOS, KAVA, EVMOS

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "COSMOS HUB",
            "chainShortName": "COSMOS",
            "symbol": "ATOM",
            "chainCosmosId": "cosmoshub-4",
            "consensus": "POS",
            "marketCap": "2964931888.81",
            "tps": "0.88",
            "lastBlockTime": "1703587500000",
            "lastBlockHeight": "18446784",
            "totalTransactionCount": "47637956",
            "totalTransactionValue": "5134936965.921793",
            "transactionValue24h": "124615822260.29991",
            "totalAddresses": "2070187",
            "activeValidators": "180",
            "totalSupply": "380237029.903674",
            "totalStaked": "242415216.719547",
            "totalAsset": "13108",
            "ibcTokens": "954"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. COSMOS HUB
chainShortName String The abbreviated name of the blockchain network, e.g. COSMOS
symbol String The native token symbol, e.g. ATOM
chainCosmosId String The ID of the blockchain network in the Cosmos ecosystem
consensus String Consensus algorithm, e.g. PoS
marketCap String Market cap of the chain
tps String Transactions per second, calculated with the average of nearly 10 blocks
lastBlockTime String The Unix timestamp for when the latest block was validated, in milliseconds format, e.g., 1597026383085.
lastBlockHeight String The latest block height
totalTransactionCount String Total number of transactions
totalTransactionValue String Total transaction value of transfers of on-chain native tokens
transactionValue24h String Transaction value of transfers of on-chain native tokens in the past 24 hours
totalAddresses String Total number of addresses on the blockchain
activeValidators String Total number of active addresses on the blockchain
totalSupply String Total supply of the native token
totalStaked String The amount of staked native token
totalAsset String Total number of assets on this blockchain
ibcTokens String Total number of assets received from other blockchain via IBC

Get block details

Query block details of the chains.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/cosmos/block-fills

Request Example

GET /api/v5/explorer/cosmos/block-fills?chainShortName=COSMOS&height=17872234

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. COSMOS, KAVA, EVMOS
height String Yes Block height

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "COSMOS HUB",
            "chainShortName": "COSMOS",
            "hash": "81788E1AD853DB23EF1650A8EC270D6FEFE87B47116B75870214C53F3B8DA3AA",
            "height": "17872234",
            "validator": "cosmosvaloper14k4pzckkre6uxxyd2lnhnpp8sngys9m6hl6ml7",
            "blockTime": "1700102295000",
            "txnCount": "2",
            "round": "0",
            "mineReward": "12.274384",
            "gasUsed": "615684",
            "gasLimit": "666684",
            "totalFee": "0.0028330000000000004"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. COSMOS HUB
chainShortName String The abbreviated name of the blockchain network, e.g. COSMOS
hash String Block hash
height String Block height
validator String Validator/Producer
blockTime String Time when the block was produced, Unix timestamp in millisecond format, e.g. 1597026383085
txnCount String The number of normal transactions contained in the block
round String Voting round
mineReward String Block reward
gasUsed String Actual amount of gas used
gasLimit String Gas limit
totalFee String The sum of all fees in the block, the unit is the native token of the chain

Get block transaction list

Get the list of transactions in a block under the blockchain.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/cosmos/block-transaction-list

Request Example

GET /api/v5/explorer/cosmos/block-transaction-list?chainShortName=COSMOS&height=17872234

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. COSMOS, KAVA, EVMOS
height String Yes Block height
transactionListType String No Transaction list type
cosmos: cosmos transaction list of the block
evm: EVM transaction list of the block
The default is cosmos
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "20",
            "totalPage": "1",
            "chainFullName": "COSMOS HUB",
            "chainShortName": "COSMOS",
            "cosmosTransactionList": [
                {
                    "txId": "617533FA5F0BE0773E3AD2CA5665C90203DC5279D64FF879F2A68CFC335A268A",
                    "txType": "ibc.core.client.v1.MsgUpdateClient,ibc.core.channel.v1.MsgRecvPacket",
                    "state": "success",
                    "txFee": "0.000577"
                },
                {
                    "txId": "D7FD67D5CD73CC53F980122085AB859B27F26B1ADA2653777AA5D782A4945FB4",
                    "txType": "cosmos.gov.v1beta1.MsgVote",
                    "state": "success",
                    "txFee": "0.002256"
                }
            ],
            "evmTransactionList": []
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. COSMOS HUB
chainShortName String The abbreviated name of the blockchain network, e.g. COSMOS
cosmosTransactionList Array Cosmos transaction list of the block
> txId String Transaction hash
> txType String Transaction type, multiple transaction types are separated by comma
> state String Transaction state
success
fail
> txFee String Transaction fee, the unit is the native token of the chain
evmTransactionList Array EVM transaction list of the block, only for Kava and Evmos
> txId String Transaction hash
> methodId String Method ID
> state String Transaction state
success
fail
> from String From address
> isFromContract Bol Whether the from address is a contract address
> to String To address
> isToContract Bol Whether the to address is a contract address
> amount String The transaction amount of the native token
> txFee String Transaction fee, the unit is the native token of the chain

Get validator information

Get the list of validators.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/cosmos/validator-list

Request Example

GET /api/v5/explorer/cosmos/validator-list?chainShortName=COSMOS&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. COSMOS, KAVA, EVMOS
validatorAddress String Yes Validator operator address
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "573",
            "validatorList": [
                {
                    "rank": "1",
                    "validatorName": "Coinbase Custody",
                    "validatorAddress": "cosmosvaloper1c4k24jzduc365kywrsvf5ujz4ya6mwympnc4en",
                    "votingPower": "0.0923",
                    "weight": "22371898.089718",
                    "blocks": "500896",
                    "participateProposals": "0",
                    "proposals": "152",
                    "uptime": "1",
                    "commission": "0.2",
                    "ownerAddress": "cosmos1c4k24jzduc365kywrsvf5ujz4ya6mwymy8vq4q",
                    "state": "active",
                    "bondedHeight": "0",
                    "website": "custody.coinbase.com",
                    "descriptions": "Coinbase Custody Cosmos Validator"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
validatorList Array Validator list
> rank String Voting power ranking of the validator
> validatorName String Validator name
> validatorAddress String Validator operator address
> votingPower String Voting power, the total amount of native tokens delegated by the validator accounts for the proportion of the total amount of native tokens delegated by all validators
> weight String The total amount of native tokens delegated by the validator
> blocks String The number of blocks generated
> participateProposals String The number of proposals that the validator participated in
> proposals String Total number of proposals
> uptime String The percentage of time the validator has been actively functioning in the last 100 blocks
> commission String Commission percentage
> ownerAddress String Owner address of the validator
> state String Validator status
active, jailed, inactive
> bondedHeight String Delegation effective height
> website String Website of the validator
> descriptions String Description of the validator

Get native token balance for address

Query the native token balance of an address.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/address/balance-cosmos

Request Example

GET /api/v5/explorer/address/balance-cosmos?chainShortName=cosmos&address=cosmos1gn52hszvhmhu64hs2mywfj7tr4ps6nwz0snht8

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network,
address String Yes Address

Response Example

{
    "code": "0",
    "msg": "",
    "data": {
        "address": "cosmos1gn52hszvhmhu64hs2mywfj7tr4ps6nwz0snht8",
        "availableBalance": "0.571788",
        "delegated": "0",
        "delegatedReward": "0",
        "rewardRecipientAddress": "cosmos1gn52hszvhmhu64hs2mywfj7tr4ps6nwz0snht8",
        "unbonding": "0",
        "symbol": "ATOM",
        "commission": "0",
        "incentive": "",
        "ethereumCoChainAddress": ""
    }
}

Response Parameters

Parameter Type Description
address String Ordinary address
availableBalance String Available balance of the address
delegated String Delegated balance
delegatedReward String Delegated reward
rewardRecipientAddress String Reward recipient address
unbonding String Unbonding balance
symbol String Native token symbol of the chain
commission String Validator commission
incentive String Number of incentive tokens, only for Kava and Evmos
ethereumCoChainAddress String The contract address for interacting with the Ethereum main chain, only for Kava and Evmos

Get token balance details for address

Query for the token balance of an address.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/address/token-balance-detail-cosmos

Request Example

GET /api/v5/explorer/address/token-balance-detail-cosmos?chainShortName=kava&address=kava1wq9ts6l7atfn45ryxrtg4a2gwegsh3xha9e6rp&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network,
address String Yes Address
tokenType String No Token type, all Cosmos tokens are returned by default (including native tokens, LP tokens, IBC tokens, and BEP-3 bridged tokens). You can also filter by:
nativeToken: native token
lp: LP token
ibc: IBC token
bep: BEP-3 bridged token
token_20: ERC-20 token, only for Kava and Evmos
token_721: ERC-721 token, only for Kava and Evmos
token_1155: ERC-1155 token, only for Kava and Evmos
ibcDenom String No Cross-chain token identifier, only for IBC token
denom String No The smallest unit of a transaction request, only for Cosmos token
tokenContractAddress String No Token contract address, only for ERC-20, ERC-721, ERC-1155 token
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": {
        "page": "1",
        "limit": "1",
        "totalPage": "8",
        "tokenList": [
            {
                "token": "debt",
                "tokenType": "nativeToken",
                "holdingAmount": "21618717436640",
                "denom": "debt",
                "ibcDenom": ""
            }
        ]
    }
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
tokenList Array Token list
> token String Token symbol
> tokenType String nativeToken: native token
lp: LP token
ibc: IBC token
bep: BEP-3 bridged token
token_20: ERC-20 token, only for Kava and Evmos
token_721: ERC-721 token, only for Kava and Evmos
token_1155: ERC-1155 token, only for Kava and Evmos
> holdingAmount String The holding amount of the token
> denom String The smallest unit of a transaction request, only for Cosmos token
> ibcDenom String Cross-chain token identifier, only for IBC token

Get standard transaction list for address

Query for the Cosmos transactions of an address.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/address/normal-transaction-cosmos

Request Example

GET /api/v5/explorer/address/normal-transaction-cosmos?chainShortName=cosmos&address=cosmos1nvcgd368m4pm5mm3ppzawhsq6grra4ejnppplx&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network,
address String Yes Address
startBlockHeight String No The starting block height
endBlockHeight String No The end block height
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": {
        "page": "1",
        "limit": "1",
        "totalPage": "10000",
        "transactionList": [
            {
                "symbol": "ATOM",
                "txId": "779D81F33632B91EC2A58CDF79221FAAF357B89EFFA14300D1102DE8A7445DF6",
                "blockHash": "1C1672F41EDAA2E1A8E816E885162658D178E0B28691715B97CA927EFF7E3F46",
                "height": "18461766",
                "transactionTime": "1703678689",
                "from": [
                    "cosmos1jv65s3grqf6v6jl3dp4t6c9t9rk99cd88lyufl",
                    "cosmos1nvcgd368m4pm5mm3ppzawhsq6grra4ejnppplx"
                ],
                "to": [
                    "cosmos1nvcgd368m4pm5mm3ppzawhsq6grra4ejnppplx"
                ],
                "txFee": "0.004",
                "gasLimit": "700000",
                "gasUsed": "644948",
                "type": [
                    "cosmos.staking.v1beta1.MsgDelegate"
                ],
                "value": "0",
                "state": "0"
            }
        ]
    }
}

Response Parameters

Parameter Type Description
page String Page number
limit String Number of records per page, default min 20, max 100
totalPage String Total number of pages
transactionList Array List of transactions
> symbol String Symbol of the transaction token
> txId String Transaction hash
> blockHash String Block hash
> height String Block height of the transaction
> transactionTime String Transaction timestamp
> from Array Transaction sender's address
> to Array Transaction receiver's address
> txFee String Transaction fee
> gasLimit String Maximum gas amount
> gasUsed String Actual amount of gas used
> type String Transaction type
> value String Transaction value
> state String Transaction status: 0 for success, others for failed

Get transaction list

Get the list of transactions, only return the latest 10,000 transactions.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/cosmos/transaction-list

Request Example

GET /api/v5/explorer/cosmos/transaction-list?chainShortName=cosmos&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. COSMOS, KAVA, EVMOS
height String No Block height
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "chainFullName": "COSMOS HUB",
            "chainShortName": "COSMOS",
            "transactionList": [
                {
                    "txId": "8169A9D244F5D2478FA8C2D3496BB5BCE5B0D728A6BAA1E33DED085117569CF5",
                    "blockHash": "86177ABDBC145BFD4C4B3E71DF194866ADB95F716F3549655AAD9E6C8162A3A7",
                    "height": "18470022",
                    "transactionTime": "1703729095000",
                    "from": "cosmos13rsacl9a3r272fqhtw59zeawdpuxkj64cw9myq",
                    "to": "cosmos1j8pp7zvcu9z8vd882m284j29fn2dszh05cqvf9",
                    "isFromContract": false,
                    "isToContract": false,
                    "amount": "266.85",
                    "transactionSymbol": "ATOM",
                    "txFee": "0.002",
                    "transactionType": "cosmos.bank.v1beta1.MsgSend",
                    "state": "success"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. COSMOS HUB
chainShortName String The abbreviated name of the blockchain network, e.g. COSMOS
transactionList Array Transaction list
> txId String Transaction hash
> blockHash String Block hash
> height String Block height of the transaction
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> from String From address
> to String To address
> isFromContract Bol Whether the from address is a contract address
> isToContract Bol Whether the to address is a contract address
> amount String The transaction amount of the native token
> transactionSymbol String Token symbol of the transaction
> txFee String Transaction fee
> transactionType String Transaction type
> state String Transaction state
success
fail

Get token list

Get the list of tokens.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/cosmos/token-list

Request Example

GET /api/v5/explorer/cosmos/token-list?chainShortName=cosmos&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. COSMOS, KAVA, EVMOS
protocolType String No Token type, all Cosmos tokens are returned by default (including native tokens, LP tokens, IBC tokens, and BEP-3 bridged tokens). You can also filter by:
nativeToken: native token
lp: LP token
ibc: IBC token
bep: BEP-3 bridged token
token_20: ERC-20 token, only for Kava and Evmos
token_721: ERC-721 token, only for Kava and Evmos
token_1155: ERC-1155 token, only for Kava and Evmos
denom String No Cross-chain token identifier for IBC token, the smallest unit of a transaction request for other Cosmos tokens
tokenContractAddress String No Token contract address, only for ERC-20, ERC-721, ERC-1155 token
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "chainFullName": "COSMOS HUB",
            "chainShortName": "COSMOS",
            "tokenList": [
                {
                    "tokenFullName": "ATOM",
                    "token": "ATOM",
                    "precision": "6",
                    "tokenContractAddress": "",
                    "protocolType": "nativeToken",
                    "addressCount": "1139570",
                    "totalSupply": "351129538.440699",
                    "circulatingSupply": "372198329",
                    "price": "12.064",
                    "website": "",
                    "totalMarketCap": "4597411775.6",
                    "transactionAmount24h": "7865935.1198792",
                    "denom": "uatom"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. COSMOS HUB
chainShortName String The abbreviated name of the blockchain network, e.g. COSMOS
tokenList Array Token list
> tokenFullName String Full name of the token
> token String Token name
> precision String Precision
> tokenContractAddress String Token contract address
> protocolType String Protocol type
> addressCount String The number of holders of the token
> totalSupply String Total supply
> circulatingSupply String Circulating supply
> price String Price, the unit is USD
> website String Website
> totalMarketCap String Total market cap
> transactionAmount24h String Transaction amount in the past 24 hours, the unit is USD, only for ERC-20 token and IBC token
> denom String Cross-chain token identifier for IBC token, the smallest unit of a transaction request for other Cosmos tokens

Get token holder list

Get the list of token position.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/cosmos/token-position-list

Request Example

GET /api/v5/explorer/cosmos/token-position-list?chainShortName=cosmos&denom=uatom&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. COSMOS, KAVA, EVMOS
denom String Either denom or tokenContractAddress must be chosen Cross-chain token identifier for IBC token, the smallest unit of a transaction request for other Cosmos tokens
tokenContractAddress String Either denom or tokenContractAddress must be chosen Token contract address, only for ERC-20, ERC-721, ERC-1155 token
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "chainFullName": "COSMOS HUB",
            "chainShortName": "COSMOS",
            "circulatingSupply": "",
            "positionList": [
                {
                    "holderAddress": "cosmos1fl48vsnmsdzcv85q5d2q4z5ajdha8yu34mf0eh",
                    "amount": "241846712.302262",
                    "valueUsd": "2892970372.559658",
                    "positionChange24h": "-167045.82778599858",
                    "rank": "1"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. COSMOS HUB
chainShortName String The abbreviated name of the blockchain network, e.g. COSMOS
circulatingSupply String Circulating Supply
positionList Array Position List
> holderAddress String Holder Address
> amount String Holding amount
> valueUsd String Value of positions, unit: USD
> positionChange24h String 24 hour position changes
> rank String Position ranking

Get token price in batches

Batch query the price of up to 100 tokens. The price is the result of a comprehensive calculation of prices from multiple CEX and DEX.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/cosmos/token-price-multi

Request Example

GET /api/v5/explorer/cosmos/token-price-multi?denom=uatom&chainShortName=cosmos

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. COSMOS, KAVA, EVMOS
denom String Either denom or tokenContractAddress must be chosen Cross-chain token identifier for IBC token, the smallest unit of a transaction request for other Cosmos tokens
tokenContractAddress String Either denom or tokenContractAddress must be chosen Token contract address, only for ERC-20, ERC-721, ERC-1155 token

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "lastPrice": "11.92",
            "tokenContractAddress": "",
            "denom": "uatom",
            "priceAbnormal": []
        }
    ]
}

Response Parameters

Parameter Type Description
lastPrice String The latest price of the token, updated every minute.
tokenContractAddress String Token Contract Address
denom String Cross-chain token identifier for IBC token, the smallest unit of a transaction request for other Cosmos tokens
priceAbnormal String Abnormal price type
Low Liquidity, Disparity Between Sources, Abnormal Fluctuation

DeFi data

Retrieve DeFi-related data, including data on lending activities (such as deposits, borrowing, and liquidation), as well as yield rates and TVL data for over 200 DeFi projects.

Get lending and borrowing transactions

Query Defi lending access transactions, and only return the latest 10,000 transaction data.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/defi/lending-access

Request Example

GET /api/v5/explorer/defi/lending-access?chainShortName=ETH&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. ETH
tokenContractAddress String No Token contract address; 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for native token
startBlockHeight String No The starting block height
endBlockHeight String No The end block height
maxAmount String No Transaction quantity range, maximum amount
minAmount String No Transaction quantity range, minimum amount
page String No Page
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "transactionList": [
                {
                    "txId": "0x2fbb7b6c205851dff82fb27a8a9515fa032a5b6b69845ac6f4ba189967a87653",
                    "height": "18632143",
                    "transactionTime": "1700714831000",
                    "action": "supply",
                    "tokenContractAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                    "quantity": "1900000",
                    "amount": "1900000",
                    "project": "Aave V2",
                    "from": "0xf4dfcd61c36fc3ac374e52206c43253e14c2ffe2"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
transactionList Array Transaction list
> txId String Transaction hash
> height String Block height of the transaction
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> action String Transaction action: supply, redeem
> tokenContractAddress String Token contract address; 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for native token
> quantity String The supplied or redeemed quantity of the token
> amount String The transaction amount of the token. It is equal to the transaction quantity multiplied by the token price. The unit is USD.
> project String Defi lending project
> from String Sender address, multiple addresses separated by commas

Get loan and return transactions

Query Defi lending borrowing transactions, and only return the latest 10,000 transaction data.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/defi/lending-borrow

Request Example

GET /api/v5/explorer/defi/lending-borrow?chainShortName=ETH&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. ETH
tokenContractAddress String No Token contract address; 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for native token
startBlockHeight String No The starting block height
endBlockHeight String No The end block height
maxAmount String No Transaction quantity range, maximum amount
minAmount String No Transaction quantity range, minimum amount
page String No Page
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "transactionList": [
                {
                    "txId": "0xf370eb39e628abf10e120ee2af353fdb48172884495be5fa03065e51cebf1ae1",
                    "height": "18624454",
                    "transactionTime": "1700621867000",
                    "action": "repay",
                    "tokenContractAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                    "quantity": "25.22281301849709",
                    "amount": "49671.2295389268",
                    "project": "Aave V2"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
transactionList Array Transaction list
> txId String Transaction hash
> height String Block height of the transaction
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> action String Transaction action: loan, repay
> tokenContractAddress String Token contract address; 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for native token
> quantity String The borrowed or repaid quantity of the token
> amount String The transaction amount of the token. It is equal to the transaction quantity multiplied by the token price. The unit is USD.
> project String Defi lending project

Get DeFi liquidation transactions

Query Defi lending liquidation transactions, and only return the latest 10,000 transaction data.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/defi/lending-liquidate

Request Example

GET /api/v5/explorer/defi/lending-liquidate?chainShortName=ETH&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. ETH
tokenContractAddress String No Token contract address; 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for native token
startBlockHeight String No The starting block height
endBlockHeight String No The end block height
maxAmount String No Transaction quantity range, maximum amount
minAmount String No Transaction quantity range, minimum amount
page String No Page
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "transactionList": [
                {
                    "txId": "0x1120c5ec58e4c5b7565bae56f916845b266213bac2be079607add92bbe51b4a2",
                    "height": "18623731",
                    "transactionTime": "1700613095000",
                    "tokenContractAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                    "quantity": "792.439819",
                    "amount": "792.439819",
                    "rewards": "828.09961",
                    "rewardsSymbol": "USDC",
                    "liquidator": "0xb6569481dccddd527c2b0e8ba32f494e52224ca1",
                    "project": "Aave V2"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
transactionList Array Transaction list
> txId String Transaction hash
> height String Block height of the transaction
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085
> tokenContractAddress String Token contract address; 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for native token
> quantity String The liquidation quantity of the token
> amount String The liquidation amount of the token. It is equal to the liquidation quantity multiplied by the token price. The unit is USD.
> rewards String The liquidation rewards
> rewardsSymbol String The symbol of the liquidation reward token
> liquidator String The liquidator
> project String Defi lending project

DeFi project yield rates and TVL

Query the Annual Percentage Yield (APY) or Annual Percentage Rate (APR), as well as the Total Value Locked (TVL) data of multiple Defi protocols on multiple chains.

Get list of supported DeFi protocols

Get the list of Defi protocols and chains supported in this module. Return in alphabetical order based on the first letter of Defi protocol by default.

Consumption per query 0

HTTP Request

GET /api/v5/explorer/defi/support-protocol

Request Example

GET /api/v5/explorer/defi/support-protocol

Request Parameters

Parameter Type Required Description
chainShortName String No The abbreviated name of the blockchain network, e.g. ETH

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainShortName": "AVAX",
            "protocol": "Aave V2"
        },
        {
            "chainShortName": "ETH",
            "protocol": "Aave V2"
        },
        {
            "chainShortName": "MATIC",
            "protocol": "Aave V2"
        }
    ]
}

Response Parameters

Parameter Type Description
chainShortName String The abbreviated name of the blockchain network, e.g. ETH
protocol String Defi protocol name

Get DeFi data for specific tokens

Query the real-time and daily Annual Percentage Yield (APY) or Annual Percentage Rate (APR), as well as the Total Value Locked (TVL) data for different tokens on different chains in various liquidity pools; only single-token pool queries are supported.
You can query the Defi protocols and chains we support by /api/v5/explorer/defi/support-protocol

Consumption per query 3

HTTP Request

GET /api/v5/explorer/defi/token-pool-data

Request Example

GET /api/v5/explorer/defi/token-pool-data?tokenContractAddress=0xdac17f958d2ee523a2206206994597c13d831ec7&chainShortName=ETH&protocol=Aave v3&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. ETH
tokenContractAddress String Yes Token contract address; 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for native token
protocol String Yes Defi protocol name
startTime String No Query the historical DeFi data of the token later than this date. Unix timestamp format in milliseconds, e.g. 1597026383085
endTime String No Query the historical DeFi data of the token earlier than this date. Unix timestamp format in milliseconds, e.g. 1597026383085
page String No Page
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "limit": "1",
            "page": "1",
            "totalPage": "30",
            "chainShortName": "ETH",
            "tokenContractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
            "protocol": "Aave V3",
            "rateType": "0",
            "rate": "0.04003",
            "borrowRateType": "1",
            "borrowRate": "0.0491",
            "tvl": "46893689.20997",
            "poolHistory": [
                {
                    "time": "1702828800000",
                    "historyRate": "0.05477",
                    "historyTvl": "39603860.76729802",
                    "historyBorrowRate": "0.06569"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainShortName String The abbreviated name of the blockchain network, e.g. ETH
tokenContractAddress String Token contract address
protocol String Defi protocol name
rateType Array Supply rate type, 0 APY, 1 APR
rate String The current supply APY or APR of the token in this liquidity pool, data updated every hour
borrowRateType Array Borrow rate type, 0 APY, 1 APR, only applicable to Defi lending protocols
borrowRate String The current borrow APY or APR of the token in this liquidity pool, only applicable to Defi lending protocols, data updated every hour
tvl String The current TVL of the token in this liquidity pool, data updated every hour
poolHistory Array The historical APY and TVL data of the token in the liquidity pool
> time String Date, unix timestamp format in milliseconds, e.g. 1597026383085
> historyRate String The historical supply APY or APR data of the token in this liquidity pool, data updated daily
> historyTvl String The historical TVL data of the token in this liquidity pool, data updated daily
> historyBorrowRate String The historical borrow APY or APR data of the token in this liquidity pool, only applicable to Defi lending protocols, data updated daily

Get DeFi data for specific liquidity pools

Query the Annual Percentage Yield (APY) or Annual Percentage Rate (APR), as well as the Total Value Locked (TVL) data by pool address or LP token contract address.

Consumption per query 3

HTTP Request

GET /api/v5/explorer/defi/defi-pool-data

Request Example

GET /api/v5/explorer/defi/defi-pool-data?chainShortName=ETH&poolAddress=0x12392f67bdf24fae0af363c24ac620a2f67dad86

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. ETH
poolAddress String Yes Defi pool contract address, or LP token contract address
startTime String No Query the historical DeFi data later than this date. Unix timestamp format in milliseconds, e.g. 1597026383085
endTime String No Query the historical DeFi data earlier than this date. Unix timestamp format in milliseconds, e.g. 1597026383085
page String No Page
limit String No The number of results returned per request. The default is 20 and the maximum is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "limit": "20",
            "page": "1",
            "totalPage": "2",
            "chainShortName": "ETH",
            "investmentName": "TUSD",
            "protocol": "Compound",
            "rateType": "0",
            "rate": "0.11277",
            "borrowRateType": "1",
            "borrowRate": "0.12144",
            "tvl": "769606.55705",
            "poolHistory": [
                {
                    "time": "1705334400000",
                    "historyRate": "0.05377",
                    "historyTvl": "630785.3408479508",
                    "historyBorrowRate": "0.06957"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainShortName String The abbreviated name of the blockchain network, e.g. ETH
protocol String Defi protocol name
investmentName String Investment name
rateType Array Supply rate type, 0 APY, 1 APR
rate String The current supply APY or APR of the token in this liquidity pool, data updated every hour
borrowRateType Array Borrow rate type, 0 APY, 1 APR, only applicable to Defi lending protocols
borrowRate String The current borrow APY or APR of the token in this liquidity pool, only applicable to Defi lending protocols, data updated every hour
tvl String The current TVL of the token in this liquidity pool, data updated every hour
poolHistory Array The historical APY and TVL data of the token in the liquidity pool
> time String Date, unix timestamp format in milliseconds, e.g. 1597026383085
> historyRate String The historical supply APY or APR data of the token in this liquidity pool, data updated daily
> historyTvl String The historical TVL data of the token in this liquidity pool, data updated daily
> historyBorrowRate String The historical borrow APY or APR data of the token in this liquidity pool, only applicable to Defi lending protocols, data updated daily

NFT data

Retrieve NFT-related data from 7 chains, including project collections, NFT attributes, rarity, floor prices, and more, along with order data from various marketplaces.

Check supported blockchains

Get the list of chains supported by the API interface of the NFT module

HTTP Request

GET /api/v5/explorer/nft/chain-list

Consumption per query 1

Request Example

GET /api/v5/explorer/nft/chain-list

Request Parameters

Parameter Type Required Description
chainShortName String No The abbreviated name of the blockchain network

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Ethereum",
            "chainShortName": "ETH"
        },
        {
            "chainFullName": "Polygon",
            "chainShortName": "POLYGON"
        },
        {
            "chainFullName": "Optimism",
            "chainShortName": "OPTIMISM"
        },
        {
            "chainFullName": "OKT Chain",
            "chainShortName": "OKTC"
        },
        {
            "chainFullName": "Avalanche-C",
            "chainShortName": "AVAXC"
        },
        {
            "chainFullName": "ARBITRUM",
            "chainShortName": "ARBITRUM"
        },
        {
            "chainFullName": "BNB Chain",
            "chainShortName": "BSC"
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC

Get NFT market overview

Get chain-wide NFT market data overview data.

HTTP Request

GET /api/v5/explorer/nft/nft-stats-overview

Consumption per query 1

Request Example

GET /api/v5/explorer/nft/nft-stats-overview

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "totalMarketCap": "25854298568.561043",
            "totalHolder": "14315586",
            "dailyTradingVolume": "8816152.74027341",
            "dailyTransaction": "30656"
        }
    ]
}

Response Parameters

Parameter Type Description
totalMarketCap String Total NFT market value of all the network, in USD
totalHolder String Total number of addresses held NFT of all the network
dailyTradingVolume String Total daily transaction volume of all the network, in USD
dailyTransaction String Number of NFT daily transactions of all the network

Get collection overview

Gets the overview information of the collection.

HTTP Request

GET /api/v5/explorer/nft/collection-info

Consumption per query 1

Request Example

GET /api/v5/explorer/nft/collection-info?chainShortName=ETH&tokenContractAddress=0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
tokenContractAddress String Yes Contract address for the collection

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "tokenContractAddress": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
            "collectionName": "BoredApeYachtClub",
            "token": "BAYC",
            "protocolType": "token_721",
            "website": "",
            "createContractAddress": "0xaba7161a7fb69c88e16ed9f455ce62b791ee4d03",
            "collectionType": "top_collectibles",
            "totalSupply": "10000",
            "collectionLogoUrl": "https://static.coinall.ltd/cdn/nft/files/collection/205-logo.webp"
        }
    ]
}

Response Parameters

Parameter Type Description
collectionName String Collection name
collectionLogoUrl String Collection logo
tokenContractAddress String Contract address for the collection
token String Token name
protocolType String Protocol type: token_721, token_1155
website String Official website of the collection
creatContractAddress String Creat contract address
collectionType String Collection type:
art
sports
music
domain_names
virtual_places
trading_cards
top_collectibles
utility_nfts
totalSupply String NFT total supply

Get detailed data for all collection

Get detailed information about the collection, including the floor price, etc.

HTTP Request

GET /api/v5/explorer/nft/collection-details

Consumption per query 1

Request Example

GET /api/v5/explorer/nft/collection-details?chainShortName=ETH&tokenContractAddress=0xed5af388653567af2f388e6224dc7c4b3241c544

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
tokenContractAddress String Yes Contract address for the collection

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "collectionName": "BoredApeYachtClub",
            "tokenContractAddress": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
            "totalSupply": "10000",
            "holder": "5537",
            "avgPrice": "39335.9037",
            "transactionNumber": "156",
            "activeUser": "67",
            "transactionVolume": "1927459.2813000001",
            "transactionVolumeUsd": "2992611829.332006",
            "floorPrice": "24.38995001",
            "lastPrice": "26.9",
            "collectionLogoUrl": "https://static.coinall.ltd/cdn/nft/files/collection/205-logo.webp"
        }
    ]
}

Response Parameters

Parameter Type Description
collectionName String Collection name
tokenContractAddress String Contract address for the collection
totalSupply String Total supply
holder String Number of NFT holders
avgPrice String Avg price
transactionNumber String Daily Number of transactions
activeUser String Number of daily active users
transactionVolume String Daily transaction amount
transactionVolumeUsd String Daily transaction amount in USDT
floorPrice String Floor price
lastPrice String Last price
collectionLogoUrl String Collection logo

Get NFT list within collection

Get the NFT list of the collection.

HTTP Request

GET /api/v5/explorer/nft/collection-nft-list

Consumption per query 1

Request Example

GET /api/v5/explorer/nft/collection-nft-list?chainShortName=eth&tokenContractAddress=0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
tokenContractAddress String Yes Contract address for the collection
filterType String No Filter type:
maximum_number_of_transfer
price_high
price_low
latest_transaction_time
maximum_number_of_transfer
tokenId String No NFT token ID
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10002",
            "tokenContractAddress": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
            "totalSupply": "10000",
            "nftList": [
                {
                    "tokenId": "2779",
                    "holdingAddressAmount": "1",
                    "logoUrl": "/nft/files/c34da970-16ba-44b0-8892-bd05d24a350c.webp",
                    "protocolType": "token_721",
                    "lastTransactionTime": "1697631959000",
                    "lastPrice": "24",
                    "lastPriceUnit": "ETH",
                    "transactionCount": "202",
                    "mintTime": "1631463135000",
                    "title": "Bored Ape Yacht Club #2779"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
tokenContractAddress String Contract address for the collection
totalSupply String NFT total supply
nftList Array NFT list
> tokenId String NFT token id
> holdingAddressAmount String Number of addresses holding this NFT
> logoUrl String NFT logo
> protocolType String NFT protocol type
> lastTransactionTime String Latest transaction time, Unix timestamp in millisecond format, e.g. 1597026383085
> lastPrice String The latest price of this NFT
> lastPriceUnit String The price corresponds to the counting unit
> transactionCount String Number of times this NFT has been traded
> mintTime String Mint time for this NFT
> title String The 'name' attribute in the metadata of this NFT, which can obtain ENS or DID.

Get holder list for collection

List of position addresses in the collection.

HTTP Request

GET /api/v5/explorer/token/position-list

Consumption per query 1

Request Example

GET /api/v5/explorer/token/position-list?chainShortName=eth&tokenContractAddress=0x495f947276749ce646f68ac8c248420045cb7b5e

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
tokenContractAddress String Yes Contract address for the collection
holderAddress String No Collection holder address
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "chainFullName": "Ethereum",
            "chainShortName": "ETH",
            "circulatingSupply": "1005858",
            "positionList": [
                {
                    "holderAddress": "0x000000000000000000000000000000000000dead",
                    "amount": "1109086708481",
                    "valueUsd": "",
                    "positionChange24h": "",
                    "rank": "1"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
circulatingSupply String Collection circulating supply
positionList Array Collection position list
> holderAddress String Holder address
> amount String Number of NFTs held by the address
> valueUsd String Position value in usd
> positionChange24h String 24-hour position change
> rank String Holding amount rank

Get collection floor price

Retrieve the floor price of the collection across various NFT marketplaces.

HTTP Request

GET /api/v5/explorer/nft/collection-floor-price

Consumption per query 1

Request Example

GET /api/v5/explorer/nft/collection-floor-price?chainShortName=ETH&tokenContractAddress=0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
tokenContractAddress String Yes Contract address for the collection
marketplace String No Project's NFT marketplace
OpenSea
LooksRare
X2Y2
Blur
CryptoPunks
okx

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "marketplace": "OKX",
            "floorPrice": "200",
            "priceSymbol": "ETH",
            "updateTime": "1697542101000"
        },
        {
            "marketplace": "X2Y2",
            "floorPrice": "26.98",
            "priceSymbol": "ETH",
            "updateTime": "1697470407000"
        },
        {
            "marketplace": "LooksRare",
            "floorPrice": "26.349",
            "priceSymbol": "ETH",
            "updateTime": "1697701282000"
        },
        {
            "marketplace": "Blur",
            "floorPrice": "24.65",
            "priceSymbol": "ETH",
            "updateTime": "1697701832000"
        },
        {
            "marketplace": "OpenSea",
            "floorPrice": "26.349",
            "priceSymbol": "ETH",
            "updateTime": "1697701278000"
        }
    ]
}

Response Parameters

Parameter Type Description
marketplace String Project's NFT marketplace
floorPrice String Floor price of the project
priceSymbol String Unit of the floor price
update String Update time for the floor price data

Get detailed data for NFT

Get detailed information about a particular NFT, including the floor price, attributes and rarity of the attributes.

HTTP Request

GET /api/v5/explorer/nft/nft-details

Consumption per query 1

Request Example

GET /api/v5/explorer/nft/nft-details?chainShortName=ETH&tokenContractAddress=0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d&tokenId=3481

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
tokenContractAddress String Yes Contract address for the collection
tokenId String Yes NFT token ID

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "collectionName": "BoredApeYachtClub",
            "tokenContractAddress": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
            "tokenId": "3481",
            "protocolType": "token_721",
            "token": "BAYC",
            "ownerAddress": "0x7285e8f0186a0a41e73cef7603ad7b80a2d5a793",
            "logoUrl": "https://static.oklink.com/cdn/nft/files/d7169236-7cbb-4776-8a4c-3ef358f01fc9.webp",
            "lastPrice": "0",
            "lastPriceUnit": "ETH",
            "lastTransactionTime": "1628951146000",
            "lastHeight": "13023815",
            "lastTxid": "0x7e91013ab5bc0b336f57696dc6cbc7b631127fc0996bab9e10c6657ff09eec9a",
            "transactionCount": "66",
            "minterAddress": "0xee402489d83e2b22d496910f8c810d35a3ad7b25",
            "mintTime": "1619853826000",
            "floorPrice": "24.38995001",
            "title": "Bored Ape Yacht Club #3481",
            "attributes": [
                {
                    "traitType": "Background",
                    "value": "Gray",
                    "prevalence": "0.117"
                },
                {
                    "traitType": "Clothes",
                    "value": "Striped Tee",
                    "prevalence": "0.0412"
                },
                {
                    "traitType": "Eyes",
                    "value": "Bloodshot",
                    "prevalence": "0.0846"
                },
                {
                    "traitType": "Fur",
                    "value": "Gray",
                    "prevalence": "0.0496"
                },
                {
                    "traitType": "Hat",
                    "value": "Halo",
                    "prevalence": "0.0324"
                },
                {
                    "traitType": "Mouth",
                    "value": "Bored Unshaven",
                    "prevalence": "0.1551"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
collectionName String Collection name
tokenContractAddress String Contract address for the collection
tokenId String NFT token id
protocolType String Protocol type of the collection
token String Token name
ownerAddress String NFT owner address
logoUrl String NFT logo url
lastPrice String NFT last price
floorPrice String Floor price
lastPriceUnit String Unit of measurement of last prices\
lastTransactionTime String Latest transaction time, Unix timestamp in millisecond format, e.g. 1597026383085
lastHeight String Block height of the latest transaction
lastTxid String Last transaction hash of the NFT
transactionCount String Transaction count of this NFT
minterAddress String The mint address of this NFT
storageMethod String The storage method of this NFT
mintTime String Mint time of this NFT
attributes Array Attributes of this NFT
title String The 'name' attribute in the metadata of this NFT, which can obtain ENS or DID.
> traitType String Trait type
> value String Trait value
> prevalence String Rarity of the attribute, expressed as a decimal, 0.1 = 10%

Get NFT holder address

Get the list of NFT holder addresses.

HTTP Request

GET /api/v5/explorer/nft/nft-owner-address

Consumption per query 1

Request Example

GET /api/v5/explorer/nft/nft-owner-address?chainShortName=ETH&tokenContractAddress=0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d&tokenId=3481

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
tokenContractAddress String Yes Contract address for the collection
tokenId String Yes NFT token id
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "20",
            "totalPage": "1",
            "positionList": [
                {
                    "ownerAddress": "0x7285e8f0186a0a41e73cef7603ad7b80a2d5a793",
                    "logoUrl": "https://static.oklink.com/cdn/nft/files/d7169236-7cbb-4776-8a4c-3ef358f01fc9.webp",
                    "amount": "1"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
positionList Array List of addresses holding this nft
> ownerAddress String Holder address of this nft
> logoUrl String NFT's logo
> amount String Number of NFTs held by this address

Get NFT transaction history

Get nft trade history. ETH, OKTC, BSC, POLYGON, AVAXC, OP, ARBITRUM.

HTTP Request

GET /api/v5/explorer/nft/nft-trade-history

Consumption per query 1

Request Example

GET /api/v5/explorer/nft/nft-trade-history?chainShortName=eth&tokenContractAddress=0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d&tokenId=3481&activeType=sale&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
tokenContractAddress String Yes Contract address for the collection
tokenId String Yes NFT token id
activeType String Yes Type of transaction: mint (creation), transfer, sale (completion)
page String No Page number
limit String No The number of results returned per request. The maximum is 100. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "0",
            "collectionName": "Bored Ape Yacht Club",
            "tokenContractAddress": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
            "tokenId": "3481",
            "token": "BAYC",
            "historyList": [
                {
                    "amount": "1",
                    "createTime": "1685730899000",
                    "fromAddress": "0x4341f1bdd076760013ffc1aeff9fcf1c2c815fab",
                    "toAddress": "0x5f90dc9735d752e8ef296c045f66efc788a01126",
                    "price": "45.8640199999999965",
                    "priceSymbol": "ETH",
                    "usdPrice": "86760.5079937999981",
                    "marketplace": "LooksRare",
                    "actveType": "sale",
                    "txId": "0x2e925d817680ca70eb46e49f919b1406b86470fa10d50ce1649f57d3615a7bd9",
                    "invalid": false
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String Number of results on the current page
totalPage String Total number of pages
collectionName String Full collection name
tokenContractAddress String Project contract address
tokenId String NFT token ID
token String Token name
logoUrl String Image link for the NFT
historyList Array Historical transaction list
> amount String Transaction amount
> createTime String Transaction creat time. Timestamp in milliseconds
> fromAddress String NFT sending address
> toAddress String NFT receiving address
> price String Transaction price
> priceSymbol String Price unit (e.g., ETH)
> usdPrice String Price in USD
> marketplace String Trading platform, e.g., LooksRare
> activeType String Type of transaction: mint, transfer, sale
> txId String Transaction hash
> invalid Bool Whether the transaction has expired (true or false)

Get NFT sale orders

Fetches the offer list for a specific NFT, displaying the order data of the specified NFT in various marketplaces.

HTTP Request

GET /api/v5/explorer/nft/nft-offers-list

Consumption per query 1

Request Example

GET /api/v5/explorer/nft/nft-offers-list?chainShortName=eth&tokenContractAddress=0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d&tokenId=3481&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
tokenContractAddress String Yes Collection contract address.
tokenId String Yes NFT token ID.
marketplace String No NFT trading platforms (e.g., OpenSea, LooksRare, etc.)
page String No Page number
limit String No Number of results returned, max 100 per page, default is 20

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "140",
            "collectionName": "Bored Ape Yacht Club",
            "tokenContractAddress": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
            "tokenId": "3481",
            "token": "BAYC",
            "offerList": [
                {
                    "amount": "1",
                    "createTime": "1683990533000",
                    "validTime": "1699542522000",
                    "price": "1",
                    "priceSymbol": "WETH",
                    "priceSymbolContractAddress": "",
                    "orderHash": "0x9fe5e206029ad24c077ca696b43218b7e236d0c871d07aa94f5367208bb9989e",
                    "ownerAddress": "0xf0ae1a04481a894ecd3dd231af914572bc289935",
                    "marketplace": "OKX",
                    "usdPrice": "1919.76"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String Number of entries on the current page
totalPage String Total number of pages
collectionName String Full collection name
tokenContractAddress String Collection contract address
tokenId String NFT token ID
token String Token name
offerList Array List of bids
> amount String Offer amount
> createTime String Order create time (timestamp in milliseconds)
> validTime String Expiry time of the bid
> price String Bid price
> priceSymbol String Price unit
> priceSymbolContractAddress String Contract address of the price unit
> orderHash String Order hash
> ownerAddress String Bid order address
> marketplace String Trading platform (e.g., LooksRare)
> usdPrice String Value of the bid in USD

Get NFT bid orders

Fetches the listing list for a specific NFT, displaying the order data of the specified NFT in various marketplaces.

HTTP Request

GET /api/v5/explorer/nft/nft-listing-list

Consumption per query 1

Request Example

GET /api/v5/explorer/nft/nft-listing-list?chainShortName=eth&tokenContractAddress=0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d&tokenId=6137

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
tokenContractAddress String Yes Collection's contract address.
tokenId String Yes NFT token ID.
marketplace String No NFT trading platforms (e.g., OpenSea, LooksRare, etc.)
page String No Page number
limit String No Number of results returned, max 100 per page, default is 20

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "20",
            "totalPage": "2",
            "collectionName": "Bored Ape Yacht Club",
            "tokenContractAddress": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
            "tokenId": "6137",
            "token": "BAYC",
            "listingList": [
                {
                    "amount": "1",
                    "createTime": "1697470407000",
                    "validTime": "1697729593000",
                    "price": "26.98",
                    "priceSymbol": "ETH",
                    "priceSymbolContractAddress": "",
                    "orderHash": "0xce44938ed7af8565835b6bc2e57368093bba1fd29d05aa223f1a382d5d62a8d5",
                    "ownerAddress": "0x65a837220bddc55b67010adec2125e136ed19444",
                    "marketplace": "X2Y2",
                    "usdPrice": "41935.5536"
                },
                {
                    "amount": "1",
                    "createTime": "1697530292000",
                    "validTime": "2147443200000",
                    "price": "26.98",
                    "priceSymbol": "ETH",
                    "priceSymbolContractAddress": "",
                    "orderHash": "0x478e6e8ee59adfbd81d546af6757df6642e6e9d66b816306dc5305c668997d29",
                    "ownerAddress": "0x65a837220bddc55b67010adec2125e136ed19444",
                    "marketplace": "Blur",
                    "usdPrice": "41935.5536"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String Number of entries on the current page
totalPage String Total number of pages
collectionName String Full collection name
tokenContractAddress String Collection contract address
tokenId String NFT token ID
token String Token name
listingList Array List of listings
> amount String Listing amount
> createTime String Order listing time (timestamp in milliseconds)
> validTime String Expiry time of the listing
> price String Listing price
> priceSymbol String Price unit
> priceSymbolContractAddress String Contract address of the price unit
> orderHash String Order hash
> ownerAddress String Listing order address
> marketplace String Trading platform (e.g., LooksRare)
> usdPrice String Value of the listing in USD

Get NFT list held by address

Get the list of NFTs held by the specified address.

HTTP Request

GET /api/v5/explorer/nft/address-balance-fills

Consumption per query 1

Request Example

GET /api/v5/explorer/nft/address-balance-fills?chainShortName=oktc&address=0xda0d7f342b9c0f7f5f456e0c0a3ec6fe925eaef3&protocolType=token_721&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
address String Yes address
protocolType String Yes Protocol type
token_721
token_1155
tokenContractAddress String No Contract address for the collection
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "224",
            "tokenList": [
                {
                    "tokenContractAddress": "0x1e0e008eec6d04c52a3945d3df33d04e06a9c46f",
                    "tokenId": "5158",
                    "protocolType": "token_721",
                    "amount": "1",
                    "token": "GPF",
                    "logoUrl": "https://static.oklink.com/cdn/nft/files/65964236-8bd0-4985-9548-440c7953bc8c.webp"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
tokenList Array Token list
> tokenContractAddress String The contract address of the collection
> tokenId String NFT id
> protocolType String Protocol type
> amount String The number of this NFT held by the address
> token String Token name
> logoUrl String NFT logo Url

Token price data

Retrieve both real-time and historical token prices and transaction data for over 200 chains. Additionally, retrieve liquidity pool data for specific tokens.

Check supported blockchains

Get the list of chains supported in this module, which can be used to query the chainID of a specific chain. Return in alphabetical order based on the first letter of chainShortName by default.

HTTP Request

GET /api/v5/explorer/tokenprice/chain-list

Consumption per query 1

Request Example

GET /api/v5/explorer/tokenprice/chain-list

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainId": "260",
            "chainFullName": "Arkblock",
            "chainShortName": "ABT"
        },
        {
            "chainId": "787",
            "chainFullName": "Acala Network",
            "chainShortName": "ACA"
        }
    ]
}

Response Parameters

Parameter Type Description
chainList Array Supported chain list
> chainId String Unique identifier of the chain.
> chainFullName String The full name of the blockchain network, e.g. Bitcoin
> chainShortName String The abbreviated name of the blockchain network, e.g. BTC

Get token list

Query the list of 200+ chain tokens to obtain their unique IDs.

HTTP Request

GET /api/v5/explorer/tokenprice/token-list

Consumption per query 1

Request Example

GET /api/v5/explorer/tokenprice/token-list?token=ordi

Request Parameters

Parameter Type Required Description
tokenUniqueId String No Chain id
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.
token String No Token

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "20",
            "totalPage": "1",
            "tokenList": [
                {
                    "tokenUniqueId": "18135625983068672",
                    "tokenFullName": "ordi",
                    "token": "ordi",
                    "network": [
                        {
                            "chainId": "56",
                            "chainFullName": "BNB Smart Chain",
                            "chainShortName": "BNB",
                            "tokenContractAddress": "0xf06aed41437f9e6d5b21812bb5d41fd709bc4f78"
                        }
                    ]
                },
                {
                    "tokenUniqueId": "18684748417958401",
                    "tokenFullName": "ordi",
                    "token": "ordi",
                    "network": [
                        {
                            "chainId": "0",
                            "chainFullName": "Bitcoin",
                            "chainShortName": "BTC",
                            "tokenContractAddress": "b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0"
                        }
                    ]
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
tokenList Array Token list
> tokenUniqueId String Token id
> tokenFullName String Full name of the token
> token String token
> network Array The network issued by this token
>> chainId String Chain id
>> chainFullName String The full name of the blockchain network, e.g, Bitcoin
>> chainShortName String The abbreviated name of the blockchain network, e.g, BTC
>> tokenContractAddress String Token contract address

Get historical token price

Support querying the historical price data of over 200+ chain tokens.

HTTP Request

GET /api/v5/explorer/tokenprice/historical

Consumption per query 1

Request Example

GET /api/v5/explorer/tokenprice/historical?chainId=0&tokenContractAddress=b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0&limit=2

Request Parameters

Parameter Type Required Description
chainId String Yes Chain id, you can query the chainId of the chains we support by /api/v5/explorer/tokenprice/chain-list
tokenContractAddress String No Token contract address, do not fill in this parameter, default to querying the historical data of this token.
limit String No Returns the number of data entries, with a default of 50 entries. A maximum of 200 entries can be returned for a single request
after String No Request the pagination content before this timestamp (older data), and the value passed is the time of the corresponding interface
before String No Request the pagination content after this timestamp (new data), and the value passed is the time of the corresponding interface
period String No Filter time granularity, default value of 1d [1m/5m/30m/1h/1D]

If you query the price of inscription tokens on Facet-VM, you need to add 'facet_' in front of the contract address, such as 'facet_0x55ab0390a89fed8992e3affbf61d102490735e24'.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "price": "3.271",
            "time": "1697644800000",
            "priceAbnormal": []
        },
        {
            "price": "3.129",
            "time": "1697558400000",
            "priceAbnormal": []
        }
    ]
}

Response Parameters

Parameter Type Description
price String Price
time String The time when the data was last updated
priceAbnormal String Abnormal price type
Low Liquidity, Disparity Between Sources, Abnormal Fluctuation

Get latest token price in batches

You can batch query the price of up to 100 tokens. The price is the result of a comprehensive calculation of prices from multiple CEX and DEX. The supported chains are BTC, BCH, LTC, DASH, DOGE, ETH, OKTC, XLAYER_TESTNET, BSC, ETC, POLYGON, AVAXC, ETHW, DIS, FTM, OP, ARBITRUM, KLAYTN, ZKSYNC, GNOSIS, RONIN, LINEA, POLYGON_ZKEVM, APT, SUI, TRON, BASE, SCROLL, OMEGA.

Consumption per query is 10

HTTP Request

GET /api/v5/explorer/tokenprice/price-multi

Request Example

GET /api/v5/explorer/tokenprice/price-multi?chainShortName=eth&tokenContractAddress=0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2,0x8d983cb9388eac77af0474fa441c4815500cb7bb

Request Parameters

Parameter Type Required Description
chainId String No Unique identifier of the chain, you can query the chainId of the chains we support by /api/v5/explorer/tokenprice/chain-list. Either chainId or chainShortName must be chosen.
chainShortName String No The abbreviated name of the blockchain network, e.g, BTC, ETH. Either chainId or chainShortName must be chosen.
tokenContractAddress String Yes Token Contract Address

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "lastPrice": "6.397",
            "tokenContractAddress": "0x8d983cb9388eac77af0474fa441c4815500cb7bb",
            "priceAbnormal": []
        },
        {
            "lastPrice": "1395.5956462884245",
            "tokenContractAddress": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
            "priceAbnormal": []
        }
    ]
}

Response Parameters

Parameter Type Description
lastPrice String The latest price of the token, updated every minute.
tokenContractAddress String Token Contract Address
priceAbnormal String Abnormal price type
Low Liquidity, Disparity Between Sources, Abnormal Fluctuation

Get token market data

It supports the query of Market data information of 200+ chain tokens and provides details of all currencies in the market.

HTTP Request

GET /api/v5/explorer/tokenprice/market-data

Consumption per query 2

Request Example

GET /api/v5/explorer/tokenprice/market-data?chainId=0&tokenContractAddress=b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0

Request Parameters

Parameter Type Required Description
chainId String Yes Chain id, you can query the chainId of the chains we support by /api/v5/explorer/tokenprice/chain-list
tokenContractAddress String No Token contract address, do not fill in this parameter, default to querying the historical data of this token.

If you query the price of inscription tokens on Facet-VM, you need to add 'facet_' in front of the contract address, such as 'facet_0x55ab0390a89fed8992e3affbf61d102490735e24'.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "lastPrice": "3.412",
            "totalSupply": "71946000",
            "circulatingSupply": "21000000",
            "volume24h": "10030.84212626599936",
            "marketCap": "71946000",
            "high24h": "3.546",
            "low24h": "3.193",
            "priceAbnormal": []
        }
    ]
}

Response Parameters

Parameter Type Description
lastPrice String Last price
totalSupply String Total supply
maxSupply String Max supply
circulatingSupply String Supply
volume24h String 24-hour trading volume
marketCap String Market cap
high24h String 24-hour maximum price
low24h String 24-hour minimum price
priceAbnormal String Abnormal price type
Low Liquidity, Disparity Between Sources, Abnormal Fluctuation

Check liquidity pool addresses by token

Query a list of liquidity pool addresses for a specific token, returning the top 10,000 pools based on liquidity.

Consumption per query 1

HTTP Request

GET /api/v5/explorer/tokenprice/token-pool

Request Example

GET /api/v5/explorer/tokenprice/token-pool?tokenContractAddress=0xdac17f958d2ee523a2206206994597c13d831ec7&limit=5&chainId=1

Request Parameters

Parameter Type Required Description
chainId String Yes The unique identifier of the chain, you can query the chainId of the chains we support using /api/v5/explorer/tokenprice/chain-list
tokenContractAddress String Yes Token contract address; 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for native token
page String No Page number
limit String No The number of results returned per request. The default is 20 and the maximum is 50.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "5",
            "totalPage": "609",
            "poolList": [
                {
                    "poolAddress": "0xa45c0abeef67c363364e0e73832df9986aba3800",
                    "dexName": "Wombat"
                },
                {
                    "poolAddress": "0x8f26d7bab7a73309141a291525c965ecdea7bf42",
                    "dexName": "Shell"
                },
                {
                    "poolAddress": "0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852",
                    "dexName": "Uniswap V2"
                },
                {
                    "poolAddress": "0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7",
                    "dexName": "Curve V1"
                },
                {
                    "poolAddress": "0x4e68ccd3e89f51c3074ca5072bbac773960dfa36",
                    "dexName": "Uniswap V3"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The number of results returned on the current page
totalPage String Total number of pages
poolList Array The list of liquidity pools corresponding to the token
> poolAddress String Token liquidity pool contract address
> dexName String The DEX in which the liquidity pool belongs to

Get individual transaction data

Obtain transaction by transaction data from a certain Dex, up to 10000 entries can be queried.

HTTP Request

GET /api/v5/explorer/tokenprice/tracker

Consumption per query 1

Request Example

GET /api/v5/explorer/tokenprice/tracker?chainId=1&limit=2

Request Parameters

Parameter Type Required Description
chainId String Yes Chain id, you can query the chainId of the chains we support by /api/v5/explorer/tokenprice/chain-list
poolAddress String No Pool address
tokenContractAddress String No Token contract address
dexName String No Dex
height String No height
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "2",
            "totalPage": "5000",
            "transactionList": [
                {
                    "txId": "0x7bc10ebc1a151e1d13117edcca38f1e0c28f2faf4b4205970ac2005d181235b1",
                    "poolAddress": "0x42bc8892085648c1d4b647e405a947f1e0badd38",
                    "tokenInAmount": "0.04",
                    "tokenInContractAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                    "tokenOutAmount": "2315878.592885542",
                    "tokenOutContractAddress": "0x857f4fe9426f48526efccf55e7528f6dd5ece6fd",
                    "dexName": "Balancer V2",
                    "factoryAddress": "0xba12222222228d8ba445958a75a0704d566bf2c8",
                    "transactionAmountUsd": "62.08102743967378",
                    "transactionTime": "1697703791000",
                    "height": "18383165",
                    "index": "237",
                    "traderAddress": "0x2461d9eafa23ffcfe242ed501c1687616a3ec95f"
                },
                {
                    "txId": "0xd2689e38ba03a8465046ae2154f0d3407d5e5eb9f021bdee0542337abefaeb9c",
                    "poolAddress": "0x10027efa7bfd14ac56de5c7e3427efa857d182ee",
                    "tokenInAmount": "0.007",
                    "tokenInContractAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                    "tokenOutAmount": "1274359.422601473",
                    "tokenOutContractAddress": "0xa49f4dc8101c84678ac6f0f15c2676d3d8362bd0",
                    "dexName": "Uniswap V2",
                    "factoryAddress": "0x5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f",
                    "transactionAmountUsd": "10.864179801942912",
                    "transactionTime": "1697703791000",
                    "height": "18383165",
                    "index": "234",
                    "traderAddress": "0x8b6d9e300d29bd349f5bdf1fbcac02ba8b97b083"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
transactionList Array Transaction list
> txId String Transaction hash
> poolAddress String Pool address
> tokenInAmount String Amount of tokens transferred in
> tokenInContractAddress String Token contract address of tokens transferred in
> tokenOutAmount String Amount of tokens transferred out
> tokenOutContractAddress String Token contract address of tokens transferred out
> dexName String Dex
> factoryAddress String Factory address
> transactionAmountUsd String Transaction amount, in USD
> transactionTime String Transaction time
> height String Height
> index String index
> traderAddress String Trader address

PoR data

Retrieve Proof of Reserves data, including reserve details, historical reserve records, and asset details from 10 major exchanges including Binance, OKX, HTX, Bitget, KuCoin, Crypto.com, Bybit, Deribit, Bitfinex and Gate.io.

Get exchange reserves

Get the latest proof of reserves data from centralized exchanges

HTTP Request

GET /api/v5/explorer/por/proof-of-reserves

Consumption per query 5

Request Example

GET /api/v5/explorer/por/proof-of-reserves

Request Parameters

Parameter Type Required Description
institutionName String No Exchange Name

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "institutionName": "OKX",
            "totalBalance": "6502554504.391312",
            "balanceDetails": [
                {
                    "symbol": "ETH",
                    "balance": "1077119.4731584482",
                    "balanceUsd": "1354434652.7178226",
                    "change": "1"
                },
                {
                    "symbol": "USDT",
                    "balance": "3006224032.2949777",
                    "balanceUsd": "3006930041.122987",
                    "change": "1"
                },
                {
                    "symbol": "BTC",
                    "balance": "102951",
                    "balanceUsd": "1745781287.4",
                    "change": "1"
                },
                {
                    "symbol": "USDC",
                    "balance": "395343687.173071",
                    "balanceUsd": "395391628.917477",
                    "change": "1"
                },
                {
                    "symbol": "BUSD",
                    "balance": "16889.72009695",
                    "balanceUsd": "16894.233026629954",
                    "change": "1"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
institutionName String Exchange Name
totalBalance String Total exchange assets, unit: USDT
balanceDetails Array Asset detail list
> symbol String Token symbol
> balance String Token balance
> change String Last 7 days fund movement up or down, 0.1 means 10%
> balanceUsd String Token balance, unit: USDT

Get exchange historical reserves

Get the history of the exchange proof of reserve.

HTTP Request

GET /api/v5/explorer/por/institution-history-asset

Consumption per query 5

Request Example

GET /api/v5/explorer/por/institution-history-asset?institutionName=Huobi

Request Parameters

Parameter Type Required Description
institutionName String Yes Exchange Name
time String No History time, e.g:1670601600000

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "institutionName": "Huobi",
            "balanceList": [
                {
                    "chainShortName": "ETH",
                    "tokenContractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                    "symbol": "USDT",
                    "balance": "583066271.058834",
                    "balanceUsd": "583066271.058834",
                    "time": "1670601600000"
                },
                {
                    "chainShortName": "ETH",
                    "tokenContractAddress": "0xb8c77482e45f1f44de1745f52c74426c631bdd52",
                    "symbol": "BNB",
                    "balance": "0.3",
                    "balanceUsd": "86.51097014666489",
                    "time": "1670601600000"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
institutionName String Exchange name
balanceList Array Balance details
> chainShortName String The abbreviated name of the blockchain network, e.g. BTC
> tokenContractAddress String Token contract address
> symbol String Token symbol
> balance String Token balance
> balanceUsd String Token balance, unit: USDT
> time String History time

Get PoR address list for exchange

Query the publicly disclosed POR address lists of a specific exchange on different chains, returning a maximum of 1000 addresses in descending order of asset amount. The supported chains are BTC, ETH, BSC, POLYGON, AVAXC, OP, ARBITRUM, BEACON, TRON.

Consumption per query 5

HTTP Request

GET /api/v5/explorer/por/address-list

Request Example

GET /api/v5/explorer/por/address-list?institutionName=Binance

请求参数

Parameter Type Required Description
institutionName String Yes Exchange name
chainShortName String No The abbreviated name of the blockchain network, e.g. BTC

Response Example

{
   "code": "0",
    "msg": "",
    "data": [
        {
            "chainShortName": "BTC",
            "address": "3Jxc4zsvEruEVAFpvwj818TfZXq5y2DLyF"
        }
    ]
}

Response Parameters

Parameter Type Description
chainShortName String The abbreviated name of the blockchain network,
address String POR address

Get Top 50 address asset details for exchange

Query the asset details of the top 50 addresses in terms of capital volume of a specific exchange

HTTP Request

GET /api/v5/explorer/por/address-balance-details

Consumption per query 5

Request Example

GET /api/v5/explorer/por/address-balance-details?institutionName=Huobi

Request Parameters

Parameter Type Required Description
institutionName String Yes Exchange Name
page String No Page
limit String No Number of returned data, 10 by default, 50 at most

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "50",
            "addressDetails": [
                {
                    "balance": "248597.39260212",
                    "balanceUsd": "7658614453.111291",
                    "chainShortName": "BTC",
                    "symbol": "BTC",
                    "address": "34xp4vRoCGJym3xR7yCVPFHoCNxv4Twseo",
                    "updateTime": "1698037200000"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
addressDetails Array Address details
> chainShortName String The abbreviated name of the blockchain network, e.g. BTC
> symbol String Token symbol
> balance String Token balance
> balanceUsd String Token balance, unit: USDT
> address String Address
> updateTime String The time when the data was last updated

Developer tools

Retrieve detailed information on address and token authorizations. Utilize API tools for domain risk detection, on-chain transaction broadcasting, and contract verification for both proxy and standard contracts.

Contract verification

Source code verification provides a way for projects to open source their smart contract code for end users to inspect and verify that it does what it claims to do and improve the transparency.

Endpoints of the "Contract verification" module support submitting contract source code for contract verification, verifying proxy contracts, and querying the contract ABI and source code of already verified contracts.

Verify contract source code

By uploading the contract source code, OKLink explorer will match the compiled contract bytecode with the bytecode on the blockchain and display it on the contract page of the explorer.

You can use this endpoint to quickly verify contracts and improve verification efficiency. The average processing time for contract verification is between 30-60 seconds.

Consumption per query 0

HTTP Request

POST /api/v5/explorer/contract/verify-source-code

Request Example

POST /api/v5/explorer/contract/verify-source-code
body
{
    "chainShortName":"ETH",
    "contractAddress":"0x9Dca580D2c8B8e19e9d77345a5b4C2820B25b386",
    "contractName":"HelloWorld",
    "sourceCode":"pragma solidity ^0.7.6;↵contract HelloWorl {↵ string public greet = 'Hello Worl!';↵}",
    "codeFormat":"solidity-single-file",
    "compilerVersion":"v0.7.6+commit.7338295f",
    "optimization":"1",
    "optimizationRuns":"200",
    "contractAbi":"0xfce353f66162630000000000000000000000000",
    "evmVersion":"tangerineWhistle",
    "viaIr":false,
    "libraryInfo":[
        {
        "libraryName":"libraryName1",
        "libraryAddress":"0xCfE28868F6E0A24b7333D22D8943279e76aC2cdc"
        },
        {
        "libraryName":"libraryName2",
        "libraryAddress":"0xCfE28868F6E0A24b7333D22D8943279e76aC2cdc"
        },
        {
        "libraryName":"libraryName3",
        "libraryAddress":"0xCfE28868F6E0A24b7333D22D8943279e76aC2cdc"
        }
    ]
}

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
contractAddress String Yes Contract address
contractName String Yes Contract name
sourceCode String Yes Source code of the contract.
If your contract uses "imports", you will need to concatenate the code into one file (otherwise known as "flattening") as we do not support "imports" in separate files.
You can use Solidity flatteners like SolidityFlattery(by@DaveAppleton)
codeFormat String Yes Code format, we support solidity-single-file, solidity-standard-json-input, vyper
compilerVersion String No Compiler version used, e.g., v0.7.6+commit.7338295f, vyper:0.2.11.
You can check the supported compiler versions for contract verification in the OKLink Explorer under the Verify Contract section
When the codeFormat is solidity-standard-json-input, it is optional; otherwise, it is required.
optimization String No Whether optimization was used when compiling the contract, 0 for no optimization, 1 if optimization was used
When the codeFormat is solidity-standard-json-input, it is optional; otherwise, it is required.
optimizationRuns String No The number of runs if optimization was used, e.g., 200
contractAbi String No Contract ABI
evmVersion String No EVM version of contract compilation, leave blank for default compiler, specify if others such as tangerineWhistle, spuriousDragon, byzantium
licenseType String No Open source license type, leave blank for default No License
viaIr Bol No Whether to introduce an IR-based code generator, should be consistent with your compiling setting; true / false, false by default
libraryInfo Array No Library info used in contract.
The libraryName and libraryAddress must be matched one by one.
We support up to 10 different libraries.
> libraryName String No Library name
> libraryAddress String No Library address, e.g., 0xCfE28868F6E0A24b7333D22D8943279e76aC2cdc

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        "eb5c06099d3841359d398541166343fe"
    ]
}

Response Parameters

Parameter Type Description
guid String A GUID is returned upon successful submission, which can be used to query the verification result

Get contract source code verification results

After submitting the source code verification, you can query the result with the GUID returned.

Consumption per query 0

HTTP Request

POST /api/v5/explorer/contract/check-verify-result

Request Example

POST /api/v5/explorer/contract/check-verify-result
body
{
    "chainShortName":"ETH",
    "guid":"eb5c06099d3841359d398541166343fe"
}

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
guid String Yes Query the source code verification result with the GUID returned

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        "Success"
    ]
}

Response Parameters

Parameter Type Description
result String Contract source code verification result
Success,Fail,Pending

Verify proxy contract

Verify whether a proxy contract implements the contract as expected.

Consumption per query 0

HTTP Request

POST /api/v5/explorer/contract/verify-proxy-contract

Request Example

POST /api/v5/explorer/contract/verify-proxy-contract
body
{
    "chainShortName": "ETH",
    "proxyContractAddress": "0xfeee12d53ddb7ce61ee467ddf7243212a953174a",
    "expectedImplementation": "0x0ecbefc71524068cf18f9d4e50d787e134ee70b8"
}

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
proxyContractAddress String Yes Proxy contract address
expectedImplementation String No Verify whether the implementation contract for the proxy contract is this address

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        "4f2e75682f75410f958c0a3bbf754358"
    ]
}

Response Parameters

Parameter Type Description
guid String A GUID is returned upon successful submission, which can be used to query the verification result

Get proxy contract verification results

After submitting the proxy contract verification, you can query the result with the GUID returned.

Consumption per query 0

HTTP Request

POST /api/v5/explorer/contract/check-proxy-verify-result

Request Example

POST /api/v5/explorer/contract/check-proxy-verify-result
body
{
    "chainShortName":"ETH",
    "guid":"4f2e75682f75410f958c0a3bbf754358"
}

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
guid String Yes Query the proxy contract verification result with the GUID returned

Response Example

{
    "code": "0",
    "msg": "The proxy's (0x826427966fb2e7edee940c5d99b7d66062faef2e) implementation contract is found at 0xd4a2dca4e03713d5bf7d2173237058466a9c1be4 and is successfully updated.",
    "data": []
}

Response Parameters

Parameter Type Description
result String Proxy contract verification result.
If the verification is successful, return the address of the implementation contract.
If the verification fails, return "A corresponding implementation contract was unfortunately not detected for the proxy address."

Get verified contract's ABI and source code

Query the contract ABI, source code and other basic information of the verified contract, or query the implementation contract address information of the verified proxy contract.

Consumption per query 0

HTTP Request

GET /api/v5/explorer/contract/verify-contract-info

Request Example

/api/v5/explorer/contract/verify-contract-info?chainShortName=ETH&contractAddress=0xcF80631b469A54dcba8c8ee1aF84505f496ed248

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
contractAddress String Yes Contract address

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "sourceCode": "// proxy.sol - execute actions atomically through the proxy's identity\r\n\r\n// Copyright (C) 2017  DappHub, LLC\r\n\r\n// This program is free software: you can redistribute it and/or modify\r\n// it under the terms of the GNU General Public License as published by\r\n// the Free Software Foundation, either version 3 of the License, or\r\n// (at your option) any later version.\r\n\r\n// This program is distributed in the hope that it will be useful,\r\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n// GNU General Public License for more details.\r\n\r\n// You should have received a copy of the GNU General Public License\r\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\r\n\r\npragma solidity ^0.4.23;\r\n\r\ncontract DSAuthority {\r\n    function canCall(\r\n        address src, address dst, bytes4 sig\r\n    ) public view returns (bool);\r\n}\r\n\r\ncontract DSAuthEvents {\r\n    event LogSetAuthority (address indexed authority);\r\n    event LogSetOwner     (address indexed owner);\r\n}\r\n\r\ncontract DSAuth is DSAuthEvents {\r\n    DSAuthority  public  authority;\r\n    address      public  owner;\r\n\r\n    constructor() public {\r\n        owner = msg.sender;\r\n        emit LogSetOwner(msg.sender);\r\n    }\r\n\r\n    function setOwner(address owner_)\r\n        public\r\n        auth\r\n    {\r\n        owner = owner_;\r\n        emit LogSetOwner(owner);\r\n    }\r\n\r\n    function setAuthority(DSAuthority authority_)\r\n        public\r\n        auth\r\n    {\r\n        authority = authority_;\r\n        emit LogSetAuthority(authority);\r\n    }\r\n\r\n    modifier auth {\r\n        require(isAuthorized(msg.sender, msg.sig));\r\n        _;\r\n    }\r\n\r\n    function isAuthorized(address src, bytes4 sig) internal view returns (bool) {\r\n        if (src == address(this)) {\r\n            return true;\r\n        } else if (src == owner) {\r\n            return true;\r\n        } else if (authority == DSAuthority(0)) {\r\n            return false;\r\n        } else {\r\n            return authority.canCall(src, this, sig);\r\n        }\r\n    }\r\n}\r\n\r\ncontract DSNote {\r\n    event LogNote(\r\n        bytes4   indexed  sig,\r\n        address  indexed  guy,\r\n        bytes32  indexed  foo,\r\n        bytes32  indexed  bar,\r\n        uint              wad,\r\n        bytes             fax\r\n    ) anonymous;\r\n\r\n    modifier note {\r\n        bytes32 foo;\r\n        bytes32 bar;\r\n\r\n        assembly {\r\n            foo := calldataload(4)\r\n            bar := calldataload(36)\r\n        }\r\n\r\n        emit LogNote(msg.sig, msg.sender, foo, bar, msg.value, msg.data);\r\n\r\n        _;\r\n    }\r\n}\r\n\r\n// DSProxy\r\n// Allows code execution using a persistant identity This can be very\r\n// useful to execute a sequence of atomic actions. Since the owner of\r\n// the proxy can be changed, this allows for dynamic ownership models\r\n// i.e. a multisig\r\ncontract DSProxy is DSAuth, DSNote {\r\n    DSProxyCache public cache;  // global cache for contracts\r\n\r\n    constructor(address _cacheAddr) public {\r\n        require(setCache(_cacheAddr));\r\n    }\r\n\r\n    function() public payable {\r\n    }\r\n\r\n    // use the proxy to execute calldata _data on contract _code\r\n    function execute(bytes _code, bytes _data)\r\n        public\r\n        payable\r\n        returns (address target, bytes32 response)\r\n    {\r\n        target = cache.read(_code);\r\n        if (target == 0x0) {\r\n            // deploy contract & store its address in cache\r\n            target = cache.write(_code);\r\n        }\r\n\r\n        response = execute(target, _data);\r\n    }\r\n\r\n    function execute(address _target, bytes _data)\r\n        public\r\n        auth\r\n        note\r\n        payable\r\n        returns (bytes32 response)\r\n    {\r\n        require(_target != 0x0);\r\n\r\n        // call contract in current context\r\n        assembly {\r\n            let succeeded := delegatecall(sub(gas, 5000), _target, add(_data, 0x20), mload(_data), 0, 32)\r\n            response := mload(0)      // load delegatecall output\r\n            switch iszero(succeeded)\r\n            case 1 {\r\n                // throw if delegatecall failed\r\n                revert(0, 0)\r\n            }\r\n        }\r\n    }\r\n\r\n    //set new cache\r\n    function setCache(address _cacheAddr)\r\n        public\r\n        auth\r\n        note\r\n        returns (bool)\r\n    {\r\n        require(_cacheAddr != 0x0);        // invalid cache address\r\n        cache = DSProxyCache(_cacheAddr);  // overwrite cache\r\n        return true;\r\n    }\r\n}\r\n\r\n// DSProxyFactory\r\n// This factory deploys new proxy instances through build()\r\n// Deployed proxy addresses are logged\r\ncontract DSProxyFactory {\r\n    event Created(address indexed sender, address indexed owner, address proxy, address cache);\r\n    mapping(address=>bool) public isProxy;\r\n    DSProxyCache public cache = new DSProxyCache();\r\n\r\n    // deploys a new proxy instance\r\n    // sets owner of proxy to caller\r\n    function build() public returns (DSProxy proxy) {\r\n        proxy = build(msg.sender);\r\n    }\r\n\r\n    // deploys a new proxy instance\r\n    // sets custom owner of proxy\r\n    function build(address owner) public returns (DSProxy proxy) {\r\n        proxy = new DSProxy(cache);\r\n        emit Created(msg.sender, owner, address(proxy), address(cache));\r\n        proxy.setOwner(owner);\r\n        isProxy[proxy] = true;\r\n    }\r\n}\r\n\r\n// DSProxyCache\r\n// This global cache stores addresses of contracts previously deployed\r\n// by a proxy. This saves gas from repeat deployment of the same\r\n// contracts and eliminates blockchain bloat.\r\n\r\n// By default, all proxies deployed from the same factory store\r\n// contracts in the same cache. The cache a proxy instance uses can be\r\n// changed.  The cache uses the sha3 hash of a contract's bytecode to\r\n// lookup the address\r\ncontract DSProxyCache {\r\n    mapping(bytes32 => address) cache;\r\n\r\n    function read(bytes _code) public view returns (address) {\r\n        bytes32 hash = keccak256(_code);\r\n        return cache[hash];\r\n    }\r\n\r\n    function write(bytes _code) public returns (address target) {\r\n        assembly {\r\n            target := create(0, add(_code, 0x20), mload(_code))\r\n            switch iszero(extcodesize(target))\r\n            case 1 {\r\n                // throw if contract failed to deploy\r\n                revert(0, 0)\r\n            }\r\n        }\r\n        bytes32 hash = keccak256(_code);\r\n        cache[hash] = target;\r\n    }\r\n}",
            "contractName": "DSProxy",
            "compilerVersion": "v0.4.23+commit.124ca40d",
            "optimization": "1",
            "optimizationRuns": "200",
            "contractAbi": "[{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"owner_\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_target\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[{\"name\":\"response\",\"type\":\"bytes32\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_code\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[{\"name\":\"target\",\"type\":\"address\"},{\"name\":\"response\",\"type\":\"bytes32\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"cache\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"authority_\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_cacheAddr\",\"type\":\"address\"}],\"name\":\"setCache\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_cacheAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":false,\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sig\",\"type\":\"bytes4\"},{\"indexed\":true,\"name\":\"guy\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"foo\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"bar\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"wad\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fax\",\"type\":\"bytes\"}],\"name\":\"LogNote\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"LogSetAuthority\",\"payable\":false,\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"LogSetOwner\",\"payable\":false,\"type\":\"event\"}]",
            "evmVersion": "Default",
            "licenseType": "No License (None)",
            "libraryInfo": "",
            "proxy": "0",
            "implementation": "",
            "swarmSource": "bzzr://e498874c9ba9e75028e0c84f1b1d83b2dad5de910c59b837b32e5a190794c5e1"
        }
    ]
}

Response Parameters

Parameter Type Description
sourceCode String Source code of the contract
contractName String Contract name
compilerVersion String Compiler version used
optimization String Whether optimization was used when compiling the contract, 0 for no optimization, 1 if optimization was used
optimizationRuns String The number of runs if optimization was used
contractAbi String Contract ABI
evmVersion String EVM version of contract compilation
licenseType String Open source license type
libraryInfo Array Library info used in contract
> libraryName String Library name
> libraryAddress String Library address, e.g., 0xCfE28868F6E0A24b7333D22D8943279e76aC2cdc
proxy String Whether it is a proxy contract, 0 means it is not a proxy contract, 1 means it is a proxy contract
implementation String The implementation contract address of the proxy contract
swarmSource String Swarm hash of contract source code

Contract verification plugin

OKLink supports contract verification using third-party plugins such as hardhat and truffle and foundry, greatly improving your contract verification efficiency.

The supported chains include ETH, XLAYER, XLAYER_TESTNET, BSC, POLYGON, AVAXC, FTM, OP, ARBITRUM, LINEA, MANTA, CANTO, BASE, SCROLL, OPBNB, POLYGON_ZKEVM, SEPOLIA_TESTNET, GOERLI_TESTNET, AMOY_TESTNET, MUMBAI_TESTNET, POLYGON_ZKEVM_TESTNET

Contract verification using Hardhat

Method 1 (recommended): Verify by @okxweb3/hardhat-explorer-verify plugin

1、Install the Plugin: To install this plugin in your Hardhat project, use the following command:
npm install @okxweb3/hardhat-explorer-verify

2、Configure Hardhat: In your Hardhat configuration file (usually hardhat.config.js or hardhat.config.ts), import and configure the plugin. Ensure your network configuration and API keys are correctly set.

Example:

import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
import '@okxweb3/hardhat-explorer-verify';  // Import the plugin

const config: HardhatUserConfig = {
    solidity: "0.8.24",
    sourcify: {
        enabled: true,
    },
    networks: {
        xlayer: {
            url: "https://xlayerrpc.example.com",
            accounts: ["<Your Wallet Private Key>"],
        },
    },
    etherscan: {
        apiKey: '...'
    },
    okxweb3explorer: {
        apiKey: "<Your API Key>",
        customChains: [
            {
                network: "Fractal Bitcoin Mainnet",
                chainId: 70000061,
                urls: {
                    apiURL: "https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/FRACTAL",
                    browserURL: "https://www.oklink.com",
                }
             }
        ]
    }
};

export default config;

Custom chains can be configured based on the chains supported in openAPI https://www.oklink.com/docs/zh/#quickstart-guide-list-of-supported-chains).
customChains: [{ network: "chainName", chainId: {chainId}, urls: { apiURL: "https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/{chainShortName}", browserURL: "https://www.oklink.com", }}]

3、Verify Contracts: After deploying the contracts, use Hardhat to run the verification script. This typically involves running a specific Hardhat task that automatically fetches contract data and submits it to the OKLink blockchain explorer for verification.
Example command:
npx hardhat okverify --network xlayer <Your Contract Address>

4、View Verification Results: Once verification is successful, you can view the verification status and the contract code on the OKLink blockchain explorer.

5、Verify TransparentUpgradeableProxy Contract
Example command:
npx hardhat okverify --network xlayer --contract <Contract>:<Name> --proxy <address>

You can view detailed usage and instructions in https://github.com/okx/hardhat-explorer-verify




Take the ETH chain as an example:

module.exports = {
    ...
    etherscan: {
        apiKey: {OKLink API key},
        customChains: [
            {
                network: "eth",
                chainId: 1,
                urls: {
                    apiURL: "https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/eth",
                    browserURL: "https://www.oklink.com",
                }
            }
        ]
    }
};

Method 2: Verify by making the following modifications to the hardhat.config.js file:

Contract verification using foundry

Apply for OKLink API key: https://www.oklink.com/docs/en/#quickstart-guide-getting-started

Verify a contract with the forge verify-contract command. You must provide:

full APIkey example:

forge verify-contract <the_contract_address>
       src/MyToken.sol:MyToken
       --verifier oklink
       --verifier-url https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/eth
       --api-key oklinkApiKey

Check verification result

example:

forge verify-check --chain 11155111 --verifier oklink --verifier-url https://www.oklink.com/api/explorer/v1/contract/verify/async/api/ethsepolia --api-key <your_OKLink_api_key>  <GUID>

Contract verification using truffle

Take the ETH chain as an example:

plugins: ['truffle-plugin-verify']
oklinkVerify: {
      provider: () => new HDWalletProvider(privateKey, infuraUrl),     // Localhost (default: none)
      gas: gasAmount,
      network_id: 1,
      verify: {
        apiUrl: 'https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/eth@truffle',
        apiKey: '{OKLink API key}',
        explorerUrl: 'https://www.oklink.com/',
      }
    },

To verify a contract using truffle plugin, you need to add the following content to the module.exports module in the configuration file:

Get token authorization list

Use this API to query the authorization list for a token.

HTTP Request

GET /api/v5/tracker/contractscanner/token-authorized-list

Consumption per query 1

Request Example

GET /api/v5/tracker/contractscanner/token-authorized-list?chainShortName=eth&address=0xb011c3F34edbDE3703C25B7eDF2E22a3b4fed08b

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g, BTC, ETH
address String Yes Token contract address
protocolType String No Protocol type:
token_20
token_721
token_1155
Default query 20 tokens authorization information

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainShortName": "ETH",
            "protocolType": "token_20",
            "tokenContractAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "authorizationAddress": "0xb011c3f34edbde3703c25b7edf2e22a3b4fed08b",
            "precision": "6",
            "tokenFullName": "USD Coin",
            "token": "USDC",
            "holdingAmount": "6.284591",
            "authorizedList": [
                {
                    "approvedContractAddress": "0xb45a2dda996c32e93b8c47098e90ed0e7ab18e39",
                    "approvedAmount": "unlimited",
                    "tokenId": "",
                    "approvedTime": "1673422055000",
                    "approvedTxId": "0x1fc39113ffb410dd40d8bddaf2efe8a935720f5c8c9b8b5013ef98d912a3a4d6",
                    "approvedProjectName": ""
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
chainShortName String The abbreviated name of the blockchain network
protocolType String Protocol type:
token_20
token_721
token_1155
tokenContractAddress String Token contract address
authorizationAddress String Authorization address
precision String Precision
tokenFullName String Full name of the token
token String Token name
holdingAmount String The holding amount of the token for the address being examined
authorizedList Array Authorized list
> approvedContractAddress String Approved contract address
> tokenId String NFT token id
> approvedAmount String Approved amount: unlimited or amount
> approvedTime String Approved time
> approvedTxId String Approved transaction hash
> approvedProjectName String Approved collection name, e.g., uniswap V3

Get address authorized token list

Use this API interface to query the history of token contracts authorized for an address, including authorization information for 20 tokens and 721 tokens.

HTTP Request

GET /api/v5/tracker/contractscanner/address-authorized-list

Consumption per query 1

Request Example

GET /api/v5/tracker/contractscanner/address-authorized-list?chainShortName=eth&address=0x7Bf5d8EB050F8cc78BD056BF74047337893B51b0&limit=1

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network
address String Yes Address you want to query
protocolType String No Protocol type:
token_20
token_721
token_1155
Default query 20 tokens authorization information
limit String No The number of results returned per request. The maximum is 100. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": {
        "limit": "1",
        "page": "1",
        "totalPage": "4",
        "chainShortName": "ETH",
        "authorizedList": [
            {
                "address": "0x7bf5d8eb050f8cc78bd056bf74047337893b51b0",
                "approvedContractAddress": "0x881d40237659c251811cec9c364ef91dc08d300c",
                "tokenContractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                "symbol": "USDT",
                "protocolType": "token_20",
                "approvedTxId": "0x11a7bc38c0fa9a400ec47a95c94d47b3e5cb0fa0c673b913ffde4ed46adc578f",
                "approvedTxHeight": "16720553",
                "approvedTime": "1677513299000",
                "approvedAmount": "unlimited",
                "tokenId": "",
                "type": "approval"
            }
        ]
    }
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
chainShortName String The abbreviated name of the blockchain network,
authorizedList Array Authorized list
> address String Address
> approvedContractAddress String Approved contract address
> tokenContractAddress String Token contract address
> symbol String symbol
> protocolType String Protocol type:
token_20
token_721
token_1155
> approvedTxId String Approved transaction hash
> approvedTxHeight String Approved transaction height
> approvedTime String Approved time
> approvedAmount String Approved amount: unlimited or amount
> tokenId String NFT token id
> type String Type
approval
approval_all
cancel_approval
Usually, for 20 tokens, only approval type is available. For 721 tokens, there are three types of authorization. And for 1155 tokens, there are approval_all and cancel_approval types.

Domain risk detection

This endpoint scans the internet domain risk and retrieves risk level and detail information associated with specific domain address.

Risk Levels

Risk Levels Rules Description
SEVERE Hit Blacklist Domain Database We consider the domain you tested to have a high level of risk. We recommend that you take appropriate measures.
HIGH Precision Matching Strategy for Keyword Matching We believe that the domain you tested shares key words with official domain names, indicating a potential phishing website. Please exercise caution.
MEDIUM Fuzzy Matching Strategy for Keyword Matching We believe that the tested domain poses a risk and may require attention.
LOW Matched White List or No Rule Matched Our assessment does not guarantee that the domain is completely risk-free. It is possible that our risk detection strategies or domain databases do not have any records for it.

By using this interface, you can screen domain name risks and reduce the risk of users falling victim to phishing websites through an extensive black domain name database and the identification of risk features associated with phishing.

HTTP Request

GET /api/v5/tracker/domainscanner/domain-risk-scanning

Consumption per query 1

Request Example

GET /api/v5/tracker/domainscanner/domain-risk-scanning?domain=www.oklink.com

Request Parameters

Parameter Type Required Description
domain String Yes Domain name, e.g., www.oklink.com
Batch query supports up to 5 domains, separated by commas.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "domain": "www.oklink.com",
            "level": "LOW"
        }
    ]
}

Response Parameters

Parameter Type Description
domain String Domain
level String Risk Level: SEVERE; HIGH; MEDIUM; LOW

On-chain transaction broadcasting

Broadcast your completed signed transaction to the specified blockchain through this interface, sending it to the node to verify this transaction.

HTTP Request

POST /api/v5/explorer/transaction/publish-tx

Consumption per query 5

Request Example

POST /api/v5/explorer/transaction/publish-tx
body
{
    "chainShortName":"eth",
    "signedTx":"12232323"
}

Request Parameters

Parameter Type Required Description
chainShortName String Yes The abbreviated name of the blockchain network, e.g, BTC, ETH. Request the /api/v5/explorer/blockchain/summary interface to query the chains supported by OKLink
signedTx String Yes Transaction signature

Response Example

{
    "code":"0",
    "msg":"",
    "data":[
     {
        "chainFullName":"Bitcoin",
        "chainShortName":"BTC",
        "txid":"5e95ebfe52c50758e69bbac1d2cc4224dc520498e38505bc958fae8bcd5e8366"
     }
  ]
}

Response Parameters

Parameter Type Description
chainFullName String The full name of the blockchain network, e.g. Bitcoin
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
txid String Transaction hash

Get large transfer monitor

Get real-time data on large token transfers to easily track market trends and discover high-return opportunities. This list displays token transfers over $100,000.

Consumption per query 2

HTTP请求

GET /api/v5/explorer/whale/large-transfer-monitor

Request Example

GET /api/v5/explorer/whale/large-transfer-monitor

Request Parameters

Parameter Type Required Description
chainShortName String No The abbreviated name of the blockchain network, e.g, BTC, ETH
tokenContractAddress String No Token contract address
valueUsd String No Token transfers in the specified amount quantity range, the default amount is for transfers greater than or equal to 500,000U, with a minimum of 100,000 USD
page String No Page
limit String No The number of results returned per request. The maximum is 20. The default is 100.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "10000",
            "whaleList": [
                {
                    "chainShortName": "ETH",
                    "tokenFullName": "Pepe",
                    "token": "PEPE",
                    "tokenContractAddress": "0x6982508145454ce325ddbe47a25d4ec3d2311933",
                    "amount": "83486122009.5039",
                    "valueUsd": "908530.2755842699",
                    "from": "0x11950d141ecb863f01007add7d1a342041227b58",
                    "to": "0xa69babef1ca67a37ffaf7a485dfff3382056e78c",
                    "fromAddressLabel": "DEXes: Uniswap V3. LP(PEPE/WETH)",
                    "toAddressLabel": "",
                    "txId": "0xcba5560bea04838021b19bbbf661ec43b7da2dcac7be4e5dd5be22d5ad07b940",
                    "transactionTime": "1727687807000"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String Number of results per page
totalPage String Total number of pages
whaleList Array Large transfer list
> chainShortName String The abbreviated name of the blockchain network, e.g, BTC, ETH
> tokenFullName String Full name of the token,e.g. USDCoin
> token String Token name,e.g. USDC
> tokenContractAddress String Token contract address
> amount String Transaction amount
> valueUsd String Value of transaction, unit: USD
> from String Sender address
> to String Recipient address
> toAddressLable String Recipient address lable
> fromAddressLable String Sender address lable
> txid String Transaction hash
> transactionTime String Transaction time. Broadcasting time for pending transactions. Unix timestamp format in milliseconds, e.g. 1597026383085

Stablecoin issuance and burning data

Retrieve issuance and burn records of USDT on TRON, Bitcoin, and Ethereum blockchains.

Get USDT minting and burn records

Get the issuance records of USDT on TRX, BTC, and ETH chain networks

HTTP Request

GET /api/v5/explorer/stablecoin/printing-record

Consumption per query 1

Request Example

GET /api/v5/explorer/stablecoin/printing-record?stablecoinName=USDT&network=btc&type=printing&limit=1

Request Parameters

Parameter Type Required Description
stablecoinName String Yes Stablecoin name, e.g. USDT
network String Yes The abbreviated name of the blockchain network
all
TRX
ETH
BTC
USDT
type String Yes Type
printing
destruction
limit String No The number of results returned per request. The maximum is 50. The default is 20.
page String No Page

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "83",
            "recordList": [
                {
                    "stablecoinName": "USDT",
                    "txid": "0c8c22ee5cd69649ff36c0396bb9ce951425614a32129d8d54c0144895ef4e7a",
                    "network": "BTC",
                    "height": "573063",
                    "amount": "300000000",
                    "sendAddress": "32TLn1WLcu8LtfvweLzYUYU6ubc2YV9eZs",
                    "receiveAddress": "1NTMakcgVwQpMdGxRQnFKyb3G1FAJysSfz",
                    "transactionTime": "1556131281000"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
recordList String Printing/destruction list
> stablecoinName String Stablecoin name
> txid String Transaction hash
> network String The abbreviated name of the blockchain network
> height String Block height
> amount String The amount of stablecoin
> sendAddress String Send address
> receiveAddress String Receive address
> transactionTime String The Unix timestamp of the transaction time, in milliseconds format, e.g., 1597026383085

Webhook subscription service

Subscribe to receive information for specific events, such as token and native token transfers for specific addresses. Transaction details will be sent to your designated URL upon any updates.

Webhook retry logic

Subscription limits

Create Webhook task

Create webhook task and set the subscription criteria

Consumption per query 5, message 1

HTTP Request

POST /api/v5/explorer/webhook/create-address-activity-tracker

Request Example

POST /api/v5/explorer/webhook/create-address-activity-tracker
{
    "event":"tokenTransfer",
    "chainShortName":"eth",
    "webhookUrl":"your own rul",
    "trackerName":"name",
    "addresses":[
        "0xceb69f6342ece283b2f5c9088ff249b5d0ae66ea",
        "0x21a31ee1afc51d94c2efccaa2092ad1028285549"
    ],
    "tokenContractAddress":[
        "0xdac17f958d2ee523a2206206994597c13d831ec7",
        "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce"
    ],
    "valueUsdFilter":{
        "minValueUsd":"50000",
        "maxValueUsd":"100000"
    },
    "amountFilter":{
        "minAmount":"23",
        "maxAmount":"40"
    }
}

Request Parameters

Parameter Type Required Description
event String Yes Event type, tokenTransfer:token transfer, 'nativeTokenTransfer':native token transfer including normal transaction & internal transaction
chainShortName String Yes The abbreviated name of the blockchain network
webhookUrl String Yes Webhook Url,Return status code "200"
trackerName String Yes Tracker name
addresses Array Yes Address
tokenContractAddress Array No Token contract address
Note if event enters tokenTransfer, this field is required. A maximum of 20 token contract addresses are supported
amountFilter Array No Amount restriction .
> minAmount String No minimum amount
> amountFilter String No maximum amount
valueUsdFilter Array No Value restriction
> minValueUsd String No minimum value
> amountFilter String No maximum value

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "trackerId": "xxxx"
        }
    ]
}

Response Example

Parameter Type Description
trackerId String tracker ID,Unique identification of the task

Message

{
    'blockHash': ""0x0b7a9422898ccebf1bf075338c55f0959a506a140992ba3c7f5a896a0e86a7e5",
    'symbol': "WETH",
    'amount': "'"0.7086312210942441",
    'tokenId': "",
    'txId': "0x4535e911613107e39dac30f726356a949947b2883bf4af80c977de821675cfb9",
    'methodId': "",
    'transactionTime': "1697115527000",
    'transactionType': "tokenTransfer",
    'tokenContractAddress': "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
    'from': "0x99dfde431b40321a35deb6aeb55cf338ddd6eccd",
    'to': "0x98c3d3183c4b8a650614ad179a1a98be0a8d6b8e",
    'event': "tokenTransfer",
    'operation': "",
    'trackerId': "1481",
    'chainShortName': "eth",
    'height': "18334488",
    'status': "success"
}

Response Parameters

Parameter Type Description
event String Yes
chainShortName String Yes
height String Block height of the transaction
transactionTime String Transaction timestamp
blockHash String Block hash
txId String Transaction hash
from Array Transaction sender's address
to Array Transaction receiver's address
amount String Transaction amount
symbol String Token symbol
tokenId String NFT token ID
methodId String Method
status String Transaction status
success
fail
pending
operation String Operation
trackerId String The Tracker ID is the unique identifier for each monitoring task

Update Webhook task conditions

Update webhook task and set the subscription criteria

Consumption per query 3

HTTP Request

POST /api/v5/explorer/webhook/update-address-activity-tracker

Request Example

POST /api/v5/explorer/webhook/update-address-activity-tracker
body
{
    "event":"nativeTokenTransfer",
    "trackerId":"your trackerId",
    "chainShortName":"eth",
    "webhookUrl":"your own rul",
    "trackerName":"name",
    "addresses":[
        "0xceb69f6342ece283b2f5c9088ff249b5d0ae66ea",
        "0x21a31ee1afc51d94c2efccaa2092ad1028285549"
    ],
    "tokenContractAddress":[
        "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
        "0xa0b73e1ff0b80914ab6fe0444e65848c4c34450b"
    ],
    "valueUsdFilter":{
        "minValueUsd":"500000",
        "maxValueUsd":"1000000"
    },
    "amountFilter":{
        "minAmount":"23",
        "maxAmount":"40"
    }
}

Request Parameters

Parameter Type Required Description
event String Yes Event type, tokenTransfer:token transfer, 'nativeTokenTransfer':native token transfer including normal transaction & internal transaction
trackerId String Yes The Tracker ID is the unique identifier for each monitoring task
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
webhookUrl String Yes Webhook url, return status code "200"
trackerName String Yes Tracker name
tokenContractAddress Array No Token contract address
amountFilter Array No Amount restriction
> minAmount String No Minimum amount
> amountFilter String No Maximum amount
valueUsdFilter Array No Value restriction
> minValueUsd String No Minimum USD value
> maxValueUsd String No Maximum USD value

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "trackerId": "xxxx"
        }
    ]
}

Response Example

Parameter Type Description
trackerId String The Tracker ID is the unique identifier for each monitoring task

Update Webhook task status

Update webhook task status

Consumption per query 3

HTTP Request

POST /api/v5/explorer/webhook/update-tracker-status

Request Example

POST /api/v5/explorer/webhook/update-tracker-status
body
{
    "trackerId": "xxxx",
    "isActive": true
}

Request Parameters

Parameter Type Required Description
trackerId String Yes The Tracker ID is the unique identifier for each monitoring task
isActive String Yes Tracker status

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "trackerId": "xxxx"
        }
    ]
}

Response Example

Parameter Type Description
trackerId String The Tracker ID is the unique identifier for each monitoring task

Delete Webhook task

Delete webhook task status

Consumption per query 3

HTTP Request

POST /api/v5/explorer/webhook/delete-tracker

Request Example

POST /api/v5/explorer/webhook/delete-tracker
body
{
    "trackerId": "xxxx"

}

Request Parameters

Parameter Type Required Description
trackerId String Yes The Tracker ID is the unique identifier for each monitoring task

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "trackerId": "xxxx"
        }
    ]
}

Response Example

Parameter Type Description
trackerId String The Tracker ID is the unique identifier for each monitoring task

Edit Webhook task address list

Edit webhook task addresses list

Consumption per query 3

HTTP Request

POST /api/v5/explorer/webhook/add-and-remove-tracker-addresses

Request Example

POST /api/v5/explorer/webhook/add-and-remove-tracker-addresses
{
    "trackerId": "xxxx",
    "action": "...",
    "chainShortName": "eth",
    "addresses":[
        "",
        ""
    ]
}

Request Parameters

Parameter Type Required Description
trackerId String Yes The Tracker ID is the unique identifier for each monitoring task
action String Yes Action type: 'add' add address, 'remove' remove address, 'replace' replace address
chainShortName String Yes The abbreviated name of the blockchain network, e.g. BTC
addresses Array Yes Address

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "trackerId": "xxxx"
        }
    ]
}

Response Example

Parameter Type Description
trackerId String The Tracker ID is the unique identifier for each monitoring task

Get Webhook task list

Get webhook tracker list

Consumption per query 0

HTTP Request

GET /api/v5/explorer/webhook/get-tracker-list

Request Example

GET /api/v5/explorer/webhook/get-tracker-list

Request Parameters

Parameter Type Required Description
page String No Page
limit String No The number of results returned per request. The maximum is 50. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "1",
            "trackerList": [
                {
                    "trackerId": "xxxx",
                    "event": "tokenTransfer",
                    "trackerName": "xxxxxxx",
                    "chainShortName": "ETH",
                    "webhookUrl": " xxxxxx",
                    "isActive": true,
                    "updateTime": "1697105146000"
                }
            ]
        }
    ]
}

Response Example

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
trackerList Array Tracker list
> trackerId String The Tracker ID is the unique identifier for each monitoring task
> event String Event type
> trackerName String Tracker name
> chainShortName String The abbreviated name of the blockchain network, e.g. BTC
> webhookUrl String Webhook url
> isActive String The status of webhook task
> updateTime String Last update time of the task

Get Webhook task subscribed address list

Get webhook task addresses list

Consumption per query 0

HTTP Request

GET /api/v5/explorer/webhook/get-tracker-addresses

Request Example

GET /api/v5/explorer/webhook/get-tracker-addresses?trackerId=xxxx

Request Parameters

Parameter Type Required Description
trackerId String Yes The Tracker ID is the unique identifier for each monitoring task
page String No Page
limit String No The number of results returned per request. The maximum is 20. The default is 20.

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "page": "1",
            "limit": "1",
            "totalPage": "1",
            "addressList": [
                {
                    "address": "0xa7efae728d2936e78bda97dc267687568dd593f3",
                    "eventCount": "0",
                    "createTime": "1697180588000"
                }
            ]
        }
    ]
}

Response Example

Parameter Type Description
page String Current page number
limit String The amount of data
totalPage String Total number of pages
addressList Array Address list
> address String Address
> eventCount String Event count number
> createTime String Create time of the task

Get Webhook task details

Get webhook task detail

Consumption per query 0

HTTP Request

GET /api/v5/explorer/webhook/get-tracker-details

Request Example

GET /api/v5/explorer/webhook/get-tracker-details?trackerId=xxxx

Request Parameters

Parameter Type Required Description
trackerId String Yes The Tracker ID is the unique identifier for each monitoring task

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "event": "tokenTransfer",
            "chainShortName": "ETH",
            "trackerId": "1490",
            "webhookUrl": " https://c78c-112-10-213-160.ngrok-free.app/webhook",
            "trackerName": "wethtestweth112",
            "addressCount": "4",
            "updateTime": "1697179310000",
            "tokenContractAddress": [
                "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
            ],
            "amountFilter": {
                "minAmount": "5",
                "maxAmount": "10"
            },
            "valueUsdFilter": {
                "minValueUsd": "",
                "maxValueUsd": ""
            }
        }
    ]
}

Response Example

Parameter Type Description
event String Event type, tokenTransfer:token transfer, 'nativeTokenTransfer':native token transfer including normal transaction & internal transaction
trackerId String The Tracker ID is the unique identifier for each monitoring task
chainShortName String The abbreviated name of the blockchain network, e.g. BTC
webhookUrl String Webhook url, return status code "200"
trackerName String Tracker name
addresses Array Address
tokenContractAddress Array Token contract address
amountFilter Array Amount restriction: minAmount, minimum amount; maxAmount, maximum amount
valueUsdFilter Array Value restriction, minValueUsd, minimum value; maxValueUsd, maximum value

Webhook test demo

Test whether the webhook monitoring task can receive data

Python Code Demo

from flask import Flask, request

app = Flask(__name__)

@app.route('/webhook', methods=['POST'])
def webhook():
    data = request.get_json()
    print(data)
    return 'suucess'

if __name__ == '__main__':
    app.run(port=8001, debug=True)

Account usage query

Retrieve details on your account API usage, past usage records, top 10 APIs by usage, and a list of supported chains for each API endpoint to facilitate better management of API usage and balance for your account.

Get endpoints supported by specific chain

Get the information about the supported API interfaces of a specific blockchain.

Consumption per query 0

HTTP Request

GET /api/v5/explorer/chain-supported-apis

Request Example

GET /api/v5/explorer/chain-supported-apis?chainShortName=btc

Request Parameters

Parameter Type Required Description
chainShortName String Yes The blockchain network symbol, e.g. BTC. Request the '/api/v5/explorer/blockchain/summary' interface to query the chains supported by OKLink

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "chainFullName": "Bitcoin",
                    "chainShortName": "BTC",
                    "chainSupportedApis": [
                        "/api/v5/explorer/btc/address-balance-details",
                        "/api/v5/explorer/block/address-balance-history",
                        "/api/v5/explorer/address/utxo",
                        "/api/v5/explorer/address/address-summary",
                        "/api/v5/explorer/btc/position-list",
                        "/api/v5/explorer/address/unspent",
                        "/api/v5/explorer/blockchain/transaction",
                        "/api/v5/tracker/contractscanner/token-authorized-list",
                        "/api/v5/explorer/address/transaction-list",
                        "/api/v5/explorer/btc/inscriptions-list",
                        "/api/v5/explorer/btc/transaction-list",
                        "/api/v5/explorer/btc/address-balance-list",
                        "/api/v5/explorer/btc/token-details",
                        "/api/v5/explorer/pool/pool-hashrate-rank",
                        "/api/v5/explorer/transaction/large-transaction-list",
                        "/api/v5/explorer/block/block-fills",
                        "/api/v5/explorer/block/block-list",
                        "/api/v5/explorer/transaction/transaction-fills",
                        "/api/v5/explorer/transaction/unconfirmed-transaction-list",
                        "/api/v5/explorer/transaction/publish-tx",
                        "/api/v5/explorer/transaction/transaction-list",
                        "/api/v5/explorer/blockchain/fee",
                        "/api/v5/explorer/address/rich-list",
                        "/api/v5/explorer/transaction/decode",
                        "/api/v5/explorer/address/balance-multi",
                        "/api/v5/explorer/btc/token-list",
                        "/api/v5/explorer/tokenprice/price-multi",
                        "/api/v5/explorer/blockchain/mine",
                        "/api/v5/explorer/stablecoin/printing-record",
                        "/api/v5/explorer/blockchain/address",
                        "/api/v5/explorer/pool/estimated-pool-share",
                        "/api/v5/explorer/blockchain/hashes",
                        "/api/v5/explorer/block/transaction-list",
                        "/api/v5/explorer/blockchain/info",
                        "/api/v5/explorer/blockchain/block"
                    ]
        }
    ]
}

Response Parameters

Parameter Type Description
chainFullName String The blockchain network full name, e.g. Bitcoin.
chainShortName String The blockchain network short name, e.g. BTC.
chainSupportedApis String The supported API interfaces of this chain.

Get chains supported by specified endpoints

Get the information about the supported chains of a specific API interfaces.

Consumption per query 0

HTTP Request

GET /api/v5/explorer/api-supported-chains

Request Example

GET /api/v5/explorer/api-supported-chains?apiUrl=/api/v5/explorer/blockchain/info

Request Parameters

Parameter Type Required Description
apiUrl String Yes The URL of the API interface, e.g. /api/v5/explorer/blockchain/info

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "apiSupportedChains": [
                "BTC",
                "BCH",
                "LTC",
                "DASH",
                "DOGE",
                "ETH",
                "OKEXCHAIN",
                "XLAYER_TESTNET",
                "BSC",
                "ETC",
                "POLYGON",
                "AVAXC",
                "ETHW",
                "ETF",
                "FTM",
                "OPTIMISM",
                "ARBITRUM",
                "KLAYTN",
                "ZKSYNC",
                "GNOSIS",
                "RONIN",
                "LINEA",
                "POLYGON_ZKEVM",
                "APT",
                "SUI",
                "TRON"
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
apiSupportedChains Array The supported chains of this API interface.

API management

Query your OKLink explorer API subscription information, historical call data, and the top 10 interfaces by call consumption.
Note: This module only supports the query of explorer API with call consumption > 0. The statistics are based on call consumption points, not call counts.

Get API usage balance

Inquire about the expiration date and usage consumption of your OKlink explorer API subscription service.

Consumption per query 0

HTTP Request

GET /api/v5/explorer/management/subscription-info

Request Example

GET /api/v5/explorer/management/subscription-info

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "expirationTime": "1727107199000",
            "totalCalls": "1000000",
            "usedCalls": "6061",
            "remainedCalls": "993939"
        }
    ]
}

Response Parameters

Parameter Type Description
expirationTime String Expiration time of the subscription. Unix timestamp format in milliseconds, e.g. 1597026383085
totalCalls String Total number of call consumptions allowed in the subscription per year
usedCalls String Number of calls consumed so far
remainedCalls String Remaining number of call consumptions available

Get daily API usage

Query the historical daily call consumption of your OKlink explorer API subscription, with a maximum time span of one month. By default, it returns the call data for the past month.

Consumption per query 0

HTTP Request

GET /api/v5/explorer/management/call-history

Request Example

GET /api/v5/explorer/management/call-history

Request Parameters

Parameter Type Required Description
startTime String No Start time of the query. Unix timestamp format in milliseconds, e.g. 1597026383085
endTime String No End time of the query. Unix timestamp format in milliseconds, e.g. 1597026383085

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "time": "1696608000000",
            "calls": "6"
        },
        {
            "time": "1696780800000",
            "calls": "369"
        }
    ]
}

Response Parameters

Parameter Type Description
time String Call date, on a daily basis. Unix timestamp format in milliseconds, e.g. 1597026383085
dailyCalls String Call consumption on the day

Get API usage of top 10 endpoints

Query the top 10 interfaces with the highest accumulated usage consumption, returning the usage data for up to the past year.

Consumption per query 0

HTTP Request

GET /api/v5/explorer/management/top-calls

Request Example

GET /api/v5/explorer/management/top-calls

Response Example

{
    "code": "0",
    "msg": "",
    "data": [
        {
            "topCalls": [
                {
                    "rank": "1",
                    "apiUrl": "/api/v5/explorer/blockchain/info",
                    "calls": "249"
                },
                {
                    "rank": "2",
                    "apiUrl": "/api/v5/explorer/blockchain/info",
                    "calls": "249"
                },
                {
                    "rank": "3",
                    "apiUrl": "/api/v5/explorer/blockchain/info",
                    "calls": "249"
                },
                {
                    "rank": "4",
                    "apiUrl": "/api/v5/explorer/blockchain/info",
                    "calls": "249"
                },{
                    "rank": "5",
                    "apiUrl": "/api/v5/explorer/blockchain/info",
                    "calls": "249"
                }
            ]
        }
    ]
}

Response Parameters

Parameter Type Description
topCalls Array Top 10 interfaces with the highest usage consumption
> rank String Rank of the interface based on usage consumption
> apiUrl String URL of the API interface, e.g., /api/v5/explorer/blockchain/info
> calls String Total usage consumption of the API interface