
Ottopus
Stop juggling wallets to get one thing done. Let your agent plan; you review and sign.
Demo
About
You have assets spread across wallets and chains. Doing one thing onchain means remembering which wallet holds what, then comparing dapps/ protocols for a route, then reading calldata you can't read or using other simulation tools. Ottopus hands that work to your agent and keeps the decision with you. Link your wallets once, point any MCP-capable agent at Ottopus, and say what you want "Buy 500 USD worth Spacex token." Ottopus looks across every linked wallet, picks the one that makes the action cheapest, builds the route, decodes it, and hands back a review link with a one-sentence reason: "Recommended Trading wallet (…7A21) — already holds USDC on Base, avoids a bridge and an approval, saves about $4." You open the link, see in plain language what will happen, simulate it against live chain state, and sign it in your own wallet. The agent never holds a key and never sends anything tool calls produce plans, not transactions. It works with the wallets you already have: hardware, hot, or a multisig like Safe. Ottopus is not a wallet and takes no custody. It plans, explains and simulates. You stay the signer.
How it's made
A pnpm workspace with two deployables from one commit: a Next.js web app on Vercel and a Node service on Railway, over Supabase Postgres. The service holds everything that matters — the plan engine, the calldata decoder, external decoders, connectors to services like swap, earn protocols, simulation, and a remote MCP server (Streamable HTTP + OAuth 2.1) that any agent host can add by URL. The web app renders what the service verified; it never computes a plan or touches the database. Auth is Privy. Plans are append-only and bound to an immutable hash, so a plan can't change between what you review and what you sign. Simulation runs through a provider independent of whoever built the route.