Introduction Swagger UI
Select type Introduction Documentation Swagger UI
Introduction Swagger UI

JSON APIDocumentation

module tree

  • bitcoin
    • bitcoin-main
    • bitcoin-omni
    • bitcoin-brc-20
  • ethereum
    • ethereum-main
    • ethereum-trace
    • ethereum-erc-20
    • ethereum-erc-223
    • ethereum-erc-721
    • ethereum-erc-1155
  • aptos
    • aptos-main
  • arbitrum-one
    • arbitrum-one-main
    • arbitrum-one-trace
    • arbitrum-one-erc-20
    • arbitrum-one-erc-721
    • arbitrum-one-erc-1155
  • avalanche
    • avalanche-main
    • avalanche-trace
    • avalanche-erc-20
    • avalanche-erc-721
    • avalanche-erc-1155
  • base
    • base-main
    • base-trace
    • base-erc-20
    • base-erc-721
    • base-erc-1155
  • beacon-chain
    • beacon-chain-deposits
    • beacon-chain-withdrawals
    • beacon-chain-proposals
    • beacon-chain-attestations
    • beacon-chain-penalties
  • bitcoin-cash
    • bitcoin-cash-main
    • bitcoin-cash-fct
    • bitcoin-cash-nfct
  • bnb
    • bnb-main
    • bnb-trace
    • bnb-bep-20
    • bnb-bep-721
    • bnb-bep-1155
  • bob
    • bob-main
    • bob-erc-20
    • bob-erc-721
    • bob-erc-1155
  • botanix
    • botanix-main
    • botanix-trace
    • botanix-erc-20
    • botanix-erc-721
    • botanix-erc-1155
  • cardano
    • cardano-main
    • cardano-native-tokens
  • dash
    • dash-main
    • dash-dip-2
  • digibyte
    • digibyte-main
  • dogecoin
    • dogecoin-main
  • ecash
    • ecash-main
  • ethereum-classic
    • ethereum-classic-main
    • ethereum-classic-trace
    • ethereum-classic-erc-20
    • ethereum-classic-erc-721
    • ethereum-classic-erc-1155
  • fantom
    • fantom-main
    • fantom-trace
    • fantom-erc-20
    • fantom-erc-721
    • fantom-erc-1155
  • gnosis-chain
    • gnosis-chain-main
    • gnosis-chain-trace
    • gnosis-chain-erc-20
    • gnosis-chain-erc-721
    • gnosis-chain-erc-1155
  • groestlcoin
    • groestlcoin-main
  • handshake
    • handshake-main
  • kusama
    • kusama-main
  • linea
    • linea-main
  • litecoin
    • litecoin-main
    • litecoin-mweb
  • liquid-network
    • liquid-network-main
  • monero
    • monero-main
  • moonbeam
    • moonbeam-main
  • opbnb
    • opbnb-main
    • opbnb-trace
    • opbnb-bep-20
    • opbnb-bep-721
    • opbnb-bep-1155
  • optimism
    • optimism-main
    • optimism-trace
    • optimism-erc-20
    • optimism-erc-721
    • optimism-erc-1155
  • peercoin
    • peercoin-main
  • polkadot
    • polkadot-minimal
  • polygon
    • polygon-main
    • polygon-trace
    • polygon-erc-20
    • polygon-erc-721
    • polygon-erc-1155
  • polygon-zkevm
    • polygon-zkevm-main
    • polygon-zkevm-trace
    • polygon-zkevm-erc-20
    • polygon-zkevm-erc-721
    • polygon-zkevm-erc-1155
  • rootstock
    • rootstock-main
    • rootstock-trace
    • rootstock-erc-20
    • rootstock-erc-721
    • rootstock-erc-1155
  • sei-evm
    • sei-evm-main
    • sei-evm-erc-20
    • sei-evm-erc-721
    • sei-evm-erc-1155
  • solana
    • solana-minimal
  • stellar
    • stellar-main
  • ton
    • ton-main
    • ton-jetton
    • ton-nft
  • tron
    • tron-main
    • tron-internal
    • tron-trc-10
    • tron-trc-20
    • tron-trc-721
    • tron-trc-1155
  • xrp-ledger
    • xrp-ledger-main
    • xrp-ledger-ft
    • xrp-ledger-nft
  • zcash
    • zcash-main

json api

general response schema

  • data[data] array or string on error
  • ?mixins[mixins] array or undefined
  • ?library[library] array or undefined
  • context array
    • code integer
    • api array
      • version string
      • notice string
    • time float
    • limit integer
    • ?id integer

note: `id` param may be used with any endpoint. if it's used,
`context.id` will yield the request id similar to the json-rpc 2.0 standard.

data endpoints

endpoint params `data` output
/

stats for ecosystems, blockchains, or modules

examples:
  • `?from=` → ecosystem list, or blockchain list, or module list, comma-separated, or `all`, or `default` which is `all`
  • `?mode=` → `greedy`, `non-greedy`, or `default` which is `non-greedy`; if `?from=` is provided with a list which is ambiguous in terms whether it's a blockchain or an ecosystem list, `greedy` will switch processing to ecosystems, while `non-greedy` will treat the list as a blockchain list
  • `?library=` → library data, comma-separated list of (`blockchains`, `modules`, `currencies`, `rates({:list})`)
  • blockchains[blockchain] array
    • best_block integer
    • best_block_hash string
    • best_block_time timestamp
    • events_24h[module] integer
    • mempool_events[module] integer
    • progress[module] float
/{:blockchain}/blocks

paginated block list

examples:
  • `?data=` (required) → data bits, comma-separated list of (`blocks`), at least `blocks` is required
  • `?from=` → module list, comma-separated, or `all`, or `default` which is the first module
  • `?limit=` → `1`, `10`, `100`, `1000`, or `default` which is `10`
  • `?page=` → paginates blocks; `-0`, `0`, `ℕ`, or `default` which is `-0`
  • `?mixins=` → mixin data, comma-separated list of (`stats`)
  • `?library=` → library data, comma-separated list of (`blockchains`, `modules`)
  • blocks[block] paginatable array
    • hash string
    • time timestamp
    • events[module] integer
/{:blockchain}/block/{:block}

block data, {:block} can be set to `-1` to display mempool information

examples:
  • `?data=` (required) → data bits, comma-separated list of (`block`, `events`), at least one is required
  • `?from=` → module list, comma-separated, or `all`, or `default` which is the first module; exactly one module must be specified when paginating past the default page
  • `?limit=` → `1`, `10`, `100`, `1000`, or `default` which is `10`
  • `?page=` → paginates events; for blocks: `0`, `ℕ`, or `default` which is `0` (no offset limit); for mempool: `-0`, `-ℕ`, or `default` which is `-0` (max offset is 100k)
  • `?mixins=` → mixin data, comma-separated list of (`stats`)
  • `?library=` → library data, comma-separated list of (`blockchains`, `modules`, `currencies`, `extras`, `rates({:list})`)
  • block array
    • block integer
    • hash string
    • time timestamp
    • events[module] integer
  • events[module][] paginatable array
    • transaction string
    • sort_key integer
    • address string
    • currency string
    • effect numeric
    • failed boolean
    • extra string
    • extra_indexed string
/{:blockchain}/transaction/{:transaction}

transaction data

examples:
  • `?data=` (required) → data bits, comma-separated list of (`transaction`, `events`), at least one is required
  • `?from=` → module list, comma-separated, or `all`, or `default` which is the first module; exactly one module must be specified when paginating past the default page; if module does not support transaction ids it is discarded
  • `?limit=` → `1`, `10`, `100`, `1000`, or `default` which is `10`
  • `?page=` → paginates events; `0`, `ℕ`, or `default` which is `0` (no offset limit)
  • `?mixins=` → mixin data, comma-separated list of (`stats`, `blocks`)
  • `?library=` → library data, comma-separated list of (`blockchains`, `modules`, `currencies`, `extras`, `rates({:list})`)
  • transaction array
    • block integer
    • transaction string
    • time timestamp
    • events[module] integer
  • events[module][] paginatable array
    • sort_key integer
    • address string
    • currency string
    • effect numeric
    • failed boolean
    • extra string
    • extra_indexed string
/{:blockchain}/address/{:address}

address data

examples:
  • `?data=` (required) → data bits, comma-separated list of (`address`, `balances`, `events`, `mempool`), at least one is required
  • `?from=` → module list, comma-separated, or `all`, or `default` which is the first module; exactly one module must be specified when paginating past the default page
  • `?limit=` → `1`, `10`, `100`, `1000`, or `default` which is `10`
  • `?page=` → if paginating balances: `0`, `ℕ`, or `default` which is `0` (no offset limit); if paginating events or mempool: `0`, `ℕ`, `-0`, `-ℕ`, or `default` which is `-0` (max offset is 100k records); when paginating, `?from=` must contain exactly one of (`balances`, `events`, `mempool`) and may additionaly contain `address`
  • `?segment=` → date in `YYYY-MM-DD` format; shows events only for this date; when specified, `events` must be present in `?data=`, `mempool` must not be present in `?data=`; drops max offset constraint on `?page=`; exactly one module must be specified in `?from=` even for the default page
  • `?mixins=` → mixin data, comma-separated list of (`stats`)
  • `?library=` → library data, comma-separated list of (`blockchains`, `modules`, `currencies`, `extras`, `rates({:list})`)
  • address array
    • address string
    • balances[module] integer
    • events[module] integer
  • balances[module][currency] paginatable array
    • balance numeric
    • events integer
  • events[module][] paginatable array
    • block integer
    • transaction string
    • sort_key integer
    • time timestamp
    • currency string
    • effect numeric
    • failed boolean
    • extra string
    • extra_indexed string
  • mempool[module][] paginatable array
    • same as events[module][]
/{:blockchain}/addresses/{:address0},...,{:addressn}

multiple address last seen data (max. 100 addresses)

examples:
  • `?data=` (required) → data bits, comma-separated list of (`heights`, `mempool`), at least one is required
  • `?from=` → module list, comma-separated, or `all`, or `default` which is the first module
  • `?mixins=` → mixin data, comma-separated list of (`stats`)
  • `?library=` → library data, comma-separated list of (`blockchains`, `modules`)
  • heights[address][module] integer
  • mempool[address][module] integer

tip: the heights array yields the lastest block number in which the address is present, while for the mempool array it's the latest transaction unix time
/search

search in all blockchains (blocks, transactions, addresses)

examples:
  • `?q=` (required) → search string
  • `?from=` → blockchain list, comma-separated, or `all`, or `default` which is `all`;
  • `?in=` → entity list of (`block`, `transaction`, `address`), comma-separated, or `all`, or `default` which is `all`;
  • `?mixins=` → mixin data, comma-separated list of (`stats`)
  • `?library=` → library data, comma-separated list of (`blockchains`)
  • results[?blockchain] array or undefined
    • ?block string or undefined
    • ?transaction string or undefined
    • ?address string or undefined
special endpoints
/dumps

database dump list

examples:
  • `?from=` → module list, comma-separated, or `all`
  • `?mode=` → `all` for the full list, `latest` for the latest dump only, `stats` for the summary; `all` can't be used if `?from=` is `all` or lists more than one module
  • `?library=` → library data, comma-separated list of (`modules`)
for `all` and `latest` modes:

  • dumps[module][date] array
    • module_version integer
    • blocks integer
    • events integer
    • uncompressed_size integer
    • compressed_size integer
    • compression_algo string
    • compression_level int
    • link string
    • checksum string
    • checksum_algo string
    • checksum_link string
    • olap boolean

for `stats` mode:

  • dumps[module] array
    • blocks integer
    • events integer
    • uncompressed_size integer
    • compressed_size integer

mixins

mixin can be used in `mixins` output
stats

yields stats on blockchains which are present in `data` (useful for getting the number of confirmations)

examples:
all endpoints except for `/` and `/dumps`
  • stats[blockchain] array
    • best_block integer
    • first_block integer
blocks

yields block data for blocks which are present in `data` (useful for figuring out whether transaction has been processed by all modules); `processed` yields `null` and `true` for mempool, `false` and `true` for blockchain transactions; `false` means that transaction is yet to be processed by the corresponding module

examples:
`/{:blockchain}/transaction/{:transaction}` only
  • blocks[block]
    • processed[module] boolean

libraries

library can be used in `library` output
blockchains

yields info on blockchains which are present in `data`

examples:
all endpoints except for `/dumps`
  • blockchains[blockchain] array
    • title string
    • description string
    • modules[] array
    • native_currency string
    • block_entity_name string
    • transaction_entity_name string
    • address_entity_name string
    • mempool_entity_name string
    • launch date string
    • is_testnet boolean

tip: first modules[] element is the default module
modules

yields info on modules which are present in `data`

examples:
all endpoints except for `/search`
  • modules[module] array
    • title string
    • description string
    • mempool_implemented boolean
    • forking_implemented boolean
    • block_hash_format enum
    • transaction_hash_format enum
    • address_format enum
    • currency_format enum
    • currency_type enum
    • transaction_render_model enum
    • fee_render_model enum
    • extra_data_model enum
    • special_addresses[] array
    • first_block_id integer
    • complements_module string
    • blockchain string
    • dumps_implemented boolean
    • is_main boolean
    • pruning_interval string
currencies

yields info on currencies which are present in `data`

examples:
`/{:blockchain}/block/{:block}`, `/{:blockchain}/transaction/{:transaction}`, `/{:blockchain}/address/{:address}`
  • currencies[currency] array
    • name string
    • type enum
    • symbol string
    • decimals integer
    • description string
extras

yields additioan info for `extra` fields which are present in `data`

examples:
`/{:blockchain}/block/{:block}`, `/{:blockchain}/transaction/{:transaction}`, `/{:blockchain}/address/{:address}`
  • extras[module][extra] string
rates({:list})

exchange rates for all currencies in `data` on all met timestamps (plus `now` for balances) for comma-separated list of (`usd`) traditional currencies

examples:
`/{:blockchain}/block/{:block}`, `/{:blockchain}/transaction/{:transaction}`, `/{:blockchain}/address/{:address}`

tip: `?data=block` is imperative for `block` and `?data=transaction` is imperative for `transaction` as they yield needed timestamps
  • rates[time][currency][fcurrency] numeric

enums

enum variants
module.block_hash_format
  • AlphaNumeric
  • HexWithout0x
  • HexWith0x
module.transaction_hash_format
  • AlphaNumeric
  • HexWithout0x
  • HexWith0x
  • Zilch
module.address_format
  • AlphaNumeric
  • HexWithout0x
  • HexWith0x
module.currency_format
  • Static
  • Numeric
  • AlphaNumeric
  • HexWithout0x
  • HexWith0x
module.transaction_render_model
  • UTXO -> Bitcoin-like transactions with inputs (senders) and outputs (recipients)
  • Even -> there's always an even number of events in a transaction; all events come
    in "sender -> recipient" pairs; EVM chains use this model
  • EvenOrMixed -> there's no definite order, but the `Even` model should be followed if possible
  • Mixed -> there's no definite order of events, they should be displayed row by row
  • Zilch -> there are no separate transactions in this module, they can only be seen via the block interface
module.fee_render_model
  • LastEventToTheVoid -> if the last event in a transaction is a transfer
    to `the-void` - it's the fee, otherwise the fee is 0
  • ExtraF -> there may be two events with `f` in the `extra` field,the negative one is
    the fee payer, the positive one is the fee recipient (miner, validator, or `the-void`)
  • ExtraBF -> the same as `ExtraF`, but there may also be two extra
    events with `b` which mean additional fee burning to `the-void`
  • Zilch -> no fee model is specified for the module
module.extra_data_model
  • Default -> `extra` contains on of the default marks: `f`, `b`, `r`, `i`, `u`, `c`, `d`, `n`
  • Type -> `extra` contains some module-specific event type
  • Identifier -> `extra` contains id of a token being transferred (used for nft, mt, such as erc-721 and erc-1155)
  • Zilch -> there's no extra data for events in this module
module.currency_type, currency.type
  • FT -> fungible tokens (bitcoins, ethers, ERC-20 tokens, etc.);
    for fungible tokens, `effect` is the transferred amount.
  • NFT -> non-fungible tokens (e.g. ERC-721);
    for nfts, `effect` is either `-1` or `1` and `extra` contains the token id.
  • MT -> multi token (e.g. ERC-1155);
    for mts, `effect` is the transferred amount of `extra` tokens.

Join our community

Explore multiple blockchains like never before with 3xpl. Join our socials for all the latest news and updates.

Type / to focus