Agent Templates
Runnable agent starters, one per framework, each tested every night.
How templates workShowHide
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-11-14npx 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-11-14npx 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-11-14npx 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-11-14npx 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-11-14npx 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-11-14npx 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-11-14npx create-sato-agent@0.1 "<goal>" --framework plain-tsSolana guarded swapper (plain TypeScript)
solana-guarded-swapperplain-tsWatches a Solana wallet and, when the SOL price falls past a threshold, prepares a Jupiter SOL to USDC swap under a daily cap from policy.json. It uses the Sato Kit's Solana actions (solana.read, solana.swap.quote, solana.swap.prepare), simulates the unsigned transaction with simulateTransaction, runs the policy pre-flight, and stops at an unsigned transaction: there is no signer and nothing is broadcast. Fixture mode needs no network and no key. `npm run preflight` checks each installed dependency against its Sato Check receipt on Solana.
- Chains:
- solana
- Networks:
- fork, mainnet
Pinned lane: last run green · last green 2026-11-14npx create-sato-agent@0.1 "<goal>" --framework plain-tsToken launch prep: Clanker v4 on Base (plain TypeScript)
token-launch-prepplain-tsPrepares a Clanker v4 token deploy on Base as an unsigned transaction (to, data, value 0, chain id), decodes its calldata into a readable summary, and simulates it on a Base fork through the Sato Kit's tx.simulate, reporting the gas estimate, the token address the factory reports, or the revert. The creator's address is the token admin and the only reward recipient, with all 10000 bps. You sign the transaction in your own wallet if you choose to launch. Fixture mode needs no network and no key. It holds no key, signs nothing and sends nothing in any mode.
- Chains:
- base, base-sepolia
- Networks:
- fork, testnet
Pinned lane: last run green · last green 2026-11-14npx 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-11-14npx 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-11-14npx create-sato-agent@0.1 "<goal>" --framework plain-ts
Templates are read from satohubai/sato-agent-templates at the pinned ref fe1b4cbf7dca. 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.