gulltoppr resolves a usable ABI for any address — including the ones nobody verified, straight from bytecode — then lets an agent read, simulate, and prepare transactions with provenance it can actually reason about.
Runs against the live engine at api.gulltoppr.dev from your browser — no key, no signup.
Paste an unverified address: it still resolves, and tells you the ABI was decompiled.
Every answer carries provenance — source, confidence, and whether names were inferred — so an agent knows exactly how much to trust the interface it just got.
Verified source and ABI where the explorer has it.
Open, decentralized verification as the second opinion.
EIP-1967, beacon, and diamond patterns followed to the implementation.
heimdall lifts an interface out of raw bytecode when there is no source at all.
Selector lookup as the floor — you still get callable signatures.
Then use it: resolve_abi · read_contract · encode_call ·
simulate · prepare_tx · decode_tx · resolve_name.
prepare_tx returns an unsigned transaction, a wallet request, a simulation, and warnings — signing stays with the user.
No source on Etherscan, nothing on 4byte, trading seconds earlier — resolved to a full interface in two MCP tool calls, with a provenance warning attached. That exact contract is the first example chip above.
Point an agent at the MCP endpoint, install the typed SDK, or just curl it.
{
"mcpServers": {
"gulltoppr": { "url": "https://mcp.gulltoppr.dev/mcp" }
}
}
Drop it into Claude Code, Claude Desktop, Cursor, or any MCP client. Wallet, explorer, and coding-agent recipes live in the integration guide. Prefer to run it yourself? npm run mcp (stdio) or npm run mcp:http.
npm i gulltoppr import { Gulltoppr } from "gulltoppr"; const g = new Gulltoppr(); const r = await g.resolveAbi("base", "0x833…2913"); // r.interface.reads / .writes, r.provenance, r.proxy const tx = await g.prepareTx("base", addr, "transfer", [to, "1000000"], { from: myWallet }); // → unsigned tx + wallet request + simulation + warnings // (it never signs)
Typed, zero-config, works in Node and the browser. gulltoppr on npm.
curl 'https://api.gulltoppr.dev/v1/base/0x833…2913/abi?include_abi=false' # same ladder, same provenance, no SDK required # OpenAPI spec: https://api.gulltoppr.dev/openapi.json
Plain HTTP, CORS-enabled — which is exactly how the playground above talks to it.