Skip to content

Chain data API

A read-only, public API indexing the whole chain. This is a Blockscout v2 instance, so if you have used Blockscout elsewhere the shapes will be familiar.

Base URL: https://api.testnet.kriptonyx.com/api/v2

No authentication, no key.

Endpoints

Chain

EndpointReturns
GET /statsTotals — blocks, transactions, addresses, gas prices
GET /search?q=Blocks, transactions, addresses and tokens by term

Blocks

EndpointReturns
GET /blocksRecent blocks, paginated
GET /blocks/{number_or_hash}One block
GET /blocks/{number_or_hash}/transactionsIts transactions

Transactions

EndpointReturns
GET /transactionsRecent transactions, paginated
GET /transactions/{hash}One transaction
GET /transactions/{hash}/logsIts event logs
GET /transactions/{hash}/token-transfersIts token transfers

Addresses

EndpointReturns
GET /addresses/{hash}Balance, contract flag, metadata
GET /addresses/{hash}/transactionsTransaction history
GET /addresses/{hash}/token-balancesAll token balances
GET /addresses/{hash}/logsLogs emitted by a contract

Tokens and contracts

EndpointReturns
GET /tokensToken registry
GET /tokens/{hash}One token
GET /tokens/{hash}/holdersHolder list
GET /smart-contracts/{hash}Verified source and ABI

Examples

bash
curl -s https://api.testnet.kriptonyx.com/api/v2/stats
json
{ "total_blocks": "6181577", "total_transactions": "415", "total_addresses": "144" }
bash
curl -s https://api.testnet.kriptonyx.com/api/v2/transactions/0x3341c2aff0d8409c62f728ea8aef00f77cec5b1c32f91257ee930034876cc075

Pagination

List endpoints return next_page_params. Pass it back as a query string to get the next page; null means the end.

js
const base = 'https://api.testnet.kriptonyx.com/api/v2';
let url = `${base}/addresses/${pair}/logs`;
const all = [];

while (url) {
  const body = await fetch(url).then((r) => r.json());
  all.push(...body.items);
  url = body.next_page_params
    ? `${base}/addresses/${pair}/logs?` + new URLSearchParams(body.next_page_params)
    : null;
}

Bound your loops

History is long. Stop once you have passed the block or timestamp you care about rather than walking to genesis.

Why not eth_getLogs

The node caps a single log query at 10,000 blocks, and the chain is past six million. Reading a contract's full history over JSON-RPC means hundreds of calls with careful range management. The indexer has already done this — one paginated request gives you the same data.

This is exactly how the explorer's DeFi panel derives pool volume: it reads Swap events from each pair's logs through this API.

KriptoNyx testnet — chain ID 3009 (kriptonyx_3009-1)