Agentic workflows
Overview
Three complementary surfaces for driving Nolus from AI agents.
Nolus exposes three machine-callable surfaces. They're complementary rather than alternatives, and you pick the one that matches where your agent runs and what it needs to do.
| Surface | Where it runs | Scope |
|---|---|---|
| stdio MCP server | Local on the user's machine, via Cursor / Claude Desktop / any MCP client | Full read surface + transaction builders (open lease, repay, deposit LPP, withdraw, stake, vote) |
| In-page WebMCP | Inside the app.nolus.io browser tab | Wallet-scoped reads + connect + navigate. No signing |
| REST + WebSocket API | Anywhere that speaks HTTP | General-purpose queries, pre-built unsigned tx payloads |
Picking a surface
- The agent runs on the user's desktop (Cursor, Claude Desktop) and you
want trading actions: use the stdio MCP in
@nolus/nolusjs. It builds unsigned transactions; the user's wallet signs them. - The agent lives in the browser tab alongside the connected wallet, and you want it to inspect the live session or drive the UI: use the in-page WebMCP. Tools auto-bind to the connected wallet - no address argument needed. WebMCP intentionally does not sign; tx flows hand off to the UI or the stdio MCP.
- The agent runs anywhere and just needs HTTP: hit the REST API at
https://app.nolus.io/api/. The OpenAPI 3.1 spec lives at/api/openapi.jsonwith 85 documented paths. The agent-card at/.well-known/agent-card.jsondescribes the surface for agent autodiscovery.
Signing boundary
Across all three surfaces, the protocol's signing boundary is the same:
Nolus never holds or signs with the user's private key. Transaction
tools return unsigned payloads; the wallet popup (Keplr, Phantom, Solflare,
Ledger) is the single consent surface. WebMCP enforces this by design - it
deliberately exposes no signing tool. The stdio MCP returns CLI-ready
unsigned transactions that the user runs through nolusd or their wallet.