Interact with any contract on any EVM chain.

The universal, safe, agent-native interface to any EVM contract — including the ones nobody verified. Resolve an ABI (even from raw bytecode, via decompilation), read, simulate, and prepare non-custodial transactions. Built for AI agents: MCP + SDK + REST.

Watch an agent do it

An agent resolving a live unverified MEV bot via the gulltoppr MCP — decompiled ABI with provenance warning and a live read

A real session: an unverified MEV bot that traded seconds earlier — no source on Etherscan, nothing on 4byte — resolved to a full interface in two MCP tool calls, with provenance the agent can reason about. Try the same contract yourself below.

Try it — resolve any contract

Calls the live engine at api.gulltoppr.dev directly from your browser. Paste an unverified contract — it still resolves (and tells you the ABI was decompiled).

Use it from an agent (MCP)

{ "mcpServers": { "gulltoppr": { "url": "https://mcp.gulltoppr.dev/mcp" } } }

…or from code (SDK)

npm i gulltoppr

import { AbiNinja } from "gulltoppr";
const g = new AbiNinja();

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 + simulation + warnings (never signs)

…or plain REST

curl https://api.gulltoppr.dev/v1/base/0x833…2913/abi

# verbs: resolve_abi · read_contract · encode_call
#        simulate · prepare_tx · decode_tx · resolve_name

7 verbs, one resolution ladder: Etherscan → Sourcify → proxy → heimdall decompile → 4byte, with first-class provenance so an agent knows how much to trust the ABI.