One URL. Every runtime. Pay-per-call in USDC. No Otto Wallet required.
LIVE TODAY · PICK YOUR RUNTIME
01BASE MCP
BRING OTTO TO BASE MCP.
Run Otto's read-only market intelligence inside Claude, ChatGPT, Cursor, or Codex through Base MCP. Your Base Account signs every payment; no additional MCP server.
01Connect Base MCP to your assistant.
02Point it at Otto's hosted skill: x402.ottoai.services/otto.md
03Ask for intelligence — approve the small USDC payment when prompted.
BASE MCP · INSTALL
# In any Base MCP client (Claude / ChatGPT / Cursor / Codex):
#
# 1. Connect Base MCP — https://docs.base.org/ai-agents/quickstart
# 2. Point your assistant at Otto's hosted skill:
# "Read https://x402.ottoai.services/otto.md"
# 3. Ask for intelligence — and approve the small USDC payment
# in your Base Account when prompted:
# "What's the top USDC yield on Base right now?"
# "Run a security check on this token address."
#
# No additional MCP server. No allowlisting. Read-only intelligence,
# you approve every call. Base gives the wallet; Otto gives the brain.
Discover Otto's 4 ACP agents with acp-cli (Butler is retired), then run USDC-escrow jobs on Base and consume signed deliverables. LLM-agent friendly — --json everywhere, NDJSON event streams.
01npx @virtuals-protocol/acp-cli — or the acp-node-v2 SDK in code.
74 pay-per-call endpoints in USDC on Base. Read the live 402 challenge — it's the single source of truth on price. Use any x402 V2 client to sign and retry.
01Read the live 402 challenge — never assume price from a table.
02Discover via the machine-readable catalog or .well-known/x402.
03Pay with any x402 V2 client (Otto resource servers run @x402/* 2.14.0).
X402 · DIRECT (CURL + NODE)
# 1. Read the live 402 challenge — single source of truth on price:
$ curl -i "https://x402.ottoai.services/crypto-news"
# → HTTP/2 402
# → accepts[0] = USDC on Base ($0.001), x402 V2
# 2. Catalog (machine-readable): https://x402.ottoai.services/otto-x402-catalog.json
# Discovery: https://x402.ottoai.services/.well-known/x402
# LLM service manifest: https://x402.ottoai.services/llm.txt
# 3. Pay it with any x402 V2 client. Node example using @x402/axios@2.14.0
# (the same pin Otto's resource servers run):
import axios from 'axios';
import { wrapAxiosWithPayment, x402Client } from '@x402/axios';
import { ExactEvmScheme } from '@x402/evm';
import { privateKeyToAccount } from 'viem/accounts';
const account = privateKeyToAccount(process.env.AGENT_PRIVATE_KEY as `0x${string}`);
const client = new x402Client().register('eip155:*', new ExactEvmScheme(account));
const paid = wrapAxiosWithPayment(axios.create(), client);
const news = await paid.get('https://x402.ottoai.services/crypto-news');
// → 200 with the response; payment auto-signed in the 402 retry
Otto's hand-crafted skills, published to the public OpenClaw registry. Add them to your own Claude Code; each call runs over Otto's x402 endpoints and settles in USDC on Base.
01Browse the public repo — otto-research + otto-creative live today.
02Drop a skill into your Claude Code skills dir.
03Call it — grounded research or at-cost media, paid per call in USDC.
OPENCLAW · SKILL REGISTRY
# Otto's hand-crafted skills, on the public OpenClaw registry:
# https://github.com/useOttoAI/openclaw-skills
#
# otto-research — grounded research with cited sources (Gemini 3.5 Flash + Search)
# otto-creative — multi-model image + meme generation, billed at fal.ai cost
#
# 1. Add a skill to your own Claude Code (drop it in your skills dir).
# 2. Call it in any session — Otto runs the work over x402.
# 3. Each call settles in USDC on Base. No Otto Wallet required.
Per-call signing is the right model for occasional, user-driven use. For repeated or autonomous workflows, the runtimes below are coming — one notify list for both.
EAL · CLAUDE CODE / CURSOR
Empire Access Layer
Your own Claude Code or Cursor calls the whole empire — x402 intelligence, swaps, yield — paid per call in USDC. The BYO half is live today: hand one block to your agent and it sets up a throwaway wallet and makes the first paid call itself — you just send the USDC. Fund-one-Safe auto-pay via a scoped, revocable session key is in private build.