Download OpenAPI specification:Download
Universal API provides a RESTful and uniform way to access blockchain resources, with a rich and reusable model across multiple protocols/cryptocurrencies.
Certain resources contain a lot of data, more than what's practical to return for a single request. With the help of pagination, the data is split across multiple responses. Each response returns a subset of the items requested, and a continuation token.
To get the next batch of items, copy the returned continuation token to the continuation query parameter and repeat the request with the new URL. In case no continuation token is returned, there is no more data available.
Provides information about supported endpoints and generic protocol information.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
{- "source": "BlockScout RPC",
- "handle": "bitcoin",
- "genesis_number": 0,
- "endpoints": [
- "string"
]
}
Returns a list of account balances by a user-defined account address for the supported currencies.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
address required | string Default: "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" Examples:
The account address of the protocol. |
assets | string Examples:
Comma-separated list of asset paths to filter. If the list is empty, or all elements are empty, this filter has no effect. |
[- {
- "currency": {
- "asset_path": "ethereum/native/eth",
- "symbol": "ETH",
- "name": "Ether",
- "decimals": 18,
- "type": "native"
}, - "confirmed_balance": "string",
- "pending_balance": "string",
- "confirmed_nonce": 0,
- "confirmed_block": 1313
}
]
Returns a list of account balances by a user-defined list of account addresses for the supported currencies. The maximum of account addresses allowed in the filter is 10.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
assets | string Examples:
Comma-separated list of asset paths to filter. If the list is empty, or all elements are empty, this filter has no effect. |
addresses | Array of strings Default: ["1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa","bc1qex0aqq8mxqfh4cpl62eg755836djjx20yzuuu8"] |
[- "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
- "bc1qex0aqq8mxqfh4cpl62eg755836djjx20yzuuu8"
]
{- "property1": [
- {
- "currency": {
- "asset_path": "ethereum/native/eth",
- "symbol": "ETH",
- "name": "Ether",
- "decimals": 18,
- "type": "native"
}, - "confirmed_balance": "string",
- "pending_balance": "string",
- "confirmed_nonce": 0,
- "confirmed_block": 1313
}
], - "property2": [
- {
- "currency": {
- "asset_path": "ethereum/native/eth",
- "symbol": "ETH",
- "name": "Ether",
- "decimals": 18,
- "type": "native"
}, - "confirmed_balance": "string",
- "pending_balance": "string",
- "confirmed_nonce": 0,
- "confirmed_block": 1313
}
]
}
Returns a financial report by a user-defined account address between a time period. Default timescale is within the last 30 days.
protocol required | string Default: "polkadot" Examples:
Protocol handle, one of: |
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
address required | string Default: "12yi4uHFbnSUryffXT7Xq92fbGC3iXvCs3vz9HjVgpb4sBvL" Examples:
The account address of the protocol. |
from | integer Example: from=961846434 Unix Timestamp from where to start |
to | integer Example: to=1119612834 Unix Timestamp from where to end |
page_token | string Example: page_token=xyz Continuation token from earlier response |
page_size | integer Example: page_size=1000 Max number of items to return in a response. Defaults to 50k and is capped at 100k. |
{- "fields": [
- {
- "protocol": "Algorand",
- "address": "GXL2EQ6JV54MTMP2IXOTF5CJLS7GAWMRDZMOY7JZAPO72AQRDDYGD6OX3E",
- "currency": "ALGO",
- "event_id": "RNEYUT3MRYGT5ENSLIC7LGJCJMW6BXNS6SAW7A25DTYRW4TFJ5JA",
- "block": 8986217,
- "timestamp": 1599745403,
- "hash": "RNEYUT3MRYGT5ENSLIC7LGJCJMW6BXNS6SAW7A25DTYRW4TFJ5JA",
- "action": "pay",
- "value": "1000000",
- "sender_address": "T3BYUTYZCWV7UVK7IFYPC2UKH5VNBGVP4PUKSUBF5F6GQ244Y4I2XUWCQM",
- "fee": "1000",
- "decimals": 6,
- "meta": {
- "type": "algorand_meta",
- "sender_reward": "121176",
- "recipient_reward": "0",
- "close": "XIU7HGGAJ3QOTATPDSIIHPFVKMICXKHMOR2FJKHTVLII4FAOA3CYZQDLG4",
- "close_amount": "0",
- "close_reward": "0"
}
}
], - "items": 1,
- "page_size": 100,
- "page_token": "xyz"
}
Returns the transaction inputs and outputs following the BTC's UTXO model definition by a user-definied account address.
The response is paginated: use the returned next_page_token
token as a query parameter to get the next page.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of: |
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
address required | string Default: "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" Examples:
The account address of the protocol. |
spent | boolean Example: spent=true Whether the transaction output was spent or not |
check_mempool | boolean Example: check_mempool=true Whether to check for UTXOs spent in the mempool as well as UTXOs pending in the mempool |
from | integer Example: from=961846434 Unix Timestamp from where to start |
to | integer Example: to=1119612834 Unix Timestamp from where to end |
order | string Default: "desc" Enum: "desc" "asc" The pagination order. |
page_token | string Example: page_token=8185.123 The continuation token from earlier response. |
page_size | integer Example: page_size=1000 Max number of items to return in a response. Defaults to 50k and is capped at 100k. |
{- "total": 25,
- "data": [
- {
- "status": "mined",
- "is_spent": false,
- "value": 600,
- "spent": {
- "index": 1,
- "tx_id": "57f7dc46786c5d56d260186d459f1246943dd6e83ca00235909dad1b826f20b4",
- "date": 1655419925,
- "block_id": "00000000000000000008ad1bdca4288143a0cb20e71de0808a066db89857e153",
- "block_number": 741100,
- "confirmations": 1619,
- "meta": { }
}, - "mined": {
- "index": 1,
- "tx_id": "57f7dc46786c5d56d260186d459f1246943dd6e83ca00235909dad1b826f20b4",
- "date": 1655419925,
- "block_id": "00000000000000000008ad1bdca4288143a0cb20e71de0808a066db89857e153",
- "block_number": 741100,
- "confirmations": 1619,
- "meta": { }
}, - "pending": {
- "index": 1,
- "tx_id": "57f7dc46786c5d56d260186d459f1246943dd6e83ca00235909dad1b826f20b4",
- "date": 1655419925,
- "block_id": "00000000000000000008ad1bdca4288143a0cb20e71de0808a066db89857e153",
- "block_number": 741100,
- "confirmations": 1619,
- "meta": { }
}
}
], - "meta": {
- "paging": {
- "next_page_token": "string"
}
}
}
Returns the transactions that an address was involved with, from newest to oldest.
The response is paginated: use the returned next_page_token
token as a query parameter to get the next page.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
address required | string Default: "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" Examples:
The account address of the protocol. |
assets | string Examples:
Comma-separated list of asset paths to filter. If the list is empty, or all elements are empty, this filter has no effect. |
from | integer Example: from=961846434 Unix Timestamp from where to start |
to | integer Example: to=1119612834 Unix Timestamp from where to end |
order | string Default: "desc" Enum: "desc" "asc" The pagination order. |
page_token | string Example: page_token=8185.123 The continuation token from earlier response. |
page_size | integer Example: page_size=25 Max number of items to return in a response. Defaults to 25 and is capped at 100. |
{- "total": 1,
- "data": [
- {
- "id": "0xF00Fa860473130C1df10707223E66Cb4B839B165",
- "date": 1571222657,
- "block_id": "0xaf2948aba2ed8cc7d5b7d4e4f4164a7c8819efc94d30aab3fce6904df68dbc07",
- "block_number": 789387,
- "status": "completed",
- "assets": [
- "ethereum/native/eth"
], - "nonce": 0,
- "num_events": 0,
- "meta": { },
- "events": [
- {
- "amount": 5000000000,
- "date": 0,
- "decimals": 0,
- "denomination": "string",
- "destination": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
- "id": "string",
- "meta": { },
- "source": "string",
- "transaction_id": "string",
- "type": "transfer"
}
]
}
], - "meta": {
- "paging": {
- "next_page_token": "string"
}
}
}
Returns the current block number/height of the protocol.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
32656659
Get the current block id (hash) of the protocol.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
"3ea7cfb439e0baa4d91525b66b1f7b4e79ac0302a054a83d12f4e2ee7c933c8f"
Get a block and all its transactions by a user-defined block number or block hash.
Use -1
or current
parameter to return the current block.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
block_identifier required | string Default: "0000000000000000000590fc0f3eba193a278534220b2b37e9849e1a770ca959" Examples:
The block identifier, hash or number. |
{- "number": 8000000,
- "id": "0x123456070D674D44a7F9cb4Ab272bd88fAd004b5",
- "parent_id": "0xfcf029ffd36a6714aae09dcc7acbdd8f2b96327f",
- "date": 1571222657,
- "num_txs": 10,
- "txs": [
- {
- "id": "0xF00Fa860473130C1df10707223E66Cb4B839B165",
- "date": 1571222657,
- "block_id": "0xaf2948aba2ed8cc7d5b7d4e4f4164a7c8819efc94d30aab3fce6904df68dbc07",
- "block_number": 789387,
- "status": "completed",
- "assets": [
- "ethereum/native/eth"
], - "nonce": 0,
- "num_events": 0,
- "meta": { },
- "events": [
- {
- "amount": 5000000000,
- "date": 0,
- "decimals": 0,
- "denomination": "string",
- "destination": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
- "id": "string",
- "meta": { },
- "source": "string",
- "transaction_id": "string",
- "type": "transfer"
}
]
}
]
}
Get the minimal block data, block header, by a user-defined block number or block hash.
Use -1
or current
parameter to return the current block.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
block_identifier required | string Default: "0000000000000000000590fc0f3eba193a278534220b2b37e9849e1a770ca959" Examples:
The block identifier, hash or number. |
{- "number": 8000000,
- "id": "0x123456070D674D44a7F9cb4Ab272bd88fAd004b5",
- "parent_id": "0xfcf029ffd36a6714aae09dcc7acbdd8f2b96327f",
- "date": 1571222657
}
Returns a list of minimal block data, block headers such as block hash and block number.
The response is paginated: use the returned next_page_token
token as a query parameter to get the next page.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
order | string Default: "desc" Enum: "desc" "asc" The pagination order. |
page_token | string Example: page_token=8185.123 The continuation token from earlier response. |
page_size | integer Example: page_size=25 Max number of items to return in a response. Defaults to 25 and is capped at 100. |
{- "type": "unauthorized",
- "title": "Invalid Token",
- "status": 401
}
Return fee estimation in decimals.
Currently supported for Bitcoin, Bitcoincash, Ethereum and Litecoin. Endpoint will return 3 fee estimations: fast, medium and slow.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of: |
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
{- "most_recent_block": 0,
- "estimated_fees": {
- "fast": null,
- "medium": null,
- "slow": null
}
}
Returns the number of transaction confirmations by a user-defined transaction hash.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
hash required | string Default: "71d4f3412ec11128bbd9ce988d5bff2ec3bb6ea3953c8faf189d88ae49de9f7a" Examples:
The transaction Hash. |
{- "current_height": 150123,
- "tx_id": "0x123456070D674D44a7F9cb4Ab272bd88fAd004b5",
- "confirmations": 10
}
Returns a transaction by a user-defined transaction hash.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
hash required | string Default: "71d4f3412ec11128bbd9ce988d5bff2ec3bb6ea3953c8faf189d88ae49de9f7a" Examples:
The transaction Hash. |
{- "id": "0xF00Fa860473130C1df10707223E66Cb4B839B165",
- "date": 1571222657,
- "block_id": "0xaf2948aba2ed8cc7d5b7d4e4f4164a7c8819efc94d30aab3fce6904df68dbc07",
- "block_number": 789387,
- "status": "completed",
- "assets": [
- "ethereum/native/eth"
], - "nonce": 0,
- "num_events": 0,
- "meta": { },
- "events": [
- {
- "amount": 5000000000,
- "date": 0,
- "decimals": 0,
- "denomination": "string",
- "destination": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
- "id": "string",
- "meta": { },
- "source": "string",
- "transaction_id": "string",
- "type": "transfer"
}
]
}
Get a transaction output by a user-defined transaction hash and the transaction output index.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of: |
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
hash required | string Default: "71d4f3412ec11128bbd9ce988d5bff2ec3bb6ea3953c8faf189d88ae49de9f7a" Examples:
The transaction Hash. |
index required | integer Default: 0 Transaction output index. |
{- "status": "mined",
- "is_spent": true,
- "value": 0,
- "mined": {
- "id": "0xF00Fa860473130C1df10707223E66Cb4B839B165",
- "date": 1571222657,
- "block_id": "0xaf2948aba2ed8cc7d5b7d4e4f4164a7c8819efc94d30aab3fce6904df68dbc07",
- "block_number": 77477,
- "confirmations": 10
}, - "spent": {
- "id": "0xF00Fa860473130C1df10707223E66Cb4B839B165",
- "date": 1571222657,
- "block_id": "0xaf2948aba2ed8cc7d5b7d4e4f4164a7c8819efc94d30aab3fce6904df68dbc07",
- "block_number": 77477,
- "confirmations": 10
}
}
Get a List of transactions, starting with the lastest one. Each call returns an array of the entire list.
The response is paginated: use the returned next_page_token
token as a query parameter to get the next page.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
block_hash | string Example: block_hash=0x2444165297806ad5598e4569e5823b3df0cde3e48b346781ab632fa6cef1a0ec Filter by block hash. You can specify only one block hash at a time. |
assets | string Examples:
Comma-separated list of asset paths to filter. If the list is empty, or all elements are empty, this filter has no effect. |
order | string Default: "desc" Enum: "desc" "asc" The pagination order. |
page_token | string Example: page_token=8185.123 The continuation token from earlier response. |
page_size | integer Example: page_size=25 Max number of items to return in a response. Defaults to 25 and is capped at 100. |
{- "total": 1,
- "data": [
- {
- "id": "0xF00Fa860473130C1df10707223E66Cb4B839B165",
- "date": 1571222657,
- "block_id": "0xaf2948aba2ed8cc7d5b7d4e4f4164a7c8819efc94d30aab3fce6904df68dbc07",
- "block_number": 789387,
- "status": "completed",
- "assets": [
- "ethereum/native/eth"
], - "nonce": 0,
- "num_events": 0,
- "meta": { },
- "events": [
- {
- "amount": 5000000000,
- "date": 0,
- "decimals": 0,
- "denomination": "string",
- "destination": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
- "id": "string",
- "meta": { },
- "source": "string",
- "transaction_id": "string",
- "type": "transfer"
}
]
}
], - "meta": {
- "paging": {
- "next_page_token": "string"
}
}
}
Creates an unsigned transaction for BTC, DOT and ETH.
Note that Ethereum currently only supports singular transaction destinations
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
from required | string The source UTXO or account ID for the originating funds |
required | Array of objects (tx_destination) A list of recipients |
index | integer <int64> The UTXO index or the account Nonce |
fee | string The fee you are willing to pay for the transaction. For Ethereum and Polygon see 'protocol.ethereum' and 'protocol.polygon'. |
object (tx_create_protocol) Protocol specific parameters for transaction creation |
{- "from": "31c129468975e4ef41135a405000e6428a399a03d023b6627eed4cb95faf19ca",
- "to": [
- {
- "destination": "mkHS9ne12qx9pS9VojpwU5xtRd4T7X7ZUt",
- "amount": 0.0001
}
], - "index": 5,
- "fee": 21000,
- "protocol": {
- "ethereum": {
- "gas": 0,
- "maxPriorityFeePerGas": 0,
- "maxFeePerGas": 0
}, - "polygon": {
- "gas": 0,
- "maxPriorityFeePerGas": 0,
- "maxFeePerGas": 0
}
}
}
{- "id": 5.116744060151016e+76,
- "unsigned_tx": "e909843b9aca008252089481b7e08f65bdf5648606c89998a9cc81643976478601d1a94a200080808080",
- "meta": {
- "fee": "15767277658",
- "signing_payload": "0x040000a8a62cdc29835a28cb4efc20f3e6f72ef3aed39f1f5ab00b577e43028c686802c6500300b50035014913a424000013000000e143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e688facf463d80d2f0e79f974c19469dde9d5a7b47513a5370abbdd7400e190b8"
}
}
Submit a signed transaction to the network.
Note: A successful transaction may still be rejected on chain or not processed due to a too low fee. You can monitor successful transactions through Universal websockets.
protocol required | string Default: "bitcoin" Examples:
Protocol handle, one of:
|
network required | string Default: "mainnet" Examples:
Which network to target. Available networks can be found in the list of supported protocols or with /{protocol}. |
tx required | string The signed TX |
{- "tx": "0100000001ca19af5fb94ced7e62b623d0039a398a42e60050405a1341efe475894629c131010000008b483045022100d77b002b3142013b3f825a730f5bc3ead2014266f07ba4449269af0cf6f086310220365bca1d616ba86fac42ad69efd5f92c5ed6cf16f27ebf5ab55010efc72c219d014104417eb0abe69db2eca63c84eb44266c29c24973dc81cde16ca86c9d923630cb5f797bae7d7fab13498e06146111356eb271da74add05ebda8f72ff2b2878fddb7ffffffff0410270000000000001976a914344a0f48ca150ec2b903817660b9b68b13a6702688ac204e0000000000001976a914344a0f48ca150ec2b903817660b9b68b13a6702688ac30750000000000001976a914344a0f48ca150ec2b903817660b9b68b13a6702688ac48710000000000001976a914d6fa8814924b480fa7ff903b5ef61100ab4d92fe88ac00000000"
}
{- "id": "9c8ac345b443dd10a418ea0beaa320ef233dbae5590be2a11ac090e0e9839c1c"
}