[go: up one dir, main page]

Self-hosted Wallet-as-a-Service
for AI Agents

A local daemon that gives AI agents secure, policy-controlled access to crypto wallets across EVM and Solana chains. Your keys, your machine, your rules.

$ npm install -g @waiaas/cli copy

Core Capabilities

Multi-Chain

EVM + Solana

8 EVM networks (Ethereum, Polygon, Arbitrum, Optimism, Base, Avalanche, BNB, HyperEVM) plus Solana. Native tokens, ERC-20/SPL, and NFTs.

DeFi

13+ Protocols

Jupiter, 0x, LI.FI, Lido, Jito, Aave V3, Kamino, Pendle, Drift, D'CENT, Hyperliquid, Across Bridge, Polymarket. Swap, bridge, stake, lend, yield, perp, predict.

Security

3-Layer Model

Session auth (JWT) + time-delay & owner approval + monitoring & kill switch. Default-deny policies for tokens, contracts, and spenders.

Developer Experience

MCP Built-in

Model Context Protocol server for direct AI agent integration. Also provides REST API and TypeScript SDK. Agent self-discovery via connect-info.

Infrastructure

Admin Web UI

Full-featured dashboard for wallet management, policy configuration, session control, DeFi positions, audit logs, and real-time notifications.

Standards

ERC-4337 Smart Account

Account Abstraction with gas sponsorship. Lite/Full mode, CREATE2 address prediction, UserOp build/sign API. Pimlico and Alchemy providers.

Architecture

AI Agent
Claude, GPT, custom agents...
MCP / REST API / SDK
WAIaaS Daemon (Local)
6-Stage Transaction Pipeline
Validate Policy Delay/Approval Sign Broadcast Confirm
Policy Engine
Default-Deny, Spending Limits
Owner Approval
WC / Telegram / Wallet SDK
Admin UI
Dashboard, Audit Logs
EVM Chains
ETH, Polygon, Arb, Base...
Solana
Mainnet, Devnet
DeFi Protocols
13+ (Swap, Bridge, Stake...)

Quick Start

1

Install

Install the CLI globally via npm.

npm install -g @waiaas/cli
2

Start

Launch the daemon with quickset for instant setup.

waiaas quickset
3

Connect

Copy the agent prompt from Admin UI and paste it into your AI agent.

open http://localhost:3100/admin

Connect Your Agent

Step 1: Install Skills

npx @waiaas/skills openclaw

Step 2: Configure

Add WAIaaS credentials to ~/.openclaw/openclaw.json:

{ "skills": { "entries": { "waiaas-quickstart": { "env": { "WAIAAS_BASE_URL": "http://localhost:3100", "WAIAAS_SESSION_TOKEN": "<your-session-token>" } } } } }

Step 3: Verify

Ask OpenClaw:

"Check my WAIaaS wallet balance"

Available Skills

SkillDescription
waiaas-setupZero-state daemon setup: install, initialize, start
waiaas-quickstartEnd-to-end quickset: wallet, session, balance, transfer
waiaas-walletWallet CRUD, assets, sessions, token registry
waiaas-transactionsAll 9 transaction types
waiaas-policiesPolicy engine: 12 policy types
waiaas-adminAdmin API: status, kill switch, notifications
waiaas-actionsDeFi actions through the pipeline
waiaas-x402x402 auto-payment protocol

Step 1: Install Skills

npx @waiaas/skills claude-code

Installs 8 skill files to .claude/skills/ in your project directory.

Step 2: Configure

Add WAIaaS credentials to .claude/settings.json:

{ "env": { "WAIAAS_BASE_URL": "http://localhost:3100", "WAIAAS_SESSION_TOKEN": "<your-session-token>" } }

Step 3: Verify

Ask Claude Code:

"Check my WAIaaS wallet balance"

You can also use slash commands like /waiaas-quickstart, /waiaas-wallet, or just ask naturally.

Step 1: Setup MCP Server

waiaas mcp setup

Step 2: Add to Your Client

Copy the generated mcpServers config to your client's settings file:

{ "mcpServers": { "waiaas-my-wallet": { "command": "npx", "args": ["@waiaas/mcp"], "env": { "WAIAAS_DATA_DIR": "~/.waiaas", "WAIAAS_BASE_URL": "http://localhost:3100", "WAIAAS_WALLET_ID": "<wallet-id>" } } } }
ClientSettings File
Claude Code.claude/settings.json (project) or ~/.claude/settings.json (global)
Cursor.cursor/mcp.json
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json

Step 3: Auto-Discovery

The MCP server includes a connect_info tool. Call it first to discover wallets, policies, and all 18 MCP tools.

Skills vs MCP

SkillsMCP
Setupnpx @waiaas/skills <client>waiaas mcp setup
How it worksAgent reads docs, uses curlAgent calls MCP tools directly
AuthManual headers per requestAutomatic (token file)
Best forLearning the API, custom flowsProduction, automated agents

Resources

Frequently Asked Questions

What is WAIaaS?

WAIaaS (Wallet AI as a Service) is a self-hosted daemon that gives AI agents secure, policy-controlled access to crypto wallets across EVM and Solana chains. It runs locally on your machine — your keys, your rules.

How do I install WAIaaS?

Install via npm with npm install -g @waiaas/cli, then run waiaas quickset for instant setup. Alternatively, use Docker: docker run -d -p 127.0.0.1:3100:3100 -v waiaas-data:/data -e WAIAAS_AUTO_PROVISION=true waiaas/daemon.

Which blockchains does WAIaaS support?

WAIaaS supports 8 EVM networks (Ethereum, Polygon, Arbitrum, Optimism, Base, Avalanche, BNB Chain, HyperEVM) and Solana. It handles native tokens, ERC-20/SPL tokens, and NFTs (ERC-721, ERC-1155, Metaplex).

How do AI agents connect to WAIaaS?

AI agents can connect via three interfaces: MCP (Model Context Protocol) for direct tool integration, REST API for HTTP-based access, or the TypeScript SDK (@waiaas/sdk) for programmatic control. Skill files are also available for Claude Code and OpenClaw.

Is WAIaaS secure for managing real funds?

WAIaaS uses a 3-layer security model: session authentication (JWT), time-delay and owner approval (via WalletConnect, Telegram, or Wallet SDK), and monitoring with kill switch. It enforces default-deny policies for tokens, contracts, and spenders. Private keys are encrypted at rest with Argon2id key derivation.

How do I set up WAIaaS with Docker?

Run docker run -d -p 127.0.0.1:3100:3100 -v waiaas-data:/data -e WAIAAS_AUTO_PROVISION=true waiaas/daemon. This starts the daemon on port 3100 with persistent storage. Access the Admin UI at http://localhost:3100/admin to manage wallets and configure policies.

What are the system requirements for WAIaaS?

WAIaaS requires Node.js 22+ (for npm install) or Docker (for containerized deployment). It runs on macOS, Linux, and Windows. The daemon uses SQLite for local storage, so no external database is needed.

How do I configure WAIaaS?

Initial configuration is done via config.toml for infrastructure settings (port, host, RPC URLs). Runtime settings are managed through the Admin Settings UI or the REST API (PUT /v1/admin/settings), which supports hot-reload without daemon restart.

How are private keys stored in WAIaaS?

Private keys are encrypted at rest using sodium-native (libsodium) with Argon2id key derivation from the master password. Keys are stored in a local SQLite database on your machine. The master password never leaves your device.

What is the default-deny policy in WAIaaS?

WAIaaS enforces a default-deny security model. AI agents cannot interact with tokens, contracts, or spenders unless explicitly whitelisted via ALLOWED_TOKENS, CONTRACT_WHITELIST, and APPROVED_SPENDERS policies.

How does owner approval work in WAIaaS?

WAIaaS supports three owner approval channels: WalletConnect (sign with your mobile wallet), Telegram Bot (approve via chat), and Wallet SDK (custom approval flows). When a transaction exceeds policy thresholds, the daemon sends an approval request to the configured channel.

Can AI agents trade on DEXes with WAIaaS?

Yes. WAIaaS integrates with Jupiter (Solana DEX), 0x (EVM DEX aggregator), and D'CENT Swap for decentralized token trading. Agents can execute swaps with slippage protection through the policy-controlled pipeline.

Does WAIaaS support DeFi lending?

Yes. WAIaaS integrates with Aave V3 (EVM lending across Ethereum, Polygon, Arbitrum, Optimism, Base) and Kamino (Solana lending). AI agents can supply collateral, borrow assets, repay loans, and monitor positions.

Can AI agents bridge tokens cross-chain with WAIaaS?

Yes. WAIaaS integrates with LI.FI and Across Bridge for cross-chain token transfers between EVM networks and Solana with route optimization and fee comparison.

What is the TypeScript SDK for WAIaaS?

The @waiaas/sdk package is a TypeScript SDK that wraps the WAIaaS REST API. It provides typed methods for wallet management, transaction submission, policy configuration, and DeFi operations.

How does MCP integration work in WAIaaS?

WAIaaS includes a built-in MCP (Model Context Protocol) server with 42 tools. AI agents like Claude can directly call wallet operations through MCP without HTTP requests. The connect_info tool provides self-discovery of available wallets and capabilities.

Can I use WAIaaS with Claude Code?

Yes. Install skills with npx @waiaas/skills claude-code which adds 8 skill files to .claude/skills/. Alternatively, use MCP integration by adding the WAIaaS MCP server to .claude/settings.json.

What is the 6-stage transaction pipeline?

Every transaction passes through 6 stages: Validate (check parameters), Policy (enforce limits), Delay/Approval (optional owner approval), Sign (cryptographic signature), Broadcast (submit to blockchain), and Confirm (wait for on-chain confirmation).

Does WAIaaS support ERC-4337 Account Abstraction?

Yes. WAIaaS supports ERC-4337 Smart Accounts in Lite (EOA + UserOp wrapping) and Full (CREATE2-deployed smart contract) modes. Features include gas sponsorship via paymasters and bundler integration (Pimlico, Alchemy).

What is the Admin Web UI?

The Admin Web UI is a browser-based dashboard at /admin for managing your WAIaaS daemon. It provides wallet management, policy configuration, session control, DeFi position monitoring, audit logs, and notification settings.