Wallet-as-a-Service for AI Agents
WAIaaS
Wallet-as-a-Service for AI Agents
A self-hosted wallet daemon that lets AI agents perform on-chain transactions securely -- while the owner keeps full control of funds.
The Problem
AI agents that need to transact on-chain face an impossible choice: hold private keys (and risk total loss if compromised) or depend on a centralized custodian (single point of failure, trust dependency).
WAIaaS bridges the gap -- agents handle small transactions instantly, large amounts require owner approval, and everything runs on your machine with no third-party dependency.
How It Works
WAIaaS is a local daemon that sits between your AI agent and the blockchain:
- 3-tier authentication -- Separate roles for the daemon operator (masterAuth), fund owner (ownerAuth), and AI agent (sessionAuth)
- 4-tier policy engine -- Transactions are auto-classified by USD value into INSTANT / NOTIFY / DELAY / APPROVAL tiers
- 12 policy types -- Cumulative spend limits, token allowlists, contract whitelists, approved spenders, and more
- Defense in depth -- Kill Switch, AutoStop engine, audit logging, 4-channel notifications
See Security Model for full details.
Architecture
graph LR
subgraph Interfaces
SDK["TypeScript SDK"]
MCP["MCP Server"]
CLI["CLI"]
Admin["Admin UI"]
Skills["Skill Files"]
WalletSDK["Wallet SDK"]
end
subgraph Daemon
API["API Layer(Hono + Middleware)"]
Services["Service Layer(Policy, Notifications, Kill Switch)"]
Pipeline["Transaction Pipeline(6-stage + 8-state)"]
Infra["Infrastructure(SQLite, Keystore, Config)"]
end
subgraph Blockchain
Solana["Solana"]
EVM["EVM Chains"]
end
SDK & MCP & CLI & Admin & Skills & WalletSDK --> API
API --> Services --> Pipeline --> Infra
Infra --> Solana & EVM
12 packages in a monorepo:
- @waiaas/core — Shared types, Zod schemas, enums, and interfaces
- @waiaas/daemon — Self-hosted wallet daemon (Hono HTTP server)
- @waiaas/adapter-solana — Solana chain adapter (SPL / Token-2022)
- @waiaas/adapter-evm — EVM chain adapter (ERC-20 via viem)
- @waiaas/actions — DeFi Action Providers (Jupiter, 0x, LI.FI, Lido, Jito)
- @waiaas/sdk — TypeScript client library
- @waiaas/mcp — Model Context Protocol server for AI agents
- @waiaas/cli — Command-line interface
- @waiaas/admin — Preact-based Admin Web UI
- @waiaas/wallet-sdk — Wallet Signing SDK for wallet app integration
- @waiaas/push-relay — Push Relay Server (ntfy → push services)
- @waiaas/skills — Pre-built
.skill.mdinstruction files for AI agents
See Architecture for the full technical deep-dive.
Quick Start
npm install -g @waiaas/cli
waiaas init # Create data directory + config.toml
waiaas start # Start daemon (sets master password on first run)
waiaas quickset --mode mainnet # Create wallets + MCP sessions in one step
The quickset command does everything you need to get started:
- Creates Solana Mainnet + EVM Ethereum Mainnet wallets automatically
- Issues MCP session tokens for each wallet
- Outputs a Claude Desktop MCP config snippet -- just copy and paste
We recommend configuring spending limits and registering an owner wallet for high-value transaction approval. For testing, use
waiaas quickset --mode testnetto create Solana Devnet + EVM Sepolia wallets instead.
Admin UI
After starting the daemon, manage everything from the admin panel at http://127.0.0.1:3100/admin (masterAuth required).
Connect Your AI Agent
After quickset, choose one of two integration paths:
Path A: MCP (Claude Desktop / Claude Code)
For AI agents that support the Model Context Protocol:
# quickset already printed the MCP config JSON -- paste it into
# ~/Library/Application Support/Claude/claude_desktop_config.json
# Or auto-register with all wallets:
waiaas mcp setup --all
The daemon runs as an MCP server. Your agent calls wallet tools directly -- send tokens, check balances, manage policies -- all through the MCP protocol.
Path B: Skill Files (Any AI Agent)
For agents that don't support MCP, or when you prefer REST API integration:
npx @waiaas/skills add all
This adds .skill.md instruction files to your project. Include them in your agent's context and it learns the WAIaaS API automatically. Available skills: `set
Tools (4)
transferSend tokens or native assets on EVM or Solana chains.swapExecute DeFi token swaps via integrated aggregators.get_balanceRetrieve current token balances for the agent's wallet.manage_policyUpdate spending limits or contract whitelists for the agent.Environment Variables
WAIAAS_MASTER_PASSWORDrequiredPassword for the local wallet daemon encryption.Configuration
{"mcpServers": {"waiaas": {"command": "npx", "args": ["-y", "@waiaas/mcp", "start"]}}}