Qelt Indexer

v0.1.0

Query QELT blockchain data—blocks, transactions, address history, ERC-20 token balances, and indexer sync status—via the Mainnet Indexer REST API.

0· 289· 1 versions· 0 current· 0 all-time· Updated 1d ago· MIT-0

Install

openclaw skills install qelt-indexer

QELT Indexer Skill

The QELT Mainnet Indexer is a high-performance REST API providing structured access to blockchain data — blocks, transactions, tokens, NFTs, and smart contracts — synced every 5 seconds.

Base URL (Mainnet): https://mnindexer.qelt.ai Base URL (Testnet): https://tnindexer.qelt.ai Auth: None required Rate Limit: 120 req/min (standard /v1/* tier)

Safety

  • Read-only API — no write operations.
  • Never fabricate block numbers, tx hashes, or balances — always fetch live data.
  • Check indexer sync before reporting "latest" data: GET /v1/health/readylag field.
  • Exponential backoff on HTTP 503 ({"error": "Rate limit exceeded"}).
  • Use limit and offset for all list endpoints — avoid unbounded queries.

Endpoints

Blocks

# Latest block
curl -fsSL "https://mnindexer.qelt.ai/v1/blocks/latest"

# By number
curl -fsSL "https://mnindexer.qelt.ai/v1/blocks/1234567"

# By hash
curl -fsSL "https://mnindexer.qelt.ai/v1/blocks/0xHASH"

# Paginated list
curl -fsSL "https://mnindexer.qelt.ai/v1/blocks?limit=20&offset=0"

Transactions

# By hash
curl -fsSL "https://mnindexer.qelt.ai/v1/transactions/0xTX_HASH"

# Receipt with logs
curl -fsSL "https://mnindexer.qelt.ai/v1/transactions/0xTX_HASH/receipt"

status: 1 = success · status: 0 = reverted.

Addresses

# Transaction history (paginated)
curl -fsSL "https://mnindexer.qelt.ai/v1/address/0xADDRESS/transactions?limit=20&offset=0"

# ERC-20 token balances
curl -fsSL "https://mnindexer.qelt.ai/v1/address/0xADDRESS/tokens"

# All balances (native QELT + all tokens)
curl -fsSL "https://mnindexer.qelt.ai/v1/account/0xADDRESS/balances"

Health and Sync Status

curl -fsSL "https://mnindexer.qelt.ai/v1/health/ready"

Response:

{
  "indexerHeight": 896360,
  "blockchainHeight": 896360,
  "lag": 0,
  "timestamp": "2026-03-04T06:00:00.000Z"
}

lag: 0 = fully synced · lag > 100 = warn user that data may be stale.

Response Shapes

Block

{
  "number": 1234567,
  "hash": "0x...",
  "parentHash": "0x...",
  "timestamp": 1705223340,
  "miner": "0x...",
  "gasUsed": "21000",
  "gasLimit": "50000000",
  "transactions": [...]
}

Transaction

{
  "hash": "0x...",
  "blockNumber": 1234567,
  "from": "0x...",
  "to": "0x...",
  "value": "1000000000000000000",
  "gasPrice": "0",
  "gasUsed": "21000",
  "status": 1,
  "timestamp": 1705223340
}

Address Balances

{
  "native": "1234.56",
  "tokens": [
    { "contractAddress": "0x...", "symbol": "USDT", "name": "Tether USD", "balance": "1000.5", "decimals": 6, "type": "ERC20" }
  ],
  "dataSource": "database_optimized"
}

Procedure

Look Up a Transaction

  1. GET /v1/transactions/{hash}
  2. Check status: 1 = success, 0 = reverted
  3. Report: from, to, value (divide wei by 1e18 for QELT), timestamp, block number
  4. For logs: GET /v1/transactions/{hash}/receipt

Get Wallet History

  1. Check sync: GET /v1/health/ready — warn if lag > 100
  2. Fetch: GET /v1/address/{address}/transactions?limit=20
  3. Format wei values: divide by 1e18 for QELT amounts

Get Token Balances

  1. Fetch: GET /v1/account/{address}/balances
  2. Report native QELT + each ERC-20 with formatted balance

Check Indexer Sync

  1. Fetch: GET /v1/health/ready
  2. lag = blockchainHeight - indexerHeight
  3. If lag > 1000, recommend using JSON-RPC directly for real-time data

Rate Limits

TierEndpointsLimit
Standard/v1/*120 req/min
Health/health*120 req/min
HeavyComplex queries60 req/min
GeneralOther30 req/min

Rate limit exceeded → HTTP 503: {"error": "Rate limit exceeded"}

Common Errors

ErrorCauseFix
HTTP 503Rate limitedExponential backoff
{"error":"Transaction not found"}Hash wrong or not yet indexedWait for indexer sync
Empty transactions: []No activity on addressExpected for new wallets
lag > 1000Indexer behindUse JSON-RPC for real-time

Testnet

Use https://tnindexer.qelt.ai with identical API paths for Chain ID 771 testnet data.

Version tags

latestvk97dnx6tsvk9df6q65aw4b45e982ckq4