🧪 Skills

Qelt Indexer

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

v0.1.0
❤️ 0
⬇️ 96
👁 1
Share

Description


name: QELT Indexer description: Query indexed QELT blockchain data via the Mainnet Indexer REST API — blocks, transactions, address history, token balances, and sync health. Use when asked about specific blocks or tx hashes, wallet transaction history, ERC-20 token balances, or indexer sync status. No API key required. Rate limit: 120 req/min. read_when:

  • Looking up a specific QELT block or transaction by hash
  • Fetching wallet transaction history on QELT
  • Checking ERC-20 token balances for a QELT address
  • Verifying QELT indexer sync status or lag
  • Getting a paginated list of recent QELT blocks or transactions homepage: https://mnindexer.qelt.ai metadata: {"clawdbot":{"emoji":"🔍","requires":{"bins":["curl"]}}} allowed-tools: Bash(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

Tier Endpoints Limit
Standard /v1/* 120 req/min
Health /health* 120 req/min
Heavy Complex queries 60 req/min
General Other 30 req/min

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

Common Errors

Error Cause Fix
HTTP 503 Rate limited Exponential backoff
{"error":"Transaction not found"} Hash wrong or not yet indexed Wait for indexer sync
Empty transactions: [] No activity on address Expected for new wallets
lag > 1000 Indexer behind Use JSON-RPC for real-time

Testnet

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

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs