Skip to content

AgentKit

Source kind: MCP-as-source (cherry-picked from @coinbase/agentkit) · Networks: mostly mainnet/testnet via shared viem signer · KH routing: annotation-driven

Always-on (no API key required):

ProviderHighlights
Walletwallet_get_wallet_details, native + ERC-20 transfer
Pythfetch_price_feed_id, fetch_price for oracle feeds
CompoundSupply, borrow, redeem on supported markets
MorphoSupply, withdraw, market browsing
SushiRouterQuotes + swaps via Sushi
EnsoBundle multi-step transactions
BasenameResolve / mint Base names
ZoraCoin minting (requires PINATA_JWT)

Gated on API key (skip if missing):

ProviderRequired key
ZerionZERION_API_KEY
0xZEROEX_API_KEY
OpenSeaOPENSEA_API_KEY

AgentKit needs a viem signer. Talos wires its single wallet module (see src/wallet/) — the same signer used by Aave, Uniswap, and Li.Fi. No double-key, no double-tracking.

If EVM_PRIVATE_KEY is set, that’s the signer. Otherwise Talos generates a burner persisted to ~/.config/talos/burner.json mode 0600.

AgentKit tools are passed through with their original MCP annotations. Pyth fetch_* actions are read-only and bypass KeeperHub. Compound supply/borrow are mutates and route through it.

  • Tool names from AgentKit are PascalCase-prefixed (PythActionProvider_fetch_price). Talos normalizes them to snake_case (pyth_fetch_price) before routing.
  • AgentKit ships Zod 3; Talos uses Zod 4. Schemas are converted via zod-to-json-schema to bridge the gap.
  • @coinbase/agentkit-vercel-ai-sdk@0.1.0 produces JSON Schemas missing "type": "object" for empty Zod schemas, which OpenAI rejects. Talos walks agentKit.getActions() directly and patches the root.
  • @zoralabs/coins-sdk requires Node ≥22. Talos’s engines.node is bumped accordingly.