DEV Community

Cover image for Managing Your Self-Hosted Wallet with the Admin Dashboard
Wallet Guy
Wallet Guy

Posted on

Managing Your Self-Hosted Wallet with the Admin Dashboard

You're running AI agents that need to handle crypto transactions, but there's a problem: every existing solution either requires trusting a third party with your private keys or building wallet infrastructure from scratch. What if you could deploy enterprise-grade wallet infrastructure to your own server in literally one command?

Why Self-Hosting Your AI Agent Wallets Matters

When your AI agents are managing real money, custody becomes critical. Hosted wallet services mean someone else controls your keys — fine for testing, but would you run your trading bot through someone else's wallet? Self-hosting gives you complete sovereignty: your keys stay on your hardware, your transaction data never leaves your network, and you're not subject to service outages or API rate limits from external providers.

The alternative — building wallet infrastructure yourself — means implementing key management, transaction signing, multi-chain support, policy engines, and security layers. That's months of work before your agent can even send its first transaction.

Meet the WAIaaS Admin Dashboard

WAIaaS is open-source, self-hosted Wallet-as-a-Service designed specifically for AI agents. The admin dashboard gives you a web interface to manage your wallet infrastructure without touching the command line.

The entire stack runs in Docker with a single command:

git clone https://github.com/minhoyoo-iotrust/WAIaaS.git
cd WAIaaS
docker compose up -d
Enter fullscreen mode Exit fullscreen mode

That's it. You now have a wallet service running on localhost:3100 with a full admin interface at /admin.

Complete Wallet Management in Your Browser

The admin dashboard provides wallet management, session control, policy configuration, and DeFi position monitoring — everything you need to manage AI agent wallets through a clean web interface.

Creating and Managing Wallets

The wallet management interface lets you create wallets across 15 networks spanning 2 chain types (EVM and Solana). Each wallet gets a unique address and can be configured with specific policies and permissions.

You can also create these programmatically via the REST API:

curl -X POST http://127.0.0.1:3100/v1/wallets \
  -H "Content-Type: application/json" \
  -H "X-Master-Password: my-secret-password" \
  -d '{"name": "trading-wallet", "chain": "solana", "environment": "mainnet"}'
Enter fullscreen mode Exit fullscreen mode

The dashboard shows wallet balances, recent transactions, and active sessions for each wallet. You can see which AI agents are currently connected and what permissions they have.

Session Control and Agent Authorization

The session control panel manages how AI agents authenticate with your wallets. Each agent gets a JWT session token that controls what it can do. Sessions have configurable TTLs, renewal limits, and absolute lifetimes.

Creating a new session for an agent:

curl -X POST http://127.0.0.1:3100/v1/sessions \
  -H "Content-Type: application/json" \
  -H "X-Master-Password: my-secret-password" \
  -d '{"walletId": "<wallet-uuid>"}'
Enter fullscreen mode Exit fullscreen mode

The dashboard shows all active sessions, when they were created, when they expire, and what wallet each agent can access. You can revoke sessions immediately if needed — perfect for emergency situations.

Policy Editor with 21 Policy Types

The policy editor is where WAIaaS really shines. You configure 21 different policy types across 4 security tiers: INSTANT, NOTIFY, DELAY, and APPROVAL.

Here's the key insight: WAIaaS follows default-deny. Without proper policies, transactions get blocked. This forces you to explicitly define what your agents can do.

For example, a spending limit policy with 4-tier security:

curl -X POST http://127.0.0.1:3100/v1/policies \
  -H "Content-Type: application/json" \
  -H "X-Master-Password: my-secret-password" \
  -d '{
    "walletId": "<wallet-uuid>",
    "type": "SPENDING_LIMIT",
    "rules": {
      "instant_max_usd": 100,
      "notify_max_usd": 500,
      "delay_max_usd": 2000,
      "delay_seconds": 900,
      "daily_limit_usd": 5000
    }
  }'
Enter fullscreen mode Exit fullscreen mode

Small transactions execute instantly. Medium transactions send notifications but execute immediately. Large transactions wait 15 minutes (giving you time to cancel). Huge transactions require explicit approval.

The policy editor includes:

  • ALLOWED_TOKENS: Token whitelist (blocks unknown tokens)
  • CONTRACT_WHITELIST: Smart contract whitelist (blocks unknown contracts)
  • WHITELIST: Approved recipient addresses
  • RATE_LIMIT: Maximum transactions per time period
  • TIME_RESTRICTION: Trading hours (no midnight surprises)

Plus specialized policies for DeFi (lending limits, max leverage), NFTs, and even x402 HTTP payment domains.

DeFi Positions Dashboard

The positions dashboard aggregates data from 14 integrated DeFi protocols including Aave, Jupiter, Hyperliquid, Lido, and Polymarket. You see all lending positions, staking rewards, perpetual futures, and prediction market bets across chains in one place.

This is crucial for AI agents doing complex DeFi strategies. Instead of checking multiple protocols individually, the dashboard shows your total exposure, health factors, and P&L in real-time.

Your agents can query this same data programmatically:

curl http://127.0.0.1:3100/v1/wallet/balance \
  -H "Authorization: Bearer wai_sess_eyJhbGciOiJIUzI1NiJ9..."
Enter fullscreen mode Exit fullscreen mode

Notification Configuration

The notification system keeps you informed without being overwhelming. You configure which events trigger notifications (large transactions, policy violations, failed transactions) and how you want to receive them.

WAIaaS supports 3 signing channels: push notifications, Telegram, and WalletConnect. When transactions require approval, you get a notification with transaction details and can approve or reject from your phone.

Docker Deployment Made Simple

The entire WAIaaS stack is designed for self-hosting. The Docker deployment handles everything:

  • Auto-provision mode: Generates secure master password automatically
  • Docker Secrets: Production-ready secret management
  • Health checks: Automatic restart on failure
  • Non-root containers: Runs as UID 1001 for security
  • Named volumes: Data persists across container restarts

For production, use the secrets overlay:

mkdir -p secrets
echo "your-secure-password" > secrets/master_password.txt
chmod 600 secrets/master_password.txt
docker compose -f docker-compose.yml -f docker-compose.secrets.yml up -d
Enter fullscreen mode Exit fullscreen mode

The daemon exposes 39 REST API routes for programmatic access while the admin dashboard provides point-and-click management.

Getting Started: 5 Minutes to Your Own Wallet Service

  1. Clone and start: git clone https://github.com/minhoyoo-iotrust/WAIaaS.git && cd WAIaaS && docker compose up -d

  2. Open admin dashboard: Navigate to http://localhost:3100/admin

  3. Set master password: First-time setup wizard walks you through configuration

  4. Create a wallet: Use the wallet creation form for your preferred chain

  5. Configure policies: Set up spending limits and token whitelists in the policy editor

Your AI agents can now connect using the session tokens and start making transactions under your defined policies. The admin dashboard gives you complete visibility and control over everything happening in your wallet infrastructure.

What's Next

The admin dashboard is your mission control for self-hosted AI agent wallets. You get enterprise-grade security policies, multi-chain support, and DeFi integration without trusting third parties or building infrastructure from scratch.

Explore the full codebase at GitHub or dive deeper into the documentation at waiaas.ai. Your keys, your server, your rules.

Top comments (0)