๐Ÿ“– OrangeScan Public API

Free, open REST API for Orange AI Blockchain (Chain ID 10004). No API key required. Rate limit: unlimited (private chain).

๐Ÿ”— Base URL
https://explorer.ksb22.com/api/v1

Quick Start Examples

curlShell
# Get latest block stats
curl https://explorer.ksb22.com/api/v1/stats | jq .

# Get block #1042
curl https://explorer.ksb22.com/api/v1/block/1042 | jq .

# Get transaction
curl https://explorer.ksb22.com/api/v1/tx/0xYOUR_TX_HASH | jq .

# Search anything
curl "https://explorer.ksb22.com/api/v1/search?q=0xYOUR_ADDRESS" | jq .
jsJavaScript
// Using fetch (browser or Node.js)
const BASE = 'https://explorer.ksb22.com/api/v1';

// Chain stats
const stats = await fetch(`${BASE}/stats`).then(r => r.json());
console.log('Latest block:', stats.latestBlock);

// Block detail
const { block, txs } = await fetch(`${BASE}/block/1042`).then(r => r.json());
console.log('Miner:', block.miner);

// Search
const result = await fetch(`${BASE}/search?q=0xYOUR_ADDR`).then(r => r.json());
// result.type === 'address' | 'block' | 'tx'
pythonPython
import requests

BASE = 'https://explorer.ksb22.com/api/v1'

# Chain stats
stats = requests.get(f'{BASE}/stats').json()
print('Latest block:', stats['latestBlock'])

# Block with transactions
data = requests.get(f'{BASE}/block/1042').json()
for tx in data['txs']:
    print(f"Tx: {tx['hash']} โ€” {tx['valueOai']} OAI")

# Address balance
addr = requests.get(f'{BASE}/address/0xYOUR_ADDRESS').json()
print(f"Balance: {addr['balance']} OAI")

API Endpoints

GET/api/v1/stats

Returns chain-wide statistics: latest block, avg block time, validator count, chain ID.

Example Request
curl https://explorer.ksb22.com/api/v1/stats
Example Response
{
  "latestBlock": 1042,
  "avgBlockTime": "2.00",
  "peers": 1,
  "chainId": 10004,
  "symbol": "OAI",
  "consensus": "QBFT (N=2, Q=2, F=0)",
  "blockTime": "2.0s",
  "validators": ["0x3b7997...", "0x627306..."]
}
GET/api/v1/blocks

Paginated list of blocks, newest first.

Parameters
pageintegerOptionalPage number (default: 1)
limitintegerOptionalResults per page, max 100 (default: 25)
Example Request
curl "https://explorer.ksb22.com/api/v1/blocks?page=1&limit=10"
Example Response
{
  "total": 1042,
  "page": 1,
  "limit": 10,
  "items": [{ "number": 1042, "hash": "0x...", "miner": "0x...", "txCount": 3, ... }]
}
GET/api/v1/block/:id

Block detail by block number or block hash. Includes full transaction list.

Parameters
idstringRequiredBlock number (decimal) or block hash (0x...)
Example Request
curl https://explorer.ksb22.com/api/v1/block/1042
curl https://explorer.ksb22.com/api/v1/block/0x7f1be881...
Example Response
{
  "block": { "number": 1042, "hash": "0x...", "miner": "0x...", "gasUsed": "0x...", ... },
  "txs": [{ "hash": "0x...", "from": "0x...", "to": "0x...", "valueOai": "1.0", ... }]
}
GET/api/v1/txs

Paginated list of recent transactions, newest first.

Parameters
pageintegerOptionalPage number (default: 1)
limitintegerOptionalResults per page, max 100 (default: 25)
Example Request
curl "https://explorer.ksb22.com/api/v1/txs?page=1&limit=10"
Example Response
{
  "page": 1,
  "limit": 10,
  "items": [{ "hash": "0x...", "from": "0x...", "to": "0x...", "valueOai": "0.5", "status": 1, ... }]
}
GET/api/v1/tx/:hash

Full transaction detail by hash. Includes receipt data (gas used, status, logs count).

Parameters
hashstringRequiredTransaction hash (0x + 64 hex chars)
Example Request
curl https://explorer.ksb22.com/api/v1/tx/0xabc123...
Example Response
{
  "tx": { "hash": "0x...", "blockNumber": 1042, "from": "0x...", "to": "0x...", "valueOai": "1.0",
          "gasPriceGwei": "1.00", "gasUsed": "0x5208", "status": 1, "fee": "0.000021", ... },
  "block": { "number": 1042, "timestamp": 1757793100, ... }
}
GET/api/v1/address/:addr

Address information: OAI balance, transaction count, and whether it is a smart contract.

Parameters
addrstringRequiredEthereum address (0x + 40 hex chars)
Example Request
curl https://explorer.ksb22.com/api/v1/address/0x3b79973376f98755a8e234896c11e6c6244315bd
Example Response
{
  "address": "0x3b79973376f98755a8e234896c11e6c6244315bd",
  "balance": "1000000.000000",
  "txCount": 512,
  "isContract": false
}
GET/api/v1/validators

QBFT validator set with block proposal stats computed from recent 100 blocks.

Example Request
curl https://explorer.ksb22.com/api/v1/validators
Example Response
{
  "validators": [
    { "address": "0x3b7997...", "label": "Validator 1", "blocksProposed": 51, "pct": "51.0", "status": "Active" },
    { "address": "0x627306...", "label": "Validator 2", "blocksProposed": 49, "pct": "49.0", "status": "Active" }
  ],
  "sampleBlocks": 100
}
GET/api/v1/search

Universal search. Detects and routes to block, transaction, or address automatically.

Parameters
qstringRequiredBlock number, block hash (0x+64), tx hash (0x+64), or address (0x+40)
Example Request
curl "https://explorer.ksb22.com/api/v1/search?q=1042"
curl "https://explorer.ksb22.com/api/v1/search?q=0x3b79973376f98755a8e234896c11e6c6244315bd"
Example Response
{ "type": "block",   "id": 1042 }
{ "type": "tx",      "id": "0x..." }
{ "type": "address", "id": "0x3b7997..." }

๐Ÿ“‹ API Notes

Base URLhttps://explorer.ksb22.com/api/v1
AuthenticationNone required (private chain)
Rate LimitingNone (internal use)
Response FormatJSON (application/json)
CORSEnabled for all origins
Chain ID10004
Native CoinOAI (18 decimal places)
ConsensusQBFT โ€” 2-second block finality