create-sato-agent
Agent templates
Each template is a runnable agent repo in one framework. create-sato-agent picks one from your goal, binds its policy file and custody lock, and runs on a fork by default. Every template is installed and run nightly; the result shown is the pinned lane’s last run. Details per step are on Sato Status; the kit it builds on is at Sato Kit.
Base guarded trader (Coinbase AgentKit)
base-guarded-traderagentkitA Coinbase AgentKit agent on Base: the Sato Kit's tools reach AgentKit through one action provider. It reads Base market data (block, gas, Chainlink ETH/USD), a small Model names the AgentKit actions to call, and every intent goes through quote, prepare, simulate and a policy pre-flight that names the rule, limit and observed value of every refusal. Fixture mode needs no network and no key. It signs only on a local fork with a throwaway key or on Base Sepolia with a CDP smart wallet, never on mainnet, and execute needs a person's approval.
- Chains:
- base, base-sepolia
- Networks:
- fork, testnet
Pinned lane: last run green · last green 2026-09-29npx create-sato-agent@0.1 "<goal>" --framework agentkitBase guarded trader (Vercel AI SDK)
base-guarded-traderai-sdkReads Base market data (block, gas, Chainlink ETH/USD) and hands the Sato Kit's tools to a Vercel AI SDK generateText loop, which stops for a person's approval before any prepare that would sign and before execute. Every intent is quoted, prepared, simulated and checked by a policy pre-flight that names the rule, limit and observed value of every refusal. Fixture mode uses the AI SDK's mock model from ai/test: no model API, no key, no network. It signs only on a local fork with a throwaway key or on Base Sepolia with a managed wallet, never on mainnet.
- Chains:
- base, base-sepolia
- Networks:
- fork, testnet
Pinned lane: last run green · last green 2026-09-29npx create-sato-agent@0.1 "<goal>" --framework ai-sdkBase guarded trader (Claude Agent SDK)
base-guarded-traderclaude-agent-sdkReads Base market data (block, gas, Chainlink ETH/USD) and hands the Sato Kit's tools to the Claude Agent SDK as an in-process MCP server, with a PreToolUse hook that asks a person before any prepare that would sign and before execute. Every intent is quoted, prepared, simulated and checked by a policy pre-flight that names the rule, limit and observed value of every refusal. Fixture mode drives the server with a scripted turn list: no model, no key, no network. It signs only on a local fork with a throwaway key or on Base Sepolia with a managed wallet, and never on mainnet.
- Chains:
- base, base-sepolia
- Networks:
- fork, testnet
Pinned lane: last run green · last green 2026-09-29npx create-sato-agent@0.1 "<goal>" --framework claude-agent-sdkBase guarded trader (OpenAI Agents SDK)
base-guarded-traderopenai-agentsReads Base market data (block, gas, Chainlink ETH/USD) and hands the Sato Kit's tools to an OpenAI Agents SDK agent as function tools; the runner stops for a person's approval before any prepare that would sign and before execute. Every intent is quoted, prepared, simulated and checked by a policy pre-flight that names the rule, limit and observed value of every refusal. Fixture mode runs the SDK's runner with a scripted model: no model API, no key, no network. It signs only on a local fork with a throwaway key or on Base Sepolia with a managed wallet, and never on mainnet.
- Chains:
- base, base-sepolia
- Networks:
- fork, testnet
Pinned lane: last run green · last green 2026-09-29npx create-sato-agent@0.1 "<goal>" --framework openai-agentsBase guarded trader (plain TypeScript)
base-guarded-traderplain-tsReads Base market data (block, gas, Chainlink ETH/USD), decides with a small Model interface, and runs every intent through the Sato Kit: quote, prepare, simulate and a policy pre-flight that names the rule, limit and observed value of every refusal. Fixture mode needs no network and no key. It signs only on a local fork with a throwaway key or on Base Sepolia with a managed wallet, and never on mainnet.
- Chains:
- base, base-sepolia
- Networks:
- fork, testnet
Pinned lane: last run green · last green 2026-09-29npx create-sato-agent@0.1 "<goal>" --framework plain-tsPersona agent (Claude Agent SDK)
persona-agentclaude-agent-sdkA character-driven agent on the Claude Agent SDK: a character file, a local JSONL memory with retrieval, optional Telegram and Discord connectors over their official Bot APIs, and a wallet through the Sato Kit that reads, quotes and prepares, with a policy pre-flight that names the rule, limit and observed value of every refusal. Fixture mode replays scripted messages with a scripted model: no network, no token, no key. Signing needs a person to approve it, on Base Sepolia only, and never on mainnet. No ElizaOS dependency.
- Chains:
- base, base-sepolia
- Networks:
- fork, testnet
Pinned lane: last run green · last green 2026-09-29npx create-sato-agent@0.1 "<goal>" --framework claude-agent-sdkOnchain research report (plain TypeScript)
research-reportplain-tsAnswers a question from a CLOSED corpus: sources you supply plus onchain reads made through the Sato Kit's chain.read, each read becoming a source that carries the exact value and block. A model proposes findings; a deterministic gate refuses any that cite a source outside the corpus or contain a number no cited source contains, and keeps every refusal visible with its reason. Attributable, which is a narrower claim than true. Fixture mode uses a fake provider and recorded reads, with no network and no key. It holds no key, signs nothing and moves no funds.
- Chains:
- base, base-sepolia
- Networks:
- fork, testnet
Pinned lane: last run green · last green 2026-09-29npx create-sato-agent@0.1 "<goal>" --framework plain-tsTreasury monitor (plain TypeScript)
treasury-monitorplain-tsReads the native and ERC-20 balances of a public address list on Base through the Sato Kit's chain.read, reports each in exact base units and exact native units with a valuation only where a named price was supplied, and fires a threshold alert once per crossing. Fixture mode needs no network and no key. It holds no key, signs nothing and moves no funds in any mode.
- Chains:
- base, base-sepolia
- Networks:
- fork, testnet
Pinned lane: last run green · last green 2026-09-29npx create-sato-agent@0.1 "<goal>" --framework plain-tsx402 seller (plain TypeScript)
x402-sellerplain-tsPuts a small HTTP API behind x402 v2: each paid route answers 402 with a PAYMENT-REQUIRED offer priced from config.json, refuses a payment for a different price, asset or payee with the reason, has a facilitator verify and settle an exact-scheme ERC-3009 payment, confirms the settlement through the Sato Kit's chain.read, and writes a discovery listing file that the builder submits. The seller holds no key. Fixture mode needs no network.
- Chains:
- base, base-sepolia
- Networks:
- fork, testnet
Pinned lane: last run green · last green 2026-09-29npx create-sato-agent@0.1 "<goal>" --framework plain-ts
Templates are read from satohubai/sato-agent-templates at the pinned ref 2b5c4937f727. A sponsor label says who sponsors a template; it has no effect on which template create-sato-agent picks, on any ordering, or on the Sato Score. A nightly result is a record of our own checks, not a rating.