Platform Explorer HTTP API allow you to query and see platform blockchain data programmatically with a REST interface via HTTP calls. You can use it to build, test, or improve your applications.
API is still under ongoing development, so refer to this page or repo documentation for the most up-to-date latest specification.
Production (testnet) live URL is https://platform-explorer.pshenmic.dev
Reference:
Returns basic stats and epoch info
HTTP /status
{
epoch: {
index: 3,
startTime: "2024-04-08T14:00:00.000Z",
endTime: "2024-04-09T14:00:00.000Z"
},
appVersion: 1,
blockVersion: 13,
blocksCount: 10,
blockTimeAverage: 3,
txCount: 3,
transfersCount: 0,
dataContractsCount: 1,
documentsCount: 1,
network: "dash-testnet-40",
tenderdashVersion: "0.14.4"
}
Get a block by hash
GET /block/DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF
{
{
header: {
hash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
height: 1337,
timestamp: "2024-03-18T10:13:54.150Z",
blockVersion: 13,
appVersion: 1,
l1LockedHeight: 1337
},
txs: ["DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF"]
}
}
Return all blocks with pagination info
GET /blocks
{
pagination: {
page: 1,
limit: 10,
total: 10
},
resultSet: [
{
header: {
hash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
height: 1337,
timestamp: "2024-03-18T10:13:54.150Z",
blockVersion: 13,
appVersion: 1,
l1LockedHeight: 1337
},
txs: ["DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF"]
}, ...
]
}
Get a transaction (state transition) by hash
GET /transaction/DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF
{
blockHash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
blockHeight: 1337,
data: "{}",
hash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
index: 0,
timestamp: "2024-03-18T10:13:54.150Z",
type: 0
}
Response codes:
200: OK
404: Not found
500: Internal Server Error
Return transaction set paged
GET /transactions?=1&limit=10&order=asc
{
pagination: {
page: 1,
limit: 10,
total: 10
},
resultSet: [
{
blockHash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
blockHeight: 1337,
data: "{}",
hash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
index: 0,
timestamp: "2024-03-18T10:13:54.150Z",
type: 0
}, ...
]
}
Response codes:
200: OK
500: Internal Server Error
Return data contract by given identifier
GET /dataContract/GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
{
identifier: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
owner: "4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF",
schema: "{}",
version: 0,
txHash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
timestamp: "2024-03-18T10:13:54.150Z",
isSystem: false
}
Response codes:
200: OK
404: Not found
500: Internal Server Error
Return dataContracts set paged
GET /dataContracts?page=1&limit=10&order=asc
{
pagination: {
page: 1,
limit: 10,
total: 10
},
resultSet: [
{
identifier: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
owner: "4EfA9Jrvv3nnCFdSf7fad59851iiTRZ6Wcu6YVJ4iSeF",
schema: "{}",
version: 0,
txHash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
timestamp: "2024-03-18T10:13:54.150Z",
isSystem: false
}, ...
]
}
Response codes:
200: OK
500: Internal Server Error
Return last revision of the document by given identifier
GET /dataContract/GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
{
identifier: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
dataContractIdentifier: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
revision: 0,
txHash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
deleted: false
data: "{}",
timestamp: "2024-03-18T10:13:54.150Z",
owner: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
isSystem: false
}
Response codes:
200: OK
404: Not found
500: Internal Server Error
Return all documents by the given data contract identifier
GET /dataContract/GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec/documents?page=1&limit=10&order=asc
{
pagination: {
page: 1,
limit: 10,
total: 10
},
resultSet: [
{
identifier: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
dataContractIdentifier: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
revision: 0,
txHash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
deleted: false
data: "{}",
timestamp: "2024-03-18T10:13:54.150Z",
owner: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
isSystem: false
}, ...
]
}
Response codes:
200: OK
500: Internal Server Error
Return identity by given identifier
GET /identity/GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
{
identifier: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
owner: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
revision: 1,
balance: 1000000,
timestamp: "2024-03-18T10:13:54.150Z",
txHash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
totalTxs: 1,
totalTransfers: 0,
totalDocuments: 0,
totalDataContracts: 0,
isSystem: false
}
Response codes:
200: OK
404: Not found
500: Internal Server Error
Return all identities paged
GET /identities?page=1&limit=10&order=asc
{
pagination: {
page: 1,
limit: 10,
total: 10
},
resultSet: [
{
identifier: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
owner: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
revision: 1,
balance: 1000000,
timestamp: "2024-03-18T10:13:54.150Z",
txHash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
totalTxs: 1,
totalTransfers: 0,
totalDocuments: 0,
totalDataContracts: 0,
isSystem: false
}, ...
]
}
Response codes:
200: OK
500: Internal Server Error
Return all data contracts by the given identity
GET /identities/GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec/dataContracts?page=1&limit=10&order=asc
{
pagination: {
page: 1,
limit: 10,
total: 10
},
resultSet: [
{
identifier: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
owner: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
version: 0,
schema: null,
txHash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
timestamp: "2024-03-18T10:13:54.150Z",
isSystem: false
}, ...
]
}
Response codes:
200: OK
500: Internal Server Error
Return all documents by the given identity
GET /identities/GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec/documents?page=1&limit=10&order=asc
{
pagination: {
page: 1,
limit: 10,
total: 10
},
resultSet: [
{
identifier: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
owner: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
dataContractIdentifier: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
revision: 0,
txHash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
deleted: false,
data: null,
timestamp: "2024-03-18T10:13:54.150Z",
isSystem: false
}, ...
]
}
Response codes:
200: OK
500: Internal Server Error
Return all transactions made by the given identity
GET /identities/GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec/transactions?page=1&limit=10&order=asc
{
pagination: {
page: 1,
limit: 10,
total: 10
},
resultSet: [
{
hash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
index: 0,
blockHash: "DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF,
blockHeight: 1337,
type: 0,
data: null,
timestamp: "2024-03-18T10:13:54.150Z",
}, ...
]
}
Response codes:
200: OK
500: Internal Server Error
Return all transfers made by the given identity
GET /identities/GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec/transfers?page=1&limit=10&order=asc
{
pagination: {
page: 1,
limit: 10,
total: 10
},
resultSet: [
{
amount: 100000,
sender: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
recipient: "GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec",
timestamp: "2024-03-18T10:13:54.150Z",
}, ...
]
}
Response codes:
200: OK
500: Internal Server Error