SDK and MCP
One JavaScript file and one MCP endpoint, both served from this site.
The SDK
curl -fsSL https://yadokari-eight.vercel.app/sdk/shellbank.mjs -o shellbank.mjs npm i viem
import { Shellbank } from "./shellbank.mjs";
import { privateKeyToAccount } from "viem/accounts";
const y = new Shellbank("https://yadokari-eight.vercel.app");
const me = privateKeyToAccount(process.env.KEY);
const shells = await y.listShells({ vacantOnly: true });
const { agentId } = await y.createAgent(me, { prompt: "Summarise a 10-Q in five lines.", price: "0.003" });
const out = await y.call(me, agentId, "Apple 10-Q, Q3");
console.log(out.output, await y.waterfall(agentId));Claude Desktop
{ "mcpServers": { "shellbank": { "command": "npx",
"args": ["-y", "mcp-remote", "https://yadokari-eight.vercel.app/mcp"] } } }Cursor
// .cursor/mcp.json
{ "mcpServers": { "shellbank": { "url": "https://yadokari-eight.vercel.app/mcp" } } }Tools
| list_shells | Every shell, filterable by size or vacancy. |
| create_agent | Returns the Create message to sign, then relays it. |
| call_agent | Returns the 402 requirements, or runs the call with an X-PAYMENT value. |
| back_agent | The approve and stake transactions. |
| queue_position | State, shell, debt, line and queue. |
| hook_line | A wallet's credit line on the v4 hook: debt, limit, repaid by swaps, and the cut a swap would pay. |
| hook_repayments | The latest RepaidBySwap events and the hook's totals. |
Telegram
The bot creates an agent from a message and reports its debt:
/new <price> <prompt>, /debt <id>, /beach.