Introduction
With Subscan API, we provide a simple way to access the chain data of more than 10 substrate-based networks.
If you have any question or suggestion, please do not hesitate to contact our API support via api@subscan.io.
The documentation was created with Slate and hosted on GitHub.
API Keys
Get a free API key that includes higher quotas or start your trial with other available plans at https://pro.subscan.io/.
Service Status
The service status of Subscan API can be found on our status page.
Service Level Agreement
Subscan provides our customers the Service Level Agreement (SLA), which includes Monthly Uptime Percentage commitment for multiple networks. Please contact us (api@subscan.io) for more information.
API Endpoints
Please notice before you get started:
The following endpoints list is maintained mannually and it might be outdated. In fact, every individual network supported on Subscan.io will have available API endpoint as well. The endpoint naming convention is
https://$NETWORK_NAME.api.subscan.iowhere the$NETWORK_NAMEis the same as the subdomain of the corresponding network on Subscan.io.All the endpoints are forced to HTTPS only. Please make sure you use
https://with the API hosts.SLA covered endpoints are shown on our service status page. Several networks are excluded from our SLA for now. It might because: 1) the network is a testnet, not as stable as a mainnet, or could be reset in a relatively higher chance; 2) the chain RPC that Subscan relied on is maintained by others (e.g. the chain developers). We may update the covered list in the future. Please let us know if you want to have other networks included in the SLA.
The Status marked as live is production network, and it will be maintained continuously. The Status marked as test is test network, which may be unstable. Some new features of Subscan will be updated on testnet first.
| Network | API Host | Status |
|---|---|---|
| Polkadot | polkadot.api.subscan.io |
live |
| Kusama | kusama.api.subscan.io |
live |
| Darwinia2 | darwinia.api.subscan.io |
live |
| Assethub Polkadot | assethub-polkadot.api.subscan.io |
live |
| Assethub Kusama | assethub-kusama.api.subscan.io |
live |
| Assethub Rococo | assethub-rococo.api.subscan.io |
test |
| Acala | acala.api.subscan.io |
live |
| Acala Mandala | acala-testnet.api.subscan.io |
test |
| Alephzero | alephzero.api.subscan.io |
live |
| Altair | altair.api.subscan.io |
live |
| Astar | astar.api.subscan.io |
live |
| Bajun | bajun.api.subscan.io |
live |
| Basilisk | basilisk.api.subscan.io |
live |
| Bifrost | bifrost.api.subscan.io |
live |
| Bifrost Kusama | bifrost-kusama.api.subscan.io |
live |
| Bifrost Testnet | bifrost-testnet.api.subscan.io |
live |
| Calamari | calamari.api.subscan.io |
live |
| Centrifuge | centrifuge.api.subscan.io |
live |
| Centrifuge Solo | centrifuge-standalone-history.api.subscan.io |
live |
| ChainX | chainx.api.subscan.io |
live |
| Clover | clover.api.subscan.io |
live |
| Clover Parachain | clv.api.subscan.io |
live |
| Clover Testnet | clover-testnet.api.subscan.io |
test |
| Composable | composable.api.subscan.io |
live |
| Crab2 | crab.api.subscan.io |
live |
| Crust | crust.api.subscan.io |
live |
| Crust Maxwell | maxwell.api.subscan.io |
test |
| Crust Shadow | shadow.api.subscan.io |
live |
| DeepBrain Chain | dbc.api.subscan.io |
live |
| Dock | dock.api.subscan.io |
live |
| Dolphin | dolphin.api.subscan.io |
test |
| Edgeware | edgeware.api.subscan.io |
live |
| Efinity | efinity.api.subscan.io |
live |
| Encointer | encointer.api.subscan.io |
live |
| Equilibrium | equilibrium.api.subscan.io |
live |
| Genshiro | genshiro.api.subscan.io |
live |
| Humanode | humanode.api.subscan.io |
live |
| HydraDX | hydradx.api.subscan.io |
live |
| IntegriTEE | integritee.api.subscan.io |
live |
| Interlay | interlay.api.subscan.io |
live |
| Karura | karura.api.subscan.io |
live |
| Kintsugi | kintsugi.api.subscan.io |
live |
| Khala | khala.api.subscan.io |
live |
| krest | krest.api.subscan.io |
live |
| KILT Peregrine | kilt-testnet.api.subscan.io |
test |
| KILT Spiritnet | spiritnet.api.subscan.io |
live |
| Litmus | litmus.api.subscan.io |
live |
| Mangata | mangatax.api.subscan.io |
live |
| Moonbase | moonbase.api.subscan.io |
test |
| Moonbeam | moonbeam.api.subscan.io |
live |
| Moonriver | moonriver.api.subscan.io |
live |
| Nodle | nodle.api.subscan.io |
live |
| Origintrail | origintrail.api.subscan.io |
live |
| Origintrail Testnet | origintrail-testnet.api.subscan.io |
test |
| Pangolin | pangolin.api.subscan.io |
test |
| Pangolin Parachain | pangolin-parachain.api.subscan.io |
test |
| Pangoro | pangoro.api.subscan.io |
test |
| Parallel | parallel.api.subscan.io |
live |
| Parallel Heiko | parallel-heiko.api.subscan.io |
live |
| peaq | peaq-testnet.api.subscan.io |
test |
| Phala | phala.api.subscan.io |
live |
| Picasso | picasso.api.subscan.io |
live |
| Picasso Rococo | picasso-rococo.api.subscan.io |
test |
| Pioneer | pioneer.api.subscan.io |
live |
| Polkadex | polkadex.api.subscan.io |
live |
| Polymesh | polymesh.api.subscan.io |
live |
| Polymesh Testnet | polymesh-testnet.api.subscan.io |
test |
| Plasm | plasm.api.subscan.io |
live |
| Quartz | quartz.api.subscan.io |
live |
| Reef | reef.api.subscan.io |
live |
| Robonomics | robonomics.api.subscan.io |
live |
| Rococo | rococo.api.subscan.io |
test |
| Sakura | sakura.api.subscan.io |
live |
| Shibuya | shibuya.api.subscan.io |
test |
| Shiden | shiden.api.subscan.io |
live |
| SORA | sora.api.subscan.io |
live |
| Subspace | subspace.api.subscan.io |
live |
| Stafi | stafi.api.subscan.io |
live |
| Tanganika | datahighway.api.subscan.io |
live |
| Turing | turing.api.subscan.io |
live |
| Unique | unique.api.subscan.io |
live |
| Vara | vara.api.subscan.io |
live |
| Westend | westend.api.subscan.io |
test |
| Zeitgeist | zeitgeist.api.subscan.io |
live |
Tutorial
Getting Start
1. Sign up to Subscan API Platform
To sign up for an account on the Subscan API Platform, enter your email address and password, and click SIGN UP.

To activate your account, verify your email address by clicking the link sent to your inbox.
2. Create API Key
Once verified, you’ll be taken to the management page where you can add API Keys, view status, and add new plans.

Every user could get a free plan for a trial. Free plan has a rate limit of 5 req/s and can only generate 1 API Key.
You can choose a more suitable plan according to your requirements.
3. Revoke API Key
You can choose to revoke an API Key.
This operation will be irreversible, so please operate with caution.

Payment Method
We accept the following payment:
Fiat (USD)
Crypto ($DOT)
Annual payment: 20% off the current total price.

Fiat
You could pay via Stripe. We support USD payment through credit card and bank.
Crypto
You could pay via our $DOT payment gate. The price of $DOT gets from Subscan’s $DOT price API.
Invoice
Invoices will be sent to the email in your profile once you finished the payment process.
Upgrade

- You can upgrade your plan for a better experience.
- The Free Plan couldn’t be upgraded now. We will provide free plan upgrade service in the near future
Subscribe
- If you choose the Stripe payment method, automatic renewal will be turned on, and you will be able to renew without manual operation.
- Here you can choose to turn auto-renewal on or off.

Renewal

- Renewal operation is for $DOT payment method users and users who do not automatically renew.
- You could choose Crypto payment or Fiat payment method.
- After being paid successfully, the end time shall be extended.
Notice:
After updating the self-service payment system, users of the original standard plans(Including the Advanced Plan and Professional Plan) can use the self-service payment system for renewal.
Enterprise Plan users, please contact us, and we will handle the renewal for you.
Global Conventions
X-API-Key Header
The X-API-Key or x-api-key (case-insensitive) request header is the authentication method that Subscan API uses to determine the identity and rate limits.
Apply this form to get a free API key that includes higher quotas or start your trial with other subscriptions!
Rate Limiting
Each Subscan API key has a request quota, for example, 30 requests per second at most.
Currently, the quotas are global - shared across all APIs, all networks, and all client IP addresses as well. For instance, if an API key has a quota of 10 requests per second:
- Client A requests
https://polkadot.api.subscan.io/api/nowwith an API key; - Simultaneously, client B requests
https://kusama.api.subscan.io/api/scan/metadatawith the same API key. - After these 2 requests, only 8 requests with the same API key are allowed in that second.
Subscan API respects the Internet-Draft RateLimit Header Fields for HTTP. Through the headers of any response, it is simple to retrieve the limit (ratelimit-limit), remaining quota (ratelimit-remaining), and the seconds until the limit resets (ratelimit-reset) of your key. For example, send any request:
curl -isS -X POST -H "x-api-key: YOUR_KEY" https://kusama.api.subscan.io/api/now
An example of partial response headers:
ratelimit-remaining: 7
ratelimit-limit: 10
ratelimit-reset: 22
If the client reached the rate limit, all other requests in the time slot will be throttled with an HTTP 429 Too Many Requests response that contains a retry-after header.
An example of partial response headers:
retry-after: 4
ratelimit-remaining: 0
ratelimit-limit: 10
ratelimit-reset: 4
An example of response body:
{
"message":"API rate limit exceeded"
}
HTTP Status Codes
The table down below lists several HTTP status codes that Subscan might respond.
| Code | Meaning |
|---|---|
| 200 OK | The request was handled without any error. |
| 401 Unauthorized | The credentials is either not found or invalid. Please refer to the message field in the JSON response for more detail. |
| 404 Not Found | The HTTP method or request URI was most likely wrong. |
| 429 Too Many Requests | The request hits the rate limit. Please request an API key with higher quotas. |
| 500 Internal Server Error | The servers could not respond your request due to an internal error. Find more information on our status page. |
| 502 Bad Gateway | The servers could not respond your request due to an internal error. Find more information on our status page. |
| 503 Service Unavailable | The services were under maintenance. Please try again later. |
| 504 Gateway Timeout | The servers could not respond your request due to an internal error. Find more information on our status page. |
General API
timestamp
Subscan server timestamp
curl -X POST 'https://polkadot.api.subscan.io/api/now' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
Request URL
POST /api/now
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": 1559545576
}
metadata
Subscan global stats
curl -X POST 'https://polkadot.api.subscan.io/api/scan/metadata' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
Request URL
POST /api/scan/metadata
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1655185752,
"data": {
"addressType": "0",
"avgBlockTime": "6.0247692426493965",
"blockNum": "10735413",
"blockTime": "6",
"bootTime": "1590507378",
"commissionAccuracy": "9",
"count_account": "980324",
"count_event": "26515359",
"count_signed_extrinsic": "9549379",
"count_transfer": "8052563",
"current_era": "742",
"current_validator_count": "297",
"epochLength": "2400",
"epochProcess": "1323",
"eraLength": "14400",
"eraProcess": "8523",
"exist_roles": "registrar,validator,nominator,councilMember,techcomm",
"finalized_blockNum": "10735411",
"history_depth": "84",
"implName": "parity-polkadot",
"maxNominatorRewardedPerValidator": "256",
"networkNode": "polkadot",
"specVersion": "9220",
"unbondDuration": "403200",
"validator_count": "297",
"waiting_validator": "731"
}
}
Response Description
| Attr/Prop | Description |
|---|---|
| addressType | substrate ss58 prefix |
| avgBlockTime | |
| blockNum | best block num |
| blockTime | output block time(fixed) |
| commissionAccuracy | staking commission accuracy |
| count_account | account count |
| count_event | event count |
| count_extrinsic | extrinsic count |
| count_signed_extrinsic | signed extrinsic count |
| count_transfer | transfer count |
| current_era | |
| current_validator_count | session validator count |
| epochLength | number of block nums per epoch |
| epochProcess | current epoch progress |
| eraLength | number of block nums per era |
| eraProcess | current era progress |
| exist_roles | current network exist role |
| finalized_blockNum | finalized blockNum |
| history_depth | |
| implName | |
| maxNominatorRewardedPerValidator | |
| networkNode | network name |
| specVersion | current runtime spec version |
| unbondDuration | number of block nums unbond duration |
| validator_count | current storage staking.validatorCount |
| waiting_validator | waiting validator count |
blocks
Block list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/blocks' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/blocks
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1655185816,
"data": {
"blocks": [
{
"block_num": 10735423,
"block_timestamp": 1655185806,
"hash": "0x3db7ae1a450c8eec3f2f96a95e11c320fa7893915eb0c7f426be6d8df5908be3",
"event_count": 17,
"extrinsics_count": 2,
"validator": "13dCwieVYyuLVRdDcxomFeaYU1C73QpNDJreqHvKcggikWjK",
"validator_name": "",
"finalized": false,
"account_display": {
"address": "13dCwieVYyuLVRdDcxomFeaYU1C73QpNDJreqHvKcggikWjK",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
}
],
"count": 10735423
}
}
block
Block detail
curl -X POST 'https://polkadot.api.subscan.io/api/scan/block' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"block_hash": "0x68a27df5a52ff2251df2cc8368f7dcefb305a13bb3d89b65c8fb070f23877f2c"
}'
Request URL
POST /api/scan/block
Payload
| Name | Type | Require |
|---|---|---|
| block_num | int | no |
| block_hash | string | no |
| block_timestamp | int | no |
| only_head | bool | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1655185968,
"data": {
"block_num": 5,
"block_timestamp": 1590507438,
"hash": "0x68a27df5a52ff2251df2cc8368f7dcefb305a13bb3d89b65c8fb070f23877f2c",
"parent_hash": "0xd380bee22de487a707cbda65dd9d4e2188f736908c42cf390c8919d4f7fc547c",
"state_root": "0x01045dae0c5d93a84c3dc1f0131126aa6aa1feb26d10f029166fc0c607468968",
"extrinsics_root": "0xa9439bbc818bd95eadb2c5349bef77ee7cc80a282fcceb9670c2c12f939211b4",
"extrinsics": [
{
"block_timestamp": 1590507438,
"block_num": 5,
"extrinsic_index": "5-0",
"call_module_function": "set",
"call_module": "timestamp",
"params":"[{\"name\":\"now\",\"type\":\"Compact<Moment>\",\"value\":1590507438}]",
"account_id": "",
"account_index": "",
"signature": "",
"nonce": 0,
"extrinsic_hash": "",
"success": true,
"fee": "0",
"fee_used": "0",
"from_hex": "",
"finalized": true,
"account_display": {
"address": "12H7nsDUrJUSCQQJrTKAFfyCWSactiSdjoVUixqcd9CZHTGt",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
}
],
"events": [{
"event_index": "",
"block_num": 1,
"extrinsic_idx": 1,
"module_id": "",
"event_id": "",
"params": "[{\"name\":\"now\",\"type\":\"Compact\\u003cMoment\\u003e\",\"value\":1602732522,\"value_raw\":\"\"}]",
"phase": 1,
"event_idx": 1,
"extrinsic_hash": "",
"finalized": false,
"block_timestamp": 1652241235
}],
"logs": [
{
"id": 0,
"block_num": 5,
"log_index": "5-0",
"log_type": "PreRuntime",
"engine": "",
"data": "{\"data\":\"0x03000000009ddecc0f00000000a8a9c1d717f3904506e333d0ebbf4eed297d50ab9b7c57458b10182f1c84025ef09d3fb5b5f4cb81688939e6363f95aa8d91645fa7b8abc0a6f37812c777c307df51071082d3ff89d4e1b5ad8f5cd3711ada74292c4808237bdf2b076edb280c\",\"engine\":\"BABE\"}"
}
],
"event_count": 0,
"extrinsics_count": 2,
"spec_version": 0,
"validator": "12H7nsDUrJUSCQQJrTKAFfyCWSactiSdjoVUixqcd9CZHTGt",
"finalized": true,
"account_display": {
"address": "12H7nsDUrJUSCQQJrTKAFfyCWSactiSdjoVUixqcd9CZHTGt",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
}
}
extrinsics
Extrinsic list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/extrinsics' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 1
}'
Request URL
POST /api/scan/extrinsics
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| signed | string | no |
| address | string | no |
| module | string | no |
| no_params | bool | no |
| call | string | no |
| from | int | no |
| to | int | no |
| block_num | int | no |
| block_range | string | no |
| success | bool | no |
Example Response
{
"code": 0,
"data": {
"count": 5223066,
"extrinsics": [
{
"account_display": {
"address": "12H7nsDUrJUSCQQJrTKAFfyCWSactiSdjoVUixqcd9CZHTGt",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"account_id": "",
"account_index": "",
"block_num": 2028661,
"block_timestamp": 1602732522,
"call_module": "timestamp",
"call_module_function": "set",
"extrinsic_hash": "",
"extrinsic_index": "2028661-0",
"fee": "0",
"fee_used": "0",
"nonce": 0,
"params": "[{\"name\":\"now\",\"type\":\"Compact\\u003cMoment\\u003e\",\"value\":1602732522,\"value_raw\":\"\"}]",
"signature": "",
"from_hex": "",
"finalized": false,
"success": true
}
]
},
"message": "Success",
"generated_at": 1628587129
}
extrinsic
Extrinsic detail
curl -X POST 'https://polkadot.api.subscan.io/api/scan/extrinsic' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"extrinsic_index": "2028659-2"
}'
Request URL
POST /api/scan/extrinsic
Payload
| Name | Type | Require |
|---|---|---|
| extrinsic_index | string | no |
| hash | string | no |
| events_limit | int | no |
| focus | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1655186165,
"data": {
"block_timestamp": 1602732510,
"block_num": 2028659,
"extrinsic_index": "2028659-2",
"call_module_function": "transfer",
"call_module": "balances",
"account_id": "16hp43x8DUZtU8L3cJy9Z8JMwTzuu8ZZRWqDZnpMhp464oEd",
"signature": "a672d84b55afd71df5fd45e48043b479e762124ff174db116ba5cd979040544b3b536c2e66a72231a698d4d0588f89470e25acbe8ff39ba7b78d302034a63e00",
"nonce": 5786,
"extrinsic_hash": "0x3d944ee0f1aead94a50730eec73aba16c930ca9f468a63d11415c73c80e325ba",
"success": true,
"params": [
{
"name": "dest",
"type": "Address",
"type_name": "",
"value": "105fdf37958064a0c87096bd9cfbd307f955f275f3979c40fa701118ec0e657a"
}
],
"transfer": {
"from": "16hp43x8DUZtU8L3cJy9Z8JMwTzuu8ZZRWqDZnpMhp464oEd",
"to": "1NUFGnNcUpGh2biqtQ1yND7NCDY3q2Eoh7PbsurheeSNmAH",
"module": "balances",
"amount": "256.109",
"hash": "0x3d944ee0f1aead94a50730eec73aba16c930ca9f468a63d11415c73c80e325ba",
"block_timestamp": 0,
"block_num": 0,
"extrinsic_index": "",
"success": true,
"fee": "0",
"asset_symbol": "",
"to_account_display": {
"address": "1NUFGnNcUpGh2biqtQ1yND7NCDY3q2Eoh7PbsurheeSNmAH",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
},
"event": [
{
"event_index": "2028659-2",
"block_num": 2028659,
"extrinsic_idx": 2,
"module_id": "balances",
"event_id": "Transfer",
"params": "[{\"type\":\"AccountId\",\"value\":\"fc4d6069cb980fcde6ef73a46f1894d66c152e9ddfac3a499cf6a1654ff5f55b\"},{\"type\":\"AccountId\",\"value\":\"105fdf37958064a0c87096bd9cfbd307f955f275f3979c40fa701118ec0e657a\"},{\"type\":\"Balance\",\"value\":\"2561090000000\"}]",
"phase": 0,
"event_idx": 2,
"extrinsic_hash": "0x3d944ee0f1aead94a50730eec73aba16c930ca9f468a63d11415c73c80e325ba",
"finalized": true,
"block_timestamp": 0
}
],
"event_count": 1,
"fee": "156000000",
"fee_used": "0",
"error": {
"module": "",
"name": "",
"doc": "",
"value": "",
"batch_index": 1
},
"finalized": true,
"lifetime": {
"birth": 2028654,
"death": 2029166
},
"tip": "0",
"account_display": {
"address": "16hp43x8DUZtU8L3cJy9Z8JMwTzuu8ZZRWqDZnpMhp464oEd",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"crosschain_op": null,
"block_hash": "",
"pending": false,
"proxy": {
"account_display":{
"address":"5Dc1tzx4QDEDXetr98Mk4RjKSMFJiLBqr2Gmco7rjz8YfwMP"
},
"call_module_function":"transfer",
"call_module":"Balances",
"params":[
{
"name":"dest",
"type":"sp_runtime:multiaddress:MultiAddress",
"value":{
"Id":"0x387aed21a43ed189c8f0d14aab6f05f715f1adfe670efa6090208ddd4efe991f"
}
},
{
"name":"value",
"type":"compact\u003cU128\u003e",
"value":"90"
}
],
"success":false
},
"multisig": [
{
"multi_id": "2028689-2",
"call_hash": "0xbe406c4c2b3754f5cc03110c702776516edf04d5a6b8a3db62493c129119a13a",
"multisig_account_display": {
"address":"5Dc1tzx4QDEDXetr98Mk4RjKSMFJiLBqr2Gmco7rjz8YfwMP"
},
"call_module": "balance",
"call_module_function": "trasfer",
"processing": 1,
"threshold": 3,
"multisig_status": "Approval #(Approval,Executed,Cancelled,Failed)"
},
{
"multisig_account_display": {
"address":"4Dc1tzx4QDEDXetr98Mk4RjKSMFJiLBqr2Gmco7rjz8YfwMP"
},
"call_module": "balance",
"call_module_function": "trasfer",
"processing": 2,
"threshold": 2,
"multisig_status": "Executed"
}
],
"sub_calls": [
{
"module": "multisig",
"name": "as_multi",
"sub_calls": [
{
"module": "balances",
"name": "transfer_all",
"exec_status": 0,
"subcall": ["other sub call"]
}
],
"multisig": {
"multi_id": "2028689-2",
"call_hash": "0xbe406c4c2b3754f5cc03110c702776516edf04d5a6b8a3db62493c129119a13a",
"processing": 1,
"threshold": 3,
"multisig_status": "Approval #(Approval,Executed,Cancelled,Failed)"
},
"account": {
"address": "Dm3seTQGhTrJp9Uo2G8KUCLtfPL5b3JXtwwx4KfJm9MvfQj"
},
"exec_status": "Success | Failed | NoExec",
"exec_result": {
"module": "",
"name": "",
"doc": "",
"value": ""
}
}
]
}
}
multisigs
account multisig list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/multisigs' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"account": "12YK3LD8FzVgyBuN6mQkCaZUHyExQdjyvX1Fn67DJ5A4rL2R"
}'
Request URL
POST /api/scan/multisigs
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | no |
| account | string | yes |
| type | string | no (all signator) default:all |
Example Response
{
"code": 0,
"data": {
"count": 1,
"multisig": [
{
"multi_id": "198023-2",
"multi_account_display": {
"address": "HCGtRS5EhDuNK4ox1B3VWrRNB1efSYXmtysy5u2SeWdK1WF"
},
"account_display": {
"address": "12H7nsDUrJUSCQQJrTKAFfyCWSactiSdjoVUixqcd9CZHTGt"
},
"threshold": 2,
"call_hash": "0x20377a6b3b58a6811febe2c8943b00856879e0675ac0f93aa58248932b00ad7a",
"call_module": "Balances",
"call_module_function": "transfer_keep_alive",
"status":"Approval",
"block_timestamp": 1602732510
}
]
},
"message": "Success",
"generated_at": 1628587129
}
multisigs Details
account multisig list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/multisigs/details' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"account": "12YK3LD8FzVgyBuN6mQkCaZUHyExQdjyvX1Fn67DJ5A4rL2R"
}'
Request URL
POST /api/scan/multisigs/details
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | no |
| status | enum string | no(Approval Executed Cancelled Failed) |
| account | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1678780944,
"data": {
"count": 2,
"multisig": [
{
"multi_id": "12539327-1(string create Extrinsic index)",
"multi_account_display": {
"address": "2pmrnGHy1H2oGuw2sCdCXVyVsMTUcMfN9QY1o4fTbDqBcg2a"
},
"account_display": {
"address": "2pp5aVQahtcN3TgAtiJ1DCi2rg9rSXm3UzUc2Z84CsP7aC8e"
},
"threshold": 3,
"call_hash": "0x63e8e1d2c7b1e29c9b59bef202e67c142a8b7a7b6bc61f75e9740eff22f9914f",
"call_data": "0x04030070f4429de1415ed8ef3e55a9c1942926d9df851e10838e78f9dab42127858c7c025a6202",
"call_module": "Balances",
"call_module_function": "transfer_keep_alive",
"status": "Approval(enum Approval Executed Cancelled Failed)",
"block_timestamp": 1676963868,
"confirm_extrinsic_idx": "(string (Executed extrinsic index))",
"cancel_extrinsic_idx": "(String)",
"approve_record": [
{
"account_display": {
"address": "2pp5aVQahtcN3TgAtiJ1DCi2rg9rSXm3UzUc2Z84CsP7aC8e"
},
"extrinsic_index": "12539327-1",
"approve_type": "Initialize (enum Initialize Approval Executed)",
"timestamp": 1676963868
},
{
"account_display": {
"address": "2qMskW9mrrdUcFS5s7a3Pq5PxoTa1NTirDEggPUNmaCEJ5Ch",
"display": "你好达尔文",
"judgements": [
{
"index": 0,
"judgement": "Reasonable"
}
],
"identity": true
},
"extrinsic_index": "12539335-1",
"approve_type": "Approval",
"timestamp": 1676963916
}
],
"cancel_record": null
},
{
"multi_id": "7732208-1",
"multi_account_display": {
"address": "2tksdyLYpjp11BRre3QthYcWTomaepMhkWvFj25LoNZNkknm"
},
"account_display": {
"address": "2odJPxNLYkr1GKXTg7S3tEFhot3ndtcm9GqAFum4LjNZH9SR"
},
"threshold": 2,
"call_hash": "0x73b71daeb2499239344a3d4b1b27d0ce74e15abca0a7f623cabe29168d23f119",
"call_module": "",
"call_module_function": "",
"status": "Approval",
"block_timestamp": 1647920964,
"confirm_extrinsic_idx": "",
"cancel_extrinsic_idx": "",
"approve_record": [
{
"account_display": {
"address": "2odJPxNLYkr1GKXTg7S3tEFhot3ndtcm9GqAFum4LjNZH9SR"
},
"extrinsic_index": "7732208-1",
"approve_type": "Initialize",
"timestamp": 1647920964
}
],
"cancel_record": null
}
]
}
}
multisig
account multisig info and process list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/multisig' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"multi_id": "12323-2",
"call_hash": "0xf506158acd47414967f0dbd894ece3715880ed4edf525bcc2fff267ff3fcd4a4"
}'
Request URL
POST /api/scan/multisig
Payload
| Name | Type | Require |
|---|---|---|
| multi_id | string | yes |
| call_hash | string | no |
Example Response
{
"code": 0,
"data": {
"multi_id": "198023-2",
"multi_account_display": {
"address": "HCGtRS5EhDuNK4ox1B3VWrRNB1efSYXmtysy5u2SeWdK1WF"
},
"account_display": {
"address": "12H7nsDUrJUSCQQJrTKAFfyCWSactiSdjoVUixqcd9CZHTGt"
},
"call_hash": "0x20377a6b3b58a6811febe2c8943b00856879e0675ac0f93aa58248932b00ad7a",
"call_data": "0x63002200fe66e97151ecbd91beb3455d3dc35e70fba36e39d09924fad444143e4046176701fabb8542b14bb78670db4ae030872df5692cb1e38c88ff92d794cebcfcd97a7d",
"call_module": "Balances",
"call_module_function": "transfer_keep_alive",
"threshold": 2,
"params": [
{
"name": "delegate",
"type": "sp_runtime:multiaddress:MultiAddress",
"value": {
"Id": "0x441d91d745c133fd3fb6c816d12d1138a81debd567d8047a177a3d515345392b"
}
},
{
"name": "proxy_type",
"type": "westend_runtime:ProxyType",
"value": "Any"
},
{
"name": "delay",
"type": "U32",
"value": 0
}
],
"status":"Executed",
"block_timestamp": 1602732510,
"sub_calls": [
{
"module": "multisig",
"name": "as_multi",
"sub_calls": [
{
"module": "balances",
"name": "transfer_all",
"exec_status": 0,
"subcall": ["other sub call"]
}
],
"multisig": {
"multi_id": "2028689-2",
"call_hash": "0xbe406c4c2b3754f5cc03110c702776516edf04d5a6b8a3db62493c129119a13a",
"processing": 1,
"threshold": 3,
"multisig_status": "Approval #(Approval,Executed,Cancelled,Failed)"
},
"account": {
"address": "Dm3seTQGhTrJp9Uo2G8KUCLtfPL5b3JXtwwx4KfJm9MvfQj"
},
"exec_status": "Success | Failed | NoExec",
"exec_result": {
"module": "",
"name": "",
"doc": "",
"value": ""
}
}
],
"process": [
{
"account_display": {
"address": "H1GtRS5EhDuNK4ox1B3VWrRNB1efSYXmtysy5u2SeWdK1WF"
},
"extrinsic_index": "123456-2",
"status": "Approval",
"timestamp": 1602732511
},
{
"account_display": {
"address": "H2GtRS5EhDuNK4ox1B3VWrRNB1efSYXmtysy5u2SeWdK1WF"
},
"extrinsic_index": "123489-2",
"status": "Executed",
"timestamp": 1602732901
},
{
"account_display": {
"address": "H2GtRS5EhDuNK4ox1B3VWrRNB1efSYXmtysy5u2SeWdK1WF"
}
}
]
},
"message": "Success",
"generated_at": 1628587129
}
proxy Extrinsics
account proxy Extrinsic list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/proxy/extrinsics' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"account": "12YK3LD8FzVgyBuN6mQkCaZUHyExQdjyvX1Fn67DJ5A4rL2R"
}'
Request URL
POST /api/scan/proxy/extrinsics
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | no |
| order | int | no |
| account | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1667201598,
"data": {
"count": 17,
"extrinsics": [
{
"block_timestamp": 1666268856,
"block_num": 12968878,
"extrinsic_index": "12968878-2",
"extrinsic_hash": "0x5b7acc06ae92e71194f4e35554ea25251e8c5d0a42e300814ea069eada0b8c43",
"call_module_function": "remove_proxy",
"call_module": "Proxy",
"account_display": {
"address": "5Dc1tzx4QDEDXetr98Mk4RjKSMFJiLBqr2Gmco7rjz8YfwMP"
},
"real_account_display": {
"address": "5DFZVETNPHpbwWYDVxmWPpEbCr8PrZKeXkDD29ySV1v3QTXY"
},
"signature": "0x7a6eeb1de31c26b7f8758d0af1276d5f758a0d0fb4756d4820fbc1e4dc46992397fab02fc2715974008514f4723a5fb1c90e7e59ee59af8fe432796ea7910784",
"nonce": 104,
"success": true,
"params": [
{
"name": "delegate",
"type": "sp_runtime:multiaddress:MultiAddress",
"value": {
"Id": "0x441d91d745c133fd3fb6c816d12d1138a81debd567d8047a177a3d515345392b"
}
},
{
"name": "proxy_type",
"type": "westend_runtime:ProxyType",
"value": "Any"
},
{
"name": "delay",
"type": "U32",
"value": 0
}
],
"fee": "19615456200",
"fee_used": "19715456199",
"finalized": true
}
]
}
}
batch extrinsic params
Get extrinsic param data in batches
curl -X POST 'https://crab.api.subscan.io/api/scan/extrinsic/params' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"extrinsic_index":["10170970-1"]
}'
Request URL
POST /api/scan/extrinsic/params
Payload
| Name | Type | Require |
|---|---|---|
| extrinsic_index | array string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1666144850,
"data": [
{
"extrinsic_index": "10170970-1",
"params": [
{
"name":"transaction",
"type":"ethereum:transaction:TransactionV2",
"type_name":"Transaction",
"value":{
"Legacy":{
"action":{
"Call":"0xa546f42beb3dea617b0f3ca6995c7df5dfcad29d"
},
"gas_limit":"0x808d5b0000000000000000000000000000000000000000000000000000000000",
"gas_price":"0x008c864700000000000000000000000000000000000000000000000000000000",
"input":"e38335e500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000e7578598aac020abfb918f33a20fad5b71d670b4000000000000000000000000e7578598aac020abfb918f33a20fad5b71d670b4000000000000000000000000f3c1444cd449bd66ef6da7ca6c3e7884840a3995000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000026f10de3c80f5dd586420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022b1c8c1227a000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000004d0e30db0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044095ea7b3000000000000000000000000f3c1444cd449bd66ef6da7ca6c3e7884840a399500000000000000000000000000000000000000000026f10de3c80f5dd58642000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4be856d3600000000000000000000000000000000000000000000000000000000000004d900000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000e7578598aac020abfb918f33a20fad5b71d670b4000000000000000000000000ded6edd731f5f59feb2555ec3f1b6c085dc6e42e00000000000000000000000000000000000000000026f10de3c80f5dd586420000000000000000000000000000000000000000000000000000000000",
"nonce":"0x0b00000000000000000000000000000000000000000000000000000000000000",
"signature":{
"r":"0x5e4b8e8c728807ff6c8b1dfff7987773e6599ebd4a4a0000ca8cef458c10cdcc",
"s":"0x2f253d4f7ab62901c56dc6893bd33cc87dc8031d6cf4622b148b1ce87e94b3a7",
"v":127
},
"value":"0x0000000000000000000000000000000000000000000000000000000000000000"
}
}
}
]
}
]
}
events
Event list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/events' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 1
}'
Request URL
POST /api/scan/events
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| module | string | no |
| call | string | no |
| from_block | int | no |
| from | int | no |
| to | int | no |
| address | string | no |
| finalized | bool | no |
| block_num | int | no |
| block_range | string | no |
| extrinsic_index | string | no |
| phase | int | no |
Example Response
{
"code": 0,
"data": {
"count": 1507567,
"events": [
{
"event_index": "2028650-2",
"block_num": 2028650,
"extrinsic_idx": 2,
"module_id": "treasury",
"event_id": "Deposit",
"params":"[{\"type\":\"polkadot_primitives:v2:CandidateReceipt\",\"type_name\":\"CandidateReceipt<Hash>\",\"value\":{\"commitments_hash\":\"0x2224b7e631eb8addf943254af43307cdd255f54ed6c5a8f8272fbf44ec602405\",\"descriptor\":{\"collator\":\"0x34f3c837224e7e37ddeaeebf59b4dbcf0bc962a5bd4c5c212467fb071798b73e\",\"erasure_root\":\"0x298d4f8f664c76f852aae2326ce0b122d96fed47228024df6cc27b9a9545153a\",\"para_head\":\"0x2456275af702fa43f7041321b472bc1e3f2526c747a4edbc12871382b0c4eba6\",\"para_id\":2021,\"persisted_validation_data_hash\":\"0x7db5544d9262a08fd4d9836902486f2cb653f30b13b3d2d63de73fde195c28c9\",\"pov_hash\":\"0x4c9182dcaa156aaf0d9431a00677a4f90fda38b2552baa6978bd5eafdc22d79c\",\"relay_parent\":\"0x05d7675732faa8a1d7ed188e8333ab41978cc16ad2a7b1ff89e4a5e07e8480b4\",\"signature\":\"0x68643314f7368006e89896e9d375a3fdcb5784195cb0d0a4e29b791f9bb294303eca06e33ad1a8c1e28a1a4287d3f4db96e7aeed3c339396dc60a2b9d171c787\",\"validation_code_hash\":\"0x04f5e7d46ee5392c5846b3488e8d42048ca133919f4a4c9a039d1b5906f8c091\"}}},{\"type\":\"Vec<U8>\",\"type_name\":\"HeadData\",\"value\":\"16598b4a2aad3dd06fdb7d11684deabbcb205bc231cbd6096048ceb3371660345a8a25008c53ea94f7ae5be9d1697edf060ed9b4585105e90a21d6ffb52ec3ec3d8b929d7c5cdf1d4cadf4cfa822827bc567d28503285a851cab5a39a13ed9a302809a270c06617572612097ad3808000000000470726f64800278e3d862f1628d70fe631e0ad1c3af24f208ba7cb7dc932576fdfe77eace33056175726101015077ab522d7c96e159e2bc456ed7e9d8c3687f636a1bbc3489e4d21711da4f6d86aa8a81e47ea33dd21771ba92d34c0ee1168800e16d34b6edb63be041cfd984\"},{\"type\":\"U32\",\"type_name\":\"CoreIndex\",\"value\":9},{\"type\":\"U32\",\"type_name\":\"GroupIndex\",\"value\":24}]",
"phase": 0,
"event_idx": 5,
"extrinsic_hash": "",
"finalized": false,
"block_timestamp": 1602732456
}
]
},
"message": "Success",
"generated_at": 1655186212
}
event
Event detail
curl -X POST 'https://polkadot.api.subscan.io/api/scan/event' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"event_index": "2013673-2"
}'
Request URL
POST /api/scan/event
Payload
| Name | Type | Require |
|---|---|---|
| event_index | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1655186242,
"data": {
"id": 201367300002,
"event_index": "2013673-2",
"block_num": 2013673,
"extrinsic_idx": 2,
"module_id": "system",
"event_id": "NewAccount",
"params": [
{
"type": "AccountId",
"type_name": "",
"value": "8846c53e7d329e820db6a0e8bac8741576761a0caf7161a22ceae0b931a66831"
}
],
"extrinsic_hash": "0x49ae0be7a697e14b857f81a6f95a83704cbed6e9f887e34a4ffbe346486885e9",
"event_idx": 2,
"finalized": true,
"extrinsic_module": "",
"phase": 0,
"es_params": ["",""]
}
}
batch event params
Get event param data in batches
curl -X POST 'https://crab.api.subscan.io/api/scan/event/params' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"event_index":["134084-6","134084-4"]
}'
Request URL
POST /api/scan/event/params
Payload
| Name | Type | Require |
|---|---|---|
| event_index | array string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1666144850,
"data": [
{
"event_index": "134084-4",
"params": [
{
"type": "frame_support:weights:DispatchInfo",
"type_name": "DispatchInfo",
"value": {
"class": "Mandatory",
"pays_fee": "Yes",
"weight": 158080000
}
}
]
},
{
"event_index": "134084-6",
"params": [
{
"type": "acala_primitives:currency:CurrencyId",
"type_name": "CurrencyId",
"value": {
"Token": "AUSD"
}
},
{
"type": "[U8; 32]",
"type_name": "AccountId",
"value": "0x6d6f646c6163612f636470740000000000000000000000000000000000000000"
},
{
"type": "U128",
"type_name": "Balance",
"value": "206156739"
}
]
}
]
}
logs
Logs list
curl -X POST 'https://crab.api.subscan.io/api/scan/logs' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 0,
"engine": "BABE",
"type": "PreRuntime",
"block_range": "421396-421396"
}'
Request URL
POST /api/scan/logs
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| engine | string | no |
| type | string | no |
| block_num | int | no |
| block_range | string | no |
| from | int | no |
| to | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1633769920,
"data": {
"count": 1,
"logs": [
{
"id": 1212,
"block_num": 421396,
"log_index": "421396-0",
"log_type": "PreRuntime",
"engine": "BABE",
"data": "{\"data\":\"0x02010000003b91cf0f00000000\",\"engine\":\"BABE\"}"
}
]
}
}
search (deprecated)
Search block, account, extrinsic
NOTICE: This is deprecated, please use v2/scan/search instead
curl -X POST 'https://polkadot.api.subscan.io/api/scan/search' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"key": "15",
"row": 1,
"page": 1
}'
Request URL
POST /api/scan/search
Payload
| Name | Type | Require |
|---|---|---|
| key | string | yes |
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"data": {
"account_display": {
"account_index": "",
"address": "12H7nsDUrJUSCQQJrTKAFfyCWSactiSdjoVUixqcd9CZHTGt",
"display": "",
"identity": false,
"judgements": null,
"parent": "",
"parent_display": ""
},
"block_num": 15,
"block_timestamp": 1590507516,
"event_count": 0,
"events": [],
"extrinsics": [
{
"account_display": null,
"account_id": "",
"account_index": "",
"block_num": 15,
"block_timestamp": 1590507516,
"call_module": "timestamp",
"call_module_function": "set",
"extrinsic_hash": "",
"extrinsic_index": "15-0",
"fee": "0",
"fee_used": "0",
"nonce": 0,
"params": "[{\"name\":\"now\",\"type\":\"Compact\\u003cMoment\\u003e\",\"value\":1590507516,\"value_raw\":\"\"}]",
"signature": "",
"success": true
},
{
"account_display": null,
"account_id": "",
"account_index": "",
"block_num": 15,
"block_timestamp": 1590507516,
"call_module": "finalitytracker",
"call_module_function": "final_hint",
"extrinsic_hash": "",
"extrinsic_index": "15-1",
"fee": "0",
"fee_used": "0",
"nonce": 0,
"params": "[{\"name\":\"hint\",\"type\":\"Compact\\u003cBlockNumber\\u003e\",\"value\":12,\"value_raw\":\"\"}]",
"signature": "",
"success": true
},
{
"account_display": null,
"account_id": "",
"account_index": "",
"block_num": 15,
"block_timestamp": 1590507516,
"call_module": "parachains",
"call_module_function": "set_heads",
"extrinsic_hash": "",
"extrinsic_index": "15-2",
"fee": "0",
"fee_used": "0",
"nonce": 0,
"params": "[{\"name\":\"heads\",\"type\":\"Vec\\u003cAttestedCandidate\\u003e\",\"value\":null,\"value_raw\":\"\"}]",
"signature": "",
"success": true
}
],
"extrinsics_count": 3,
"extrinsics_root": "0x968380a445eeee3425ee890f71b2483dcc1c70636fdeec8fe35325e0d6618b30",
"finalized": true,
"hash": "0x859baa1b6d5e4763db6a166f35a8f759fefc38867c6779ef5c65d2d02ae7219a",
"logs": [
{
"block_num": 15,
"data": "{\"data\":\"0x0300000000aadecc0f000000008a2c7e5e0c97fce458beac977e6005c6c099c1270ae3b4de0949921610c37a67d82ac028ccddfb4760634696e64ebe7995b4afa4212502485bc6fb78d0c3950457c1b6138ecd6cea8fb40fc24e8d57241098ceaa8c5ad64c4e304b6fb3ee880b\",\"engine\":1161969986}",
"log_index": "15-0",
"log_type": "PreRuntime",
"origin_type": "PreRuntime"
},
{
"block_num": 15,
"data": "{\"data\":\"0x0e501527f753e46f2d5ffd4514b112dff4a43eae2951a4b936214888dc5a7706f457125ec0b7e71a4a05d219d56d1f16b6c65bd581bbcc1e8622a97701a29c87\",\"engine\":1161969986}",
"log_index": "15-1",
"log_type": "Seal",
"origin_type": "Seal"
}
],
"parent_hash": "0x7b31f75558ae258f341f5c4fce7aef372c30cfdf3cdc2df25729675bbecdf9f1",
"spec_version": 0,
"state_root": "0xa72be1cc2379f3b7096f2114b4847b0279e2e1d142cae1eb3a1932d22b6e9c7c",
"validator": "12H7nsDUrJUSCQQJrTKAFfyCWSactiSdjoVUixqcd9CZHTGt",
"validator_index_ids": "",
"validator_name": ""
},
"message": "Success",
"generated_at": 1628587129
}
daily
Statistics by time
curl -X POST 'https://polkadot.api.subscan.io/api/scan/daily' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"start": "2020-07-03",
"end": "2020-07-04",
"format": "day",
"category": "transfer"
}'
}'
}'
Request URL
POST /api/scan/daily
Payload
| Name | Type | Require |
|---|---|---|
| start | Date(2019-07-04) | yes |
| end | Date(2019-07-04) | yes |
| format | string | yes(day hour 6hour) |
| category | string | yes(transfer extrinsic NewAccount ActiveAccount Treasury TreasurySpend Unbond Fee Bonded AvgBlockTime AccountHolderTotal) |
Example Response
{
"code": 0,
"data": {
"list": [
{
"balance_amount_total": "0",
"time_hour_utc": "0001-01-01T00:00:00Z",
"time_six_hour_utc": "0001-01-01T00:00:00Z",
"time_utc": "2020-07-03T00:00:00Z",
"total": 65,
"transfer_amount_total": "6764435.1"
},
{
"balance_amount_total": "0",
"time_hour_utc": "0001-01-01T00:00:00Z",
"time_six_hour_utc": "0001-01-01T00:00:00Z",
"time_utc": "2020-07-04T00:00:00Z",
"total": 0,
"transfer_amount_total": "0"
}
]
},
"message": "Success",
"generated_at": 1628587129
}
transfers
Transfer list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/transfers' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 1
}'
Request URL
POST /api/scan/transfers
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| address | string | no |
| extrinsic_index | string | no |
| from_block | int | no |
| to_block | int | no |
| direction | string | yes(all sent received) |
| include_total | bool | no |
| asset_symbol | string | no |
| asset_unique_id | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1655186690,
"data": {
"count": 8052735,
"transfers": [
{
"from": "12WNUbjKPfezJdSUL5vWJV95wPtBhFPQyKV9jpe4tcfyTmED",
"to": "13dqRWDWXp1ozd8vRoQTRpgvtnTgPMZ7YJkfvczMPJ1587wb",
"extrinsic_index": "10735542-2",
"success": false,
"hash": "0x53d224ae6d8af14a291b7e48bf0d07f6c1a80b86f901693824b8388b4fc8b010",
"block_num": 10735542,
"block_timestamp": 1655186532,
"module": "balances",
"amount": "699.8843999985",
"amount_v2": "0",
"fee": "157000015",
"nonce": 2387,
"asset_symbol": "DOT",
"asset_unique_id": "DOT",
"asset_type": "",
"from_account_display": {
"address": "12WNUbjKPfezJdSUL5vWJV95wPtBhFPQyKV9jpe4tcfyTmED",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"to_account_display": {
"address": "13dqRWDWXp1ozd8vRoQTRpgvtnTgPMZ7YJkfvczMPJ1587wb",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"event_idx": 0
}
]
}
}
check-hash
Check whether it is block hash or extrinsic hash
curl -X POST 'https://polkadot.api.subscan.io/api/scan/check_hash' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"hash": "0x859baa1b6d5e4763db6a166f35a8f759fefc38867c6779ef5c65d2d02ae7219a"
}'
Request URL
POST /api/scan/check_hash
Payload
| Name | Type | Require |
|---|---|---|
| hash | string | yes |
Example Response
{
"code": 0,
"data": {
"hash_type": "block"
},
"message": "Success",
"generated_at": 1628587129
}
token
Current network tokens detail
curl -X POST 'https://polkadot.api.subscan.io/api/scan/token' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
Request URL
POST /api/scan/token
Payload
| Name | Type | Require |
|---|---|---|
| t | string | no |
| q | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1655186752,
"data": {
"detail": {
"DOT": {
"asset_type": "native",
"symbol": "DOT",
"display_name": "DOT",
"token_decimals": 10,
"total_issuance": "12024561209662193946",
"price": "7.356993258680762",
"price_change": "0.060211543",
"free_balance": "12024561209662193946",
"available_balance": "3706341287445350079",
"validator_bonded": "13991575634473639",
"nominator_bonded": "6317969551956084800",
"locked_balance": "7125816069416346666",
"bonded_locked_balance": "6580877179128054003",
"unbonded_locked_balance": "501402167800562548",
"democracy_locked_balance": "369132339396910446",
"reserved_balance": "1192403852800497201",
"election_locked_balance": "2463856597140462636",
"vesting_balance": "954348641353258444",
"inflation": "7.765856289627089"
}
},
"token": [
"DOT"
]
}
}
unique_id token
Current network unique_id tokens detail
curl -X POST 'https://polkadot.api.subscan.io/api/scan/token' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
Request URL
POST /api/scan/token/unique_id
Payload
| Name | Type | Require |
|---|---|---|
| t | string | no |
| id | string | no |
| q | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1655186752,
"data": {
"detail": {
"DOT(unique_id)": {
"asset_type": "native",
"symbol": "DOT",
"unique_id": "DOT",
"display_name": "DOT",
"token_decimals": 10,
"total_issuance": "12024561209662193946",
"price": "7.356993258680762",
"price_change": "0.060211543",
"free_balance": "12024561209662193946",
"available_balance": "3706341287445350079",
"validator_bonded": "13991575634473639",
"nominator_bonded": "6317969551956084800",
"locked_balance": "7125816069416346666",
"bonded_locked_balance": "6580877179128054003",
"unbonded_locked_balance": "501402167800562548",
"democracy_locked_balance": "369132339396910446",
"reserved_balance": "1192403852800497201",
"election_locked_balance": "2463856597140462636",
"vesting_balance": "954348641353258444",
"inflation": "7.765856289627089"
}
},
"token": [
"DOT"
],
"unique_id": [
"DOT"
]
}
}
raw extrinsic
Get raw data of extrinsic
curl -X POST 'https://polkadot.api.subscan.io/api/scan/getRawTx' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"extrinsic_index": "7564189-1"
}'
Payload
| Name | Type | Require |
|---|---|---|
| extrinsic_index | int | yes(if hash empty) |
| hash | int | yes(if extrinsic_index empty) |
Request URL
POST /api/scan/getRawTx
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1636077027,
"data": "0x85f10436000d03a00000000000000000009ef5cdc6ea941a1d32a68fc99917336d960f475529d22d268ac5e4b8aed43d7b028806b3c74538825649609b5ef5591bba689a2a422c495a398618a09355fc8ea00000000000010000008adfb6ba91d67156ae34f8ae6cf61f7ba167f9bc897424a0ff89cd8b39af7f6b867279cb5312d00cde78be63e487160f70d73dcb866ab7f1671d1176f557988aa00000000000020000000e4e7bf7b8b68271a115289625c7803b8bf9276d5eb8a206f4a970307215765b813dbc2ef9eace537a9c6a3f6699126dcbd2c6c493c5f72758888b3949728087a00000000000030000002cfd890ec26f1b73a6e2d6af71ec3d82295fb18997cbe9ce608e4a907990083b7821102349ae57b1dee802f0adae1673f26f05a1f385dade99799f4839c3ba89a000000000000400000056de5ea5f78cdd3ec547b67b3c35a57c62667f7b8f61949aeba5e207b5b78354bf1f3675031de8c38f3b5a71bfab97a07dcdad2e41e79358ba12d8115b7adf8da00000000000050000005c0dcd77f8c32ba0dae83585f5598e13b7717e6c464f08491a598c9fdfaa8e7c7369d7a735741c45e6385c44562d305ece9f6af7ff524de7fef90f6e8c212b82a0000000000006000000f4c2e46f50a995f5d4a985d612d30a52beddd0acedbb88f4d6001d5cfd00806d87c24fbc6563b43c5781634fa3f00389c56a42dfc754bf3ff74d035ff4994980a00000000000070000005c6e12754be57d83f97b5a41e3c2721547c7cdbaa359bba3ee320e5b85fe3803040a19e9995e70003fcab6e3e48f0973fd7dfcf024af79530402745a4d55ea8aa00000000000080000009aeb4322793106f9d080c6ccbcc1d56babeefaf7ab1345d9f60d2166433fa90e9a815d1a97d800fd647113880301a17e6b3bb80f1e322484c3d9f9b2ba900c8aa0000000000009000000e237517cf2914d9f52e606d8af925deb213554e5a57ac0331429392e7ef3350b5839be0619e615a98f049e72b2e21b96cf66a59da7f600db885ca9a3ce3eef8da000000000000a000000b8f568fff82e574114b72d2305d5832a94dcb0d41b54ba8de09545dc2269084178390852c743a3b13634ccff945f2f288b59d0ccb04a45b4782a5b5bbd1c848ea000000000000b000000062ca897109dc97b18ccb8fba98a0bb82c75fcf87277d5db54601dc4b5bc01468cad1fa6e16f7d98b58b6b93acd6c55171c4c6bce297b986ef03a0c8ef4b4d85a000000000000c00000038f1dd74ff9e5cab25744e5c238ce6d465b031b169de3b6ab6b71b5dc82cff7ec7eceb33694d5ba77172ee909d30f1d43db85707479ce04594363606b3117a8da000000000000d000000e04361c4de4f91bf5f89ec8e476329dcc6d7fa7a28bf701c7be587485c89f3676c35ff89a5368415f6cc1692ccb58bbf138fa6a04248b71ae550ff16a329758da000000000000e0000000edb59fc4b8d45dc861815cf618ce955a3fec7baf67344287a6c3fbfdd4bf823a9f91407ddabf51ef0015b4d39312c41cfdeaa9d34e203d139f8165c9772cc81a000000000000f000000d66544efa80eac7a9f6a5ad92f878230fb43c22b008c058128aa93c347e89f7cece7aecff05619ae032d2326404f800865719fe0be2c27ee9049a0711a91158ea0000000000010000000a211f9d595d0cb3374bac7e1790e449e23a29dc3a12536b0f7ccd4b7b1b4183f2262596896c9e4d3f6a0138776a8d2039e36a44557af3b2c094e421f932b598aa0000000000011000000c2d65c61c9f72547f044b5d63c1bb3a6ee6632d444f12fcdf27d793c9c399c05ded19b7c7daff8601ad91a0c01513fb57f26d43cc4386bda3c690181fe9f1f80a000000000001200000004f2e8bede4e723de6f9edd22db5435462cd216ac6ff284cf9adb3adffad725acd881d9d63279220fac7d320c570a2a748df5fc2b9ba191c4a4fbb396932dd8fa00000000000130000007c2a4613125dc5cc550cda42a66df370e1b5178e38b564a32d3e168ab83c6242fc22564cbce4ebfff9207b56b1ddd8c88d697021f499a201e80c7efcc266c48fa0000000000014000000d804ad4074b489995d535a4e3952a9cec0e9d9e2917dfbb56ffc118e114b5753cc4c07cbe223142169e31f4cf28fb0176e66261b2ddf37bf7d31207c5551cd89a000000000001500000082c80344a7da878d9d7d4839f23ee825879014766a0ebaa13f8240f2f2ffe27334a69725d402a416c76a936b5a3b214db46fa4dd503ca8dea84cac68f011af8fa000000000001600000072698f6a5d549051b6e6a2fcb1bb1a3dc9d0813cff8da30f8c32af53b87a50763e2ff92cc8d396a5b092cfcd9ce0cb8d4f9346f0fec470bb2bc00d5fe561848da0000000000017000000d2b5e719c1e484e0a757b193077b7c8551c70b3e8646ec125979a15bf1b0ce39b857ff4d2215f87e44224dc1e200365b17e2c20d7c249f9d16efc29aba017a85a0000000000018000000bafb50dfe518c4590f3968c3820390471552816439a070431ec326dddda234470b45cfd6334a8b668f6c908b0dc93ba99fa47a4df841e0f5ca5fbec5c66e638ea0000000000019000000a0253ab8bcb5f77c2a3b42e8073413923c7d1000d4c7a292f0051b886ea4d8406c1bd43b14ddae6a86c91c6f8e98959418b402304ecdb1fa78887e894ec88982a000000000001a000000e4f40ea32c5e866e55eb941d1837369c9d878ce2fef054d138d019e9c557972a3e3def99339db5532bc96a3cca0c7d439b256767f8a8b96b27d72ed6eddd188ea000000000001b000000344bd27a201be19a228ee08d3252d4750a596ab925b0ca62ca2f5aefae3a2f00731fec7461c8b27ffe27d9e7615aced882e0c2e0936828bb6f8d7a96a0694d8ea000000000001c000000849d0a9b85c7e3c7445befff55072a41cfe870609474f8c7828ddfde92287474fc913a69f165e671eb1970c22b7030406b14c341543b09a224fdace34bd21887a000000000001d0000003a86d2e92e58cdaa62cfb8659dd55747b790675f6c1e3fe4f9b751cf8af5936afc62d4083180d3ea1a62690688e49b8217a14900268c0f0c1e3e01f384a2618ba000000000001e000000a6df17a72449a974ea0f0b16218ffc71b1a9cf39344d78f56d99929eec7c3f2fbc866fe94f05e168f4525b20d16b9e0560373f54a5b653e2b1a6d4e8f98e6188a000000000001f0000006628cc88f5376b0c7bb81f3d5e34a4074efc55a744d04210ed54fd6223ca913d86f5545c3bb0fc4e0de036eef28ba2eaa7fc526f7751b31d37de2e68869da982a00000000000200000008e598d551255ea6e2a2c24cc37857e7aff370e9f075c6dba002d78202d386465227d95c870188ace2805eb107ed602e87e7d05cc748e3383daedf93358bec18fa00000000000210000008eab287d1b9b32e04138224e060d443e9292e308717f09e6a78ef04b5393d07be6402d56289f182f5f4d538ffcb68c4751141e02b67fd10ef646c6b6c4eac687a000000000002200000090849d70901bd3634d5941fdc5c8f2253df8fa84f3d871242920ad9dd62d6c3e54176e880ce7421e7818852ec6028aa14226f017005b00dfd76e3faa9f58e087a0000000000023000000d4e5d04094bf7e1cff67be1a00b498bd9c51b400374a357e6dfb735eb0290273de26806d8afe0a615d21a1b61887d646d2d9b3bf5a903496c86eb64c32c6f78ca00000000000240000008e1290b58a819d63481349930b9bdebd902bf851b75fc412ac65561fcca3704d4cbf39f50bce307afcd9df086bdb8aeeaaa25a3da3b97370a2c98db23bc13983a000000000002500000034d4e13375534eb9c18e5e604c6a2e3d8e37f11f6a254fa8722d691b990dbd23df506524a3772cdf864f16cdc455def6136c47a96148c7214838ab4c422f6584a00000000000260000003cd0126d9991a33a8a92713e0784a0bd1a3c980a38b4ea207ba58006313c7409bdbc786ff11a9947f5f05e632e117b4529b5a8c201784c926989a7773529e48ca00000000000270000002a6144082dd5dc2418ce8c568b642c782b930e284a17b39f0024d9af347fa9568cdc9c852d947f8ef623d0c3ba4af1fd9dbefbbaeaba5d9c4b8f1df27d12ad8ca000000000002800000062ac2790523f9f9fce7e4f70f154b47a9cbcad7a1d4e5cc030a8b36470c613742a14c65f0662deb5846b302cab7ac34fce54b4704793c24d31dd62b469cd5c83a0000000000029000000de1f271809b8ca8ccc89c0fb9cbd4f8df4a11e029aa9b6e4038250479f471e60cb705fbabf8126d49dfc3fcc805b7a9c7579f1f4d694afca97e0ec08d7e13685a000000000002a000000de1713e80edb490e13bccb292f173b2646932d6742a834a3ecf894cebdc01a5bc94758db3a36abee9da592f7e63962d86afa4e0daeaba24efb831fadf4092d84a000000000002b000000fa24d4ce531089bacb4e3a2fd8c91f0a6490b94f393e085c6ece3b1393f9fd289132f3aeed2b5ee53303f94bd9c955e79a57d9490f123b3779effca484b7488fa000000000002c000000ace4cc18d9180f122334c94c08258b97ed9d8b0ee4583893969542f9abefa846f025a92ca2a8df756e17e87caa594d813fae5e044083410563d15e20f7068e84a000000000002d000000c0b39247464c873fe89a06315db8bceb1abb2433bf99bd43e76a5277731ce855b161828d0a6e89525aa30e391ee86127c099d4c56d472f2d1dea07dd9908bb83a000000000002e000000ac8831aeba2d4a07352e19f62a68fe7ad40f605dbcecaedee98c778cbbed695f4eb2464b452aef92ebe466605260ac5c44b60b44851f9ef76ca1e1ce70f3938aa000000000002f000000e851df2c5db7a05bce595b614e2e1f1c389343c21da1521f36757ccb8bb83e233c50e351ffd5e41e059b3d29b2b9fad6e6ab97b6f5ef662ce7e7ed0ebf1f3983a00000000000300000001cf28f41a2080646f1a422ce64a9cdc2e804665277e8b91ee6a45cb31017325e0a14b2f927f516db7f5c052d1e610edd76058622faba89c29ebd1f4537278788a000000000003100000048ecb210c638767bda5c00299426d3cfe889073d4db2523b1ec59354048bb34257cbf322c4af00409b5729191420c6caa6b36e94b0080c92e196065f410c058da0000000000032000000c4bcc59b0997b14d1f265a6b9807915815863fefb97d8deaf19854c0d0404a5146086bdb3da8adb59d737fa088e83e2e628c166705a874fd529ea938d1203b82a000000000003300000004da11b993ebdc6dca1610d56ae69c5a52b69df9671aa303842a0bc265cc0c4734653280885583dee459ff531a928ea8bdd78e16e40b131130b862121a696481a00000000000340000000e4417738cec550543b50d87f2a79f275bc2d351f702b647a37181a29904ad3759c609c6e7216e4bf40835f1d188546798f644adf0b73d55fa39c3dca448c888a00000000000350000003c20ca4d7b1ed3fca480520f8bb414d9cab176f94d1305f86c1bf613ac60cc0a0cec06b817bdf6287f1766c32c6ff17ca35d9c614bac4d83e68855ff487ec485a0000000000036000000d688153a10370fc924d110db4a0c3f8001a0c17494f22fd34e7971cc16aa8c0400932b12000ce187b172d2bf5ecc60c979a7c8685dd399626f662f9102b4048ea00000000000370000003cb8068b44f944250e75bf98ff339a3597ea7afbfd98b08841a29215e6e38c3ddc92a405aadbc9f9511731d55152f9aa12fb8ce40fae6d39fec33c99004e8687a00000000000380000005425161290e18063982cf80e990d729719956398626dec7fdbc37657a903a251c2230d3f50da8762edf81f986cfeb3bdf01c0e2de8c3de972d655553c6aebd8da0000000000039000000e0dfef13f6b7e8d92659cc0b2037b76f88d08b0984f8f59114915c145acfaa615f95dbb40f6346b61916b586cfd4dc0cc3e890108269475af3f5a92f2912e382a000000000003a000000fca32649168970c482797daf42539023b384bc80861a2dfac75a6b2626feb861fa590ff21be838bc6d1afd9ec4c224f56dc3834114352cb6e1d3160c85c3cf80a000000000003b000000fa10dc13d4892a347a95026d1a103b3173bdf6d281680573c37bf682573d193664b4fd5dd6632f7f561383f5c9f04b1e9905539f1c3859ac2fc59868adc8e486a000000000003c000000d28d75595f1bbb718ecbcf07f43be3e13a216dfb15faf0a549a6a60ec85c406e833eddfcdb93831ddf2c11392b70cb4dc23250068a52e8e796e81dff1814478ea000000000003d000000600c213209d006cf868656f21b70db275f209d42e93c492ba5e4aae51e970b121e8253fcc4d09ecd274cb5e123a54db28ad9e3982e49dae755fc262f78ac0a8fa000000000003e000000247098831fd101baf04bff8a5793892f594ee2fa5ef9089e47713b955a23620cc25ccea6670c4fa8c884a44fa5e311dcbab923c19e4efd07796a6925c6ea0b8aa000000000003f000000604b1aece731bbc80efc01c4e4014276aa70b1b8ea602a85677d87aa0437b706c5f10032b484f0608bc99c126cf42dae882af6609bea34e5394fe4561df93185a0000000000040000000a245cd2853c657e860210a58af3005b7954c6868f5aefd9f122d3c9a56c43c1f64dc919a2122f9c7d54efeabf2090a2894caff670cf5c1a39bef06c66e2af883a0000000000041000000e4b0ecb7aebaa5a6158a76401363248372422f86fef27327cc42b896201fc247fa44b9afad1ea5c5476f9fd3cb6886196c50693abff268f06d40359591c5af86a0000000000042000000ae697d8c691ebb149c1cc94222e5ad61c7c215fd9fd558f8c871f4bbc2ec033ea0c02d62f2ad6b343558830b645dcdaad7c26c27953de597880510d19889d787a00000000000430000009e8c57de644e24d02a06538b9e6ab51c004513a26db263a78d492dc00d769f3f11afb67fab91c69459f2db2fb7392fc945c9223a467a546d46d5df7075e71e83a00000000000440000004c5231b56831ca57cb56fd32e88b120b6bde3632c2fd6023ff4d719ca00e49729165fdd7fe54e74e0fbd6d4bd3c08d3dd915b6d5c6d96cc5b0a9db4484cb2883a00000000000450000004ce875e7501aac4e3c582e41c830c09db2c628fc98b6726b551e44ba5abd74113e2310e690084378b9824a919c4f561984b94e1e09d9d0f18c8203aab410778ca0000000000046000000700cbd3048575698aa404f242159eea526f908ff4e9d8f9879eb20ddb4aa1c1daa968bed21a2cc8aaca05008e1ba05a206a1d6415dc23e761234f2f1a42a1e88a000000000004700000056bb6d762d0458fc54a916826f7d8227aecb9c911e85aff53e7ecaa68bd6b65bd8acbec40e510d6f5645f49dce523d8e0e2d331f51cbb7c829e72972a8a2ab8ba0000000000048000000320ed291ac6a9fc51eeb64fe041021a8a2dcd58a8e9981573c7125d0a15e4075e36c46da115671bbce776bde81fd4a57a73567a132d3afdc5d8eceb109a2ab8ca00000000000490000007ad7bec4bd7ea98e4129440792158b6b7159e36a427d29cf5ad6d7d67528f86aa605bb98f7c909c9ef8a9299775fec0d27974a3ff2a483f78960fe8bd3b8c581a000000000004a000000723835dd1b2e3776e176db9e0f717e06c30f871c2feee4d3d11aafb1b1c36a7a570dbb360a3e8f9aab49dd3291dcd26a04d64ed6999bea1c87fe4e9c9b1c7784a000000000004b000000100dfb3cf427a29b63097b8657d62bd067594d3e6d2a26cb5a6acffa5558161dfc31f4f3ce632d620053ed05074c98eb17953b77ab24d9b3d8dbfb115691018aa000000000004c000000140ca77cf221a40c98ae1e059250b69bcd591c98429a83976c4daa2cebec7f2713bb5ce829c84182b3eaf6daa58be413266a05bb1f36b6afd85814ff82567786a000000000004d000000ce38b47f137ca3d6e73a2511a33230607edb4b89dbc01264033ebad604086f08985eb37cec1c91b1c3c0316ffe7b8f4ed8118668749a145f05da2cda48e5cb80a000000000004e000000c09aeb6ea49bf2322693854b057c4cfa1cb4860cad8838430280d8198b8bfa1f9c62a24b856b8abfcea26cd04f1d12156ea16278d545b4b33ce3e5f30cdeff86a000000000004f000000e64200e5c0b87af871d86745a907be6204cd08ca4ddfa04d70dd771c086b8f27096be5c066eb815362840c4a6d1ddcb81d2aa8985a7cdecd6b1b21dd1540fc87a0000000000050000000b0588410183b717275f7b324c550c7d0f367cc23d5ecf4543560454104ef864642fe9d0f27bc99a48f01699cecd3a57dab6013e9000686d4e18f600d3463e681a00000000000520000007c133748a25d7d4db7bb4c67003acdb0c169f0a1645f9ea774b28e1409d4ae085b63278f830ac6078411497e13d8a830a7c4ea4d7c41a442759c83c32e5a3187a000000000005300000036b28d99c29186ede99c0cd2851495dca51800a1b3be3fce8fd86abe1919b40172b88300888b62ca730e0f19e96dc19f66e868555241466a0a82eb5f1f36c883a00000000000540000004895c48a465f14ce40f313b8e43bfebe232619f70319cca7b137a340aeda79558c07edab3ed69711f1b24c4e96320663073fc50057233287d6fab3caf5e5c281a0000000000055000000402b72ae38ffaf6f8b7ba9f6929e296dd8eed96ec3ebc8ee37ec420ccd1feb75faa73731f22d56c93cddb9424319c5039a69aefa7474ef4fe06da7e6802c218da0000000000056000000a4197a7cff97f0f75b749d498157677dee41b1812788cd27290efc346c28393a1c24e09fec4c33118f13adec08103370237d4163ac53a9fe240ffa4957ff1884a0000000000057000000f86bb90bfd440e3f52627330123cc323a284e178b760e42340fa5db81aca201f65828a79137b6ecf1077d4f8f65dd130288948083a916c025ebe43d154e14285a00000000000580000008ea117ad6b5bb6f03c451ef38c6a3788d2788f199392b9e84d2409adddf6880b7810a7e774766dd557307c0eadaa0e5fdd18b45d746706b0b96e9805d741b184a00000000000590000004a9719cdb4a3fc418990c17a95403afd05bbafcac307f32a93d813509230c80ee46741f8327be63a9cedb8a168d3afe1de63e053bf2c7aafebbe665602a5ec83a000000000005a0000007ac323207325a648bb439d0635263e083087fc9af0e013c0af0f48743dafc823b80ae2167f917b73a68230d7fca9ad9e685eea00caf7554baac076e926670c8aa000000000005b000000e8780dae8e4ba930b69eb219b23588142bea92c0eaf6be79055525298c19cb73a716f189e97db2f37b51021d291cd38f788a73f4c5b03361e5674eee1b651886a000000000005c000000b47f8da994967a2d84dabb776bba20457d36097c6ecaba726ad1d378260aad5c726ce36bdf9a3a1a1f4758ae6bafb8a7b653980b25d975c5aa466fa816986c8ba000000000005d000000143e817166094c507e73577694ddcab4e7bef267198e2e2e6a77916b94d53f586508ead2881d46e524406a4e157b6a923806f8646f20432a25119ae98cef2f85a000000000005e000000ae04df789cb3f4f25a70239770c02c33e3e3d28adfbff849e04fb228c45d6d6515702c1a9ea6ef016b77f019145641420eb1a5babdfeb03c5d1aef7998974e8fa000000000005f0000004cb9ed901e70cfcb7cf0fd39e56a87c1fa44dc45e2eb06c0ca3e57377a61361201b7f2fa7491a0861764ccad352d9e700cdfac5d381805accc38ea17cbf5b58da0000000000060000000b22f3cff56627ed7bd8fddd967cdab0918ceed9a5bb7d774821254a5ec511f04f09fe66ed53c9ac448f0fde4442b02492b1ad85c073bda37b5e666cfd648078aa00000000000610000005e51cc11d9d1423dc476cadc7260b6c6d0549e17ee77dcdb432389071815a12e34e8c468f2f729414a08bfced7421ac84c1df18d52c6d0f85066e0b9fde74688a0000000000062000000fef9d8271e319e3716350e02f2c7a5b7f4772ae78efb3cc6b3776a2c887ac60173593943ce13caee0d35d64eaaadbea4580620f3820def8d4ee26ce72f7ce088a000000000006300000090e890d8805b8c38ffd1e525f4691e0f79f3cc24cec2100fd733bdb4a821634b596163cbc49fbebee606855908b8ec456467eaeabb9816affd47244236815286a0000000000064000000ecd8dadc1ed13aca82e754f6ce97fb640eb71c0ca36a22fc552a1b4f4f290d7a1bac725cf1694898cacaa5f743cf59a1244c17049f6dae01f59b7f69812abe89a0000000000065000000b0830eba3af685f8269bdf95f9a36b6e3ebded139693e2a67efddc97a1eb296018982ba369195124463afa410c7eedb19d22c46ab0dedb45ac1d4cee48cfbe88a0000000000066000000064a6109fe99f2305384a0ee3411466c3c8bd6a1b05ef1f83a63ad9a4300511618f1a15b7d7377b838bedb177ab8c97837067c5053bba9e578c1fb59c5a62386a0000000000067000000d4add3bb7324a067dffa9f354cf6721e1fef66d160885bfb752223e6e58b68099a377d529b6737550342277b35802b05e4587d8802e1188a6e4fa712654da988a00000000000680000007e50bdbe599c36e6dd1e2ed050e985908be145c069a1e13a968eede2db12f423248581370dcd06cf126f4903aec001edb3ce025cb7435992bc55126d9911388ba0000000000069000000c0ca104be60d37cf3427d158d9b3a96a2786659903ef6eeb9fc8c1760a6e243ffaaa679bf79dd77c18c252741f6422d661324b87626b0ba0e8033784fa34c481a000000000006a0000000ed1274d3e4b76ebcb053f12067006868e3a00db6fa612ec6203e2ac06d1e145b3a47cb5bc52456b5077df87ab42b97ad7893cca9b6db14ad3c9e7c2dc9ca189a000000000006b00000018b8b894227e948081b6d16f96353fe759572bac07f952c5661506feea04750b85d8e798ef38a88d68b4392accc27cf7424ba2cfc43ca7dbd4b8cec8b602ba8ea000000000006c000000fcbfea26cb4b62c58df5937ce2f35871fe98ea8c2fb81bd1fe1d30e37c51a9233b41ad42eb7aceebb3fb375f0e4cb1dbf84942d82c994079ee67f5b324ec3580a000000000006d000000bc5a39af70ade80ad9d0391ac4ab9fbdab66f7d75c22a6f2ac346bd9c963e329a1e0f9238854f73833356df9332f61c0235ca162f43776a90373725a4ffb5d8fa000000000006e000000c0ac058191813bb4242f64c44dcbc2656533355e78b4355b3e8f82e882f8f145e4e1398c36f0b9254ea359f4cce28506d76673fb01608876223a9a0072b4688ca000000000006f0000002c92b3ba02b8cc737469edc377e821ddcbe66773b98917c71eb37d1c4ac2b915db4b2535ccc92b70b64c158bb50877b1131ccb5d836d52148ef55db653db4387a0000000000070000000c6cb62279da69eea2b400caf83a989bdf2306618dbfa63f214382dd565c3754eb9edd09b5f6e9273f13248ba82537e9576317bda672b664f0998bc480fa8d68ca0000000000071000000ce430578a1af09d63dfe42c2f96298f00710044f405aca939480166ddda0da0f0e202c5139c433b94b99723fdbe985852b7c7429e0b47f888e32addc408d4188a00000000000720000000a54c99ad5ef3d75c04bc6a052282799f423c1c04d419b393b7e33e6b6aeae26244820f5a0374980023778ed941f8bd10d530ef1eb9f407e309eedad5550078ca0000000000073000000f8cd2a6ed8a79c98a144dea769edf38356b695670ea3ac10b159c050ed472d09eab7b1c63a2c60338569d161fd69ced54033496783df0ec347a9de6e610da589a000000000007400000070d60b1491c56c2b182e304a54f897a2231643d9eea438c0d3e64861fa4cc56a578175dbbf99004ed3cf32faba8a31001ec195afacc0e5aa11d73eb235ba8986a00000000000750000004c94bb0c5e7c03e2ab8950555f83dcde553b836620038e0de4072e2ebc8b4b7c8221cbd9b1e3255581dde9d12070bccadc9e49339b46104756017a01311c5f8ba00000000000760000005ab5430edf220af81689b42269e031136653e0de5978b2d030441a2e47d3a22403c8eb38cd235799ef89d5bdc50e8443fbed6bb36f2f127036c837bf445e3880a0000000000077000000a08717eac3848b9998442f054fc98da2d06ca319cd255b17192c55a1ac8ade07a6e3e586244c597998d11bcafd2d7eaed22c170d035e9731c87781fb6e30658ba000000000007800000026dd9627fb845cce0fa61fa40d330995a0dcf5db7b78a5f4f82fc7a4224f7a00bd04cec25449cf82afa7c249a9d683f43af8e11e528198fc51032b20d37b048aa0000000000079000000dac8fca1e044d41d8c582725cecbb87a0ac72e4f00ed032991bf76a8e6566365b2912cbcd58edabd3a086e666767690a7238e3d0fb8ee81d8b71ef15679b7381a000000000007a0000001054cca661dcc2de0cc2c75643066ed8d0624b4d74d2a1712669daedd293bc58b9bb63bb2b8946926a986848fe86b042a2ce8775927458b0c747bafbb43cfa89a000000000007b00000012b0ddc52f6fac3cc2eb468b7ee0827eebeed995d682555c68a304270527c27ff0d618763fad2897e62bf6d1117581eaf46df132698c12e7c86a5d05bec3b88aa000000000007c000000ca6bab1b2ebcfa81d5a219a4ac4c8a73be041e1381467e86e4f2df7e553c531898a35e211d0459dcfc4b5d6a6639f27408e5d802fb2362ebc00561a84f134586a000000000007d000000088a753e9adbce6098f40618c02af1f6fea0b08025bb15757870812cefae2377b1b247c087201c2a046e45a58dfc54811403a3b6bf40195f185d0fda62d96a85a000000000007e0000002ce133f7bfae8b32b285234f67c950c0406f9656f84ad53029714688f7124b200e8c8419596f380d89e7665fb635e00e7be4d26a662d1acfabdf4551c16db68ba000000000007f00000096edaa3d41f8a00c0fe32aa8f745298f629ffbc363c82e20501508069dc54d2a33a882acbbd4b524508dfa4996b003b2c118b20e6be7799ed529421d74203781a0000000000080000000fa9c60f4ea62a92d5b57effea8b84dba779c70f744266ca9fe019b3c5667ee25344c9b6d6d6fabba13b9e203d0d9b41234f3a4cae7ecdca1f8a080b663692283a0000000000081000000de310f86ff8ad84bd3c0ddc6b9beaed3b495decef51944cfafd85918a14d3b5b1e1378446c46200992cbe45e163f5116028bd246eb00b3fdf8294de208d98289a00000000000820000004e4faa8993595a79151eb25fce130b10faf6c552f8a7538f1412d9881c95be24c71a5c7c15e7f5c9156863a265a9bfe821d6eea89e7dc45d9162a96a961a5383a00000000000830000004ed516d6e3cccb641e9aea96dc2fc24c7ffbc68ef624f718a0adea6f6dd17947ab723669263164bf7bcc258aef41c14e5c4b8cbfaa9aa21fc2cc56aea91a8c85a00000000000840000003c86f75b473676807cda70589a4e32e608970685591631265ab6eced02cb744ae8391d9c27de7141a620cad1210d5652e8c8ce851c2d77323400125c7d63198fa0000000000085000000120e4a3d309d02993666d76573d73492b1e3dcf34c01f7db4c69828bc6565f6db76b2fb44c11ccf20c7cf146dae3c82181d7e4db721e86967ac5f11dc4df628da0000000000086000000601b3ea7529ab3a5b1b9df950bac94af27c6e4bb4fab61909f82411f6af1eb679ec0bdbeab60fee249bc57fafaf0b95b7cd5da48a69810443ad338f0994dc784a00000000000870000000e8654687042fbbf6285d162790e9fb045b4ce6684c64e92cde1665f5f0ba25bcbb5642fe6a30b8c7d8d7d7813e4b370937ecfecd0d427cb7eec4bf1fcea5881a0000000000088000000981ef199b0f93be4b84e125f011840e30a5b82ebd3808028b3127bc54395ed2abc72e4fd09fa18aca0361a736fd3aa525c3678c3438eb84c15dcf920abe4508da0000000000089000000066077809a8c4c5e5f42294151bf386c2051494d62518b5c5c6989adfb5d5c5ae8d9e07109e6eb5cac3a50c9cbe08a011e0cf9b70403b2f94065a61ea2f7378ea000000000008a0000008ebac5deb0a013196067c4efc8bc629bd456fe989cc6c03bfda313c8e980302b0de2e60bc93a6d97aaab9743071e91d2c22a138eb3506ba8217c84470dec2e84a000000000008b000000a8772cd1852e52223618c239c2b80add3c99f09194e2a3a2b9236ab51cd1a90169589095586399393ded0e1fb133db940c9d40785211a7ac4a9057af195ede8ba000000000008c000000d671ab039f8753c3c4360db8eda0ff176fdbb9b0a7424e07b6eb5cd2d7ecd91b56b6c69f684607dccd18d5f5b79623194044f9e2907fc22dbb4b1f9695163982a000000000008d000000ba31415004e03b70d30fbcc0875dee3f2fa2a25a5cbe10c726cddefae729b065a629833f41ea5c568da428fd337cc3805b25ca2f6b5e311722b40fc1c8c51b85a000000000008e000000569173e6c03a687c68a7d6a03151ebad1b32a7a7a9f36efe1e7dd629b32b110893b1d40bd7ce33ec929e4cfe5ca479268db73903aa27a900b577d1aaec718c85a000000000008f000000d2ec2da2ff83d4d02ac3c05de03d2bad2d779db069ec05b2a59089da05d94e756ebed5bf6fb935f68c5340bdb7c6fdc997bd9ec1e455b15d075cbdc5b4a86385a00000000000900000004eef97104a77d147969c9791fb1d15faf9f219d0502005248b9309099ee7c41aa5312de3cd3d9a1fdb22aeb6f7c33c2799814db5ccfdd17680845dd7eac3a08da0000000000091000000deebd38fc001f2144267fcc12c92b4f2986f93066c90f991d675c33964da122028b2510635318118afccc7ac8f62a08a25061751fe0b09ea611d87b53c48ac86a00000000000920000005c032b9a7a5dfd7287a9b6bc62079511b3b8a7fe533e4da176b6ff1c701b9c3328a66a36b00d553e649c3ec9745b7feb81c1cf40656babf67b45e5ee5213d58ea0000000000093000000de7a7b67420f7f27832f3a45c9be0b95f78912ea49e181e16867aadd927d441f3d612b8eab444aa919bf3984233d5aea1c00a7d0534936dc59c9e81fd344538ba000000000009500000064155e8dd281fb886a70ef059ce81d95254297d5f0c8fba8cd7825bc6158383256cadf5d033e4f6216e06ebded905ab040759ae4bec3c7866a0ed86309c7d989a0000000000096000000be19dc9bafb43988f0d5d9102beab45a0157302700138d2874a2dd01761f3d4a3c24598e5a6d16b462637069242235738fe38a1779f0f95aa44b280094b9a286a0000000000098000000eaec32a080d56f9e42f16d0e19a7235944cc3e7d5c5d44f9474b4ce53041d75b74757a0af211ebab9ab0e02a2717ac9bea61d9185a44710221d533703e63b282a0000000000099000000dc46085ff8f2965fa9fc95e1ed5a10703b19362fb2ca9d5ff29b9b477180c1369da2cfd8a27a1b90c539cb7fa7f213bd6bcb196cae27942fc547d4d92381b783a000000000009a000000c42fb34814d7277d451a7567142bc7423669b0c4d8fde56ffb56371c88a83776d256abfe2658962460fc45203349f4a7657f6a28d628ce964b442457c4808580a000000000009b000000beda3290b070aa450aaaa40f5e5d3b7e4d17ddaf4c51af83f8b48440709fc2299326f05101ea98476b6311ab924894c62f9d4244df64edfdcf53021f29224c83a000000000009c0000001c14d6062f0c9b9f6066d478466cc1a88c7857fe4ee7aaf4b8373a8d257b350cb240261e8f021f60fa687e29a1c1321476eeb5cd208de2c2daaa48591b766c8da000000000009d000000c4360f588b6e13aaacecc792592e1f40b2807bace3e510a842cca80020ac044f4cb22e954795650b303bc175d34b115be270051c1988fb0a0beccbed363f7a8ca000000000009e000000ac1ec1b7582800b690dc0ad1b7b99f293f8322a8c41f649f893be3f5c136a07a06d8226382d56c0625ca175ed7c801b99f7d1fd6a3e9e0137b8d6c4fd0207981a000000000009f00000024861fa47fc23724e4de3f8d2f2a899521f1a656bce79dedab709b8c82805668960ccaaa93da4f97b27c45596f592bbd4900e86954c561947227da36a1a0448fa00000000000a00000008a38a0a93218953e5ecf325dc0eed222ebbd954cf923b4e152563aae37e93c1c320cc799eba9eb418222c930ef074f759b29ca89533f9a532b8d910c4d0da38fa00000000000a20000003aaa85cd7004f477b68ad70548b7b09baa520e6a30dd2d3c6e7420af33946f340b3e3c1fa2602342d116705d84b6a69d50f590cb35a069e31a91885bf2f65c85a00000000000a300000036b2c2851f5603d6a19c37a38dd0d2fa49dc7634d08524e0e23d8af1d3e4d92810eafc01af69c0dde3910fbcaa9634b2a95358570360242aa6528ceb29515d87a00000000000a400000094925ae0d3788f2181e81f1205591c4e92d36b44cdc1785dbdfd9c9ff3f6b44c1f854e64f38925d56b2ac87c80dc6df3ecf93a3f2458db80d29dce0c63a40483a00000000000a5000000924bbc3326019f0969a616bfbe2a308b30aa51a3673866e3693e571e3eadef03c73b5f05fcac77e1b5b8538146a5f48c24f52aaea3c46529f94a77b51789308aa00000000000a600000002491c7ce185679eb15c919c6929d57091bc02a09d254a19c09fc96cdb4eb05723edbd8b10403063cac07cd7172fd783bdff5178133b7833c1455836f003218ca00000000000a7000000aad95becddf4d955b854e3d095134a810e1fd6e8ae2ee39be109d12d9c7eff04c35c3e306f9c3b075a6844095abf99af4b235ca1d28df48ad2931d064a83a58aa00000000000a8000000f2a7e78bb8dda40bcec63f19a85546bacd2c3b85b31b49e9eed563922ced741f34cf2ed35c814b7423e5d3ff0b402805bcf155d7be04414aba808ec20a8c1e84a00000000000a9000000e4a1c49f03021e73f8ec44e4a4b42e3e12dc13c8e4048bbfcb376f115dc479156130846bf110a7a69a8d913ef930d90e1f09441558ac6d095d39ce57e3163286a00000000000aa000000a26d35527f155adca5f63bc5d22124a48f1d4e1a0e4b87bdc3e533c213ebd6074320e404aac5383223f65b767f237eca45fcc53ba34285c996d588937daf3b86a00000000000ab000000844330a23a39128c52f6e0ec20d40b1bed5cd4595627c52d02bb4857c77ec834359d565430951f94201b3e7c41402d0bb629bb307ded835a086c60335a4b428ba00000000000ac0000005c794e27451f8450b48d0c471f3bea88155114ff5dafcb9eaabe927b93c26c2a8fc8a67568aadf04e6c9867e8184175a8c5261c59ee52aa0479d9ed12cce3e83a00000000000ad000000fcda3c5fca1abe21fd020fd6464ea4a4c44618db40c0d42a90276c397a1a5b5e087493515b50a5d771c1d131bdce85a1ac1b7eb77d9a018f024ae7e0124a3d88a00000000000ae00000062cebd9ead6a02fa89b8008c924850eb0787b19e282010b6a128e7d2f8b3db7afe98bf76cc58d5676ead274d2d3577881f4a9317ec998cb955d4d38ee900d188a00000000000af0000007a44ec95c30cb2c1891cacff7d959b196b3baa2735ec25d8b0a3c7aabc46733250a3d5654e7a2441e29960b65fa195532ae7c1ba6e0f5e2837816eb6bff33e8aa00000000000b00000003cd1c801ba1c0ac102f5b3d2490eaffaa2ab8034f4fb6ee2e5e056cacf9f2c01d26eace0ceb8127c5d2f16086a8b46ca9cb68c037b95be2fe02a6746fdb79889a00000000000b1000000628e9971a8e777e991d335c9a4fc650066dda2ed2294556466cd691ef4eab05ea0a0617fa325636210ab0746efb3457600d542a69d25cb2049b8620123a8738da00000000000b2000000c4ee2645de875efecb6f83897e3e1fc3aa049ff5c723a175ce03737370c76c50584d5cc44ed6121ec607a5111766166178fc23614ef7dee3a7a213456eb4f683a00000000000b3000000caa543a6264d1cb170b5bb3820c02988f75223885c91d02293aba09cde83b02f9856cc89dc225ec8f2a6742c5c899f484904558a58f65b63a80fba9912ecda88a00000000000b4000000c053b506d12d0a02a3672e3ae398422f1e554d3eab2226e0ce456e700a430a10f204d7cabe1459536b731421305e82e3723f98968a712173d1147bd2ad386785a00000000000b5000000bef5761682cc45ae2ad6c67757faa943266a9bd6cfe4c67d85295c2eb7134b2736b3500dbde0642c307554e9b8f2aa578682c722b4162dded2f704ac39dd7a83a00000000000b60000002003a685ef611939d8d45411d700c359b174d24207f7c61ccbff98120a1dd87fa4333955702dc824686273db1d039e685edae9bd89fa61fddc86b2c2d779128fa00000000000b70000003e87fb6da9be0ae3f36d8acaccd4a88b123d31f8424e5e336e452d869ff06e44a0a5e23636021843a62ebca4407bd3057a03ff8a6e9371107ddfb71690a8ba82a00000000000b8000000c08db12a0db534cdbb8ab7f0ec065202211f09fa8101f1fda77eb75fcdeba533738c8fabbc49acc821f7c017dab9bd111a9f917b7577e284a8d60bee76887a81a00000000000b9000000100decf36b1768adbc2e6c4490f4d09da689be13d6d427683e569235fcba391270722dfd8f5f3b864d9032e5723456afc5a32c556e213a108b99a45c1624bf8aa00000000000ba000000b407b19b7a6fdad3fd17a5678466dcc97754664e917dc6ad7a27ad8270c75017d6d222c75e195cfb040245486664bd51e4eb6377aa8e35d8153f215640a89f82a00000000000bc000000d217a12b85fa01b397a2fe3f6780ed676ad10ce97da53c1f603dd16507546f5c7dcb20d59ed7f5753977510529ca8a2853f838f92a23eba338ceaf73a34e6c83a00000000000bd000000067031e08f825603eec10a3353cce827a42893d686dbd61f2052eb591314d0235fae9ebb9055ded06785820a352021c6cf1d069c5f72e6f4eb14aa3da4ce108ba00000000000be000000ec1cd3e1342f6e5cda06663876b6f62b3ec105390f99657574d720e0ea81642e1a7aeb2c63c720d59d9bfef38d555acab92321695a252146d189fea724fd7e8fa00000000000bf000000bc282459877e12e74283cbf75e5d9ee4ecbbb0e6c318294c9d865a218d30363231cfb4ef8baf6dde21579d59fc074220e344dca2d9b2fede3aea66cef3e78d81a00000000000c0000000aed437fb18e81aa143733dd59e570f18daaa5961601fff192c337ac17e54e51bc99344c0ba697f80aeda69a0f6ab48e01461e696e1ac69b34d473b703d7cf284a00000000000c1000000aa5aee580e2cb4c5cf68e7755b3560aefd982e4235f1fa232df4ff799458713bbe8cad5e50b8c2019c51484289df58582a51b03675208a0e0ede9e3f7b5ed28ca00000000000c2000000b8ef12f869cd6ca104b399d98edc3b1152de0c68884649b6628be52e8e1d2728c614fcce62bf8af96a394e5cea48d94d9501b57787b10ef78ab3ea054be57d88a00000000000c3000000badc441e60285b2a882b08a65a18e3f12bff32e72d1c878c503f3382fce4204d7976f81d06d2982d92b729602556e6654d78af02b3d19cbe5d7154873d255e88a00000000000c40000002e1cf7bd5a1152b52cce7b68fcc550fabe8cfb224a558cf54d903d1cebff036b0678fa570f83123474d0dcdbdc93b63fe8f6a1e023c0ec637c5236b23823208aa00000000000c5000000dca9f83a2a09d4dc046122b6e1137e56110d0fd4c8ad8bc05e25658e66f6135effec6a2dbe1f39c5fd6384e0ac663f0bd82206dea2fdef33cfbfe27603b3fa8fa00000000000c600000048f8d0b6461c6c49c938cc2824c99c7cb5338055e8f3df9ec458a5b56fa07d1035190691e2f4ec4ae7062279d7685064a8b84d3cff158d826be7bf1ca25a2a85a00000000000c7000000062a9d0b893993b9322b5109e1304188a3f01ffab02f574800014fe687bfee27ef4db8ff6f9d55e8f6e82c8df82bc360d195920d64b6d3952505a32b106e868b04e8030000684bb971a052c806516da251a6677713e4956c53e9db51aa563bc64bd67d60df5ef1d368a8c8db9bf5884f1743d470eae678773b1332c01946fd9d2d179d5f17d1d22fe712b4350460bb2f6f31f1b6aa80506db3ad85d19ca0111b0f4ce28e0106fe8b0d2bb2733bcfcdf605bb6672f6ac3bc5a9cf935f959d4d59af37b656b272d78725d5f70e521514493e7000f57987976397ec798f195ae84adb6e3f4425f4ffbae43ab4a889cc332c4ab02d5498a41edf7f7eb0c26e1eec5d8c138b874918413224a45b10d8e75f89e7c9147f11e014bf2eacec357457cd8f4a1223118562e291b157800f8826cbc69fee5ac3c619ac631470a92e53ebc83f01a459413b62631e64fcf53d18e4064adea71a556aeff18519d8c8a5d71711e1e1b3ab2fcc0000008d016749aa0eae2507bcace98e622b7f938a572790dcea8b891b56681639462c9150410a64e29f4279f3f1a7502db2da3ab164913be8c63a3eafdec2bec8a88db8b08da3bbaad64e49685ee3eddbab023838317bde6ce6884b9bea853a79db35e2dfc3f800000000009c6b7300140282a21f0b5fce41d68e6603133b3e70559a05c350dd56121d454e50e012e3cd18dbf67489f167f74327198b3c2ecbba2c0e54d47d89fcc694924d127674d265880164e385e6fadf99a736382250a927b5bebc91647fc93db112360288570b41d96aa27c06353be104968a60c7c6b2bda5f86a1e2cc80799396e847e7c1d3fcca58502205764e459637a5ca232e214d6db89a37e9b54fa59e8532d1dcbbefc84de0b7b81643142563235f28adf6cd68ad36ff94323d9a89dab4e5633f6feca30ccd3810288d421b6610c3ce2bbd8d8412b67ac87b74df1ce6e83fa4476c7df50570ebd01ef453b78d786720ddc50fe9eec9e1bb778551ebdb6b3d7c437601db6b431df8c012e1e514fbb9288439d7c24994616dbd440779d06763a59ddff8f8879b51baa620fa7e65e70cf5ea9b6ba639434acbbebc1bafefab95460a096ae5e3ea0ee3284141f009ea4b42555a6c064c46268295d20b4a2ab40e6ffef9db17cc3239b53d694093b72aecd01a6652c2083a1d7e1f1db20034afddd0b97d7f269c2a19fb5a5c3ec3db62b51376ea34c93d2c8812ad4d9e04b19047522a6cab6bc81ebc407b74720582cbce935080642414245b50103bd00000049c2401000000000a62e3447b5ca359edfd0c0db372f0177040daf7549056ffcae595379b3a13c343bb7033f6aec4517a5168468af9f1f31017145dee39417af887d5a56bd628d06289472c7b69de5a1c24c54d077a1c3b8357309ef1b2054f0b58fc679e2a74e0005424142450101fa695c98d2c2f7da542e6768b77d7f475b753931b584a94386fcc19d0e392a53216eb795b35dbeaddb1ab1d5fc02dd3da52cab7bbec95f0c8c9c35ef2a86448b"
}
Staking API
Tip: Staking API is only available in the networks support staking or parachain staking pallet(like moonbeam, bifrost)
validators
curl -X POST 'https://polkadot.api.subscan.io/api/scan/staking/validators' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
}'
Request URL
POST /api/scan/staking/validators
Payload
| Name | Type | Require |
|---|---|---|
| order | string | no (desc,asc) |
| order_field | string | no(rank_validator,bonded_nominators,bonded_owner,count_nominators,validator_prefs_value,bonded_total) |
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653622762,
"data": {
"list": [
{
"rank_validator": 0,
"bonded_nominators": "20399801549815659",
"bonded_owner": "0",
"count_nominators": 106,
"validator_prefs_value": 1000000000,
"latest_mining": 10480520,
"reward_point": 7620,
"session_key": {
"babe": "",
"grandpa": "",
"im_online": "",
"authority_discovery": ""
},
"stash_account_display": {
"address": "13dqRWDWXp1ozd8vRoQTRpgvtnTgPMZ7YJkfvczMPJ1587wb",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"controller_account_display": {
"address": "13dqRWDWXp1ozd8vRoQTRpgvtnTgPMZ7YJkfvczMPJ1587wb",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"node_name": "",
"reward_account": "",
"reward_pot_balance": "100000",
"grandpa_vote": 17,
"bonded_total": "20399801549815659"
}
]
}
}
waiting-validator
curl -X POST 'https://polkadot.api.subscan.io/api/scan/staking/waiting' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1
}'
Request URL
POST /api/scan/staking/waiting
Payload
| Name | Type | Require |
|---|---|---|
| order | string | no (desc,asc) |
| order_field | string | no(bonded_nominators,bonded_owner,count_nominators,validator_prefs_value) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653622966,
"data": {
"count": 723,
"list": [
{
"bonded_owner": "255744025137111",
"bonded_nominators": "0",
"count_nominators": 672,
"validator_prefs_value": 30000000,
"stash_account_display": {
"address": "15BQUqtqhmqJPyvvEH5GYyWffXWKuAgoSUHuG1UeNdb8oDNT",
"display": "HashQuark",
"judgements": [
{
"index": 1,
"judgement": "Reasonable"
}
],
"account_index": "12FDrF"
},
"node_name": "",
"reward_account": "",
"reward_pot_balance": "10000"
}
]
}
}
voted
curl -X POST 'https://polkadot.api.subscan.io/api/scan/staking/voted' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "15fTw39Ju2jJiHeGe1fJ5DtgugUauy9tr2HZuiRNFwqnGQ1Q"
}'
Request URL
POST /api/scan/staking/voted
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653623075,
"data": {
"list": [
{
"rank_validator": 136,
"bonded_nominators": "20565424533356769",
"bonded_owner": "0",
"count_nominators": 146,
"validator_prefs_value": 30000000,
"latest_mining": 0,
"reward_point": 0,
"session_key": null,
"stash_account_display": {
"address": "13RENAu9cpMpxp3EYzWFGpZXgvMZGDrnconYugNdynQz1sDQ",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "14MceVAhD8moRWR3U3vLWBU5R9tqjSVWHA4sMfMuwSUPn3vb",
"display": "Blockdaemon",
"sub_symbol": "7",
"identity": true
}
},
"controller_account_display": {
"address": "13dqRWDWXp1ozd8vRoQTRpgvtnTgPMZ7YJkfvczMPJ1587wb",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"node_name": "",
"reward_account": "",
"reward_pot_balance": "",
"grandpa_vote": 0,
"bonded_total": "0",
"bonded": "1220196079709868"
}
]
}
}
nominators
curl -X POST 'https://polkadot.api.subscan.io/api/scan/staking/nominators' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 20,
"page": 0,
"address": "165LPQijvZdnmxcuCfxGWvcoSVtoJnCFm1UjjijzsSGGAk22"
}'
Request URL
POST /api/scan/staking/nominators
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes |
| row | int | yes |
| page | int | yes |
| order | string | no (desc,asc) |
| order_field | string | no(rank_nominator,bonded) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653623386,
"data": {
"count": 24,
"list": [
{
"rank_nominator": 0,
"nominator_stash": "16crvXKCK3T3ibTKBijCeBakkXLao4enFZ8b5wEVM96VtW1s",
"bonded": "0",
"account_display": {
"address": "13dqRWDWXp1ozd8vRoQTRpgvtnTgPMZ7YJkfvczMPJ1587wb",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"validator_stash": ""
}
]
}
}
era-stat
curl -X POST 'https://polkadot.api.subscan.io/api/scan/staking/era_stat' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 20,
"page": 0,
"address": "165LPQijvZdnmxcuCfxGWvcoSVtoJnCFm1UjjijzsSGGAk22"
}'
Request URL
POST /api/scan/staking/era_stat
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes |
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653628919,
"data": {
"count": 235,
"list": [
{
"era": 285,
"start_block_num": 4171582,
"end_block_num": 4185803,
"reward": "100000",
"slash": "100000",
"block_produced": "4171867,4172690",
"reward_point": 0
}
]
}
}
validator
curl -X POST 'https://polkadot.api.subscan.io/api/scan/staking/validator' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"stash": "111B8CxcmnWbuDLyGvgUmRezDCK1brRZmvUuQ6SrFdMyc3S"
}'
Request URL
POST /api/scan/staking/validator
Payload
| Name | Type | Require |
|---|---|---|
| stash | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653629114,
"data": {
"info": {
"rank_validator": 0,
"bonded_nominators": "20399801549815659",
"bonded_owner": "0",
"count_nominators": 106,
"validator_prefs_value": 1000000000,
"latest_mining": 0,
"reward_point": 0,
"session_key": {
"babe": "0xaaf2ec61d23ac5c99332d22967b60c9f7b3e97651a418be4fe9a26e940c3bd7b",
"grandpa": "0x97e17c240e964ac8dd66be3a2101fe5f2e87018600adf561dccaa6e3384f52e5",
"im_online": "0x72b1e51d22dc72ec18d154a7ffabdf92ba98855dfeb1bc3063073d5da36ce77d",
"authority_discovery": "0x7c14e138770e2befbfe15592c2e0b485014bca2bb7731e5c634693501c1fe220"
},
"stash_account_display": {
"address": "13dqRWDWXp1ozd8vRoQTRpgvtnTgPMZ7YJkfvczMPJ1587wb",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"controller_account_display": {
"address": "13dqRWDWXp1ozd8vRoQTRpgvtnTgPMZ7YJkfvczMPJ1587wb",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"grandpa_vote": 0,
"bonded_total": "0",
"status": "active"
}
}
}
bond-stat
curl -X POST 'https://polkadot.api.subscan.io/api/scan/staking/validator/bond_stat' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"stash": "111B8CxcmnWbuDLyGvgUmRezDCK1brRZmvUuQ6SrFdMyc3S"
}'
Request URL
POST /api/scan/staking/validator/bond_stat
Payload
| Name | Type | Require |
|---|---|---|
| stash | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653629483,
"data": {
"list": [
{
"era": 724,
"owner": "0",
"total_bond": "20399801549815659",
"avg": "45723625609189.3771043771043771",
"total_avg": "21279162506345801.8888888888888889"
}
]
}
}
reward-slash
curl -X POST 'https://polkadot.api.subscan.io/api/scan/account/reward_slash' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 20,
"page": 1,
"address": "15fTw39Ju2jJiHeGe1fJ5DtgugUauy9tr2HZuiRNFwqnGQ1Q"
}'
Request URL
POST /api/scan/account/reward_slash
Payload
| Name | Type | Require | Description |
|---|---|---|---|
| row | int | yes | |
| page | int | yes | |
| address | string | yes | |
| category | string | no | enum (Reward Slash) |
| is_stash | bool | no | |
| block_range | string | no | (blockNum range like (1000-1200)) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653629735,
"data": {
"count": 537,
"list": [
{
"account": "15fTw39Ju2jJiHeGe1fJ5DtgugUauy9tr2HZuiRNFwqnGQ1Q",
"amount": "470522486256",
"block_num": 10473980,
"block_timestamp": 1653580638,
"event_id": "Reward",
"event_method": "Rewarded",
"event_idx": 434,
"event_index": "10473980-434",
"extrinsic_hash": "0x7e869c950a6ab553f2ea12e3e4ed3f49f0fc41c006c6bda52ae600cac96ea073",
"extrinsic_idx": 4,
"extrinsic_index": "10473980-4",
"module_id": "staking",
"params": "[{\"type\":\"[U8; 32]\",\"type_name\":\"AccountId\",\"value\":\"0xce46eb5500a059797f47cf38f119ecb0eeb360b856f67fcb7a74e98f52b84157\"},{\"type\":\"U128\",\"type_name\":\"BalanceOf\",\"value\":\"470522486256\"}]",
"stash": "15fTw39Ju2jJiHeGe1fJ5DtgugUauy9tr2HZuiRNFwqnGQ1Q"
}
]
}
}
unbonding
curl -X POST 'https://polkadot.api.subscan.io/api/scan/staking/unbonding' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "YOUR_STASH_ADDRESS"
}'
Request URL
POST /api/scan/staking/unbonding
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"native": [
{
"amount": "20000000000",
"until": 5849004
}
]
}
}
nominator
curl -X POST 'https://polkadot.api.subscan.io/api/scan/staking/nominator' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "16crvXKCK3T3ibTKBijCeBakkXLao4enFZ8b5wEVM96VtW1s"
}'
Request URL
POST /api/scan/staking/nominator
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653630318,
"data": {
"nominator_stash": "16crvXKCK3T3ibTKBijCeBakkXLao4enFZ8b5wEVM96VtW1s",
"stash_account_display": {
"address": "16crvXKCK3T3ibTKBijCeBakkXLao4enFZ8b5wEVM96VtW1s",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"staking_info": {
"controller": "16FUBfV1anDuq6bQqTKf7yYVHGwu3gWJcYzJBB9WJcu49jZN",
"reward_account": "stash",
"reward_display": {
"address": "13dqRWDWXp1ozd8vRoQTRpgvtnTgPMZ7YJkfvczMPJ1587wb",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"controller_display": {
"address": "16FUBfV1anDuq6bQqTKf7yYVHGwu3gWJcYzJBB9WJcu49jZN",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
},
"bonded": "124017311547775",
"status": "active"
}
}
NominationPool API
Tip: This API is only available in Polkadot,Kusama,Westend.
pools
curl -X POST 'https://westend.api.subscan.io/api/scan/nomination_pool/pools' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
}'
Request URL
POST /api/scan/nomination_pool/pools
Payload
| Name | Type | Require |
|---|---|---|
| state | string | no(Destroying Open Blocked Destroyed) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1654763949,
"data": {
"count": 66,
"list": [
{
"pool_id": 1,
"metadata": "FIRST POOL",
"state": "Open",
"pool_account": {
"address": "5EYCAe5ijiYfAXEth5DCfmQ9jnv4BFmdonKpbxwrc2nAw5uj",
"display": "Pool#1(Stash)"
},
"nominator_account": {
"address": "5DiHoyQWyP4aW6PcHoY6djTPT9B7Cy5ZqDfMxnBKUhFv9FKy"
},
"pool_reward_account": {
"address": "5EYCAe5ijiYfAXEth5DCfmQ9jnv4BFmdonKpbxwrc2nAw5uj",
"display": "Pool#1(Stash)"
},
"nominate_count": 0,
"memberCount": 11,
"total_bonded": "0",
"reward_amount": "0"
}
]
}
}
pool detail
curl -X POST 'https://westend.api.subscan.io/api/scan/nomination_pool/pool' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"pool_id": 1
}'
Request URL
POST /api/scan/nomination_pool/pool
Payload
| Name | Type | Require |
|---|---|---|
| pool_id | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1654764078,
"data": {
"pool_id": 1,
"metadata": "FIRST POOL",
"state": "Open",
"pool_account": {
"address": "5EYCAe5ijiYfAXEth5DCfmQ9jnv4BFmdonKpbxwrc2nAw5uj",
"display": "Pool#1(Stash)"
},
"nominator_account": {
"address": "5DiHoyQWyP4aW6PcHoY6djTPT9B7Cy5ZqDfMxnBKUhFv9FKy"
},
"pool_reward_account": {
"address": "5EYCAe5ijiYfAXEth5DCfmQ9jnv4BFmdonKpbxwrc2nAw5uj",
"display": "Pool#1(Stash)"
},
"nominate_count": 0,
"memberCount": 11,
"total_bonded": "0",
"reward_amount": "0",
"depositor_account": {
"address": "5DiHoyQWyP4aW6PcHoY6djTPT9B7Cy5ZqDfMxnBKUhFv9FKy"
},
"root_account": {
"address": "5DiHoyQWyP4aW6PcHoY6djTPT9B7Cy5ZqDfMxnBKUhFv9FKy"
},
"state_toggler_account": {
"address": "5DiHoyQWyP4aW6PcHoY6djTPT9B7Cy5ZqDfMxnBKUhFv9FKy"
}
}
}
pool-activities
Get nomination pool activities list
curl -X POST 'https://westend.api.subscan.io/api/scan/nomination_pool/activities' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"pool_id": 1
}'
Request URL
POST /api/scan/nomination_pool/activities
Payload
| Name | Type | Require |
|---|---|---|
| pool_id | int | yes |
| row | int | yes |
| page | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1654764171,
"data": {
"count": 1,
"list": [
{
"pool_id": 1,
"event_index": "10693887-12",
"extrinsic_index": "10693887-2",
"block_num": 10693887,
"block_timestamp": 1651660806,
"module_id": "nominationpools",
"event_id": "Created"
}
]
}
}
pool-rewards
curl -X POST 'https://westend.api.subscan.io/api/scan/nomination_pool/rewards' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "5ES1f2Q6PjK9DtZSKvRBCd2GeWfU1ExFjcmeA31jTqw1u8iK"
}'
Request URL
POST /api/scan/nomination_pool/rewards
Payload
| Name | Type | Require |
|---|---|---|
| address | string | no |
| pool_id | int | no |
| row | int | yes |
| page | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1654765478,
"data": {
"count": 1,
"list": [
{
"pool_id": 6,
"module_id": "nominationpools",
"event_id": "PaidOut",
"extrinsic_index": "11180970-3",
"event_index": "11180970-9",
"block_timestamp": 1654587198,
"amount": "1390109349",
"account_display": {
"address": "5ES1f2Q6PjK9DtZSKvRBCd2GeWfU1ExFjcmeA31jTqw1u8iK"
}
}
]
}
}
pool-members
curl -X POST 'https://westend.api.subscan.io/api/scan/nomination_pool/pool/members' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"pool_id": "1"
}'
Request URL
POST /api/scan/nomination_pool/pool/members
Payload
| Name | Type | Require |
|---|---|---|
| pool_id | int | no |
| row | int | yes |
| page | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1655113061,
"data": {
"count": 7,
"list": [
{
"pool_id": 45,
"bonded": "3000000000000",
"claimable": "0",
"account_display": {
"address": "5D7zYmyEEmtTVg6RhUcCRP11J1Rc6FK2Xh2hUZQzD5K57bHF"
}
}
]
}
}
pool-member
curl -X POST 'https://westend.api.subscan.io/api/scan/nomination_pool/pool/member/vote' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "5D7zYmyEEmtTVg6RhUcCRP11J1Rc6FK2Xh2hUZQzD5K57bHF"
}'
Request URL
POST /api/scan/nomination_pool/pool/member/vote
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1655456115,
"data": {
"pool_id": 2,
"bonded": "1420000000000"
}
}
Account API
accounts
Account list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/accounts' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/accounts
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| order | string | no (desc,asc) |
| order_field | string | no(balance) |
| min_balance | string | no |
| max_balance | string | no |
| filter | string | no(validator nominator councilMember techcomm registrar system module evm nominationPool proxy proxies multisig multisigMember fellowship onChainIdentity) |
| address | array string | no (max:100) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653374584,
"data": {
"count": 967943,
"list": [
{
"account_display": {
"account_index": "127Ac3",
"address": "15fNZmAVqLdg6JMD9ZRtzhXrouzd2D4YTWdg3WYW8yZae6F2",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"identity": false,
},
"address": "15fNZmAVqLdg6JMD9ZRtzhXrouzd2D4YTWdg3WYW8yZae6F2",
"balance": "8223.4312040139",
"balance_lock": "8172.7073040139",
"count_extrinsic": 10,
"is_erc20": false,
"is_evm_contract": false,
"fellowship_rank": 1,
"assets_tag": [
"Whale"
],
"registrar_info": {
"registrar_index": 1,
"registrar_fee": "0"
},
"ring_lock": "8172.7073040139"
}
]
}
}
account-statistics
curl -X POST 'https://crab.api.subscan.io/api/scan/accounts/statistics' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"type":"role"
}'
Request URL
POST /api/scan/accounts/statistics
Payload
| Name | Type | Require |
|---|---|---|
| type | string | no(assets,role) |
| exclude_system | bool | no |
Example Role type Response
{
"code": 0,
"message": "Success",
"generated_at": 1674012922,
"data": [
{
"role": "registrar",
"count": 1
},
{
"role": "proxies",
"count": 1140
},
{
"role": "multisig",
"count": 413
},
{
"role": "multisigMember",
"count": 865
},
{
"role": "validator",
"count": 16
},
{
"role": "nominator",
"count": 22429
},
{
"role": "proxy",
"count": 1107
},
{
"role": "nominationPool",
"count": 416
}
]
}
Example Assets type Response
{
"code": 0,
"message": "Success",
"generated_at": 1677207181,
"data": [
{
"name": "Whale",
"max_balance": "0",
"min_balance": "13281536626674830",
"total": "2651412049964972151481434",
"account_count": 97
},
{
"name": "Dolphin",
"max_balance": "13281536626674830",
"min_balance": "1328153662667480",
"total": "847270455523017511",
"account_count": 224
},
{
"name": "Fish",
"max_balance": "1328153662667480",
"min_balance": "132815366270",
"total": "431931610772807017",
"account_count": 7596
},
{
"name": "Shrimp",
"max_balance": "132815366270",
"min_balance": "0",
"total": "36788464394507",
"account_count": 885
}
]
}
account-tokens
curl -X POST 'https://crab.api.subscan.io/api/scan/account/tokens' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "162NZmCZ8d2koaQqnFb5t9GCPE4UXFELjiCE5kWxDWnZPBMC"
}'
Request URL
POST /api/scan/account/tokens
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes (ss58 or eth_address) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653375440,
"data": {
"native": [
{
"symbol": "CRAB",
"unique_id": "CRAB",
"decimals": 9,
"balance": "1000000000",
"lock": "3",
"reserved": "7",
"bonded": "9",
"unbonding": "11",
"democracy_lock": "13",
"election_lock": "14"
}
],
"builtin": [
{
"symbol": "AUSD",
"unique_id": "AUSD",
"decimals": 9,
"balance": "1000000"
}
],
"assets": [
{
"symbol": "MARK",
"unique_id": "(String)",
"decimals": 10,
"balance": "10000000000"
}
],
"ERC20": [
{
"symbol": "EVO",
"unique_id": "EVO(String)",
"decimals": 0,
"balance": "1"
}
]
}
}
tokens holders list
curl -X POST 'https://crab.api.subscan.io/api/scan/token/holders' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"token": "DOT",
"row":20
}'
Request URL
POST /api/scan/token/holders
Payload
| Name | Type | Require |
|---|---|---|
| token | string | no |
| unique_id | string | no |
| order | string | no(asc desc) |
| order_field | string | no(balance locked) |
| row | int | yes |
| page | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653375440,
"data": {
"list": [
{
"account_display": {
"address": "15fNZmAVqLdg6JMD9ZRtzhXrouzd2D4YTWdg3WYW8yZae6F2"
},
"ring_lock": "1",
"balance": "1",
"count_extrinsic": 4
}
]
}
}
account referendum list
curl -X POST 'https://crab.api.subscan.io/api/scan/account/referendum' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"account": "15fNZmAVqLdg6JMD9ZRtzhXrouzd2D4YTWdg3WYW8yZae6F2",
"row":20
}'
Request URL
POST /api/scan/account/referendum
Payload
| Name | Type | Require |
|---|---|---|
| account | string | yes |
| module | string | no(referendum democracy) |
| row | int | yes |
| page | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1653375440,
"data": {
"list": [
{
"referendum_index": 1,
"value": "2500000000",
"conviction": "1"
}
],
"count": 1
}
}
Price API
price
Historical price query
curl -X POST 'https://polkadot.api.subscan.io/api/open/price' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"time": 1665107
}'
Request URL
POST /api/open/price
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| base | string | no | ||
| quote | string | no | Quote Currency, USD or current network token | |
| time | int | yes | unix timestamp or block num |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1593479990,
"data": {
"price": "5.9032161816",
"time": 1593391878,
"height": 479676,
"records": [
{
"price": "5.9032161816",
"height": 479676,
"time": 1593391878
}
]
}
}
price-converter
The conversion calculator returns the amount of the target currency base on the amount of source currency and historical price
Networks Supported Token
| Network | token |
|---|---|
| kusama | KSM |
| polkadot | DOT |
| kulupu | KLP |
| darwinia | RING |
| dock | DOCK |
| spiritnet | KILT |
| crab-parachain | CRAB |
| crab | CRAB |
| phala | PHA |
| khala | PHA |
| bifrost-kusama | BNC |
| bifrost | BNC |
curl -X POST 'https://polkadot.api.subscan.io/api/open/price_converter' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"time":594309,
"value":1000,
"from":"USD",
"quote":"DOT"
}'
Request URL
POST /api/open/price_converter
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| value | decimal | yes | currency amount to convert | |
| from | string | yes | Base Currency, USD or current network token | |
| quote | string | yes | Quote Currency, USD or current network token | |
| time | int | no | unix timestamp or block num |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1593479990,
"data": {
"output": "37.606618692359901",
"price": {
"price": "5.9032161816",
"time": 1593391878,
"height": 479676,
"records": [
{
"price": "5.9032161816",
"height": 479676,
"time": 1593391878
}
]
}
}
}
price-history
curl -X POST 'https://polkadot.api.subscan.io/api/scan/price/history' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"start": "2019-07-04",
"end": "2020-07-05"
}'
Request URL
POST /api/scan/price/history
Payload
| Name | Type | Require |
|---|---|---|
| start | Date(2019-07-04) | yes |
| end | Date(2019-07-04) | yes |
| format | no(hour 6hour 12hour day) | no |
| currency | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"ema30_average": "153.1241241",
"ema7_average": "0",
"list": [
{
"feed_at": 1594857864,
"price": "152.42365362"
}
]
}
}
currencies
List of currencies that support price query and conversion
curl -X POST 'https://polkadot.api.subscan.io/api/open/currencies' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
Request URL
POST /api/open/currencies
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1593479990,
"data": {
"currencies": [
"DOT/USD"
]
}
}
Governance API
treasury-proposals
curl -X POST 'https://polkadot.api.subscan.io/api/scan/treasury/proposals' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/treasury/proposals
payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"data": {
"count": 1,
"list": [
{
"proposal_id": 133,
"created_block": 10701429,
"status": "proposed",
"reward": "26350000000000",
"reward_extra": "0",
"beneficiary": {
"address": "1Hzs7WqYz2T3EcXN1L4uGLHeE3h5rUuneVkLX5qmmUUvcNo",
"display": "Hashed Systems",
"judgements": [{
"index": 1,
"judgement": "Reasonable"
}
],
"account_index": "1D2Z",
"identity": true,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
},
"proposer": {
"address": "1Hzs7WqYz2T3EcXN1L4uGLHeE3h5rUuneVkLX5qmmUUvcNo",
"display": "Hashed Systems",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "1D2Z",
"identity": true,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
}
}
]
},
"message": "Success",
"generated_at": 1628587129
}
treasury-proposal
curl -X POST 'https://polkadot.api.subscan.io/api/scan/treasury/proposal' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"proposal_id": 0
}'
Request URL
POST /api/scan/treasury/proposal
payload
| Name | Type | Require |
|---|---|---|
| proposal_id | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1631867717,
"data": {
"info": {
"proposal_id": 0,
"created_block": 1142221,
"status": "awarded",
"reward": "100000000000000",
"reward_extra": "0",
"beneficiary": {
"address": "1629Shw6w88GnyXyyUbRtX7YFipQnjScGKcWr1BaRiMhvmAg",
"display": "Patract",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
},
{
"index": 1,
"judgement": "Reasonable"
}
],
"account_index": "",
"identity": true,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
},
"proposer": {
"address": "13DgX3GSb1tAGCWjW4dcSnNZZDEaKrFceYtAMaEBMFfQH9rz",
"display": "Lipeng",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
},
{
"index": 1,
"judgement": "Reasonable"
}
],
"account_index": "16eQvjDK",
"identity": true,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
},
"council": {
"proposal_id": 7,
"status": "executed",
"proposal_hash": "0x0ef205a930527a8eba28d4a598b915a0263aa55b5028c7021ac38c7d75f36d0e",
"member_count": 8,
"created_block": 1233220,
"updated_block": 1278467,
"aye_votes": 8,
"nay_votes": 0,
"proposer": {
"address": "15aKvwRqGVAwuBMaogtQXhuz9EQqUWsZJSAzomyb5xYwgBXA",
"display": "JAM ☠️🐍",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "1Jmx",
"identity": true,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
}
},
"timeline": [
{
"block": 1233220,
"status": "motionAt",
"time": 1597937658,
"prophecy": false,
"index": 0,
"extrinsic_index": "1233220-3",
"params": {
"council_index": 7
}
},
{
"block": 1142221,
"status": "proposed",
"time": 1597390542,
"prophecy": false,
"index": 0,
"extrinsic_index": "1142221-2",
"params": null
}
]
}
}
}
treasury tippers
curl -X POST 'https://polkadot.api.subscan.io/api/scan/treasury/tippers' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"hash":"0xc576ed3af7ceae72a694551b788165339de488bc038e334453b1d66c4e720d11",
}'
Request URL
POST /api/scan/treasury/tippers
payload
| Name | Type | Require |
|---|---|---|
| hash | string | yes |
Example Response ```json
{ "code": 0, "message": "Success", "generated_at": 1683253168, "data": { "list": [ { "extrinsic_index": "14958998-2", "amount": "1000000000000", "rewarder": { "address": "14mR4xpU4BwYTTFNwMJ7KJ81yqNiNxGUFL4e3GxVsN27YNTE", "display": "Fabi", "identity": true, "merkle": {} } } ] } }
## techcomm-proposals
```shell
curl -X POST 'https://polkadot.api.subscan.io/api/scan/techcomm/proposals' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/techcomm/proposals
payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587153,
"data": {
"count": 1,
"list": [
{
"proposal_id": 11,
"created_block": 4443330,
"status": "proposed",
"member_count": 5,
"aye_votes": 1,
"nay_votes": 0,
"call_module": "Democracy",
"call_name": "fast_track"
}
]
}
}
techcomm-proposal
curl -X POST 'https://polkadot.api.subscan.io/api/scan/techcomm/proposal' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"proposal_id": 1
}'
Request URL
POST /api/scan/techcomm/proposal
payload
| Name | Type | Require |
|---|---|---|
| proposal_id | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1631867820,
"data": {
"info": {
"proposal_id": 1,
"created_block": 801623,
"updated_block": 801924,
"aye_votes": 2,
"nay_votes": 0,
"status": "executed",
"proposal_hash": "0x7e418d777b59fc3f841d578bb416d5ae308f445e14b2b2d93e6418d27e125ef4",
"proposer": {
"address": "15yty4Usitt9SGMgWvZdrRjcCeBa7dtrGpdkVck86BTiJoDz",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "1C6E7TL9hQkTqfPdZFjmdLkFiijMqriwosxozZLeAkCpmPk",
"display": "Parity",
"sub_symbol": "🦾",
"identity": true
}
},
"member_count": 2,
"executed_success": true,
"value": "0",
"call_module": "Democracy",
"call_name": "fast_track",
"params": "[{\"name\":\"proposal_hash\",\"type\":\"Hash\",\"value\":\"0xd2d18f5066ac84b98fa9eaff4f273c4da9cfd871136c3cbfa4896c6942c017e2\",\"valueRaw\":\"\"},{\"name\":\"voting_period\",\"type\":\"BlockNumber\",\"value\":201600,\"valueRaw\":\"\"},{\"name\":\"delay\",\"type\":\"BlockNumber\",\"value\":201600,\"valueRaw\":\"\"}]",
"pre_image": {
"hash": "0xd2d18f5066ac84b98fa9eaff4f273c4da9cfd871136c3cbfa4896c6942c017e2",
"created_block": 1188789,
"updated_block": 1205128,
"status": "used",
"amount": "0",
"call_module": "System",
"call_name": "set_code",
"params": "https://subscan.oss-cn-hangzhou.aliyuncs.com/NotePreImage/wasm/polkadot/0xd2d18f5066ac84b98fa9eaff4f273c4da9cfd871136c3cbfa4896c6942c017e2",
"author": {
"address": "1KvKReVmUiTc2LW2a4qyHsaJJ9eE9LRsywZkMk5hyBeyHgw",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "12BCSi",
"identity": false,
"parent": {
"address": "1C6E7TL9hQkTqfPdZFjmdLkFiijMqriwosxozZLeAkCpmPk",
"display": "Parity",
"sub_symbol": "🦾",
"identity": true
}
}
},
"votes": [
{
"account": {
"address": "165PL4saAAYjj5HefKBMEgCz7ToHgC8GT7cbNSvnsJiL13Zf",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "14JezNxa4Fqzsf7ef9prYrNy71Cd1Ff3cZizFrntwviVuC9m",
"display": "W3F",
"sub_symbol": "🦾",
"identity": true
}
},
"passed": true,
"extrinsic_hash": "0x9806cd135fabbc986cfee9cc17fc5f1c5b4014e7ad40884cec039a3a15a8bfa4",
"extrinsic_index": "801924-3",
"voting_time": 1595334330
}
],
"timeline": [
{
"block": 801928,
"status": "approved",
"time": 1595334354,
"prophecy": false,
"index": 4,
"extrinsic_index": "801928-3",
"params": null
},
{
"block": 801928,
"status": "executed",
"time": 1595334354,
"prophecy": false,
"index": 6,
"extrinsic_index": "801928-3",
"params": {
"council_index": 7
}
}
]
}
}
}
council-proposals
curl -X POST 'https://polkadot.api.subscan.io/api/scan/council/proposals' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 1
}'
Request URL
POST /api/scan/council/proposals
payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587151,
"data": {
"count": 1,
"list": [
{
"proposal_id": 21,
"created_block": 928088,
"status": "executed",
"member_count": 2,
"aye_votes": 1,
"nay_votes": 0,
"call_module": "Treasury",
"call_name": "Reject_proposal"
}
]
}
}
council-proposal
curl -X POST 'https://polkadot.api.subscan.io/api/scan/council/proposal' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"proposal_id": 31
}'
Request URL
POST /api/scan/council/proposal
payload
| Name | Type | Require |
|---|---|---|
| proposal_id | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1631867893,
"data": {
"info": {
"proposal_id": 31,
"created_block": 2002546,
"updated_block": 2022852,
"aye_votes": 8,
"nay_votes": 0,
"status": "executed",
"proposal_hash": "0x6ebf1d28c27b73e693361813691a29b6f803e428dad2d140d762a28e87d1de2b",
"proposer": {
"address": "1hCMdtRsaRA4ZTEKpPKPvEjK9rZpGhyFnRHSDhqFMCEayRL",
"display": "RTTI-5220 (POLKADOT)",
"judgements": [
{
"index": 0,
"judgement": "KnownGood"
}
],
"account_index": "",
"identity": true,
"parent": {
"address": "14JezNxa4Fqzsf7ef9prYrNy71Cd1Ff3cZizFrntwviVuC9m",
"display": "W3F",
"sub_symbol": "🦾",
"identity": true
}
},
"member_count": 8,
"executed_success": true,
"value": "0",
"call_module": "Treasury",
"call_name": "approve_proposal",
"params": "[{\"name\":\"proposal_id\",\"type\":\"Compact\\u003cProposalIndex\\u003e\",\"value\":16,\"valueRaw\":\"\"}]",
"pre_image": {
"hash": "",
"created_block": 1188789,
"updated_block": 1205128,
"status": "used",
"amount": "0",
"call_module": "System",
"call_name": "set_code",
"params": "",
"author": {
"address": "",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "12BCSi",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
},
"votes": [
{
"account": {
"address": "13RDY9nrJpyTDBSUdBw12dGwhk19sGwsrVZ2bxkzYHBSagP2",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "16SDAKg9N6kKAbhgDyxBXdHEwpwHUHs2CNEiLNGeZV55qHna",
"display": "🍺 Gav 🥃",
"sub_symbol": "🏛 Council 🏛",
"identity": true
}
},
"passed": true,
"extrinsic_hash": "0x04c051e22e6cc964666c075073c161fcc256405d08e4f7854e169e9e8cf7869b",
"extrinsic_index": "2022852-2",
"voting_time": 1602697470
}
],
"timeline": [
{
"block": 2022853,
"status": "approved",
"time": 1602697476,
"prophecy": false,
"index": 3,
"extrinsic_index": "2022853-2",
"params": null
},
{
"block": 2022853,
"status": "closed",
"time": 1602697476,
"prophecy": false,
"index": 2,
"extrinsic_index": "2022853-2",
"params": {
"council_index": 1
}
}
]
}
}
}
democracy-referendums
curl -X POST 'https://polkadot.api.subscan.io/api/scan/democracy/referendums' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 1
}'
Request URL
POST /api/scan/democracy/referendums
payload
| Name | Type | Require |
|---|---|---|
| status | string | no(completed active) |
| row | int | yes |
| page | int | yes |
Example Response
status enum
started executed notPassed cancelled Passed
{
"code": 0,
"message": "Success",
"generated_at": 1628587149,
"data": {
"count": 1,
"list": [
{
"referendum_index": 29,
"created_block": 1209600,
"author": {
"address": "1KvKReVmUiTc2LW2a4qyHsaJJ9eE9LRsywZkMk5hyBeyHgw"
},
"vote_threshold": "SuperMajorityApprove",
"end": 1302328,
"status": "started",
"call_module": "Staking",
"call_name": "increase_validator_count"
}
]
}
}
democracy-referendum
curl -X POST 'https://polkadot.api.subscan.io/api/scan/democracy/referendum' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"referendum_index": 0
}'
Request URL
POST /api/scan/democracy/referendum
payload
| Name | Type | Require |
|---|---|---|
| referendum_index | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1631867947,
"data": {
"info": {
"referendum_index": 1,
"created_block": 790302,
"updated_block": 799302,
"vote_threshold": "SimpleMajority",
"pre_image": {
"hash": "0xf86bf558643352cdfd4b6ebc74e5ef41afad5b73e41b157a59945253f48765be",
"created_block": 798096,
"updated_block": 799302,
"status": "used",
"amount": "0",
"call_module": "System",
"call_name": "set_code",
"params": "https://subscan.oss-cn-hangzhou.aliyuncs.com/NotePreImage/wasm/polkadot/0xf86bf558643352cdfd4b6ebc74e5ef41afad5b73e41b157a59945253f48765be",
"author": {
"address": "1KvKReVmUiTc2LW2a4qyHsaJJ9eE9LRsywZkMk5hyBeyHgw",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "KnownGood"
}
],
"account_index": "12BCSi",
"identity": true,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
},
"value": "0",
"status": "executed",
"delay": 1800,
"end": 797502,
"aye_amount": "242393133400000000",
"nay_amount": "0",
"turnout": "193619571000000000",
"executed_success": true,
"aye_without_conviction": "193169571000000000",
"nay_without_conviction": "0",
"timeline": [
{
"block": 799302,
"status": "executed",
"time": 1595318538,
"prophecy": false,
"index": 2,
"extrinsic_index": "799302-0",
"params": null
},
{
"block": 799302,
"status": "executingAt",
"time": -1,
"prophecy": true,
"index": 0,
"extrinsic_index": "797502-0",
"params": {
"council_index": 1
}
}
]
}
}
}
democracy-votes
curl -X POST 'https://polkadot.api.subscan.io/api/scan/democracy/votes' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 1
}'
Request URL
POST /api/scan/democracy/votes
payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| referendum_index | int | yes |
| sort | string | no(conviction amount votes) |
| order | string | no(asc desc) |
| valid | string | no(valid invalid) |
| status | string | no(Ayes Nays) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"count": 1,
"list": [
{
"account": {
"display": "",
"account_index": "4wkDy",
"address": "HRosoqFwj5XJUiTrFFFqpEzzuqTXWAczPyjm23JVmg9FTYu",
"judgements": [
{
"index": 0,
"judgement": "KnownGood"
}
],
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"delegate_account": {
"address": "HRosoqFwj5XJUiTrFFFqpEzzuqTXWAczPyjm23JVmg9FTYu",
},
"amount": "323446184712801",
"passed": true,
"extrinsic_hash": "0xa02acc5a6dba2bb45c04cf8e73f52e1b0c1499587a9b8632d5c677632b8059ec",
"extrinsic_index": "795597-3",
"conviction": "1",
"votes": "1",
"valid": true,
"voting_time": 1595296242
}
]
}
}
democracy-proposals
curl -X POST 'https://polkadot.api.subscan.io/api/scan/democracy/proposals' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 1
}'
Request URL
POST /api/scan/democracy/proposals
payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| status | string | no |
| order_field | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587144,
"data": {
"count": 1,
"list": [
{
"created_block": 1692250,
"proposal_id": 9,
"status": "tabled",
"call_module": "Staking",
"call_name": "increase_validator_count",
"seconded_count": 0
}
]
}
}
democracy-proposal
curl -X POST 'https://polkadot.api.subscan.io/api/scan/democracy/proposal' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"democracy_id": 1
}'
Request URL
POST /api/scan/democracy/proposal
payload
| Name | Type | Require |
|---|---|---|
| democracy_id | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1631868025,
"data": {
"info": {
"proposal_id": 1,
"status": "tabled",
"created_block": 1179226,
"updated_block": 1612800,
"proposal_hash": "0x086650c6a3966e8179e5213fdb8bcc01b109d82d58c492c6f2c198f4237ec3cb",
"value": "1000000000000",
"call_module": "",
"call_name": "",
"params": "null",
"seconded_count": 0,
"timeline": [
{
"block": 1612800,
"status": "motionAt",
"time": 1600220184,
"prophecy": false,
"index": 0,
"extrinsic_index": "1612800-0",
"params": {
"referendum_index": 4
}
},
{
"block": 1179226,
"status": "proposed",
"time": 1597613130,
"prophecy": false,
"index": 0,
"extrinsic_index": "1179226-3",
"params": null
}
],
"pre_image": {
"hash": "0xf86bf558643352cdfd4b6ebc74e5ef41afad5b73e41b157a59945253f48765be",
"created_block": 798096,
"updated_block": 799302,
"status": "used",
"amount": "0",
"call_module": "System",
"call_name": "set_code",
"params": "https://subscan.oss-cn-hangzhou.aliyuncs.com/NotePreImage/wasm/polkadot/0xf86bf558643352cdfd4b6ebc74e5ef41afad5b73e41b157a59945253f48765be",
"author": {
"address": "1KvKReVmUiTc2LW2a4qyHsaJJ9eE9LRsywZkMk5hyBeyHgw",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "KnownGood"
}
],
"account_index": "12BCSi",
"identity": true,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
}
}
}
}
tips
curl -X POST 'https://polkadot.api.subscan.io/api/scan/treasury/tips' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 1
}'
Request URL
POST /api/scan/treasury/tips
payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"data": {
"count": 1,
"list": [
{
"amount": "0",
"beneficiary": {
"account_index": "",
"address": "164tG1eWdbY4HfaUfLp1pPTRRj9Hfj82D24YBQib7crat1QB",
"display": "VAL-1",
"identity": true,
"judgements": [
{
"index": 1,
"judgement": "Reasonable"
}
],
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"block_num": 2131734,
"close_block_num": 2131737,
"extrinsic_index": "2131734-1",
"finder": {
"account_index": "",
"address": "1hCMdtRsaRA4ZTEKpPKPvEjK9rZpGhyFnRHSDhqFMCEayRL",
"display": "RTTI-5220 (POLKADOT)",
"identity": true,
"judgements": [
{
"index": 0,
"judgement": "KnownGood"
}
],
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"hash": "0x8b750b6c5e3ad200506fb0f82caa57a7be7842ae12c32427c98ef23d18409487",
"reason": "Statink on Polkadot with Ledger tutorial: https://youtu.be/-jxJ7jursA4",
"status": "retract",
"tipper_num": 0
}
]
},
"message": "Success",
"generated_at": 1628587129
}
tip
curl -X POST 'https://polkadot.api.subscan.io/api/scan/treasury/tip' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"hash": "0x6bf9d1bd28c5e88693a7b86548d9f05ead2813195f4d4771cd44e2b5ed31d181"
}'
Request URL
POST /api/scan/treasury/tip
payload
| Name | Type | Require |
|---|---|---|
| hash | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1631868080,
"data": {
"info": {
"block_num": 1525546,
"reason": "Supporting Polkadot Ambassador(Hyungsuk) as a community manager in Polkadot Eco-partners' Telegram and Discord Communities",
"hash": "0x6bf9d1bd28c5e88693a7b86548d9f05ead2813195f4d4771cd44e2b5ed31d181",
"extrinsic_index": "1525546-3",
"status": "closed",
"amount": "75000000000",
"close_block_num": 1973069,
"tipper_num": 4,
"finder": {
"address": "16YBdgR2NXVfcgVx8vmGimJMo8CFzULktruh1bTDUnY2Ss6Q",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"beneficiary": {
"address": "16YBdgR2NXVfcgVx8vmGimJMo8CFzULktruh1bTDUnY2Ss6Q",
"display": "Phala Network",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"timeline": [
{
"block": 1525546,
"status": "proposed",
"time": 1599695220,
"prophecy": false,
"index": 4,
"extrinsic_index": "1525546-3",
"params": null
},
{
"block": 1973069,
"status": "closed",
"time": 1602396462,
"prophecy": false,
"index": 4,
"extrinsic_index": "1973069-2",
"params": {
"council_index": 1
}
}
]
}
}
}
seconded
curl -X POST 'https://kusama.api.subscan.io/api/scan/democracy/seconded' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"proposal_id": 58,
"page": 0,
"row": 1
}'
Request URL
POST /api/scan/democracy/seconded
payload
| Name | Type | Require |
|---|---|---|
| proposal_id | int | yes |
| page | int | yes |
| row | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1647396883,
"data": {
"count": 1,
"list": [
{
"proposal_id": 58,
"block_num": 11574051,
"account": "0294d53df32ffcce69720bff43ef091c4bb98746625ccd872c83020b6e60b92b",
"extrinsic_index": "11574051-3",
"event_index": "11574051-30",
"account_display": {
"address": "CdhpsY3pPg6rCxuHj55jUw7PoCHNLUTWHwWzhW6m58VQmXx",
"display": "Phala Network",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
}
]
}
}
bounties
curl -X POST 'https://polkadot.api.subscan.io/api/scan/bounties/proposals' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"page": 0,
"row": 1
}'
Request URL
POST /api/scan/bounties/proposals
payload
| Name | Type | Require |
|---|---|---|
| page | int | yes |
| row | int | yes |
| status | string | no(historical active) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1648790183,
"data": {
"count": 1,
"list": [
{
"proposal_id": 11,
"status": "proposed",
"value": "75000000000000",
"description": "Anti-Scam Bounty",
"proposer": {
"address": "5FnKtu7Tdy2Zcs4VD2TD8TX8JPEwabafWkPv93F8Cu8ewrub",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
}
]
}
}
bounty info
curl -X POST 'https://polkadot.api.subscan.io/api/scan/bounties/proposal' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"proposal_id": 0
}'
Request URL
POST /api/scan/bounties/proposal
payload
| Name | Type | Require |
|---|---|---|
| proposal_id | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1648790328,
"data": {
"proposal_id": 0,
"status": "claimed",
"created_block": 3093521,
"value": "24457900000000",
"description": "Polkadot Brand Update Immersion Phase",
"beneficiary": {
"address": "5Fk25SLJFnMY6Qn9JnHep6naH8KheFN4zXk2t7AtSK8t7icT",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"proposer": {
"address": "5Fk25SLJFnMY6Qn9JnHep6naH8KheFN4zXk2t7AtSK8t7icT",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"curator": {
"address": "5Hn6TH4yX5N54qV3BGVmfdw33snFkJ3GFqLk2tvsQXQrnnfz",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"curator_deposit": "5000000000",
"curator_fee": "10000000000",
"bond": "10000",
"expire_block": 6534539,
"timeline": [
{
"block": 3109841,
"status": "approved",
"time": 1609246800,
"prophecy": false,
"index": 0,
"extrinsic_index": "3109841-1",
"params": {
"council_index": 50
}
},
{
"block": 6419339,
"status": "awarded",
"time": 1629188760,
"prophecy": false,
"index": 2,
"extrinsic_index": "6419339-1",
"params": null
}
]
}
}
referendumV2 list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/referenda/referendums' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row":10,
"status":"completed"
}'
Request URL
POST /api/scan/referenda/referendums
payload
| Name | Type | Require |
|---|---|---|
| page | int | no |
| row | int | yes |
| status | string | no(completed active) |
| Origins | string | no |
Example Response
status enum
Submitted Decision Confirm Approved ConfirmAborted Rejected Cancelled Timeout Killed Executed ExecutedFailed
{
"code": 0,
"message": "Success",
"generated_at": 1672219941,
"data": {
"count": 2,
"list": [
{
"referendum_index": 1,
"created_block": 15438787,
"created_block_timestamp": "1670615070",
"origins_id": 10,
"origins": "treasurer",
"account": {
"address": "GLVeryFRbg5hEKvQZcAnLvXZEXhiYaBjzSDwrXBXrfPF7wj"
},
"call_module": "",
"call_name": "",
"status": "Rejected",
"latest_block_num": 15684998,
"latest_block_timestamp": 1670615070
},
{
"referendum_index": 0,
"created_block": 15426832,
"origins": "general_admin",
"account": {
"address": "GLVeryFRbg5hEKvQZcAnLvXZEXhiYaBjzSDwrXBXrfPF7wj"
},
"call_module": "System",
"call_name": "remark",
"status": "Rejected",
"latest_block_num": 15682703,
"latest_block_timestamp": 1670598540
}
]
}
}
referendumV2 info
curl -X POST 'https://polkadot.api.subscan.io/api/scan/referenda/referendum' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"referendum_index":0
}'
Request URL
POST /api/scan/referenda/referendum
payload
| Name | Type | Require |
|---|---|---|
| referendum_index | int | yes |
Example Response
timeline.status enum
Submitted Decision ConfirmStarted Confirm Approved ConfirmAborted Rejected Cancelled Timeout Killed Executed ExecutedFailed
{
"code": 0,
"message": "Success",
"generated_at": 1672305439,
"data": {
"referendum_index": 0,
"created_block": 15426832,
"created_block_timestamp": "1670615070",
"origins_id": 3,
"origins": "general_admin",
"account": {
"address": "GLVeryFRbg5hEKvQZcAnLvXZEXhiYaBjzSDwrXBXrfPF7wj"
},
"deposit_balance": "100000000000000",
"decision_deposit_account": {
"address": "GLVeryFRbg5hEKvQZcAnLvXZEXhiYaBjzSDwrXBXrfPF7wj"
},
"decision_deposit_balance": "16666666500000",
"status": "Rejected",
"latest_block_num": 15682703,
"latest_block_timestamp": 1670598540,
"pre_image": {
"hash": "0xb54d0e07521b04f5d3ef54bf3c4cc4c0866b65873b38eafe58d3d754cb08bf89",
"created_block": 15426506,
"updated_block": 0,
"status": "Noted",
"amount": "0",
"call_module": "System",
"call_name": "remark",
"params":"[{\"name\":\"remark\",\"type\":\"Vec\<U8\>\",\"value\":\"Expect chaos.\"}]",
"author": {
"address": "JFArxqV6rqPSwBok3zQDnj5jL6vwsZQDwYXXqb1cFygnYVt"
}
},
"beneficiary": {
"address": "HHK8Yy2gtAUydPGGzotH5mzPe6u1iG8m5nnAxdqb9r99iCU"
},
"beneficiary_amount": "7300000000000",
"ayes_amount": "267410000000",
"ayes_count": 2,
"nays_amount": "0",
"nays_count": 0,
"abstains_count": 0,
"support_amount": "2674100000000",
"timeline": [
{
"block": 15426832,
"status": "Submitted",
"time": 1669046412,
"prophecy": false,
"index": 66,
"extrinsic_index": "",
"params": null
},
{
"block": 15426840,
"status": "Decision",
"time": 1669046460,
"prophecy": false,
"index": 53,
"extrinsic_index": "",
"params": null
},
{
"block": 15682703,
"status": "Rejected",
"time": 1670598540,
"prophecy": false,
"index": 1,
"extrinsic_index": "",
"params": null
}
]
}
}
referendumV2 votes
curl -X POST 'https://polkadot.api.subscan.io/api/scan/referenda/votes' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row":10,
"referendum_index":0
}'
Request URL
POST /api/scan/referenda/votes
payload
| Name | Type | Require |
|---|---|---|
| referendum_index | int | yes |
| sort | string | no(conviction amount votes) |
| order | string | no(asc desc) |
| valid | string | no(valid invalid) |
| status | string | no(Ayes Nays Abstains) |
| page | int | no |
| row | int | yes |
Example Response
status enum
Ayes Nays Abstains
{
"code": 0,
"message": "Success",
"generated_at": 1672281811,
"data": {
"count": 1,
"list": [
{
"account": {
"address": "12pJGRmrWoZohZVFnGK2hhoMwzCVkjmEjwv3C5wxdnbCAiEk"
},
"delegate_account": {
"address": "15tfUt4iQNjMyhZiJGBf4EpETE2KqtW1nfJwbBT1MvWjvcK9"
},
"amount": "2000000000000",
"votes": "200000000000",
"status": "Aye",
"valid": true,
"extrinsic_index": "15426860-6",
"conviction": "0.1",
"voting_time": 1669046580
}
]
}
}
referendumV2 track
curl -X POST 'https://polkadot.api.subscan.io/api/scan/referenda/tracks' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
Request URL
POST /api/scan/referenda/tracks
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1672220221,
"data": {
"0": {
"name": "root",
"current_deciding": 0,
"max_deciding": 1,
"decision_deposit": "3333333333300000",
"prepare_period": 2400,
"decision_period": 201600,
"confirm_period": 1800,
"min_enactment_period": 1800,
"min_approval": {
"Reciprocal": {
"factor": "222222224",
"x_offset": "333333335",
"y_offset": "333333332"
}
},
"min_support": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 0,
"ceil": 500000000
}
}
},
"1": {
"name": "whitelisted_caller",
"current_deciding": 0,
"max_deciding": 30,
"decision_deposit": "3333333333300000",
"prepare_period": 2400,
"decision_period": 201600,
"confirm_period": 100,
"min_enactment_period": 300,
"min_approval": {
"Reciprocal": {
"factor": "270899180",
"x_offset": "389830523",
"y_offset": "305084738"
}
},
"min_support": {
"Reciprocal": {
"factor": "8650766",
"x_offset": "18867926",
"y_offset": "41509433"
}
}
},
"10": {
"name": "staking_admin",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "166666666665000",
"prepare_period": 2400,
"decision_period": 201600,
"confirm_period": 1800,
"min_enactment_period": 28800,
"min_approval": {
"LinearDecreasing": {
"length": 607142857,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"Reciprocal": {
"factor": "7892829",
"x_offset": "15544040",
"y_offset": "-7772020"
}
}
},
"11": {
"name": "treasurer",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "166666666665000",
"prepare_period": 2400,
"decision_period": 201600,
"confirm_period": 1800,
"min_enactment_period": 28800,
"min_approval": {
"Reciprocal": {
"factor": "222222224",
"x_offset": "333333335",
"y_offset": "333333332"
}
},
"min_support": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 0,
"ceil": 500000000
}
}
},
"12": {
"name": "lease_admin",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "166666666665000",
"prepare_period": 2400,
"decision_period": 201600,
"confirm_period": 1800,
"min_enactment_period": 28800,
"min_approval": {
"LinearDecreasing": {
"length": 607142857,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"Reciprocal": {
"factor": "7892829",
"x_offset": "15544040",
"y_offset": "-7772020"
}
}
},
"13": {
"name": "fellowship_admin",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "166666666665000",
"prepare_period": 2400,
"decision_period": 201600,
"confirm_period": 1800,
"min_enactment_period": 28800,
"min_approval": {
"LinearDecreasing": {
"length": 607142857,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"Reciprocal": {
"factor": "7892829",
"x_offset": "15544040",
"y_offset": "-7772020"
}
}
},
"14": {
"name": "general_admin",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "166666666665000",
"prepare_period": 2400,
"decision_period": 201600,
"confirm_period": 1800,
"min_enactment_period": 28800,
"min_approval": {
"Reciprocal": {
"factor": "222222224",
"x_offset": "333333335",
"y_offset": "333333332"
}
},
"min_support": {
"Reciprocal": {
"factor": "49586777",
"x_offset": "90909091",
"y_offset": "-45454546"
}
}
},
"15": {
"name": "auction_admin",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "166666666665000",
"prepare_period": 2400,
"decision_period": 201600,
"confirm_period": 1800,
"min_enactment_period": 28800,
"min_approval": {
"Reciprocal": {
"factor": "222222224",
"x_offset": "333333335",
"y_offset": "333333332"
}
},
"min_support": {
"Reciprocal": {
"factor": "49586777",
"x_offset": "90909091",
"y_offset": "-45454546"
}
}
},
"20": {
"name": "referendum_canceller",
"current_deciding": 0,
"max_deciding": 1000,
"decision_deposit": "1666666666650000",
"prepare_period": 2400,
"decision_period": 100800,
"confirm_period": 1800,
"min_enactment_period": 100,
"min_approval": {
"LinearDecreasing": {
"length": 607142857,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"Reciprocal": {
"factor": "7892829",
"x_offset": "15544040",
"y_offset": "-7772020"
}
}
},
"21": {
"name": "referendum_killer",
"current_deciding": 0,
"max_deciding": 1000,
"decision_deposit": "1666666666650000",
"prepare_period": 2400,
"decision_period": 201600,
"confirm_period": 1800,
"min_enactment_period": 100,
"min_approval": {
"LinearDecreasing": {
"length": 607142857,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"Reciprocal": {
"factor": "7892829",
"x_offset": "15544040",
"y_offset": "-7772020"
}
}
},
"30": {
"name": "small_tipper",
"current_deciding": 0,
"max_deciding": 200,
"decision_deposit": "166666666665",
"prepare_period": 2400,
"decision_period": 100800,
"confirm_period": 1800,
"min_enactment_period": 14400,
"min_approval": {
"LinearDecreasing": {
"length": 357142857,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"Reciprocal": {
"factor": "1620729",
"x_offset": "3231018",
"y_offset": "-1615509"
}
}
},
"31": {
"name": "big_tipper",
"current_deciding": 0,
"max_deciding": 100,
"decision_deposit": "1666666666650",
"prepare_period": 2400,
"decision_period": 100800,
"confirm_period": 3600,
"min_enactment_period": 14400,
"min_approval": {
"LinearDecreasing": {
"length": 357142857,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"Reciprocal": {
"factor": "4149097",
"x_offset": "8230453",
"y_offset": "-4115227"
}
}
},
"32": {
"name": "small_spender",
"current_deciding": 0,
"max_deciding": 50,
"decision_deposit": "16666666666500",
"prepare_period": 2400,
"decision_period": 201600,
"confirm_period": 7200,
"min_enactment_period": 14400,
"min_approval": {
"LinearDecreasing": {
"length": 607142857,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"Reciprocal": {
"factor": "7892829",
"x_offset": "15544040",
"y_offset": "-7772020"
}
}
},
"33": {
"name": "medium_spender",
"current_deciding": 0,
"max_deciding": 20,
"decision_deposit": "49999999999500",
"prepare_period": 2400,
"decision_period": 201600,
"confirm_period": 14400,
"min_enactment_period": 14400,
"min_approval": {
"LinearDecreasing": {
"length": 821428571,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"Reciprocal": {
"factor": "14377233",
"x_offset": "27972031",
"y_offset": "-13986016"
}
}
},
"34": {
"name": "big_spender",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "166666666665000",
"prepare_period": 2400,
"decision_period": 201600,
"confirm_period": 28800,
"min_enactment_period": 14400,
"min_approval": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"Reciprocal": {
"factor": "28326977",
"x_offset": "53763445",
"y_offset": "-26881723"
}
}
}
}
}
referendumV2 statistics
curl -X POST 'https://polkadot.api.subscan.io/api/scan/referenda/statistics' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
Request URL
POST /api/scan/referenda/statistics
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1672303761,
"data": {
"referendum_locked": "7908180276500000",
"referendum_participate": "7910854376500000",
"voting_total": 1,
"confirm_total": 0,
"origins": [
{
"ID": 0,
"Origins": "root",
"Count": 1
},
{
"ID": 11,
"Origins": "treasurer",
"Count": 1
},
{
"ID": 14,
"Origins": "general_admin",
"Count": 1
},
{
"ID": 34,
"Origins": "big_spender",
"Count": 1
}
],
"OriginsCount": 4
}
}
fellowship referendum list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/fellowship/referendums' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row":10,
"status":"completed"
}'
Request URL
POST /api/scan/fellowship/referendums
payload
| Name | Type | Require |
|---|---|---|
| page | int | no |
| row | int | yes |
| status | string | no(completed active) |
| Origins | string | no |
Example Response
status enum
Submitted Decision Confirm Approved ConfirmAborted Rejected Cancelled Timeout Killed Executed ExecutedFailed
{
"code": 0,
"message": "Success",
"generated_at": 1672815270,
"data": {
"count": 1,
"list": [
{
"referendum_index": 0,
"created_block": 15598169,
"created_block_timestamp": "1670615070",
"origins_id": 10,
"origins": "fellows",
"account": {
"address": "GcDZZCVPwkPqoWxx8vfLb4Yfpz9yQ1f4XEyqngSH8ygsL9p"
},
"call_module": "",
"call_name": "",
"status": "Approved",
"latest_block_num": 15602369,
"latest_block_timestamp": 1670104026
}
]
}
}
fellowship referendum info
curl -X POST 'https://polkadot.api.subscan.io/api/scan/fellowship/referendum' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"referendum_index":0
}'
Request URL
POST /api/scan/fellowship/referendum
payload
| Name | Type | Require |
|---|---|---|
| referendum_index | int | yes |
Example Response
timeline.status enum
Submitted Decision ConfirmStarted Confirm Approved ConfirmAborted Rejected Cancelled Timeout Killed Executed ExecutedFailed
{
"code": 0,
"message": "Success",
"generated_at": 1672814873,
"data": {
"referendum_index": 0,
"created_block": 15598169,
"created_block_timestamp": "1670615070",
"origins_id": 8,
"origins": "fellows",
"account": {
"address": "GcDZZCVPwkPqoWxx8vfLb4Yfpz9yQ1f4XEyqngSH8ygsL9p"
},
"deposit_balance": "0",
"decision_deposit_account": {
"address": "GLVeryFRbg5hEKvQZcAnLvXZEXhiYaBjzSDwrXBXrfPF7wj"
},
"decision_deposit_balance": "33333333000",
"status": "Approved",
"latest_block_num": 15602369,
"latest_block_timestamp": 1670104026,
"pre_image": {
"hash": "0xb54d0e07521b04f5d3ef54bf3c4cc4c0866b65873b38eafe58d3d754cb08bf89",
"created_block": 15426506,
"updated_block": 0,
"status": "Noted",
"amount": "0",
"call_module": "System",
"call_name": "remark",
"params":"[{\"name\":\"remark\",\"type\":\"Vec\<U8\>\",\"value\":\"Expect chaos.\"}]",
"author": {
"address": "JFArxqV6rqPSwBok3zQDnj5jL6vwsZQDwYXXqb1cFygnYVt"
}
},
"beneficiary": null,
"beneficiary_amount": "",
"ayes_amount": "13",
"ayes_count": 2,
"nays_amount": "0",
"nays_count": 0,
"abstains_count": 0,
"support_amount": "0",
"bare_ayes": "2",
"timeline": [
{
"block": 15598169,
"status": "Submitted",
"time": 1670078742,
"prophecy": false,
"index": 50,
"extrinsic_index": "",
"params": null
},
{
"block": 15598469,
"status": "Decision",
"time": 1670080548,
"prophecy": false,
"index": 0,
"extrinsic_index": "",
"params": null
},
{
"block": 15602069,
"status": "ConfirmStarted",
"time": 1670102214,
"prophecy": false,
"index": 0,
"extrinsic_index": "",
"params": null
},
{
"block": 15602369,
"status": "Confirm",
"time": 1670104026,
"prophecy": false,
"index": 2,
"extrinsic_index": "",
"params": null
}
]
}
}
fellowship referendum votes
curl -X POST 'https://polkadot.api.subscan.io/api/scan/fellowship/votes' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row":10,
"referendum_index":0
}'
Request URL
POST /api/scan/fellowship/votes
payload
| Name | Type | Require |
|---|---|---|
| referendum_index | int | yes |
| page | int | no |
| row | int | yes |
Example Response
status enum
Ayes Nays
{
"code": 0,
"message": "Success",
"generated_at": 1672815678,
"data": {
"count": 2,
"list": [
{
"account": {
"address": "HL8bEp8YicBdrUmJocCAWVLKUaR2dd1y6jnD934pbre3un1"
},
"amount": "3",
"status": "Ayes",
"valid": true,
"extrinsic_index": "15598438-2",
"conviction": "0",
"voting_time": 1670080362
},
{
"account": {
"address": "FcxNWVy5RESDsErjwyZmPCW6Z8Y3fbfLzmou34YZTrbcraL"
},
"amount": "10",
"status": "Ayes",
"valid": true,
"extrinsic_index": "15598379-4",
"conviction": "0",
"voting_time": 1670080008
}
]
}
}
fellowship referendum track
curl -X POST 'https://polkadot.api.subscan.io/api/scan/fellowship/tracks' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
Request URL
POST /api/scan/fellowship/tracks
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1672814526,
"data": {
"0": {
"name": "candidates",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "3333333333300",
"prepare_period": 300,
"decision_period": 100800,
"confirm_period": 300,
"min_enactment_period": 10,
"min_approval": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 0,
"ceil": 500000000
}
}
},
"1": {
"name": "members",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "333333333330",
"prepare_period": 300,
"decision_period": 100800,
"confirm_period": 300,
"min_enactment_period": 10,
"min_approval": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 0,
"ceil": 500000000
}
}
},
"2": {
"name": "proficients",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "333333333330",
"prepare_period": 300,
"decision_period": 100800,
"confirm_period": 300,
"min_enactment_period": 10,
"min_approval": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 0,
"ceil": 500000000
}
}
},
"3": {
"name": "fellows",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "333333333330",
"prepare_period": 300,
"decision_period": 100800,
"confirm_period": 300,
"min_enactment_period": 10,
"min_approval": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 0,
"ceil": 500000000
}
}
},
"4": {
"name": "senior fellows",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "333333333330",
"prepare_period": 300,
"decision_period": 100800,
"confirm_period": 300,
"min_enactment_period": 10,
"min_approval": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 0,
"ceil": 500000000
}
}
},
"5": {
"name": "experts",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "33333333333",
"prepare_period": 300,
"decision_period": 100800,
"confirm_period": 300,
"min_enactment_period": 10,
"min_approval": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 0,
"ceil": 500000000
}
}
},
"6": {
"name": "senior experts",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "33333333333",
"prepare_period": 300,
"decision_period": 100800,
"confirm_period": 300,
"min_enactment_period": 10,
"min_approval": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 0,
"ceil": 500000000
}
}
},
"7": {
"name": "masters",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "33333333333",
"prepare_period": 300,
"decision_period": 100800,
"confirm_period": 300,
"min_enactment_period": 10,
"min_approval": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 0,
"ceil": 500000000
}
}
},
"8": {
"name": "senior masters",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "33333333333",
"prepare_period": 300,
"decision_period": 100800,
"confirm_period": 300,
"min_enactment_period": 10,
"min_approval": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 0,
"ceil": 500000000
}
}
},
"9": {
"name": "grand masters",
"current_deciding": 0,
"max_deciding": 10,
"decision_deposit": "33333333333",
"prepare_period": 300,
"decision_period": 100800,
"confirm_period": 300,
"min_enactment_period": 10,
"min_approval": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 500000000,
"ceil": 1000000000
}
},
"min_support": {
"LinearDecreasing": {
"length": 1000000000,
"floor": 0,
"ceil": 500000000
}
}
}
}
}
fellowship referendum statistics
curl -X POST 'https://polkadot.api.subscan.io/api/scan/fellowship/statistics' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
Request URL
POST /api/scan/fellowship/statistics
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1672815437,
"data": {
"fellowship_members": 45,
"active_fellowship_members": 45,
"voting_total": 0,
"confirm_total": 0,
"origins": [
{
"ID": 0,
"Origins": "candidates",
"Count": 1
},
{
"ID": 3,
"Origins": "fellows",
"Count": 1
}
],
"OriginsCount": 2
}
}
preimage list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/preimage/list' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row":10
}'
Request URL
POST /api/scan/preimage/list
payload
| Name | Type | Require |
|---|---|---|
| status | string | no(cleared unrequested requested) |
| source | string | no(inline preimage(default)) |
| page | int | no |
| row | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1690363688,
"data": {
"count": 2,
"list": [
{
"hash": "0x0ebcc4bc4a03cf575960716f3fb7ec699a80dab184d70c55db2391834b066241",
"created_block": 13882474,
"created_timestamp": 1674205986,
"author": {
"address": "167y8dsUr7kaM1FNoCtXWy2unEnjGHiN7ML3vawR6Nwywbci"
},
"status": "(Requested Unrequested Cleared)",
"call_module": "Utility",
"call_name": "batch_all",
"link": [
{
"module": "Referendum",
"id": [
2,
50
]
}
]
},
{
"hash": "0x0ebcc4bc4a03cf575960716f3fb7ec699a80dab184d70c55db2391834b06624f",
"created_block": 13882473,
"created_timestamp": 1674205986,
"author": {
"address": "167y8dsUr7kaM1FNoCtXWy2unEnjGHiN7ML3vawR6Nwywbci"
},
"status": "Cleared",
"call_module": "Utility",
"call_name": "batch_all",
"link": null
}
]
}
}
preimage details
curl -X POST 'https://polkadot.api.subscan.io/api/scan/preimage/details' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"hash":"0x0ebcc4bc4a03cf575960716f3fb7ec699a80dab184d70c55db2391834b06624f"
}'
Request URL
POST /api/scan/preimage/details
payload
| Name | Type | Require |
|---|---|---|
| hash | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1690364002,
"data": {
"hash": "0x0ebcc4bc4a03cf575960716f3fb7ec699a80dab184d70c55db2391834b06624f",
"len": 31,
"created_block": 13882473,
"create_timestamp": 0,
"updated_block": 14058434,
"author": {
"address": "167y8dsUr7kaM1FNoCtXWy2unEnjGHiN7ML3vawR6Nwywbci"
},
"amount": "401770000000",
"status": "Cleared",
"call_module": "Utility",
"call_name": "batch_all",
"params":"[{\"name\":\"calls\",\"type\":\"Vec\<Call\>\",\"value\":[{\"call_index\":\"0502\",\"call_module\":\"Balances\",\"call_name\":\"force_transfer\",\"params\":[{\"name\":\"source\",\"type\":\"sp_runtime:multiaddress:MultiAddress\",\"value\":{\"Id\":\"0x6d6f646c70792f74727372790000000000000000000000000000000000000000\"}},{\"name\":\"dest\",\"type\":\"sp_runtime:multiaddress:MultiAddress\",\"value\":{\"Id\":\"0x70617261e8030000000000000000000000000000000000000000000000000000\"}},{\"name\":\"value\",\"type\":\"compact\<U128\>\",\"value\":\"200000000000\"}]},{\"call_index\":\"3c07\",\"call_module\":\"Hrmp\",\"call_name\":\"force_open_hrmp_channel\",\"params\":[{\"name\":\"sender\",\"type\":\"U32\",\"value\":1000},{\"name\":\"recipient\",\"type\":\"U32\",\"value\":2034},{\"name\":\"max_capacity\",\"type\":\"U32\",\"value\":1000},{\"name\":\"max_message_size\",\"type\":\"U32\",\"value\":102400}]},{\"call_index\":\"3c07\",\"call_module\":\"Hrmp\",\"call_name\":\"force_open_hrmp_channel\",\"params\":[{\"name\":\"sender\",\"type\":\"U32\",\"value\":2034},{\"name\":\"recipient\",\"type\":\"U32\",\"value\":1000},{\"name\":\"max_capacity\",\"type\":\"U32\",\"value\":1000},{\"name\":\"max_message_size\",\"type\":\"U32\",\"value\":102400}]}]}]",
"link": [
{
"module": "Referendum",
"id": [
2,
50
]
},
{
"module": "Fellowship",
"id": [
3
]
}
]
}
}
Runtime API
runtime-list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/runtime/list' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
Request URL
POST /api/scan/runtime/list
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"list": [
{
"spec_version": 9230,
"modules": "System|Babe|Timestamp|Indices|Balances|TransactionPayment|Authorship|Offences|Historical|Session|Grandpa|ImOnline|AuthorityDiscovery|ParachainsOrigin|Configuration|ParasShared|ParaInclusion|ParaInherent|ParaScheduler|Paras|Initializer|Dmp|Ump|Hrmp|ParaSessionInfo|ParasDisputes|Registrar|Auctions|Crowdloan|Slots|ParasSudoWrapper|AssignedSlots|Sudo|Mmr|Beefy|MmrLeaf|ValidatorManager|BridgeRococoGrandpa|BridgeWococoGrandpa|BridgeRococoMessages|BridgeWococoMessages|BridgeRococoMessagesDispatch|BridgeWococoMessagesDispatch|Collective|Membership|Utility|Proxy|Multisig|XcmPallet"
},
{
"spec_version": 9220,
"modules": "System|Babe|Timestamp|Indices|Balances|TransactionPayment|Authorship|Offences|Historical|Session|Grandpa|ImOnline|AuthorityDiscovery|ParachainsOrigin|Configuration|ParasShared|ParaInclusion|ParaInherent|ParaScheduler|Paras|Initializer|Dmp|Ump|Hrmp|ParaSessionInfo|ParasDisputes|Registrar|Auctions|Crowdloan|Slots|ParasSudoWrapper|AssignedSlots|Sudo|Mmr|Beefy|MmrLeaf|ValidatorManager|BridgeRococoGrandpa|BridgeWococoGrandpa|BridgeRococoMessages|BridgeWococoMessages|BridgeRococoMessagesDispatch|BridgeWococoMessagesDispatch|Collective|Membership|Utility|Proxy|Multisig|XcmPallet"
},
{
"spec_version": 9190,
"modules": "System|Babe|Timestamp|Indices|Balances|TransactionPayment|Authorship|Offences|Historical|Session|Grandpa|ImOnline|AuthorityDiscovery|ParachainsOrigin|Configuration|ParasShared|ParaInclusion|ParaInherent|ParaScheduler|Paras|Initializer|Dmp|Ump|Hrmp|ParaSessionInfo|ParasDisputes|Registrar|Auctions|Crowdloan|Slots|ParasSudoWrapper|AssignedSlots|Sudo|Mmr|Beefy|MmrLeaf|ValidatorManager|BridgeRococoGrandpa|BridgeWococoGrandpa|BridgeRococoMessages|BridgeWococoMessages|BridgeRococoMessagesDispatch|BridgeWococoMessagesDispatch|Collective|Membership|Utility|Proxy|Multisig|XcmPallet"
}
]
}
}
runtime-info
curl -X POST 'https://polkadot.api.subscan.io/api/scan/runtime/metadata' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"spec": 25
}'
Request URL
POST /api/scan/runtime/metadata
Payload
| Name | Type | Require |
|---|---|---|
| spec | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"info": {
"metadata": [
{
"name": "System",
"prefix": "System",
"storage": [
{
"name": "Account",
"modifier": "Default",
"type": {
"origin": "Map",
"n_map_type": {
"hashers": [
"Blake2_128Concat"
],
"key_vec": [
"[U8; 32]"
],
"value": "frame_system:AccountInfo",
"keys_id": 0,
"value_id": 0
}
},
"fallback": "",
"docs": [
" The full account information for a particular account ID."
]
}
],
"calls": [
{
"lookup": "0000",
"name": "fill_block",
"docs": [
"A dispatch that will fill the block weight up to the given ratio."
],
"args": [
{
"TypeName": "",
"name": "ratio",
"type": "U32",
"type_name": "Perbill"
}
]
}
],
"calls_value": {
"type": 136
},
"events": [
{
"lookup": "0000",
"name": "ExtrinsicSuccess",
"docs": [
"An extrinsic completed successfully."
],
"args": [
"frame_support:weights:DispatchInfo"
],
"args_type_name": [
"DispatchInfo"
]
}
],
"events_value": {
"type": 18
},
"constants": [
{
"name": "DbWeight",
"type": "frame_support:weights:RuntimeDbWeight",
"type_value": 147,
"constants_value": "40787d010000000000e1f50500000000",
"docs": [
" The weight of runtime database operations the runtime can invoke."
]
}
],
"errors": [
{
"name": "InvalidSpecName",
"doc": [
"The name of specification does not match between the current runtime",
"and the new runtime."
]
}
],
"errors_value": {
"type": 152
},
"index": 0
}
]
}
}
}
V2 API
search account
Search by accountId
curl -X POST 'https://polkadot.api.subscan.io/api/v2/scan/search' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"key": "1REAJ1k691g5Eqqg9gL7vvZCBG7FCCZ8zgQkZWd4va5ESih"
}'
Request URL
POST /api/v2/scan/search
Payload
| Name | Type | Require |
|---|---|---|
| key | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1635993577,
"data": {
"account": {
"account_display": {
"account_index": "1Rs7u",
"address": "1REAJ1k691g5Eqqg9gL7vvZCBG7FCCZ8zgQkZWd4va5ESih",
"display": "Polkadot.pro - Realgar",
"identity": true,
"judgements": [
{
"index": 1,
"judgement": "Reasonable"
}
],
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
},
"merkle": {
"tag_name": "Binance.com",
"tag_subtype": "Mandatory KYC and AML",
"tag_type": "Exchange"
}
},
"substrate_account": {
"address": "WANLfbkr6jWgCNaYJLuePheCsG3VQfsEUZRjHXZNfa8MfYn"
},
"address": "1REAJ1k691g5Eqqg9gL7vvZCBG7FCCZ8zgQkZWd4va5ESih",
"balance": "818617.0281089598",
"ring_lock": "",
"count_extrinsic": 1,
"derive_token": {
"TOKEN(UNIQUE_ID)": {
"token": "DOT(string)",
"balance": "100000000000",
"locked": "100000000000",
"unique_id": "DOT(string)",
"reserved": "(decimal)",
"bonded": "(decimal)",
"unbonding": "(decimal)"
}
},
"is_erc20": false,
"balance_lock": "589136.1599903102",
"bonded": "5891361599903102",
"conviction_lock": "100000000000000",
"democracy_lock": "0",
"display": "Polkadot.pro - Realgar",
"election_lock": "4500000000000000",
"email": "hello@polkadot.pro",
"is_council_member": false,
"is_evm_contract": false,
"is_registrar": false,
"is_techcomm_member": false,
"is_fellowship_member": false,
"is_module_account": false,
"judgements": [
{
"index": 1,
"judgement": "Reasonable"
}
],
"legal": "",
"lock": "589136.1599903102",
"nonce": 130,
"proxy": {
"proxy_account": [
{
"account_display": {
"address": "5D5LmAQdw3SHCmr3tX61uKbHi82XmQmQArqDJ2EerPoruhBn"
},
"proxy_type": "Any"
}
],
"real_account": [
{
"account_display": {
"address": "5FPRKZk6zBNUGQFWw8GXLaYW3cUjfUKR6CiAbP6sHbhF6fgC"
},
"proxy_type": "Any"
}
]
},
"multisig": {
"multi_account_member": [
{
"account_display": {
"address": "5FPRKZk6zBNUGQFWw8GXLaYW3cUjfUKR6CiAbP6sHbhF6fgC"
}
}
],
"threshold": 3,
"multi_account": [
{
"account_display": {
"address": "1FPRKZk6zBNUGQFWw8GXLaYW3cUjfUKR6CiAbP6sHbhF6fgC"
}
}
]
},
"delegate": {
"conviction_delegate": [
{
"account": {
"address": "1FPRKZk6zBNUGQFWw8GXLaYW3cUjfUKR6CiAbP6sHbhF6fgC"
},
"delegate_account": {
"address": "5FPRKZk6zBNUGQFWw8GXLaYW3cUjfUKR6CiAbP6sHbhF6fgC"
},
"origins": 1,
"conviction": "1",
"amount": "255000000"
}
],
"conviction_delegated": [],
"democracy_delegate": [],
"democracy_delegated": []
},
"registrar_info": {
"registrar_index": 1,
"registrar_fee": ""
},
"registrar_index": 1,
"registrar_fee": "",
"reserved": "807890000000",
"riot": "@realgar:matrix.org",
"role": "validator",
"staking_info": {
"controller": "1ZMbuCR3QiatxRsQdNnJYgydn3CWV4PELcTzpH4TNoNjxno",
"controller_display": {
"account_index": "1bwSw",
"address": "1ZMbuCR3QiatxRsQdNnJYgydn3CWV4PELcTzpH4TNoNjxno",
"display": "",
"identity": false,
"judgements": [
{
"index": 1,
"judgement": "Reasonable"
}
],
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"reward_display": {
"account_index": "",
"address": "",
"display": "",
"identity": true,
"judgements": [
{
"index": 1,
"judgement": "Reasonable"
}
],
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"reward_account": "stash"
},
"stash": "1REAJ1k691g5Eqqg9gL7vvZCBG7FCCZ8zgQkZWd4va5ESih",
"twitter": "@propolkadot",
"unbonding": "0",
"vesting": {
"type": "",
"total_locked": "0",
"pallet_schedules": [
{
"locked": "0",
"per_block": "0",
"starting_block": 0
}
],
"orml_schedules": [
{
"start": 0,
"period": 0,
"period_count": 0,
"per_period": "0"
}
]
},
"web": "https://polkadot.pro"
}
}
}
accounts list
Account list
curl -X POST 'https://polkadot.api.subscan.io/api/v2/scan/accounts' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 0
}'
Request URL
POST /api/v2/scan/accounts
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| order | string | no (desc,asc) |
| order_field | string | no(balance) |
| min_balance | string | no |
| max_balance | string | no |
| filter | string | no(validator nominator councilMember techcomm registrar system module evm nominationPool proxy proxies multisig multisigMember fellowship onChainIdentity) |
| address | array string | no (max:100) |
| token_unique_id | string | no |
Response enum
- assets_tag: (Dolphin | Whale)
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"count": 3,
"list": [
{
"account_display": {
"account_index": "",
"address": "1REAJ1k691g5Eqqg9gL7vvZCBG7FCCZ8zgQkZWd4va5ESih",
"display": "",
"identity": false,
"judgements": [
{
"index": 1,
"judgement": "Reasonable"
}
],
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"address": "1REAJ1k691g5Eqqg9gL7vvZCBG7FCCZ8zgQkZWd4va5ESih",
"substrate_account": {
"address": "WANLfbkr6jWgCNaYJLuePheCsG3VQfsEUZRjHXZNfa8MfYn"
},
"balance": "779909.2437836391",
"balance_lock": "549420.8715579395",
"ring_lock": "0",
"count_extrinsic": 10,
"derive_token": {
"string": {
"token": "(string)",
"balance": "(decimal)",
"locked": "(decimal)",
"unique_id": "(string)"
}
},
"is_erc20": false,
"is_evm_contract": false,
"lock": "549420.8715579395",
"fellowship_rank": 1,
"assets_tag": [
"Whale"
],
"registrar_info": {
"registrar_index": 1,
"registrar_fee": ""
}
}
]
}
}
reward-slash-v2
Tip: This API is only available in Polkadot, Kusama, Westend network
curl -X POST 'https://polkadot.api.subscan.io/api/v2/scan/account/reward_slash' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 20,
"page": 0,
"address": "15fTw39Ju2jJiHeGe1fJ5DtgugUauy9tr2HZuiRNFwqnGQ1Q"
}'
Request URL
POST /api/v2/scan/account/reward_slash
Payload
| Name | Type | Require | Description |
|---|---|---|---|
| row | int | yes | |
| page | int | yes | |
| address | string | yes | |
| is_stash | bool | no | |
| category | string | no | enum (Reward Slash) |
| block_range | string | no | |
| claimed_filter | string | no | enum (unclaimed claimed) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1645752773,
"data": {
"count": 468,
"list": [
{
"era": 464,
"stash": "15fTw39Ju2jJiHeGe1fJ5DtgugUauy9tr2HZuiRNFwqnGQ1Q",
"account": "15fTw39Ju2jJiHeGe1fJ5DtgugUauy9tr2HZuiRNFwqnGQ1Q",
"validator_stash": "11MJU5Q1rQh5BKuuECePhSAutv3WEVx6f2x9eZk9HXkCC1e",
"amount": "685508498992",
"block_timestamp": 1631208942,
"event_index": "6755864-222",
"module_id": "staking",
"event_id": "Rewarded",
"extrinsic_index": "6755864-1"
}
]
}
}
blocks-v2
Get Block list
curl -X POST 'https://mooonbase.api.subscan.io/api/v2/scan/blocks' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 10,
"page": 0
}'
Request URL
POST /api/v2/scan/blocks
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1648455491,
"data": {
"blocks": [
{
"block_num": 998,
"block_timestamp": 1622067444,
"hash": "0xb9448f974635ff2e83b61bfe696e128e0088c4578f4ebece3e7367fa1324d97d",
"event_count": 0,
"extrinsics_count": 3,
"finalized": true,
"account_display": {
"address": "0x623c9e50647a049f92090fe55e22cc0509872fb6",
"account_index": "",
"display": "",
"identity": false,
"judgements": [
{
"index": 1,
"judgement": "Reasonable"
}
],
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
}
],
"count": 998
}
}
extrinsics-v2
Extrinsic list
curl -X POST 'https://mooonbase.api.subscan.io/api/v2/scan/extrinsics' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 1
}'
Request URL
POST /api/v2/scan/extrinsics
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| signed | string | no |
| address | string | no |
| module | string | no |
| call | string | no |
| block_num | int | no |
| block_range | string | no |
| success | bool | no |
| after_id | int | no |
| order | string | no(desc or asc) |
tip: For performance & security considerations, only the first 10000 results can use row & page. If you need to get
more data, you can use after_id, params after_id is the last record id.
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1648456020,
"data": {
"count": 189,
"extrinsics": [
{
"id": 334035000001,
"block_num": 3340350,
"block_timestamp": 1594791900,
"extrinsic_index": "3340350-1",
"call_module_function": "transfer",
"call_module": "balances",
"nonce": 0,
"extrinsic_hash": "0x368f61800f8645f67d59baf0602b236ff47952097dcaef3aa026b50ddc8dcea0",
"success": true,
"fee": "0",
"fee_used": "0",
"tip": "0",
"finalized": true,
"account_display": {
"address": "5GNqxpgs8WeBPGKaZtdqVLbDr77az2n8rAmJAWcdjgwLgZXZ",
"display": "",
"account_index": "",
"identity": false,
"judgements": [
{
"index": 1,
"judgement": "Reasonable"
}
],
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
}
]
}
}
events-v2
Event list
curl -X POST 'https://mooonbase.api.subscan.io/api/v2/scan/events' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 10,
"page": 1
}'
Request URL
POST /api/v2/scan/events
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| module | string | no |
| event_id | string | no |
| block_num | int | no |
| extrinsic_index | string | no |
| block_range | string | no |
| finalized | bool | no |
| phase | int | no(enum 0, 1, 2) |
| address | string | no(accountId) |
| after_id | int | no |
| order | string | no(desc or asc) |
tip: For performance & security considerations, only the first 10000 results can use row & page. If you need to get
more data, you can use after_id, params after_id is the last record id.
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1648456900,
"data": {
"count": 8,
"events": [
{
"id": "700002",
"block_timestamp": 1622055540,
"event_index": "7-2",
"extrinsic_index": "7-2",
"phase": 0,
"module_id": "imonline",
"event_id": "HeartbeatReceived",
"extrinsic_hash": "",
"finalized": true
}
]
}
}
logs-v2
Logs list
curl -X POST 'https://crab.api.subscan.io/api/v2/scan/logs' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 100,
"page": 0,
"engine": "BABE",
"type": "PreRuntime",
"block_range": "421396-421396"
}'
Request URL
POST /api/v2/scan/logs
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| engine | string | no |
| type | string | no |
| block_range | string | no |
| block_num | int | no |
| after_id | int | no |
tip: For performance & security considerations, only the first 10000 results can use row & page. If you need to get
more data, you can use after_id, params after_id is the last record id.
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1633769920,
"data": {
"count": 1,
"logs": [
{
"id": "42139600000",
"block_num": 421396,
"log_index": "421396-0",
"log_type": "PreRuntime",
"engine": "BABE",
"data": "{\"data\":\"0x02010000003b91cf0f00000000\",\"engine\":\"BABE\"}"
}
]
}
}
transfers-v2
Transfer list
curl -X POST 'https://crab.api.subscan.io/api/v2/scan/transfers' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 10,
"page": 1
}'
Request URL
POST /api/v2/scan/transfers
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| address | string | no |
| extrinsic_index | string | no |
| block_range | string | no |
| direction | string | yes(all sent received) |
| min_amount | string | no |
| max_amount | string | no |
| currency | string | no (token usd) |
| success | bool | no |
| asset_symbol | string | no |
| asset_unique_id | string | no |
| after_id | array int | no |
| item_id | int | no (nft/uniques item id) |
tip: For performance & security considerations, only the first 10000 results can use row & page. If you need to get
more data, you can use after_id, params after_id is the last record block_num && event_idx. For example: You can
use [3783422,2] to get the data after block num is 3783422 and event_idx is 2
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1648457279,
"data": {
"count": 1,
"transfers": [
{
"from": "5EYCAe5gKAhHPwdktrtmXoAX8GfSVTkq2iBTWfpfoEnQxe6p",
"to": "5DyvrUL2kECZN75ExmfVK3dSEQkMnme5pW2iSDeAU9srcSoL",
"extrinsic_index": "3783422-2",
"event_idx": 2,
"success": true,
"hash": "",
"block_num": 3783422,
"block_timestamp": 1612150386,
"module": "balances",
"amount": "10653090.125505578",
"amount_v2": "0",
"fee": "0",
"nonce": 0,
"asset_symbol": "CRAB",
"asset_type": "",
"asset_unique_id": "CRAB",
"from_account_display": {
"address": "5EYCAe5gKAhHPwdktrtmXoAX8GfSVTkq2iBTWfpfoEnQxe6p",
"display": "modlda/claim",
"account_index": "",
"identity": false,
"judgements": [
{
"index": 1,
"judgement": "Reasonable"
}
],
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"to_account_display": {
"address": "5DyvrUL2kECZN75ExmfVK3dSEQkMnme5pW2iSDeAU9srcSoL",
"display": "",
"account_index": "",
"identity": false,
"judgements": [
{
"index": 1,
"judgement": "Reasonable"
}
],
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
}
}
]
}
}
transactions-v2
Get evm transaction list
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/v2/transactions' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"block_num": 5226287
}'
Request URL
POST /api/scan/evm/v2/transactions
Payload
| Name | Type | Require |
|---|---|---|
| page | int | no |
| row | int | no |
| block_num | int | no |
| contract | string | no |
| address | string | no(signer, evm address) |
| block_range | string | no |
| after_id | int | no |
tip: For performance & security considerations, only the first 10000 results can use row & page. If you need to get
more data, you can use after_id, params after_id is the last record extrinsic_id.
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1668743513,
"data": {
"count": 1,
"list": [
{
"hash": "0x3b9c2b978a72b1f4b220c0640ada12bcb894cf692a0e7a1faca33f0acb7d6fde",
"from": "0xa1511e5c683a007056caa1d9a8d6a37464826280",
"to": "0x7139e2b08d58987a4327b11fec388536cc65d37a",
"value": "0",
"gas_price": "1000000000",
"gas_used": "0",
"success": true,
"block_timestamp": 1620872100,
"extrinsic_id": 522628700001,
"contract": "",
"method": "0xbe45fd62",
"effective_gas_price": "1000000000"
}
]
}
}
daily-v2
Statistics by time
curl -X POST 'https://polkadot.api.subscan.io/api/v2/scan/daily' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"start": "2020-07-03",
"end": "2020-07-04",
"format": "day",
"category": "transfer"
}'
}'
}'
Request URL
POST /api/v2/scan/daily
Payload
| Name | Type | Require |
|---|---|---|
| start | Date(2019-07-04) | yes |
| end | Date(2019-07-04) | yes |
| format | string | yes(day hour 6hour) |
| category | string | yes(transfer extrinsic NewAccount ActiveAccount Treasury TreasurySpend Unbond Fee Bonded AvgBlockTime AccountHolderTotal) |
Example Response
{
"code": 0,
"data": {
"list": [
{
"time_utc": "2020-07-03T00:00:00Z",
"total": "65",
"transfer_amount": "6764435.1"
},
{
"time_utc": "2020-07-04T00:00:00Z",
"total": "0",
"transfer_amount": "0"
}
]
},
"message": "Success",
"generated_at": 1628587129
}
tracing states list v2
Get tracing states list
curl -X POST 'https://polkadot.api.subscan.io/api/scan/v2/tracing/states' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row":1
}'
Request URL
POST /api/scan/v2/tracing/states
Payload
| Name | Type | Require |
|---|---|---|
| page | int | no |
| row | int | yes |
| module | string | no |
| name | string | no |
| key_param | string | no |
| keys | array string | no |
| block_num | int | no |
| extrinsic_index | string | no(*,-,extrinsic_index) |
| block_range | string | no |
| focus | string | no |
| summary | bool | no |
| sort | string | no(asc, desc) |
| after_id | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1679984608,
"data": {
"count": 1314,
"tracing": [
{
"id": 2200060,
"block_num": 22,
"block_timestamp": 1586278770,
"trace_id": "22-60(string)",
"extrinsic_id": "(string)",
"phase": 1,
"method": "Put(string)",
"key": "26aa394eea5630e07c48ae0c9558cef7b06c3320c6ac196d813442e270868d63",
"key_params": [
"(string)"
],
"module": "System(string)",
"name": "ExtrinsicsRoot(string)",
"unset_value": true,
"value": "(string)",
"parsed_value": "(json string)"
}
]
}
}
tracing state v2
Get tracing state info
curl -X POST 'https://polkadot.api.subscan.io/api/scan/v2/tracing/state' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"trace_id": "22-49"
}'
Request URL
POST /api/scan/v2/tracing/state
Payload
| Name | Type | Require |
|---|---|---|
| trace_id | string | yes |
| up_change | bool | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1679985961,
"data": {
"id": 2200049,
"block_num": 22,
"block_timestamp": 1586278770,
"trace_id": "22-49",
"extrinsic_id": "",
"phase": 1,
"method": "Put",
"key": "3f1467a096bcd71a5b6a0c8155e208103f2edf3bdf381debe331ab7446addfdc",
"key_params": null,
"module": "TransactionPayment",
"name": "NextFeeMultiplier",
"unset_value": false,
"value": "0x95a8fcffffffffff",
"parsed_value": "18446744073709332629"
}
}
data statistics
Subscan data statistics
curl -X POST 'https://polkadot.api.subscan.io/api/v2/scan/data/statistics' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"start": "2023-03-11",
"end": "2023-05-12"
}'
Request URL
POST /api/v2/scan/data/statistics
Payload
| Name | Type | Require |
|---|---|---|
| start | string | yes |
| end | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1685598153,
"data": {
"extrinsic_count": 4558429,
"transfers_count": 1465769,
"extrinsic_fee_used": "1073042183199911",
"transfers_usd_amount": "129555805",
"up_active_account_count": "1313",
"up_holder_account_count": "285917",
"down_active_account_count": "1118",
"down_holder_account_count": "289378",
"referendum_active_count": 95,
"referendum_vote_account_count": 719,
"referendum_vote_amount": "3185667014195476742"
}
}
ParaChain API (beta)
meta
curl -X POST 'https://rococo.api.subscan.io/api/scan/parachain/meta' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
--data-raw '{
}'
Request URL
POST /api/scan/parachain/meta
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"auction_count": 0,
"auction_active": false,
"online_count": 31,
"upcoming_count": 12,
"lease_period": 0,
"lease_offset": 0,
"ending_period": 0,
"retirement_period": 0,
"lease_periods_per_slot": 0,
"total_slot_num": 100
}
}
proposals
curl -X POST 'https://rococo.api.subscan.io/api/scan/parachain/proposals' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
--data-raw '{
"status": 3
}'
Request URL
POST /api/scan/parachain/proposals
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| status | int | no | 0 | Enum(1:Proposal|2:Upcoming|3:Online) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"chains": [
{
"para_id": 12623,
"name": "KILT PC1"
}
],
"count": 1
}
}
auctions
curl -X POST 'https://rococo.api.subscan.io/api/scan/parachain/auctions' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"page": 0,
"row": 2
}'
Request URL
POST /api/scan/parachain/auctions
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| auction_index | int | no | 0 | |
| status | int | no | 0 | Enum(1:Started|2:Closed) |
| row | int | yes | ||
| page | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"auctions": [
{
"auction_index": 1,
"lease_index": 13,
"start_block": 4171,
"early_end_block": 4221,
"end_block": 4271,
"extinguish_block": 4226,
"status": 2,
"winners": [
{
"bid_id": "1-14-14",
"fund_id": "100-1",
"auction_index": 1,
"first_period": 14,
"last_period": 14,
"para_id": 100,
"bidder_account": "13UVJyLnbVp77Z2t6r2dFKqddAo3cATaBG6YMuEsWbbmFnpb",
"bidder_account_display": {
"address": "13UVJyLnbVp77Z2t6r2dFKqddAo3cATaBG6YMuEsWbbmFnpb",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
},
"bid_count": 0,
"amount": "160000000000000",
"source": 2,
"status": 2,
"block_num": 4221,
"block_timestamp": 1618484502,
"extrinsic_index": "4221-0",
"event_index": "4221-2"
},
{
"bid_id": "1-15-16",
"fund_id": "",
"auction_index": 1,
"first_period": 15,
"last_period": 16,
"para_id": 200,
"bidder_account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3",
"bidder_account_display": {
"address": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3",
"display": "",
"judgements": null,
"account_index": "",
"identity": false,
"parent": null
},
"bid_count": 0,
"amount": "10000000000000",
"source": 1,
"status": 2,
"block_num": 4184,
"block_timestamp": 1618484274,
"extrinsic_index": "4184-3",
"event_index": "4184-9"
}
]
}
],
"count": 1
}
}
bids
curl -X POST 'https://rococo.api.subscan.io/api/scan/parachain/bids' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"page": 0,
"row": 1
}'
Request URL
POST /api/scan/parachain/bids
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| auction_index | int | no | 0 | |
| bid_id | string | no | ||
| fund_id | string | no | ||
| para_id | int | no | 0 | |
| from_block | int | no | 0 | start blockNum of range query |
| to_block | int | no | 0 | end blockNum of range query |
| status | int | no | 0 | Enum(1:Accepted|2:Leased|3:Renewal) |
| source | int | no | 0 | Enum(1:Slot|2:Crowdloan) |
| from_history | bool | no | false | |
| bidder | string | no | ||
| row | int | yes | ||
| page | int | yes | ||
| order | string | no | block_num desc | |
| bidder | string | no | ||
| first_period | int | no | first period | |
| last_period | int | no | last period |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"bids": [
{
"bid_id": "1-13-14",
"fund_id": "",
"auction_index": 1,
"first_period": 13,
"last_period": 14,
"para_id": 300,
"bidder_account": "14Gjs1TD93gnwEBfDMHoCgsuf1s2TVKUP6Z1qKmAZnZ8cW5q",
"bidder_account_display": {
"address": "14Gjs1TD93gnwEBfDMHoCgsuf1s2TVKUP6Z1qKmAZnZ8cW5q",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
},
"bid_count": 2,
"amount": "20000000000000",
"source": 1,
"status": 3,
"block_num": 4224,
"block_timestamp": 1618484520,
"extrinsic_index": "4224-2",
"event_index": "4224-4"
}
],
"count": 1
}
}
funds
curl -X POST 'https://rococo.api.subscan.io/api/scan/parachain/funds' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"page": 0,
"row": 2
}'
Request URL
POST /api/scan/parachain/funds
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| fund_id | string | no | ||
| bid_id | string | no | ||
| auction_index | int | no | 0 | |
| para_id | int | no | 0 | |
| para_ids | array int | no | [] | |
| from_block | int | no | 0 | start blockNum of range query |
| to_block | int | no | 0 | end blockNum of range query |
| status | int | no | 0 | Enum(1:Created|2:Leased|3:Ended|4:Dissolved) |
| statuses | array int | no | [] | Enum(1:Created|2:Leased|3:Ended|4:Dissolved) |
| from_history | bool | no | false | |
| from_history | bool | no | false | |
| owner | string | no | ||
| page | int | yes | ||
| order | string | no | last_change_block desc | |
| progress | bool | no | Filtering in progress crowdloan | |
| first_period | int | no | first period | |
| last_period | int | no | last period |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"count": 1,
"funds": [
{
"fund_id": "100-1",
"bid_id": "1-14-14",
"para_id": 100,
"first_period": 14,
"last_period": 14,
"auction_index": 1,
"owner": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
"cap": "1000000000000000",
"end_block": 4250,
"raised": "160000000000000",
"balance": "160000000000000",
"status": 2,
"start_block": 4207,
"start_block_at": 1618484418,
"last_change_block": 4213,
"last_change_timestamp": 1618484454,
"extrinsic_index": "4207-3",
"owner_display": {
"address": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
}
}
]
}
}
fund contributes
curl -X POST 'https://rococo.api.subscan.io/api/scan/parachain/contributes' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"page": 0,
"row": 2
}'
Request URL
POST /api/scan/parachain/contributes
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| fund_id | string | no | ||
| para_id | int | no | 0 | |
| row | int | yes | ||
| page | int | yes | ||
| order | string | no | block_num desc | |
| who | string | no | filter by contributor | |
| from_history | bool | no | false |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"contributes": [
{
"fund_id": "100-1",
"para_id": 100,
"who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3",
"who_display": {
"address": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
},
"contributed": "50000000000000",
"contributing": "1",
"block_num": 4213,
"block_timestamp": 1618484454,
"extrinsic_index": "4213-2",
"event_index": "",
"status": 1,
"memo": ""
}
],
"count": 1
}
}
fund timeline
curl -X POST 'https://polkadot.api.subscan.io/api/scan/parachain/fund_timeline' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"fund_id": "2032-15",
"order": "desc"
}'
Request URL
POST /api/scan/parachain/fund_timeline
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| fund_id | string | no | ||
| order | string | no(desc, asc) | desc |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1657182543,
"data": {
"count": 1,
"list": [
{
"fund_id": "2032-15",
"block_num": 8123870,
"block_timestamp": 1639446774,
"event_index": "8123870-19",
"extrinsic_index": "8123870-4",
"module_name": "crowdloan",
"event_name": "Created"
}
]
}
}
chain info
curl -X POST 'https://rococo.api.subscan.io/api/scan/parachain/info' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"page": 0,
"row": 2
}'
Request URL
POST /api/scan/parachain/info
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| para_id | int | no | 0 | |
| status | string | no | 0 | Enum(Onboarding|Parathread|Parachain) |
| filter_anonymous | bool | no | false | |
| row | int | yes | ||
| page | int | yes | ||
| order | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"chains": [
{
"para_id": 200,
"status": "Parathread",
"genesis_head": "000000000000000000000000000000000000000000000000000000000000000000a31c4ddd6b9dc3505d91f71c40edd4bef3d96c71b5de17be07912d5c21f4ced603170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c11131400",
"validation_code_url": "",
"manager": "",
"deposit": "0",
"validators": ["",""],
"source": 1,
"bid_id": "1-14-14",
"begin_period": 14,
"first_period": 15,
"last_period": 16,
"auction_index": 1,
"reserved_extrinsic_index": "",
"manager_display": {
"address": "",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
},
"validators_display": [
{
"address": "",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
}
],
"fund_id": "",
"fund_account": "",
"fund_account_display": {
"address": "",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
}
}
],
"count": 1
}
}
auction prediction
curl -X POST 'https://rococo.api.subscan.io/api/scan/parachain/predict' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
--data-raw '{
}'
Request URL
POST /api/scan/parachain/predict
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| auction_index | int | no | 0 |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": [
{
"bid_id": "1-14-14",
"fund_id": "100-1",
"auction_index": 1,
"first_period": 14,
"last_period": 14,
"para_id": 100,
"bidder_account": "13UVJyLnbVp77Z2t6r2dFKqddAo3cATaBG6YMuEsWbbmFnpb",
"bidder_account_display": {
"address": "13UVJyLnbVp77Z2t6r2dFKqddAo3cATaBG6YMuEsWbbmFnpb",
"display": "modlpy/cfundd",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
},
"bid_count": 1,
"amount": "160000000000000",
"source": 2,
"status": 2,
"block_num": 4221,
"block_timestamp": 1618484502,
"extrinsic_index": "4221-0",
"event_index": "4221-2"
}
]
}
parachain list
curl -X POST 'https://rococo.api.subscan.io/api/scan/parachain/list' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"page": 0,
"row": 2
}'
Request URL
POST /api/scan/parachain/list
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| status | string | no | 0 | Enum(Onboarding|Parathread|Parachain) |
| filter_anonymous | bool | no | false | |
| row | int | yes | ||
| page | int | yes | ||
| order | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"chains": [
{
"para_id": 1983,
"status": "Parachain",
"begin_period": 11,
"first_period": 12,
"last_period": 13,
"manager_display": {
"address": "5F2FJzwc8Ch6L5zejKh43DqXXCU3qSxeN8WTd3e3AwTfbCDe",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
},
"reserved_extrinsic_index": "",
"fund_id": ""
"bid_id": "10-11-13"
}
],
"count": 9
}
}
auction competitors
curl -X POST 'https://rococo.api.subscan.io/api/scan/parachain/auctionCompetitors' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
--data-raw '{
}'
Request URL
POST /api/scan/parachain/auctionCompetitors
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| auction_index | int | no | 0 | |
| includingFund | bool | no | false |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"1-1": [
{
"bid_id": "1-1-1",
"fund_id": "200-0",
"auction_index": 1,
"first_period": 1,
"last_period": 1,
"para_id": 200,
"bidder_account": "5EYCAe5ijiYdg22N9DSmHqUHxzP9hD2ufuM1Gtw5D43829Z8",
"bidder_account_display": {
"address": "5EYCAe5ijiYdg22N9DSmHqUHxzP9hD2ufuM1Gtw5D43829Z8",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
},
"bid_count": 0,
"amount": "25000000000000",
"source": 2,
"status": 2,
"block_num": 150,
"block_timestamp": 1619058966,
"extrinsic_index": "150-0",
"event_index": "150-4"
}
]
}
}
auction leading blocks
curl -X POST 'https://polkadot.api.subscan.io/api/scan/parachain/auction_leading_blocks' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{"auction_id": 21}'
Request URL
POST /api/scan/parachain/auction_leading_blocks
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| auction_id | int | true |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1657851930,
"data": [{
"bid_id": "21-9-16",
"para_id": 2046,
"fund_id": "",
"leading_blocks": 31575
},
{
"bid_id": "21-9-16",
"para_id": 2044,
"fund_id": "",
"leading_blocks": 11820
},
{
"bid_id": "21-9-16",
"para_id": 2045,
"fund_id": "",
"leading_blocks": 10608
},
{
"bid_id": "21-9-16",
"para_id": 2048,
"fund_id": "",
"leading_blocks": 5649
},
{
"bid_id": "21-9-16",
"para_id": 2003,
"fund_id": "",
"leading_blocks": 3559
}
]
}
para fund Stat
curl -X POST 'https://kusama.api.subscan.io/api/scan/parachain/fundStat' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
--data-raw '{"start":"2021-06-10","end":"2021-06-30","format":"hour","fund_id":"2004-6"}'
Request URL
POST /api/scan/parachain/fundStat
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| start | bool | Yes | start time(eq:2021-06-10) | |
| end | string | Yes | end time(eq:2021-06-30) | |
| format | bool | No | day | hour,day,6hour |
| fund_id | bool | Yes | fund id(eq:2004-6 ) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"list": [
{
"time_utc": "2021-06-10T00:00:00Z",
"time_hour_utc": "2021-06-10T00:00:00Z",
"time_six_hour_utc": "2021-06-10T00:00:00Z",
"total": "0"
}
]
}
}
best bid
curl -X POST 'https://kusama.api.subscan.io/api/scan/parachain/bestBid' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
--data-raw '{"bid_id":"1-13-20"}'
Request URL
POST /api/scan/parachain/bestBid
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| bid_id | string | Yes | no | bid id |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"bid_id": "1-13-20",
"fund_id": "2000-1",
"auction_index": 1,
"first_period": 13,
"last_period": 20,
"para_id": 2000,
"bidder_account": "6d6f646c70792f6366756e64d007000000000000000000000000000000000000",
"bidder_account_display": {
"address": "5EYCAe5ijiYdg22N9DSmHqUHxzP9hD2ufuM1Gtw5D43829Z8",
"display": "",
"judgements": [
{
"index": 1,
"judgement": ""
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": false
}
},
"bid_count": 0,
"amount": "491752906100722948",
"source": 2,
"status": 3,
"block_num": 8004479,
"block_timestamp": 1624237734,
"extrinsic_index": "8004479-0",
"event_index": "8004479-2"
}
}
account contributions
curl -X POST 'https://kusama.api.subscan.io/api/scan/account/contributions' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"who": "HxphiPhPEbXaqbjbbUDGdUtLLGq3dV3b4ETTFFqAWbEsttP",
"row": 100,
"page": 0,
"include_total"
}'
Request URL
POST /api/scan/account/contributions
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| who | string | yes | account address | |
| row | int | yes | ||
| page | int | yes | ||
| include_total | bool | no | no | include total |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1655277267,
"data": {
"count": 1,
"list": [{
"fund_id": "2012-53",
"para_id": 2012,
"contributed": "200000000000000",
"block_num": 10573992,
"block_timestamp": 1639830408,
"extrinsic_index": "10573992-2",
"event_index": "10573992-19",
"status": 1,
"memo": "",
"fund_status": 2,
"fund_event_index": "10683439-25",
"unlocking_block": 15725400,
"fund_auction_status": 2
}],
"total": "4715000000000000"
}
}
collators meta
curl -X POST 'https://astar.api.subscan.io/api/scan/collator/meta'
Request URL
POST /api/scan/collator/meta
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1656556504,
"data": {
"desired_candidates": 47,
"invulnerables": 27,
"candidates": 37,
"candidates_total_bond": "0",
"candidacy_bond": "3200000000000000000000000"
}
}
collators list
curl -X POST 'https://astar.api.subscan.io/api/scan/collator/list' \
--header 'Content-Type: application/json' \
--data-raw '{
"row": 3,
"page": 0
}'
Request URL
POST /api/scan/collator/list
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| row | int | yes | ||
| page | int | yes | ||
| account | string | no | account address | |
| status | int | no(0:ALL 1:Invulnerable 2:Candidate) | 0 | |
| include_total | bool | no | no | include total |
| order | string | no(desc,asc) | ||
| order_field | string | no(account,bond,last_change_block,last_authored_block) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1656553024,
"data": {
"count": 64,
"list": [{
"status": 2,
"account_display": {
"address": "VxHuVq48qM8STAEm8G8P2VzRQL6RuEix5jqbfxDXp6rtgrs"
},
"bond": "3200000000000000000000000",
"last_change_block": 1322117,
"last_authored_block": 1366217
}, {
"status": 2,
"account_display": {
"address": "W3K8VwY4qqmAUAa3jB5Pbq5Q9zkTgGfdrh6vwyh63BohKX2"
},
"bond": "3200000000000000000000000",
"last_change_block": 1322117,
"last_authored_block": 1366218
}, {
"status": 2,
"account_display": {
"address": "W8PzksJcA1Ag82GNvuxT6Ejp4KXqQexNXqysJyuxSvHSmH9"
},
"bond": "3200000000000000000000000",
"last_change_block": 1322117,
"last_authored_block": 1366219
}]
}
}
collator info
curl -X POST 'https://astar.api.subscan.io/api/scan/collator/info' \
--header 'Content-Type: application/json' \
--data-raw '{
"account": "VxHuVq48qM8STAEm8G8P2VzRQL6RuEix5jqbfxDXp6rtgrs",
}'
Request URL
POST /api/scan/collator/info
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| account | string | yes | account address |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1656558754,
"data": {
"status": 2,
"account_display": {
"address": "VxHuVq48qM8STAEm8G8P2VzRQL6RuEix5jqbfxDXp6rtgrs"
},
"bond": "3200000000000000000000000",
"last_change_block": 1322117,
"last_authored_block": 1366217
}
}
parachain timeline
curl -X POST 'https://polkadot.api.subscan.io/api/scan/parachain/timeline' \
--header 'Content-Type: application/json' \
--data-raw '{
"para_id": 2007,
"order": "asc"
}'
Request URL
POST /api/scan/parachain/timeline
Payload
| Parameter | Type | Require | Default | Description |
|---|---|---|---|---|
| para_id | int | yes | parachain id | |
| order | string | no(asc,desc) | desc |
Statuses
| Module | Status | Extra Params |
|---|---|---|
| registrar | registered | |
| registrar | reserved | |
| registrar | deregistered | |
| crowdloan | created | fund_id |
| crowdloan | partially_refunded | fund_id |
| crowdloan | all_refunded | fund_id |
| crowdloan | dissolved | fund_id |
| crowdloan | edited | fund_id |
| auction | participated | auction_id |
| auction | won | auction_id |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1658303867,
"data": {
"count": 2,
"list": [{
"para_id": 2007,
"block_num": 10809400,
"block_timestamp": 111,
"event_index": "10809400-2",
"extrinsic_index": "10809400-0",
"module": "auctions",
"status": "participated",
"params": {
"auction_id": 20
}
},
{
"para_id": 2007,
"block_num": 10882495,
"block_timestamp": 111,
"event_index": "10882495-8",
"extrinsic_index": "10882495-0",
"module": "auctions",
"status": "won",
"params": {
"auction_id": 20
}
}
]
}
}
EVM API
Tip: Evm API is only available in the network supports evm and ethereum pallet(like Moonbeam, Astar)
evm block
Get evm display block by blockNum
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/block' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"block_num": 5012287
}'
Request URL
POST /api/scan/evm/block
Payload
| Name | Type | Require |
|---|---|---|
| block_num | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"block_num": 5012287,
"block_hash": "0x2d1be5d00b303366b59a4b9cf930852137802297a470ec691add3aee8001427a",
"parent_hash": "0x07ddfee38a95dac16a195eb18a5e97f788f8897470d5337c671c770665fe8211",
"sha3_uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"author": "0x68d9882f0c95f1443966a87d90e6d7dc069a70a6",
"miner": "0x68d9882f0c95f1443966a87d90e6d7dc069a70a6",
"state_root": "0xd9a1f04aba02a4ca1b0bec92b8c12c435dfcb3b4222790f6f555f382fe249af1",
"transactions_root": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"receipts_root": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"gas_used": "0",
"gas_limit": "4294967295",
"extra_data": "0x",
"logs_bloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"timestamp": 1619580384,
"difficulty": "0",
"total_difficulty": "0",
"seal_fields": "[\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"0x0000000000000000\"]",
"uncles": "[]",
"block_size": "514",
"transaction_count": 0
}
}
transactions
Get evm transaction list
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/transactions' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"block_num": 5226287
}'
Request URL
POST /api/scan/evm/transactions
Payload
| Name | Type | Require |
|---|---|---|
| block_num | int | no |
| contract | string | no |
| address | string | no(signer, evm address) |
| page | int | no |
| row | int | no |
| block_range | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1655187389,
"data": {
"count": 1,
"list": [
{
"hash": "0xa47532a4508c18c79ab9954d2f0492c62e8b7452edee02f07818484cf944efab",
"from": "0x85297fb4c4006565aac113cd2f3f510ec8cc49cc",
"to": "0x68068501b1b27d0de067e2433c0554f2b9a52bfa",
"value": "0",
"gas_used": "56715",
"success": true,
"gas_price": "1000000000",
"block_timestamp": 1620872100,
"extrinsic_id": 522628700001,
"contract": "0x3b53d2c7b44d40be05fa5e2309ffeb6eb2492d88",
"contract_name": "",
"effective_gas_price": "1000000000"
}
]
}
}
account evm tokens
Get evm tokens by account address
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/account/tokens' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "0x3217f36ae34aca2ce60d218af8f47d29101204a8"
}'
Request URL
POST /api/scan/evm/account/tokens
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes(evm address) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": [
{
"contract": "0x7139e2b08d58987a4327b11fec388536cc65d37a",
"holder": "0xbb3e51d20ca651fbe19b1a1c2a6c8b1a4d950437",
"balance": "9999000000000000000000"
}
]
}
erc20 tokens
Get evm tokens info by contract address
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/tokens' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"contracts": ["0x7139e2b08d58987a4327b11fec388536cc65d37a"]
}'
Request URL
POST /api/scan/evm/tokens
Payload
| Name | Type | Require |
|---|---|---|
| contracts | array | no(evm address) |
| page | int | no |
| row | int | no |
| search | string | no (erc20 symbol or name) |
| category | string | no (erc20 or erc721) |
| order | string | no (desc or asc) |
| order_field | string | no (holders or transfer_count or symbol) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1642990882,
"data": {
"count": 1,
"list": [
{
"contract": "0x8eb2281bbd90ea671c9f6cb1e51102b7fe3d480e",
"name": "Apostle",
"symbol": "APO",
"decimals": 0,
"totalSupply": "2100000000000000",
"holders": 76,
"transfer_count": 930,
"price": "0",
"category": "erc20"
}
]
}
}
transaction
Get evm transaction
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/transaction' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"hash": "0x3b9c2b978a72b1f4b220c0640ada12bcb894cf692a0e7a1faca33f0acb7d6fde"
}'
Request URL
POST /api/scan/evm/transaction
Payload
| Name | Type | Require |
|---|---|---|
| hash | string | no |
| extrinsic_index | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": {
"block_num": 5145082,
"hash": "0x97c3163c0e4779cd14f4068bc55f8cdb8fa19469fd9af388e426211607b6c7b6",
"block_timestamp": 1620383694,
"success": true,
"error_type": "",
"error_msg": "Returned",
"trace_error_msg": "transaction error message",
"from": "0xbb3e51d20ca651fbe19b1a1c2a6c8b1a4d950437",
"to": {
"address": "0xd6fc3e187da47e33774b25c3d0adc619032bf686",
"is_contract": true,
"precompile_name": ""
},
"contract": "0xd6fc3e187da47e33774b25c3d0adc619032bf686",
"value": "1000000000000000000",
"gas_limit": "3000000",
"gas_price": "1000000000",
"gas_used": "0",
"nonce": 18,
"input_data": "f305d7190000000000000000000000000eae9babe944105dd3e0d81c24ef1f6f63d463c70000000000000000000000000000000000000000000000008ac7230489e8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000bb3e51d20ca651fbe19b1a1c2a6c8b1a4d9504370000000000000000000000000000000000000000000000000000000060953eb4",
"token_transfers": [
{
"contract": "0x0eae9babe944105dd3e0d81c24ef1f6f63d463c7",
"hash": "0x97c3163c0e4779cd14f4068bc55f8cdb8fa19469fd9af388e426211607b6c7b6",
"create_at": 1620383694,
"from": "0xbb3e51d20ca651fbe19b1a1c2a6c8b1a4d950437",
"to": "0x6b0e1c0c971b998593fb9b5abd17b5ed9b0c4f8f",
"value": "10000000000000000000",
"receipt_index": "0x97c3163c0e4779cd14f4068bc55f8cdb8fa19469fd9af388e426211607b6c7b6-0",
"token_id": "",
"event_idx": 0
}
],
"r": "0x25c5d6cf624a498e2451849708087baa8cc3c2088ba98e8afdf35bae0428f46a",
"s": "0x33cbdfdcdf38714733acf7703dd57b14295a6785d99978149acfc5267a51b3f8",
"v": 124,
"effective_gas_price": "1000000000"
}
}
contracts
Get contracts by contract address
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/contracts' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"contracts": ["0x7139e2b08d58987a4327b11fec388536cc65d37a"]
}'
Request URL
POST /api/scan/evm/contracts
Payload
| Name | Type | Require |
|---|---|---|
| contracts | array | yes(evm address) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1628587129,
"data": [
{
"address": "0x02c1de58fc5cd6e97385d6234fe6d95856fa1cc1",
"deployer": "0x0f14341a7f464320319025540e8fe48ad0fe5aec",
"block_num": 4998447,
"deploy_at": 1619496876,
"verify_status": "",
"verify_time": 0,
"contract_name": "",
"method_identifiers": null,
"event_identifiers": null
}
]
}
contract detail
Get contract detail by address
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/contract' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "0x0050f880c35c31c13bfd9cbb7d28aafaeca3abd2"
}'
Request URL
POST /api/scan/evm/contract
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes(evm address) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1652852308,
"data": {
"address": "0x0050f880c35c31c13bfd9cbb7d28aafaeca3abd2",
"abi": [
{
"name": "owners",
"type": "function",
"inputs": [
{
"name": "",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "removeOwner",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address"
}
],
"outputs": [],
"payable": false,
"constant": false,
"stateMutability": "nonpayable"
},
{
"name": "revokeConfirmation",
"type": "function",
"inputs": [
{
"name": "transactionId",
"type": "uint256"
}
],
"outputs": [],
"payable": false,
"constant": false,
"stateMutability": "nonpayable"
},
{
"name": "isOwner",
"type": "function",
"inputs": [
{
"name": "",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "confirmations",
"type": "function",
"inputs": [
{
"name": "",
"type": "uint256"
},
{
"name": "",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "getTransactionCount",
"type": "function",
"inputs": [
{
"name": "pending",
"type": "bool"
},
{
"name": "executed",
"type": "bool"
}
],
"outputs": [
{
"name": "count",
"type": "uint256"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "addOwner",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address"
}
],
"outputs": [],
"payable": false,
"constant": false,
"stateMutability": "nonpayable"
},
{
"name": "isConfirmed",
"type": "function",
"inputs": [
{
"name": "transactionId",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "getConfirmationCount",
"type": "function",
"inputs": [
{
"name": "transactionId",
"type": "uint256"
}
],
"outputs": [
{
"name": "count",
"type": "uint256"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "transactions",
"type": "function",
"inputs": [
{
"name": "",
"type": "uint256"
}
],
"outputs": [
{
"name": "destination",
"type": "address"
},
{
"name": "value",
"type": "uint256"
},
{
"name": "data",
"type": "bytes"
},
{
"name": "executed",
"type": "bool"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "getOwners",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address[]"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "getTransactionIds",
"type": "function",
"inputs": [
{
"name": "from",
"type": "uint256"
},
{
"name": "to",
"type": "uint256"
},
{
"name": "pending",
"type": "bool"
},
{
"name": "executed",
"type": "bool"
}
],
"outputs": [
{
"name": "_transactionIds",
"type": "uint256[]"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "getConfirmations",
"type": "function",
"inputs": [
{
"name": "transactionId",
"type": "uint256"
}
],
"outputs": [
{
"name": "_confirmations",
"type": "address[]"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "transactionCount",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "changeRequirement",
"type": "function",
"inputs": [
{
"name": "_required",
"type": "uint256"
}
],
"outputs": [],
"payable": false,
"constant": false,
"stateMutability": "nonpayable"
},
{
"name": "confirmTransaction",
"type": "function",
"inputs": [
{
"name": "transactionId",
"type": "uint256"
}
],
"outputs": [],
"payable": false,
"constant": false,
"stateMutability": "nonpayable"
},
{
"name": "submitTransaction",
"type": "function",
"inputs": [
{
"name": "destination",
"type": "address"
},
{
"name": "value",
"type": "uint256"
},
{
"name": "data",
"type": "bytes"
}
],
"outputs": [
{
"name": "transactionId",
"type": "uint256"
}
],
"payable": false,
"constant": false,
"stateMutability": "nonpayable"
},
{
"name": "MAX_OWNER_COUNT",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "required",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"constant": true,
"stateMutability": "view"
},
{
"name": "replaceOwner",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address"
},
{
"name": "newOwner",
"type": "address"
}
],
"outputs": [],
"payable": false,
"constant": false,
"stateMutability": "nonpayable"
},
{
"name": "executeTransaction",
"type": "function",
"inputs": [
{
"name": "transactionId",
"type": "uint256"
}
],
"outputs": [],
"payable": false,
"constant": false,
"stateMutability": "nonpayable"
},
{
"type": "constructor",
"inputs": [
{
"name": "_owners",
"type": "address[]"
},
{
"name": "_required",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable"
},
{
"type": "fallback",
"payable": true,
"stateMutability": "payable"
},
{
"name": "Confirmation",
"type": "event",
"inputs": [
{
"name": "sender",
"type": "address",
"indexed": true
},
{
"name": "transactionId",
"type": "uint256",
"indexed": true
}
],
"anonymous": false
},
{
"name": "Revocation",
"type": "event",
"inputs": [
{
"name": "sender",
"type": "address",
"indexed": true
},
{
"name": "transactionId",
"type": "uint256",
"indexed": true
}
],
"anonymous": false
},
{
"name": "Submission",
"type": "event",
"inputs": [
{
"name": "transactionId",
"type": "uint256",
"indexed": true
}
],
"anonymous": false
},
{
"name": "Execution",
"type": "event",
"inputs": [
{
"name": "transactionId",
"type": "uint256",
"indexed": true
}
],
"anonymous": false
},
{
"name": "ExecutionFailure",
"type": "event",
"inputs": [
{
"name": "transactionId",
"type": "uint256",
"indexed": true
}
],
"anonymous": false
},
{
"name": "Deposit",
"type": "event",
"inputs": [
{
"name": "sender",
"type": "address",
"indexed": true
},
{
"name": "value",
"type": "uint256",
"indexed": false
}
],
"anonymous": false
},
{
"name": "OwnerAddition",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true
}
],
"anonymous": false
},
{
"name": "OwnerRemoval",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true
}
],
"anonymous": false
},
{
"name": "RequirementChange",
"type": "event",
"inputs": [
{
"name": "required",
"type": "uint256",
"indexed": false
}
],
"anonymous": false
}
],
"source_code": "pragma solidity ^0.4.15;\n\n\n/// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution.\n/// @author Stefan George - \u003cstefan.george@consensys.net\u003e\ncontract MultiSigWallet {\n\n /*\n * Events\n */\n event Confirmation(address indexed sender, uint indexed transactionId);\n event Revocation(address indexed sender, uint indexed transactionId);\n event Submission(uint indexed transactionId);\n event Execution(uint indexed transactionId);\n event ExecutionFailure(uint indexed transactionId);\n event Deposit(address indexed sender, uint value);\n event OwnerAddition(address indexed owner);\n event OwnerRemoval(address indexed owner);\n event RequirementChange(uint required);\n\n /*\n * Constants\n */\n uint constant public MAX_OWNER_COUNT = 50;\n\n /*\n * Storage\n */\n mapping (uint =\u003e Transaction) public transactions;\n mapping (uint =\u003e mapping (address =\u003e bool)) public confirmations;\n mapping (address =\u003e bool) public isOwner;\n address[] public owners;\n uint public required;\n uint public transactionCount;\n\n struct Transaction {\n address destination;\n uint value;\n bytes data;\n bool executed;\n }\n\n /*\n * Modifiers\n */\n modifier onlyWallet() {\n require(msg.sender == address(this));\n _;\n }\n\n modifier ownerDoesNotExist(address owner) {\n require(!isOwner[owner]);\n _;\n }\n\n modifier ownerExists(address owner) {\n require(isOwner[owner]);\n _;\n }\n\n modifier transactionExists(uint transactionId) {\n require(transactions[transactionId].destination != 0);\n _;\n }\n\n modifier confirmed(uint transactionId, address owner) {\n require(confirmations[transactionId][owner]);\n _;\n }\n\n modifier notConfirmed(uint transactionId, address owner) {\n require(!confirmations[transactionId][owner]);\n _;\n }\n\n modifier notExecuted(uint transactionId) {\n require(!transactions[transactionId].executed);\n _;\n }\n\n modifier notNull(address _address) {\n require(_address != 0);\n _;\n }\n\n modifier validRequirement(uint ownerCount, uint _required) {\n require(ownerCount \u003c= MAX_OWNER_COUNT\n \u0026\u0026 _required \u003c= ownerCount\n \u0026\u0026 _required != 0\n \u0026\u0026 ownerCount != 0);\n _;\n }\n\n /// @dev Fallback function allows to deposit ether.\n function()\n public\n payable\n {\n if (msg.value \u003e 0)\n emit Deposit(msg.sender, msg.value);\n }\n\n /*\n * Public functions\n */\n /// @dev Contract constructor sets initial owners and required number of confirmations.\n /// @param _owners List of initial owners.\n /// @param _required Number of required confirmations.\n constructor(address[] _owners, uint _required)\n public\n validRequirement(_owners.length, _required)\n {\n for (uint i=0; i\u003c_owners.length; i++) {\n require(!isOwner[_owners[i]] \u0026\u0026 _owners[i] != 0);\n isOwner[_owners[i]] = true;\n }\n owners = _owners;\n required = _required;\n }\n\n /// @dev Allows to add a new owner. Transaction has to be sent by wallet.\n /// @param owner Address of new owner.\n function addOwner(address owner)\n public\n onlyWallet\n ownerDoesNotExist(owner)\n notNull(owner)\n validRequirement(owners.length + 1, required)\n {\n isOwner[owner] = true;\n owners.push(owner);\n emit OwnerAddition(owner);\n }\n\n /// @dev Allows to remove an owner. Transaction has to be sent by wallet.\n /// @param owner Address of owner.\n function removeOwner(address owner)\n public\n onlyWallet\n ownerExists(owner)\n {\n isOwner[owner] = false;\n for (uint i=0; i\u003cowners.length - 1; i++)\n if (owners[i] == owner) {\n owners[i] = owners[owners.length - 1];\n break;\n }\n owners.length -= 1;\n if (required \u003e owners.length)\n changeRequirement(owners.length);\n emit OwnerRemoval(owner);\n }\n\n /// @dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet.\n /// @param owner Address of owner to be replaced.\n /// @param newOwner Address of new owner.\n function replaceOwner(address owner, address newOwner)\n public\n onlyWallet\n ownerExists(owner)\n ownerDoesNotExist(newOwner)\n {\n for (uint i=0; i\u003cowners.length; i++)\n if (owners[i] == owner) {\n owners[i] = newOwner;\n break;\n }\n isOwner[owner] = false;\n isOwner[newOwner] = true;\n emit OwnerRemoval(owner);\n emit OwnerAddition(newOwner);\n }\n\n /// @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet.\n /// @param _required Number of required confirmations.\n function changeRequirement(uint _required)\n public\n onlyWallet\n validRequirement(owners.length, _required)\n {\n required = _required;\n emit RequirementChange(_required);\n }\n\n /// @dev Allows an owner to submit and confirm a transaction.\n /// @param destination Transaction target address.\n /// @param value Transaction ether value.\n /// @param data Transaction data payload.\n /// @return Returns transaction ID.\n function submitTransaction(address destination, uint value, bytes data)\n public\n returns (uint transactionId)\n {\n transactionId = addTransaction(destination, value, data);\n confirmTransaction(transactionId);\n }\n\n /// @dev Allows an owner to confirm a transaction.\n /// @param transactionId Transaction ID.\n function confirmTransaction(uint transactionId)\n public\n ownerExists(msg.sender)\n transactionExists(transactionId)\n notConfirmed(transactionId, msg.sender)\n {\n confirmations[transactionId][msg.sender] = true;\n emit Confirmation(msg.sender, transactionId);\n executeTransaction(transactionId);\n }\n\n /// @dev Allows an owner to revoke a confirmation for a transaction.\n /// @param transactionId Transaction ID.\n function revokeConfirmation(uint transactionId)\n public\n ownerExists(msg.sender)\n confirmed(transactionId, msg.sender)\n notExecuted(transactionId)\n {\n confirmations[transactionId][msg.sender] = false;\n emit Revocation(msg.sender, transactionId);\n }\n\n /// @dev Allows anyone to execute a confirmed transaction.\n /// @param transactionId Transaction ID.\n function executeTransaction(uint transactionId)\n public\n ownerExists(msg.sender)\n confirmed(transactionId, msg.sender)\n notExecuted(transactionId)\n {\n if (isConfirmed(transactionId)) {\n Transaction storage txn = transactions[transactionId];\n txn.executed = true;\n if (external_call(txn.destination, txn.value, txn.data.length, txn.data))\n emit Execution(transactionId);\n else {\n emit ExecutionFailure(transactionId);\n txn.executed = false;\n }\n }\n }\n\n // call has been separated into its own function in order to take advantage\n // of the Solidity's code generator to produce a loop that copies tx.data into memory.\n function external_call(address destination, uint value, uint dataLength, bytes data) internal returns (bool) {\n bool result;\n assembly {\n let x := mload(0x40) // \"Allocate\" memory for output (0x40 is where \"free memory\" pointer is stored by convention)\n let d := add(data, 32) // First 32 bytes are the padded length of data, so exclude that\n result := call(\n sub(gas, 34710), // 34710 is the value that solidity is currently emitting\n // It includes callGas (700) + callVeryLow (3, to pay for SUB) + callValueTransferGas (9000) +\n // callNewAccountGas (25000, in case the destination address does not exist and needs creating)\n destination,\n value,\n d,\n dataLength, // Size of the input (in bytes) - this is what fixes the padding problem\n x,\n 0 // Output is ignored, therefore the output size is zero\n )\n }\n return result;\n }\n\n /// @dev Returns the confirmation status of a transaction.\n /// @param transactionId Transaction ID.\n /// @return Confirmation status.\n function isConfirmed(uint transactionId)\n public\n constant\n returns (bool)\n {\n uint count = 0;\n for (uint i=0; i\u003cowners.length; i++) {\n if (confirmations[transactionId][owners[i]])\n count += 1;\n if (count == required)\n return true;\n }\n }\n\n /*\n * Internal functions\n */\n /// @dev Adds a new transaction to the transaction mapping, if transaction does not exist yet.\n /// @param destination Transaction target address.\n /// @param value Transaction ether value.\n /// @param data Transaction data payload.\n /// @return Returns transaction ID.\n function addTransaction(address destination, uint value, bytes data)\n internal\n notNull(destination)\n returns (uint transactionId)\n {\n transactionId = transactionCount;\n transactions[transactionId] = Transaction({\n destination: destination,\n value: value,\n data: data,\n executed: false\n });\n transactionCount += 1;\n emit Submission(transactionId);\n }\n\n /*\n * Web3 call functions\n */\n /// @dev Returns number of confirmations of a transaction.\n /// @param transactionId Transaction ID.\n /// @return Number of confirmations.\n function getConfirmationCount(uint transactionId)\n public\n constant\n returns (uint count)\n {\n for (uint i=0; i\u003cowners.length; i++)\n if (confirmations[transactionId][owners[i]])\n count += 1;\n }\n\n /// @dev Returns total number of transactions after filers are applied.\n /// @param pending Include pending transactions.\n /// @param executed Include executed transactions.\n /// @return Total number of transactions after filters are applied.\n function getTransactionCount(bool pending, bool executed)\n public\n constant\n returns (uint count)\n {\n for (uint i=0; i\u003ctransactionCount; i++)\n if ( pending \u0026\u0026 !transactions[i].executed\n || executed \u0026\u0026 transactions[i].executed)\n count += 1;\n }\n\n /// @dev Returns list of owners.\n /// @return List of owner addresses.\n function getOwners()\n public\n constant\n returns (address[])\n {\n return owners;\n }\n\n /// @dev Returns array with owner addresses, which confirmed transaction.\n /// @param transactionId Transaction ID.\n /// @return Returns array of owner addresses.\n function getConfirmations(uint transactionId)\n public\n constant\n returns (address[] _confirmations)\n {\n address[] memory confirmationsTemp = new address[](owners.length);\n uint count = 0;\n uint i;\n for (i=0; i\u003cowners.length; i++)\n if (confirmations[transactionId][owners[i]]) {\n confirmationsTemp[count] = owners[i];\n count += 1;\n }\n _confirmations = new address[](count);\n for (i=0; i\u003ccount; i++)\n _confirmations[i] = confirmationsTemp[i];\n }\n\n /// @dev Returns list of transaction IDs in defined range.\n /// @param from Index start position of transaction array.\n /// @param to Index end position of transaction array.\n /// @param pending Include pending transactions.\n /// @param executed Include executed transactions.\n /// @return Returns array of transaction IDs.\n function getTransactionIds(uint from, uint to, bool pending, bool executed)\n public\n constant\n returns (uint[] _transactionIds)\n {\n uint[] memory transactionIdsTemp = new uint[](transactionCount);\n uint count = 0;\n uint i;\n for (i=0; i\u003ctransactionCount; i++)\n if ( pending \u0026\u0026 !transactions[i].executed\n || executed \u0026\u0026 transactions[i].executed)\n {\n transactionIdsTemp[count] = i;\n count += 1;\n }\n _transactionIds = new uint[](to - from);\n for (i=from; i\u003cto; i++)\n _transactionIds[i - from] = transactionIdsTemp[i];\n }\n}\n",
"creation_code": "0x60806040523480156200001157600080fd5b50604051620016d5380380620016d583398101604052805160208201519101805190919060009082603282118015906200004b5750818111155b80156200005757508015155b80156200006357508115155b15156200006f57600080fd5b600092505b845183101562000147576002600086858151811015156200009157fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff16158015620000e757508483815181101515620000cf57fe5b90602001906020020151600160a060020a0316600014155b1515620000f357600080fd5b60016002600087868151811015156200010857fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790556001929092019162000074565b84516200015c9060039060208801906200016e565b50505060049190915550620002029050565b828054828255906000526020600020908101928215620001c6579160200282015b82811115620001c65782518254600160a060020a031916600160a060020a039091161782556020909201916001909101906200018f565b50620001d4929150620001d8565b5090565b620001ff91905b80821115620001d4578054600160a060020a0319168155600101620001df565b90565b6114c380620002126000396000f30060806040526004361061011c5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c27811461015e578063173825d91461019257806320ea8d86146101b35780632f54bf6e146101cb5780633411c81c1461020057806354741525146102245780637065cb4814610255578063784547a7146102765780638b51d13f1461028e5780639ace38c2146102a6578063a0e67e2b14610361578063a8abe69a146103c6578063b5dc40c3146103eb578063b77bf60014610403578063ba51a6df14610418578063c01a8c8414610430578063c642747414610448578063d74f8edd146104b1578063dc8452cd146104c6578063e20056e6146104db578063ee22610b14610502575b600034111561015c5760408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b005b34801561016a57600080fd5b5061017660043561051a565b60408051600160a060020a039092168252519081900360200190f35b34801561019e57600080fd5b5061015c600160a060020a0360043516610542565b3480156101bf57600080fd5b5061015c6004356106b9565b3480156101d757600080fd5b506101ec600160a060020a0360043516610773565b604080519115158252519081900360200190f35b34801561020c57600080fd5b506101ec600435600160a060020a0360243516610788565b34801561023057600080fd5b50610243600435151560243515156107a8565b60408051918252519081900360200190f35b34801561026157600080fd5b5061015c600160a060020a0360043516610814565b34801561028257600080fd5b506101ec600435610939565b34801561029a57600080fd5b506102436004356109bd565b3480156102b257600080fd5b506102be600435610a2c565b6040518085600160a060020a0316600160a060020a031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561032357818101518382015260200161030b565b50505050905090810190601f1680156103505780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561036d57600080fd5b50610376610aea565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103b257818101518382015260200161039a565b505050509050019250505060405180910390f35b3480156103d257600080fd5b5061037660043560243560443515156064351515610b4d565b3480156103f757600080fd5b50610376600435610c86565b34801561040f57600080fd5b50610243610dff565b34801561042457600080fd5b5061015c600435610e05565b34801561043c57600080fd5b5061015c600435610e84565b34801561045457600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610243948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610f4f9650505050505050565b3480156104bd57600080fd5b50610243610f6e565b3480156104d257600080fd5b50610243610f73565b3480156104e757600080fd5b5061015c600160a060020a0360043581169060243516610f79565b34801561050e57600080fd5b5061015c600435611103565b600380548290811061052857fe5b600091825260209091200154600160a060020a0316905081565b600033301461055057600080fd5b600160a060020a038216600090815260026020526040902054829060ff16151561057957600080fd5b600160a060020a0383166000908152600260205260408120805460ff1916905591505b600354600019018210156106545782600160a060020a03166003838154811015156105c357fe5b600091825260209091200154600160a060020a03161415610649576003805460001981019081106105f057fe5b60009182526020909120015460038054600160a060020a03909216918490811061061657fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550610654565b60019091019061059c565b60038054600019019061066790826113d6565b5060035460045411156106805760035461068090610e05565b604051600160a060020a038416907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a2505050565b3360008181526002602052604090205460ff1615156106d757600080fd5b60008281526001602090815260408083203380855292529091205483919060ff16151561070357600080fd5b600084815260208190526040902060030154849060ff161561072457600080fd5b6000858152600160209081526040808320338085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b6000805b60055481101561080d578380156107d5575060008181526020819052604090206003015460ff16155b806107f957508280156107f9575060008181526020819052604090206003015460ff165b15610805576001820191505b6001016107ac565b5092915050565b33301461082057600080fd5b600160a060020a038116600090815260026020526040902054819060ff161561084857600080fd5b81600160a060020a038116151561085e57600080fd5b6003805490506001016004546032821115801561087b5750818111155b801561088657508015155b801561089157508115155b151561089c57600080fd5b600160a060020a038516600081815260026020526040808220805460ff1916600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b600080805b6003548110156109b6576000848152600160205260408120600380549192918490811061096757fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561099b576001820191505b6004548214156109ae57600192506109b6565b60010161093e565b5050919050565b6000805b600354811015610a2657600083815260016020526040812060038054919291849081106109ea57fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610a1e576001820191505b6001016109c1565b50919050565b6000602081815291815260409081902080546001808301546002808501805487516101009582161595909502600019011691909104601f8101889004880284018801909652858352600160a060020a0390931695909491929190830182828015610ad75780601f10610aac57610100808354040283529160200191610ad7565b820191906000526020600020905b815481529060010190602001808311610aba57829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610b4257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610b24575b505050505090505b90565b606080600080600554604051908082528060200260200182016040528015610b7f578160200160208202803883390190505b50925060009150600090505b600554811015610c0657858015610bb4575060008181526020819052604090206003015460ff16155b80610bd85750848015610bd8575060008181526020819052604090206003015460ff165b15610bfe57808383815181101515610bec57fe5b60209081029091010152600191909101905b600101610b8b565b878703604051908082528060200260200182016040528015610c32578160200160208202803883390190505b5093508790505b86811015610c7b578281815181101515610c4f57fe5b9060200190602002015184898303815181101515610c6957fe5b60209081029091010152600101610c39565b505050949350505050565b606080600080600380549050604051908082528060200260200182016040528015610cbb578160200160208202803883390190505b50925060009150600090505b600354811015610d785760008581526001602052604081206003805491929184908110610cf057fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610d70576003805482908110610d2b57fe5b6000918252602090912001548351600160a060020a0390911690849084908110610d5157fe5b600160a060020a03909216602092830290910190910152600191909101905b600101610cc7565b81604051908082528060200260200182016040528015610da2578160200160208202803883390190505b509350600090505b81811015610df7578281815181101515610dc057fe5b906020019060200201518482815181101515610dd857fe5b600160a060020a03909216602092830290910190910152600101610daa565b505050919050565b60055481565b333014610e1157600080fd5b6003548160328211801590610e265750818111155b8015610e3157508015155b8015610e3c57508115155b1515610e4757600080fd5b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b3360008181526002602052604090205460ff161515610ea257600080fd5b6000828152602081905260409020548290600160a060020a03161515610ec757600080fd5b60008381526001602090815260408083203380855292529091205484919060ff1615610ef257600080fd5b6000858152600160208181526040808420338086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a3610f4885611103565b5050505050565b6000610f5c8484846112c3565b9050610f6781610e84565b9392505050565b603281565b60045481565b6000333014610f8757600080fd5b600160a060020a038316600090815260026020526040902054839060ff161515610fb057600080fd5b600160a060020a038316600090815260026020526040902054839060ff1615610fd857600080fd5b600092505b6003548310156110695784600160a060020a031660038481548110151561100057fe5b600091825260209091200154600160a060020a0316141561105e578360038481548110151561102b57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550611069565b600190920191610fdd565b600160a060020a03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b3360008181526002602052604081205490919060ff16151561112457600080fd5b60008381526001602090815260408083203380855292529091205484919060ff16151561115057600080fd5b600085815260208190526040902060030154859060ff161561117157600080fd5b61117a86610939565b156112bb576000868152602081815260409182902060038101805460ff19166001908117909155815481830154600280850180548851601f60001997831615610100029790970190911692909204948501879004870282018701909752838152939a5061124e95600160a060020a03909216949093919083908301828280156112445780601f1061121957610100808354040283529160200191611244565b820191906000526020600020905b81548152906001019060200180831161122757829003601f168201915b50505050506113b3565b156112835760405186907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a26112bb565b60405186907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038501805460ff191690555b505050505050565b600083600160a060020a03811615156112db57600080fd5b60055460408051608081018252600160a060020a0388811682526020808301898152838501898152600060608601819052878152808452959095208451815473ffffffffffffffffffffffffffffffffffffffff19169416939093178355516001830155925180519496509193909261135b9260028501929101906113ff565b50606091909101516003909101805460ff191691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b6000806040516020840160008287838a8c6187965a03f198975050505050505050565b8154818355818111156113fa576000838152602090206113fa91810190830161147d565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061144057805160ff191683800117855561146d565b8280016001018555821561146d579182015b8281111561146d578251825591602001919060010190611452565b5061147992915061147d565b5090565b610b4a91905b8082111561147957600081556001016114835600a165627a7a72305820856ed8c57ce57924ca36a703724f97d198671ce9e668afb7e4bd9401231617a3002900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000e3993566b34e5367d1c602439997bd08c11ff700000000000000000000000052386be2397e8eac26298f733b390684203fb5800000000000000000000000007ae77149ed38c5dd313e9069d790ce7085caf0a6000000000000000000000000e59261f6d4088bcd69985a3d369ff14cc54ef1e5000000000000000000000000d2c7008400f54aa70af01cf8c747a4473246593e",
"method_identifiers": {
"required()": "dc8452cd",
"getOwners()": "a0e67e2b",
"owners(uint256)": "025e7c27",
"isOwner(address)": "2f54bf6e",
"MAX_OWNER_COUNT()": "d74f8edd",
"addOwner(address)": "7065cb48",
"transactionCount()": "b77bf600",
"isConfirmed(uint256)": "784547a7",
"removeOwner(address)": "173825d9",
"transactions(uint256)": "9ace38c2",
"getConfirmations(uint256)": "b5dc40c3",
"changeRequirement(uint256)": "ba51a6df",
"confirmTransaction(uint256)": "c01a8c84",
"executeTransaction(uint256)": "ee22610b",
"revokeConfirmation(uint256)": "20ea8d86",
"getConfirmationCount(uint256)": "8b51d13f",
"replaceOwner(address,address)": "e20056e6",
"confirmations(uint256,address)": "3411c81c",
"getTransactionCount(bool,bool)": "54741525",
"submitTransaction(address,uint256,bytes)": "c6427474",
"getTransactionIds(uint256,uint256,bool,bool)": "a8abe69a"
},
"event_identifiers": {
"event Confirmation(address indexed sender, uint256 indexed transactionId)": "0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef",
"event Deposit(address indexed sender, uint256 value)": "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c",
"event Execution(uint256 indexed transactionId)": "0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75",
"event ExecutionFailure(uint256 indexed transactionId)": "0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236",
"event OwnerAddition(address indexed owner)": "0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d",
"event OwnerRemoval(address indexed owner)": "0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90",
"event RequirementChange(uint256 required)": "0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a",
"event Revocation(address indexed sender, uint256 indexed transactionId)": "0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9",
"event Submission(uint256 indexed transactionId)": "0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51"
},
"deployer": "0x7ae77149ed38c5dd313e9069d790ce7085caf0a6",
"block_num": 8317180,
"deploy_at": 1639623990,
"verify_status": "partial",
"contract_name": "MultiSigWallet",
"compiler_version": "v0.4.24+commit.e67f0147",
"evm_version": "default",
"external_libraries": null,
"optimize": true,
"optimization_runs": 200,
"extrinsic_index": "",
"transaction_hash": "",
"verify_time": 0,
"transaction_count": 57
}
}
erc20 transfers
Get erc20 transfers by address
curl -X POST 'https://shibuya.api.subscan.io/api/scan/evm/erc20/transfer' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "0x7139e2b08d58987a4327b11fec388536cc65d37a",
"row":1
}'
Request URL
POST /api/scan/evm/erc20/transfer
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes(evm address) |
| contract | string | no(evm address ) |
| token_id | string | |
| row | int | yes |
| page | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1635239251,
"data": {
"count": 10,
"list": [
{
"contract": "0x878f2bd833e2986faafe5eb3216cf34bda51849b",
"hash": "0x5ade0e525aa29ca3bafe92cd08ef91c34370bad6784602ca5297b251eac7e56f",
"create_at": 1631719386,
"from": "0x870a26caadb927c7bf94abbb40a2121a20fe1bf8",
"to": "0x4bc5bda0908a786616c0f4d52a403113cb9cf71f",
"value": "212140000000000",
"token_id": "",
"decimals": 18,
"symbol": "PLP",
"name": "PolkaEx LP Token"
}
]
}
}
erc20 token holders
Get erc20 transfers by address
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/token/holders' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"contract": "0x7139e2b08d58987a4327b11fec388536cc65d37a",
"row":10,
"page":0
}'
Request URL
POST /api/scan/evm/token/holders
Payload
| Name | Type | Require |
|---|---|---|
| contract | string | yes(evm address) |
| row | int | yes |
| page | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1642992040,
"data": {
"count": 1,
"list": [
{
"contract": "0x8eb2281bbd90ea671c9f6cb1e51102b7fe3d480e",
"holder": "",
"balance": "0"
}
]
}
}
contract list
Get contract list
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/contract/list' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row":10,
"page":0
}'
Request URL
POST /api/scan/evm/contract/list
Payload
| Name | Type | Require |
|---|---|---|
| contracts | array string | no (evm address) |
| verified | bool | no |
| row | int | yes |
| page | int | no |
| search | string | no |
| order | string | no(desc or asc) |
| order_field | string | no(verify_time or transaction_count ) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1642992332,
"data": {
"count": 1,
"list": [
{
"address": "0x9f5098Dc064F6ca8D7f7Eb9e722706256b35bb37",
"contract_name": "ProxyAdmin",
"evm_version": "istanbul",
"balances": "0",
"verify_status": "partial",
"verify_time": 0,
"transaction_count": 0
}
]
}
}
EVM meta
curl -X POST 'https://crab.webapi.subscan.io/api/scan/evm/meta' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{}'
Request URL
POST /api/scan/evm/meta
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1643178109,
"data": {
"ERC20_count": 12,
"ERC721_count": 5,
"account_count": 3249,
"contracts_count": 189,
"transaction_count": 8411,
"verified_contracts_count": 11
}
}
erc721 collectibles
Get erc721 collectibles by address
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/erc721/collectibles' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"contract": "0x735182c782cb8e7806f8903de7913e6880cbf82e",
"row":10,
"page":0
}'
Request URL
POST /api/scan/evm/erc721/collectibles
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes(evm address) |
| contract | string | no(filter by contract,evm address ) |
| token_id | token | no(filter by token_id ) |
| row | int | yes |
| page | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1676009737,
"data": {
"count": 1,
"list": [
{
"contract": "0xb29da7c1b1514ab342afbe6ab915252ad3f87e4d",
"holder": "0x2e998c97a564d480c83861d9b5c4e0d05b0bdc87",
"token_id": "19002440208967408620039821969627814114613960146624195932035567559320843321507",
"storage_url": "https://gcs.subscan.io/darwinia-canary/erc721/19002440208967408620039821969627814114613960146624195932035567559320843321507.png"
}
]
}
}
erc721 transfers
Get erc721 transfers by address
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/erc721/transfer' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "0x735182c782cb8e7806f8903de7913e6880cbf82e"
}'
Request URL
POST /api/scan/evm/token/transfer
Payload
| Name | Type | Require |
|---|---|---|
| address | string | no(evm address) |
| contract | string | no |
| hash | string | no |
| token_id | string | no |
| row | int | yes |
| page | int | no |
| category | string | no(erc20,erc721) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1676009439,
"data": {
"count": 1,
"list": [
{
"contract": "0xb29da7c1b1514ab342afbe6ab915252ad3f87e4d",
"hash": "0x7e5c2438f89219c841dc787894e99b09c5946577779ea613828d192b9946050f",
"create_at": 1675985220,
"from": "0xe2cc4f1e7d609df4b69f35fe3b851f03f228e9ed",
"to": "0x2e998c97a564d480c83861d9b5c4e0d05b0bdc87",
"value": "1",
"token_id": "19002440208967408620039821969627814114613960146624195932035567559320843321507",
"storage_url": "https://gcs.subscan.io/darwinia-canary/erc721/19002440208967408620039821969627814114613960146624195932035567559320843321507.png",
"decimals": 0,
"symbol": "EVO",
"name": "Evolution Land Objects",
"from_display": {
"address": "0xe2cc4f1e7d609df4b69f35fe3b851f03f228e9ed"
},
"to_display": {
"address": "0x2e998c97a564d480c83861d9b5c4e0d05b0bdc87",
"evm_contract": {
"contract_name": "ClockAuctionProxy"
}
}
}
]
}
}
erc721 collectible
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/erc721/collectible' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"contract": "0xb29da7c1b1514ab342afbe6ab915252ad3f87e4d",
"token_id":"19002440208967408626316923705014494878449749569831862348137923003784877835818"
}'
Request URL
POST /api/scan/evm/erc721/collectible
Payload
| Name | Type | Require |
|---|---|---|
| contract | string | no(filter by contract,evm address ) |
| token_id | token | no(filter by token_id ) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1676361618,
"data": {
"contract": "0xb29da7c1b1514ab342afbe6ab915252ad3f87e4d",
"holder": "0xe32c5673b152571e57976bf3a75068917da2da9c",
"token_id": "19002440208967408626316923705014494878449749569831862348137923003784877835818",
"metadata": {
"description": "Ohayo! No, it's not pronounced ElijahJohnson, it's pronounced ElijahJohnson. EVE dare not tell us his evil conduct. You are my ferryman, let you learn to love and hate! Bad times make a good man.",
"external_url": "https://portal.evolution.land/land/3/apostle/0x2a0300010300010200000000000000030000000000000000000000000000062a",
"image": "https://gcs.evolution.land/apostle/19437075276316107269693295673051119608530896406594151261724952195515849937.png",
"name": "ElijahJohnson",
"attributes": [
{
"display_type": "number",
"trait_type": "generation",
"value": 4
}
]
},
"storage_url": "https://gcs.subscan.io/darwinia-canary/erc721/19002440208967408626316923705014494878449749569831862348137923003784877835818.png"
}
}
evm-abi
curl -X POST 'https://crab.api.subscan.io/api/scan/evm/abi' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{"id":["0x0175e69f","0x092ceb581c4f2b483a493ffbd996e71e4a91826f63f49e0ae247270b34685804"]}'
Request URL
POST /api/scan/evm/abi
Payload
| Name | Type | Require |
|---|---|---|
| id | array | yes (methodId or event topic) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1693195873,
"data": [
{
"id": "0x0175e69f",
"abi_func": {
"name": "remoteIssuingFailure",
"type": "function",
"inputs": [
{
"name": "transferId",
"type": "uint256",
"indexed": false
},
{
"name": "mappingToken",
"type": "address",
"indexed": false
},
{
"name": "originalSender",
"type": "address",
"indexed": false
},
{
"name": "amount",
"type": "uint256",
"indexed": false
}
],
"outputs": [],
"payable": false,
"constant": false,
"stateMutability": "payable"
},
"abi_type": "method"
},
{
"id": "0x092ceb581c4f2b483a493ffbd996e71e4a91826f63f49e0ae247270b34685804",
"abi_func": {
"name": "Registry",
"type": "event",
"inputs": [
{
"name": "pos",
"type": "uint256",
"indexed": false
},
{
"name": "committer",
"type": "address",
"indexed": false
}
],
"outputs": [],
"payable": false,
"constant": false,
"anonymous": false,
"stateMutability": ""
},
"abi_type": "event"
}
]
}
Assets
assets
assets list
curl -X POST 'https://statemine.api.subscan.io/api/scan/assets/assets' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/assets/assets
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| search | string | no(fuzzy search symbol) |
| asset_id | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1650347429,
"data": {
"count": 139,
"list": [
{
"asset_id": "0",
"metadata": {
"deposit": "6692999670",
"name": "Polkadog",
"symbol": "DOG",
"decimals": 6
},
"owner": {
"address": "HyBryanRsB1GGKa9ZfqvRc3XpTDipYyRvxNNyZYfWFcenhd",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"issuer": {
"address": "HyBryanRsB1GGKa9ZfqvRc3XpTDipYyRvxNNyZYfWFcenhd",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"supply": "1000000000000000000",
"holders": 6,
"unique_id": "standard_assets/0"
}
]
}
}
asset
asset info
curl -X POST 'https://statemine.api.subscan.io/api/scan/assets/asset' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"assert_id": 1,
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/assets/asset
Payload
| Name | Type | Require |
|---|---|---|
| asset_id | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1650349279,
"data": {
"asset_id": "1",
"metadata": {
"deposit": "6694332990",
"name": "Listen Token",
"symbol": "L T",
"decimals": 14
},
"owner": {
"address": "HyBryanRsB1GGKa9ZfqvRc3XpTDipYyRvxNNyZYfWFcenhd",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"issuer": {
"address": "HyBryanRsB1GGKa9ZfqvRc3XpTDipYyRvxNNyZYfWFcenhd",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"admin": {
"address": "HyBryanRsB1GGKa9ZfqvRc3XpTDipYyRvxNNyZYfWFcenhd",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"freezer": {
"address": "HyBryanRsB1GGKa9ZfqvRc3XpTDipYyRvxNNyZYfWFcenhd",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"supply": "1000000000000000",
"min_balance": "1000000000000",
"is_frozen": false,
"is_destroyed": false,
"holders": 2,
"unique_id": "standard_assets/1"
}
}
asset-holders
asset holders
curl -X POST 'https://statemine.api.subscan.io/api/scan/assets/asset/holders' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"asset_id": 1,
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/assets/asset/holders
Payload
| Name | Type | Require |
|---|---|---|
| asset_id | int | yes |
| row | int | yes |
| page | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1650350389,
"data": {
"count": 6,
"list": [
{
"holder": {
"address": "HyBryanRsB1GGKa9ZfqvRc3XpTDipYyRvxNNyZYfWFcenhd",
"display": "",
"judgements": [
{
"index": 0,
"judgement": "FeePaid"
}
],
"account_index": "",
"identity": false,
"parent": {
"address": "",
"display": "",
"sub_symbol": "",
"identity": true
}
},
"balance": "999996000000000000"
}
]
}
}
account-assets
asset holders
curl -X POST 'https://statemine.api.subscan.io/api/scan/assets/account/balances' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "HyBryanRsB1GGKa9ZfqvRc3XpTDipYyRvxNNyZYfWFcenhd"
}'
Request URL
POST /api/scan/assets/account/balances
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1650351232,
"data": [
{
"asset_id": "0",
"balance": "999996000000000000",
"name": "Polkadog",
"symbol": "DOG",
"decimals": 6
}
]
}
account-assets
asset holders
curl -X POST 'https://statemine.api.subscan.io/api/scan/assets/activities' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"asset_id": 20,
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/assets/activities
Payload
| Name | Type | Require |
|---|---|---|
| asset_id | int | yes |
| row | int | yes |
| page | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1650352863,
"data": {
"count": 4,
"list": [
{
"event_index": "1164135-3",
"extrinsic_index": "1164135-2",
"block_num": 1164135,
"asset_id": "20",
"block_timestamp": 1637140176,
"module_id": "assets",
"event_id": "Issued"
}
]
}
}
assets-list-all
curl -X POST 'https://statemine.api.subscan.io/api/scan/assets/all' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
Request URL
POST /api/scan/assets/all
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1667352665,
"data": {
"list": [
{
"asset_id": "101",
"symbol": "DOT",
"decimals": 10
}
]
}
}
asset transfers
Asset Transfer list
curl -X POST 'https://crab.api.subscan.io/api/scan/assets/transfers' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"asset_id": "1",
"row": 10,
"page": 1
}'
Request URL
POST /api/scan/assets/transfers
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| asset_id | string | yes |
| address | string | no |
| extrinsic_index | string | no |
| block_range | string | no |
| direction | string | no(all sent received) |
| min_amount | string | no |
| max_amount | string | no |
| success | bool | no |
| after_id | array int | no |
| order | string | no (asc desc) |
tip: For performance & security considerations, only the first 10000 results can use row & page. If you need to get
more data, you can use after_id, params after_id is the last record block_num && event_idx. For example: You can
use [3783422,2] to get the data after block num is 3783422 and event_idx is 2
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1648457279,
"data": {
"count": 1,
"transfers": [
{
"from": "CtsavRLysRcGpJiaUrnMS48PYoE3X1bXAheaLJ7kTMs3Wcc",
"to": "F3opxRUwkBj1LqjZ7DyiHCRh9Z4zVPLaVjoxfD5ddbip8mt",
"extrinsic_index": "1948098-2",
"success": true,
"hash": "0xbbb0553d59a55266a2cd062a9d9861df46cff32d199237d1cc1c324846740351",
"block_num": 1948098,
"block_timestamp": 1682555502,
"module": "assets",
"amount": "11",
"amount_v2": "11000000",
"usd_amount": "0",
"fee": "55029659",
"nonce": 12,
"asset_symbol": "USDR",
"asset_unique_id": "standard_assets/1984",
"asset_type": "assets",
"from_account_display": {
"address": "CtsavRLysRcGpJiaUrnMS48PYoE3X1bXAheaLJ7kTMs3Wcc"
},
"to_account_display": {
"address": "F3opxRUwkBj1LqjZ7DyiHCRh9Z4zVPLaVjoxfD5ddbip8mt",
"display": "modlPotStake"
},
"event_idx": 4
}
]
}
}
Uniques
Uniques
Uniques list
curl -X POST 'https://statemine.api.subscan.io/api/scan/uniques/uniques' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/uniques/uniques
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| search | string | no(fuzzy search name) |
| collection_id | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1692158274,
"data": {
"count": 1,
"list": [
{
"collection_id": "99",
"owner": {
"address": "D3iNikJw3cPq6SasyQCy3k4Y77ZeecgdweTWoSegomHznG3"
},
"items": 1,
"holders": 1,
"transfer_count": 1,
"collection_name": "test for ref 99"
}
]
}
}
unique
unique info
curl -X POST 'https://statemine.api.subscan.io/api/scan/uniques/unique' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"collection_id": 1
}'
Request URL
POST /api/scan/uniques/unique
Payload
| Name | Type | Require |
|---|---|---|
| collection_id | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1692165007,
"data": {
"collection_id": "99",
"data": "ipfs://ipfs/bafkreibbymq2qf3fiv3hczas4omk6u2guvmn2d52ud35mmjp6viqxvv554",
"owner": {
"address": "D3iNikJw3cPq6SasyQCy3k4Y77ZeecgdweTWoSegomHznG3"
},
"issuer": {
"address": "D3iNikJw3cPq6SasyQCy3k4Y77ZeecgdweTWoSegomHznG3"
},
"admin": {
"address": "D3iNikJw3cPq6SasyQCy3k4Y77ZeecgdweTWoSegomHznG3"
},
"freezer": {
"address": "D3iNikJw3cPq6SasyQCy3k4Y77ZeecgdweTWoSegomHznG3"
},
"total_supply": 0,
"items": 1,
"is_frozen": false,
"is_destroyed": false,
"holders": 1,
"unique_id": "standard_uniques/99",
"attributes": null,
"metadata": {
"description": "Test Description",
"name": "test for ref 99"
}
}
}
unique-holders
curl -X POST 'https://statemine.api.subscan.io/api/scan/uniques/unique/holders' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"collection_id": 1,
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/uniques/unique/holders
Payload
| Name | Type | Require |
|---|---|---|
| collection_id | int | yes |
| row | int | yes |
| page | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1692165111,
"data": {
"count": 0,
"list": [
{
"holder": {
"address": "FF4KRpru9a1r2nfWeLmZRk6N8z165btsWYaWvqaVgR6qVic"
},
"balance": 1
}
]
}
}
account-uniques-balance
curl -X POST 'https://statemine.api.subscan.io/api/scan/uniques/account/balances' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "HyBryanRsB1GGKa9ZfqvRc3XpTDipYyRvxNNyZYfWFcenhd"
}'
Request URL
POST /api/scan/uniques/account/balances
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1692165182,
"data": [
{
"collection_id": "1234123",
"balance": "1",
"symbol": ""
}
]
}
uniques-activities
curl -X POST 'https://statemine.api.subscan.io/api/scan/uniques/activities' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"collection_id": 20,
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/uniques/activities
Payload
| Name | Type | Require |
|---|---|---|
| collection_id | int | yes |
| item_id | int | no |
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1692165513,
"data": {
"count": 24,
"list": [
{
"event_index": "4013551-73",
"extrinsic_index": "4013551-2",
"block_num": 4013551,
"collection_id": "99",
"block_timestamp": 1678084410,
"module_id": "uniques",
"event_id": "AttributeSet",
"item_id": 143
}
]
}
}
uniques-list-all
curl -X POST 'https://statemine.api.subscan.io/api/scan/uniques/all' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY'
Request URL
POST /api/scan/uniques/all
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1692158493,
"data": {
"list": [
{
"collection_id": "1",
"metadata": {}
}
]
}
}
uniques-items
curl -X POST 'https://statemine.api.subscan.io/api/scan/uniques/unique/items' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"collection_id": 20,
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/uniques/unique/items
Payload
| Name | Type | Require |
|---|---|---|
| collection_id | int | no |
| row | int | yes |
| page | int | no |
| owner | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1692165960,
"data": {
"count": 1,
"list": [
{
"item_id": 143,
"metadata": {},
"owner": {
"address": "FF4KRpru9a1r2nfWeLmZRk6N8z165btsWYaWvqaVgR6qVic"
}
}
]
}
}
uniques-item-detail
curl -X POST 'https://statemine.api.subscan.io/api/scan/uniques/unique/item' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"collection_id": 20,
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/uniques/unique/item
Payload
| Name | Type | Require |
|---|---|---|
| collection_id | int | yes |
| item_id | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1692166063,
"data": {
"collection_id": "99",
"holder": "0x7603df59789b7e57153ab9fab5615620d3ef95cf7843c106b726ea5792ac075e",
"item_id": 143,
"is_frozen": false,
"data": "ipfs://ipfs/bafkreibgf57g6lkwbniu7z5wshucieq5sf3umniluuynwf6v2zn2xvdoau",
"metadata": {},
"attributes": [
{
"key": "name",
"col1": "Common",
"col2": "6669999990"
}
]
}
}
Crust Network Specs
crust-groups
groups list
curl -X POST 'https://crust.api.subscan.io/api/scan/swork/groups' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 2,
"page": 0
}'
Request URL
POST /api/scan/swork/groups
Payload
| Name | Type | Require |
|---|---|---|
| group_owner | string | no |
| order | string | no(desc,asc) |
| order_field | string | no(power,total_stake,members,cap) |
| row | int | yes |
| page | int | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1629344123,
"data": {
"count": 1,
"list": [
{
"stash": "cTJSAVfgz1EBF466tsnQyxvWBmsuoKSsSNaa8jqCom1BBbaCj",
"controller": "cTHAWc2qaAXRDgjqTxYj7cPYrqR7LgogTmzPouUhXukQgGGxD",
"power": "1073792317",
"limit_stake": "0",
"total_stake": "1250000000000000000",
"members": 1,
"cap": "1073792317"
}
]
}
}
crust-group
group info
curl -X POST 'https://crust.api.subscan.io/api/scan/swork/group' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"group_owner": "5EAEWGZDwj9Ext8VcG6W892x2kxNaKCxzVFsrvkfKSLyekSF"
}'
Request URL
POST /api/scan/swork/group
Payload
| Name | Type | Require |
|---|---|---|
| group_owner | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1629774809,
"data": {
"stash": "5EAEWGZDwj9Ext8VcG6W892x2kxNaKCxzVFsrvkfKSLyekSF",
"controller": "5Ctacdhp72PDbXs4h2Qdmc5d6J9uwg1zPu5Z2aFPUBaUKGwH",
"power": "1073792317",
"limit_stake": "0",
"total_stake": "1250000000000000000",
"members": 1,
"cap": "1073792317"
}
}
crust-group-members
group members
curl -X POST 'https://crust.api.subscan.io/api/scan/swork/group/members' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 2,
"page": 0,
"group_owner": "group_owner"
}'
Request URL
POST /api/scan/swork/group/members
Payload
| Name | Type | Require |
|---|---|---|
| group_owner | string | no |
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1629344245,
"data": {
"count": 1,
"list": [
{
"account_id": "cTHATJrSgZM2haKfn5e47NSP5Y5sqSCCToxrShtVifD2Nfxv5",
"cap": "1073792317",
"used": "50493",
"spare": "1073741824",
"report_slot": 40200,
"punishment_deadline": 0,
"reported_files_size": "50493"
}
]
}
}
crust-member
group member info
curl -X POST 'https://crust.api.subscan.io/api/scan/swork/member' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "address"
}'
Request URL
POST /api/scan/swork/member
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1629344340,
"data": {
"account_id": "cTHATJrSgZM2haKfn5e47NSP5Y5sqSCCToxrShtVifD2Nfxv5",
"cap": "1073792317",
"used": "50493",
"spare": "1073741824",
"report_slot": 40200,
"punishment_deadline": 0,
"reported_files_size": "50493"
}
}
crust-member
group member info
curl -X POST 'https://crust.api.subscan.io/api/scan/swork/member/files' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 2,
"page": 0,
"address": "address"
}'
Request URL
POST /api/scan/swork/member/files
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes |
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1629344520,
"data": {
"count": 0,
"list": [
{
"account_id": "cTHATJrSgZM2haKfn5e47NSP5Y5sqSCCToxrShtVifD2Nfxv5",
"rank": 0,
"cid": "QmSeb8GXpkRiAb4yd8SpWsDCSXVjvcpnjZgiQ3ocgrPnSp",
"valid_at": 2140,
"anchor": "0xd9aa29dda8ade9718b38681adaf6f84126531246b40a56c02eff8950bb9a78b7c459721ce976c5c0c9cd4c743cae107e25adc3a85ed7f401c8dde509d96dcba0",
"file_size": "23710",
"expired_at": 2594488,
"earning": "545373"
}
]
}
}
crust-member-orders
group orders list
curl -X POST 'https://crust.api.subscan.io/api/scan/swork/member/orders' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 2,
"page": 0,
"address": "cTLsLhtBx1iE7tz6o8enkBSca3RpmosqGNn3tiNZKgwJJQadm"
}'
Request URL
POST /api/scan/swork/member/orders
Payload
| Name | Type | Require |
|---|---|---|
| address | string | yes |
| all_orders | bool | no |
| row | int | yes |
| page | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1689054080,
"data": {
"count": 1,
"list": [
{
"cid": "bafkreidzzi7fyf7kzxierrg4um7mtcfsyihack7hiudiksbzsynccu7dke",
"stash": "cTLsLhtBx1iE7tz6o8enkBSca3RpmosqGNn3tiNZKgwJJQadm",
"file_size": "88390",
"expired_at": 13017572,
"block_timestamp": 1688962896,
"memo": "{\"txHash\":\"0x31a0cf5018a7e477a46d8ddef556b4d28827be6c9ef6b2bd0c6e56ecb6516615\",\"chainType\":\"optimism\"}",
"replicas": 106,
"status": "",
"prepaid": "100000000",
"amount": "1757544",
"extrinsic_index": "10425572-1"
}
]
}
}
crust-daily
crust daily statistics
curl -X POST 'https://crust.api.subscan.io/api/scan/swork/daily' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"start": "2021-08-19",
"end": "2021-08-20",
}'
Request URL
POST /api/scan/swork/daily
Payload
| Name | Type | Require |
|---|---|---|
| start | string | yes |
| end | string | yes |
| category | string | yes(nodes,storage,files) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1629448624,
"data": {
"list": [
{
"time_utc": "2021-08-19T00:00:00+08:00",
"node_count": 1,
"storage": "1",
"file_count": 1,
"total_storage": "0"
}
]
}
}
crust-orders
crust daily statistics
curl -X POST 'https://crust.api.subscan.io/api/scan/swork/orders' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 100,
"page": 0,
}'
Request URL
POST /api/scan/swork/orders
Payload
| Name | Type | Require |
|---|---|---|
| row | int | yes |
| page | int | yes |
| address | array | no |
| expired_status | int | 1(not expired),2(expired less than 15 day),3(expired more than 15 day) |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1631172734,
"data": {
"count": 397,
"list": [
{
"cid": "QmPyXuL5vnbjSxjMKcKc1GVLz6FjWe1aBKURjWAD37U1Ko",
"stash": "cTHczioKf8SVgQoi6YuzWcGxA7DcHFgqoyg2vT2hV3GpUE52w",
"file_size": "8111111111",
"expired_at": 0,
"block_timestamp": 1631171958,
"replicas": 0,
"status": "",
"prepaid": "0",
"amount": "14102030"
}
]
}
}
Moonbeam Network Specs
reward-slash
curl -X POST 'https://moonbase.api.subscan.io/api/scan/orbiters/rewards' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 20,
"page": 0,
"address": "0xF6e12239Df61084368909db33D2989Fe0E67928A"
}'
Request URL
POST /api/scan/orbiters/rewards
Payload
| Name | Type | Require | Description |
|---|---|---|---|
| row | int | yes | |
| page | int | yes | |
| address | string | yes | h160 address |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1670895560,
"data": {
"count": 861,
"list": [
{
"module_id": "moonbeamorbiters",
"event_id": "OrbiterRewarded",
"extrinsic_index": "3345032-0",
"event_index": "3345032-1",
"block_timestamp": 1670892840,
"amount": "4468869501871997216"
}
]
}
}
Multi chain API
Multi-chain-account
curl -X POST 'https://polkadot.api.subscan.io/api/scan/multiChain/account' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "0xc6e37086d09ec2048f151d11cdb9f9bbbdb7d685"
}'
Request URL
POST /api/scan/multiChain/account
Payload
| Name | Type | Require | Description |
|---|---|---|---|
| address | string | yes | h160 or ss58 address |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1672110490,
"data": [
{
"network": "moonbeam",
"symbol": "xcDOT",
"decimal": 10,
"price": "0",
"category": "erc20",
"balance": "13624665936200192",
"locked": "0",
"reserved": "0",
"bonded": "0"
},
{
"network": "moonbeam",
"symbol": "xcDOT",
"decimal": 10,
"price": "0",
"category": "asset",
"balance": "13624665936200192",
"locked": "0",
"reserved": "0",
"bonded": "0"
},
{
"network": "moonbeam",
"symbol": "GLMR",
"decimal": 18,
"price": "0",
"category": "native",
"balance": "1000000000",
"locked": "0",
"reserved": "0",
"bonded": "0"
}
]
}
Multi-chain-identities
curl -X POST 'https://polkadot.api.subscan.io/api/scan/multiChain/identities' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"address": "0x84f94da49c63596cb9a465b02e65f43ca2315041"
}'
Request URL
POST /api/scan/multiChain/identities
Payload
| Name | Type | Require | Description |
|---|---|---|---|
| address | string | yes | h160 or ss58 address |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1672111201,
"data": [
{
"network": "moonbeam",
"display": "bitcoinsuisse.com 1",
"legal": "",
"web": "https://www.bitcoinsuisse.com",
"riot": "",
"email": "helpdesk@bitcoinsuisse.com",
"twitter": "@BitcoinSuisseAG",
"judgements": [
{
"index": 0,
"judgement": "Reasonable"
},
{
"index": 2,
"judgement": "FeePaid"
}
]
}
]
}
Multi-chain-price
curl -X POST 'https://polkadot.api.subscan.io/api/scan/multiChain/price' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
}'
Request URL
POST /api/scan/multiChain/price
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1672994835,
"data": {
"ACA": "0.115916",
"AIR": "0.01415001",
"ASTR": "0.03943251",
"AZERO": "0.833624",
"BNC": "0.100352",
"BSX": "0.00009044",
"CFG": "0.15077",
"CLV": "0.379878",
"CRU": "0.617653",
"CSM": "0.00372808",
"DBC": "0.00117643",
"DCK": "0.01502999",
"DHX": "2.32",
"DOCK": "0.01502999",
"DOT": "4.58",
"EDG": "0.00041186",
"EFI": "0.072626",
"EQ": "0.066056",
"GENS": "0.00074965",
"GLMR": "0.31665",
"HDX": "0.02690358",
"INTR": "0.01800495",
"KAR": "0.163597",
"KILT": "0.503679",
"KINT": "0.665631",
"KLP": "0.00190924",
"KMA": "0.00180232",
"KSM": "24.31",
"LIT": "0.711405",
"MOVR": "6.21",
"NEER": "0.23506",
"NODL": "0.00317881",
"OTP": "0.164447",
"PARA": "0.00997137",
"PDEX": "1.49",
"PHA": "0.108991",
"QTZ": "0.00050973",
"RING": "0.00365483",
"SDN": "0.329158",
"SKU": "0.01138003",
"TEER": "0.226004",
"UNQ": "0.00298386",
"XOR": "2.88",
"XRT": "2.34",
"ZTG": "0.05672"
}
}
Account-Balance-Value-History
curl -X POST 'https://polkadot.api.subscan.io/api/scan/multiChain/balance_value_history' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{"address":"16ZL8yLyXv3V3L3z9ofR1ovFLziyXaN1DPq4yffMAZ9czzBD","start":"2023-03-02","end":"2023-03-06"}'
Request URL
POST /api/scan/multiChain/balance_value_history
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1678064218,
"data": [
{
"value": "360869420.87649341776722409771",
"date": "2023-03-03"
},
{
"value": "351910124.13481868517570873308",
"date": "2023-03-04"
},
{
"value": "359678332.94665222578832769618",
"date": "2023-03-05"
},
{
"value": "357288443.69898240792533718947",
"date": "2023-03-06"
}
]
}
Account-Balance-Value-Stat
curl -X POST 'https://polkadot.api.subscan.io/api/scan/multiChain/balance_value_stat' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{"address":"16ZL8yLyXv3V3L3z9ofR1ovFLziyXaN1DPq4yffMAZ9czzBD"}'
Request URL
POST /api/scan/multiChain/balance_value_stat
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1678064884,
"data": {
"max": "360869420.87649341776722409771",
"min": "351910124.13481868517570873308",
"prev24H": "359678332.94665222578832769618"
}
}
Contracts API
Contracts-meta
curl -X POST 'https://shibuya.api.subscan.io/api/scan/contracts/meta' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
}'
Request URL
POST /api/scan/contracts/meta
Payload
| Name | Type | Require | Description |
|---|---|---|---|
| address | string | yes | h160 or ss58 address |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1679557092,
"data": {
"contract_count": 2,
"contract_verified_count": 0,
"transaction_count": 5
}
}
Contracts-transactions
curl -X POST 'https://shibuya.api.subscan.io/api/scan/contracts/transactions' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/contracts/transactions
Payload
| Name | Type | Require | Description |
|---|---|---|---|
| address | string | no | ss58 address |
| contract | string | no | ss58 address |
| result | bool | no | exec success or failed |
| block_range | string | no | |
| row | int | yes | |
| page | int | yes |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1679557241,
"data": {
"count": 1,
"list": [
{
"extrinsic_index": "3344332-2",
"contract_address": {
"address": "YQ7TnG5P753J5jA9idHHEThdGHLeMXquPPkQfyfHzwxTWMM"
},
"account_display": {
"address": "ajYMsCKsEAhEvHpeA4XqsfiA9v1CdzZPrCfS6pEfeGHW9j8"
},
"block_timestamp": 1678170540,
"success": true
}
]
}
}
Contracts-list
curl -X POST 'https://shibuya.api.subscan.io/api/scan/contracts/list' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"row": 1,
"page": 0
}'
Request URL
POST /api/scan/contracts/list
Payload
| Name | Type | Require | Description |
|---|---|---|---|
| row | int | yes | |
| page | int | yes | |
| order | string | no | desc or asc |
| order_field | string | no | verify_time,transaction_count |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1679558148,
"data": {
"count": 1,
"list": [
{
"contract_display": {
"address": "WbmwzcQQ7Ksjjv2CRFq45kwsnvnA2x1XDcu53B8wE5TYzSv"
},
"owner_display": {
"address": "XLoLJBQoMPHMLXYhdFobSpH5GujRoUH8d1sUtaEtoBG7zaS"
},
"transaction_count": 0,
"verify_time": 0,
"balance": "187000000000"
}
]
}
}
Contracts-info
curl -X POST 'https://shibuya.api.subscan.io/api/scan/contracts/info' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"contract": "YQ7TnG5P753J5jA9idHHEThdGHLeMXquPPkQfyfHzwxTWMM"
}'
Request URL
POST /api/scan/contracts/info
Payload
| Name | Type | Require | Description |
|---|---|---|---|
| contract | string | yes | ss58 address |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1679561287,
"data": {
"contract_display": {
"address": "YQ7TnG5P753J5jA9idHHEThdGHLeMXquPPkQfyfHzwxTWMM"
},
"owner_display": {
"address": "ajYMsCKsEAhEvHpeA4XqsfiA9v1CdzZPrCfS6pEfeGHW9j8"
},
"deposit": "0",
"transaction_count": 3,
"verify_time": 0,
"balance": "0.000000173",
"code_hash": "0xf43f22075f6c49ffa9f861c680f895f71cd04767ee539708c8371b7a063e8c46",
"code": "....",
"salt": "0x6405b22f",
"input_data": "0x9bae9d5e00e1f505000000000000000000000000"
}
}
Contracts-events
curl -X POST 'https://shibuya.api.subscan.io/api/scan/contracts/events' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"contract": "YQ7TnG5P753J5jA9idHHEThdGHLeMXquPPkQfyfHzwxTWMM",
"row:1,
"page":0
}'
Request URL
POST /api/scan/contracts/events
Payload
| Name | Type | Require | Description |
|---|---|---|---|
| row | int | yes | |
| page | int | yes | |
| contract | int | yes | ss58 address |
| extrinsic_index | string | no |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1679561395,
"data": {
"count": 2,
"list": [
{
"contract_address": "6ceba22ac458402cf9c1f055d51f0b901be2d32ded222c5607b0d316a758aaaf",
"extrinsic_index": "3344332-2",
"data": "0x0001d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d018eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4864000000000000000000000000000000",
"block_timestamp": 0
},
{
"contract_address": "6ceba22ac458402cf9c1f055d51f0b901be2d32ded222c5607b0d316a758aaaf",
"extrinsic_index": "3338484-5",
"data": "0x000001d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d00e1f505000000000000000000000000",
"block_timestamp": 0
}
]
}
}
Contracts-timeline
curl -X POST 'https://shibuya.api.subscan.io/api/scan/contracts/timeline' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_KEY' \
--data-raw '{
"contract": "YQ7TnG5P753J5jA9idHHEThdGHLeMXquPPkQfyfHzwxTWMM"
}'
Request URL
POST /api/scan/contracts/timeline
Payload
| Name | Type | Require | Description |
|---|---|---|---|
| contract | int | yes | ss58 address |
Example Response
{
"code": 0,
"message": "Success",
"generated_at": 1679561521,
"data": {
"list": [
{
"action": "Instantiated",
"event_index": "3437295-14",
"extrinsic_index": "3437295-2",
"block_timestamp": 1679561521
}
]
}
}
