Skip to content

DOCS / API

API

Three read-only endpoints. No keys required from the caller; upstream keys, if any, stay on the server.

GET/api/inspect

Inspect one address and return its normalized compute profile.

address
required
0x-prefixed EVM address. Mixed case must be a valid EIP-55 checksum.
chain
optional
robinhood (default) · ethereum · base · arbitrum · auto. AUTO probes every supported chain and keeps the one with the newest transaction.
limit
optional
10–200 transactions, default 100. Rounded up to whole index pages of 50.
stream
optional
stream=1 answers NDJSON: one { stage } line per real pipeline stage, then the final object.
curl "http://localhost:8700/api/inspect?address=0x955291094d90ecf01ff4eeb92ac029b63dbf59ab&chain=robinhood"
{
  "ok": true,
  "chain": "robinhood",
  "network": { "name": "Robinhood Chain", "chainId": 4663, "nativeSymbol": "ETH", "explorer": "…", "rpcEndpoint": "public", "rpcLatencyMs": 412 },
  "address": "0x…",
  "summary": {
    "status": "ACTIVE",
    "accountType": "CONTRACT",
    "latestBlock": 57450775,
    "transactionsAnalyzed": 100,
    "transactionsInWindow": 14,
    "successRate": 0.98,
    "failRate": 0.02,
    "averageFeeWei": "18371212776000",
    "averageGasUsed": 61234,
    "freshnessSeconds": 12,
    "load": { "score": 72, "band": "ACTIVE", "components": { "activity": 0.28, "frequency": 0.61, "cost": 0.24, "success": 0.98, "freshness": 1 }, "weights": { … } }
  },
  "transactions": [ { "hash": "0x…", "block": 57450770, "timestamp": "…", "status": "success", "direction": "in", "feeWei": "…", "gasUsed": 46249, "method": "approve" } ],
  "sources": { "rpc": ["eth_getBlockByNumber", "eth_getCode", "eth_getTransactionCount", "eth_getBalance"], "index": "robinhoodchain.blockscout.com/api/v2" },
  "calculatedAt": "2026-09-07T10:00:00.000Z",
  "cached": false
}

ERRORS

CODEHTTPMEANING
INVALID_ADDRESS400Not a 0x + 40-hex EVM address, or a bad EIP-55 checksum.
UNSUPPORTED_NETWORK400Unknown chain key, a disabled chain, or a Solana-shaped address.
NO_ACTIVITY404No executions, code or balance on that network.
RATE_LIMITED429Per-IP bucket exhausted (30 tokens, 1/s refill, 2 per inspection). Retry-After is set.
RPC_UNAVAILABLE503Every RPC endpoint for the chain failed or timed out.
INDEXER_UNAVAILABLE503The Blockscout index did not answer.
{ "ok": false, "error": "INVALID_ADDRESS", "message": "Expected a 0x-prefixed 40-hex-character EVM address." }

GET/api/health

Real head-block probe per supported chain (eth_getBlockByNumber latest), cached 30 s. Drives the RPC dot in the nav and the BUFFER window in the hero.

{ "ok": true, "rpc": "ONLINE", "chains": [ { "chain": "robinhood", "online": true, "latestBlock": 57450775, "blockAgeSeconds": 1, "latencyMs": 412, "endpoint": "public", "error": null }, … ], "checkedAt": "…" }

GET/api/pulse

The newest 8 blocks of a chain with their transactions (eth_getBlockByNumber ×8 + eth_getBlockReceipts, one batch each), cached 8 s. Feeds the hero readouts and the memory-dive packets.

chain
optional
robinhood (default) · ethereum · base · arbitrum.
{ "ok": true, "chain": "robinhood", "head": { "number": 57490294, "ageSeconds": 2, "txCount": 2, "gasUsed": 97684, "baseFeeWei": "268547999" }, "blocks": [57490294, …], "transactions": [ { "hash": "0x…", "block": 57490294, "to": "0x…", "kind": "CALL", "selector": "0x6bf6a42d", "status": "success", "gasUsed": 46249 } ], "calculatedAt": "…" }

GET/api/token

The $VGEO panel. status SOON with no address until VGEO_TOKEN_ADDRESS is published server-side; then LIVE with ERC-20 metadata from the contract and holders/transfers from the index.

{ "ok": true, "status": "SOON", "symbol": "$VGEO", "address": null, "network": { "key": "robinhood", "name": "Robinhood Chain", "chainId": 4663 }, "token": null, "index": null }

GET/api/chains

The network registry, including what is explicitly NOT supported.

{ "ok": true, "default": "robinhood", "chains": [ { "key": "robinhood", "name": "Robinhood Chain", "chainId": 4663, "support": "supported", "rpc": "public", "index": "blockscout" }, …, { "key": "solana", "support": "not-supported", "note": "Recognised, not read. No adapter implemented yet." } ] }

SECURITY

  • All upstream calls happen in server routes. The browser never sees an RPC URL or key.
  • Input is validated server-side; the API fetches only from the fixed per-chain endpoints in its registry, never from caller-supplied URLs.
  • Upstream error bodies are sanitised before they reach a response.
  • VgeoCPU is read-only. There is no wallet connection and no place to enter a private key.