# Orquestra: Solana programs, checked calls

Solana programs comprehended into calls you can check before they count: storefront purchases, Orca Whirlpool swaps, intent routing, program graphs and PDA derivation. Every money path ends in unsigned bytes plus a receipt; your wallet signs, and submit_transaction lands it.

- Surface: `orquestra` (program), access: open, served now
- Origin: Solana mainnet programs via Orquestra's builder
- MCP endpoint: https://mcp.geckovision.tech/orquestra/mcp
- HTML page: https://geckovision.tech/catalog/orquestra

## Use cases

### Buy from a Solana storefront

Ask: "Buy a sparkling water from geckocoffee on mainnet"

Tools, in order: `list_stores`, `prepare_purchase`, `verify_signed_transaction`, `submit_transaction`

  - proof: [tx #24, 2026-09-01, sparkling water 0.05 USDC, compute units exact](https://solscan.io/tx/5T8sRyYYB93F5FAd1c14cD5BEYyvxEEdL2vJK7tV9spxZXqUx8gjfgWhABh2R9HPXd9kqZE5FMsvwRRysyMANJL)

### Swap on Orca Whirlpool

Ask: "Swap 0.005 USDC to USDG for this wallet"

Tools, in order: `plan_swap`, `prepare_instruction`, `verify_signed_transaction`, `submit_transaction`

  - proof: [tx #25, 2026-09-01, USDC to USDG](https://solscan.io/tx/3bUd6dF1RQ8Hfhw3PZBTyXQMFVkVtJ4W7hgdRd786eeBZUHnAjouUthorvGFMd434Lwp2QBvYetvoX7AECMRfy9g)
  - proof: [tx #26, 2026-09-01, USDG to USDC](https://solscan.io/tx/3gZbFhUzZC6RQvunBYDE8NhW1VLGV8rz3RQzKCnwWEZvp3tKJw6E1fS6WhjXcRBdoGJzskaRkia8N8SdApTm7xPZ)

### Check a wallet can pay before anything is prepared

Ask: "Can this wallet pay for an espresso at geckocoffee, and with which token?"

Tools, in order: `plan_payment`

### Route a plain intent to the right instruction

Ask: "Which instruction starts a token launch on Pump.fun?"

Tools, in order: `find_start`, `comprehend_program`, `derive_pda`

## Get started

```bash
claude mcp add --transport http orquestra https://mcp.geckovision.tech/orquestra/mcp
```

First call: `list_stores` with `{"network":"mainnet"}`.

Raw MCP over HTTP, the order for money paths, and the definition of done: https://geckovision.tech/agents.md

## Tools served now

Measured at 2026-09-02T04:06:18.974Z (server orquestra 1.28.1): 16 tools.

- `start`: The same routing as `find_start`, projected to the ONE call you are about to make. You get the chosen start in full — the dependency-ordered derive plan, every 
- `find_start`: Say what you want to do in plain words ('buy this token on pump and hold it') and get the exact starting point across the wired Solana programs: (program, instr
- `list_programs`: List the wired, agent-ready program surfaces (with their intents and derivable PDAs) plus one page of the Orquestra program catalog (paginated; catalog entries 
- `comprehend_program`: Auto-comprehend an unwired catalog program (the D-A path): fetch its Orquestra surface and generate the Gecko program config, with per-PDA provenance (extracted
- `prepare_purchase`: Plan and verify a real purchase from a let_me_buy storefront, and hand back the UNSIGNED transaction. Gecko holds no key: YOU SIGN it in your own wallet and you
- `try_purchase`: REHEARSE a real purchase on a local fork of mainnet, and see what actually moved. This is `prepare_purchase` taken all the way through: it funds a throwaway buy
- `list_stores`: List every let_me_buy storefront on the network you name — store names, products and prices, read from each store's own on-chain account. Optionally filter by p
- `plan_payment`: Answer 'can this wallet buy this product, and if not what is the shortest CHECKED route' — in one call, without signing anything or building any bytes. Reads th
- `plan_swap`: Plan a token conversion on Orca Whirlpool and hand back the exact values `prepare_instruction` needs to build it — Gecko's CHECKED venue, from the wallet you na
- `verify_signed_transaction`: Check that a SIGNED transaction is the one Gecko attested — before you broadcast it. Pass the base64 your signer returned and the `binding` from the receipt. An
- `submit_transaction`: Broadcast a SIGNED transaction that Gecko prepared, with the checks and the rebroadcast loop built in: verifies the bytes against the receipt's `binding` (exact
- `read_accounts`: Look up the LIVE instances of one of a program's declared account types, and the values inside them — the step between a human name ('the DEATON sale') and the 
- `prepare_instruction`: Build ANY instruction of ANY program in the catalog, with every PDA derived for you, and get back UNSIGNED bytes plus a mainnet simulation. Nothing here signs o
- `derive_ata`: The associated token account for an owner + mint. Use this instead of computing it yourself.
- `derive_pda`: Derive a program address from explicit seeds, with the bump found the way the runtime finds it — descending from 255 until the result is OFF the ed25519 curve. 
- `program_lifecycle`: The ORDER a program's instructions must happen in, and which accounts move together — derived from the graph, not from documentation.
