Skip to main content

The problem

Your agent’s first call is the real one. There is no rehearsal. A wrong call that errors is the cheap failure. You find out. The expensive one is quiet. Well-formed, accepted, nothing throws — and the world is now wrong. Nobody gets an alert for a call that worked and was wrong.

Watch it run

Ten questions, four programs, one landed transaction. Every command real, one take.

What Gecko is

Gecko reads an API — its spec, its docs, or for a Solana program its IDL and source — and turns it into tools your agent calls correctly the first time, every fact tagged with where it came from. For anything that costs money, it runs the call somewhere that doesn’t count first and hands back a receipt. Then someone else signs.
Gecko is not the agent. It holds no key, signs nothing, broadcasts nothing.

Your first call

No install, no account, no key, no spend.
Ask, in plain words:
Live answer, real production API. Your agent picked the right tool out of 28 and filled the parameter — first try.
Another client? Put the same URL in your mcp.json under mcpServers. If it only speaks SSE, use /pegana/sse — same tools, older transport.
Three more, same shape:

“I already have an OpenAPI spec and an MCP server”

Good — keep both. Gecko reads the spec and speaks MCP. A specification tells you what a call looks like. It cannot tell you whether it will work. That is structural, and just as true of a perfect spec as a bad one. And one thing an MCP server does: it leaves your key in mcp.json or .env, inside the agent’s context. Gecko keeps it in your OS keychain and injects it at call time. The model never sees it.

The model underneath

1

Comprehend

Read the surface. Tag every fact extracted, recovered, or flagged as genuinely unknown. Never invented — below the retrieval floor it says “no start found” instead of guessing.
2

Plan

Turn an intent into one specific call, including the accounts the surface does not carry. Solana programs derive addresses from seeds; those recipes are often missing from the IDL, and a guess gives you a valid-looking address for the wrong thing.
3

Simulate

Run it against real chain state. $0, unsigned, nothing broadcast.
4

Receipt

Does it land, what does it cost, and if not — which class of failure. See The Receipt.
5

Someone else signs

Gecko hands back the plan and the receipt. A wallet decides. Different jobs, and we do exactly one of them.

The proof

Eleven real mainnet purchases across two days. Every receipt predicted the compute units exactly, and the chain charged exactly that. All eleven are public and linked on A real transaction — open any of them.

What is not built yet

  • The receipt is not bound to the signed bytes’ hash. The gate checks the verdict.
  • A receipt is true for the state it was taken against. Take it when you sign.
  • Nothing re-checks on a schedule. Drift is detected across runs you make.
  • Five Solana programs are wired deep. The catalog lists thousands. Different numbers.
  • Simulation is local. The hosted surfaces give tools and plans; receipts need an RPC.
  • Gecko does not check whether an answer is true — only that the call is right, and on-chain, that the transaction lands.

One next step

Evaluating — see it decide

The whole candidate field, not just the winner — including the accounts it flags instead of guessing.

Building — point it at your API

No OpenAPI? Give it the docs URL. Then Quickstart.
prove routes and shows provenance with no setup. A receipt additionally needs an RPC — pass --rpc-url, or see The Receipt.