One explorer.
Agents and humans.
Every block, transaction, and contract on Starknet, indexed and decoded for agents to query and humans to read.
Latest blocks
CopyOpen ▾Search
Find anything on Starknet
Address, transaction, block, class, or token. Type a hash, or ask in plain words. One box, the whole chain.
Result
Made for agents and humans
Give your agent a key.
It understands everything.
One decoded index, and docs written so agents and humans both get it instantly. MCP, the SDK, REST, or the explorer: one source of truth, every surface.
Give your agent a key
Point an MCP server at Starkscan. Your agent reads every block, transaction, and contract, already decoded. No scraping.
One index, every surface
MCP, SDK, REST, CLI. The same decoded data, whichever you reach for.
Built for engineers
Drop the SDK into your stack. Decoded events and typed responses, no felt wrangling.
import { Starkscan } from "@starkscan/sdk";const scan = new Starkscan({ apiKey: process.env.STARKSCAN_API_KEY });const tx = await scan.transactions.get("0x0a91f3c2…");tx.events.forEach((e) => console.log(e.name, e.args));// Transfer { from, to, value }, already decodedAnd made for humans
Decoded the same way for humans. Readable events, not raw calldata.
Decoded
From felts to meaning
Every call arrives as raw felts. Starkscan resolves the contract, the selector, and the arguments, so you read intent, not bytes. Same data, two views.
Coming from Voyager?
Bring your links across two ways: agents can ask, humans keep the URL.
Keep the URL. Swap the host.
Transaction, block, and contract routes map directly.
Skip the mapping. Just ask.
Works with Claude, Codex, Cursor.