<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Wallet Guy</title>
    <description>The latest articles on DEV Community by Wallet Guy (@walletguy).</description>
    <link>https://dev.to/walletguy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3839576%2Fca8024e8-c8ac-4f6a-845c-e8ad44732a67.jpeg</url>
      <title>DEV Community: Wallet Guy</title>
      <link>https://dev.to/walletguy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/walletguy"/>
    <language>en</language>
    <item>
      <title>The Compute Payment Revolution: When AI Agents Buy Their Own Processing Power</title>
      <dc:creator>Wallet Guy</dc:creator>
      <pubDate>Mon, 15 Jun 2026 12:46:26 +0000</pubDate>
      <link>https://dev.to/walletguy/the-compute-payment-revolution-when-ai-agents-buy-their-own-processing-power-1770</link>
      <guid>https://dev.to/walletguy/the-compute-payment-revolution-when-ai-agents-buy-their-own-processing-power-1770</guid>
      <description>&lt;p&gt;The compute payment revolution is already here, and AI agents need to pay their own bills. Today's agents rely on human-managed API keys and credit cards, creating bottlenecks that prevent true autonomy. What happens when an AI trading bot needs to buy additional compute power mid-execution, or when a research agent wants to access premium datasets from multiple vendors?&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Agent Financial Independence Matters
&lt;/h2&gt;

&lt;p&gt;We're witnessing the emergence of agent-to-agent commerce at unprecedented scale. AI agents are becoming economic actors — they need data, compute cycles, API calls, and specialized services. But the current model breaks down at the payment layer. Humans become transaction bottlenecks, manually topping up credits and managing dozens of service accounts.&lt;/p&gt;

&lt;p&gt;The real breakthrough isn't just agents that can think or reason — it's agents that can participate in economic activity independently. An autonomous agent that can discover a new API service, evaluate its pricing, and pay for access without human intervention represents a fundamental shift in how software systems operate.&lt;/p&gt;

&lt;h2&gt;
  
  
  The x402 Payment Protocol: HTTP Payments Made Simple
&lt;/h2&gt;

&lt;p&gt;WAIaaS implements the x402 HTTP payment protocol, enabling AI agents to pay for API calls automatically. When a service returns a &lt;code&gt;402 Payment Required&lt;/code&gt; response with payment details, the agent's wallet handles the transaction and retries the request seamlessly.&lt;/p&gt;

&lt;p&gt;Here's how it works in practice:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;WAIaaSClient&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@waiaas/sdk&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;WAIaaSClient&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;baseUrl&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;http://127.0.0.1:3100&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;sessionToken&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;WAIAAS_SESSION_TOKEN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Agent makes API call — payment happens automatically if 402 returned&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;x402Fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.premium-data.com/market-analysis&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;symbols&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;BTC&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ETH&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="na"&gt;timeframe&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1h&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}),&lt;/span&gt;
  &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;analysis&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Market analysis purchased and retrieved:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;analysis&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent doesn't need to know about payment flows, wallet management, or transaction signing. The infrastructure handles it transparently, just like how TCP/IP handles network routing without applications needing to care about packet routing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real Agent Autonomy: Beyond API Calls
&lt;/h2&gt;

&lt;p&gt;True agent autonomy extends far beyond paying for API calls. WAIaaS provides 45 MCP tools that enable agents to execute complex financial operations independently:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Configure Claude Desktop with MCP integration&lt;/span&gt;
waiaas mcp setup &lt;span class="nt"&gt;--all&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once connected, agents can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Execute DeFi strategies&lt;/strong&gt;: Swap tokens on Jupiter, provide liquidity on Uniswap, stake assets with Lido&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manage risk&lt;/strong&gt;: Monitor positions across 15 integrated DeFi protocols, automatically rebalance portfolios&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-chain operations&lt;/strong&gt;: Bridge assets via LI.FI and Across protocols when opportunities exist on different networks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pay for compute&lt;/strong&gt;: Use x402 payments to purchase additional processing power from decentralized compute networks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's an autonomous trading agent making a complex DeFi trade:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "inputMint": "So11111111111111111111111111111111111111112",
    "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "1000000000"
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent executed this swap after analyzing market conditions via x402-paid data feeds, calculated optimal routing, and determined the timing based on gas price policies — all without human intervention.&lt;/p&gt;

&lt;h2&gt;
  
  
  Policy-Driven Agent Safety
&lt;/h2&gt;

&lt;p&gt;Financial autonomy requires robust guardrails. WAIaaS provides 21 policy types with 4 security tiers to ensure agents operate within safe boundaries:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://localhost:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'Content-Type: application/json'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'X-Master-Password: &amp;lt;password&amp;gt;'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "SPENDING_LIMIT",
    "rules": {
      "instant_max_usd": 10,
      "notify_max_usd": 100,
      "delay_max_usd": 1000,
      "delay_seconds": 300,
      "daily_limit_usd": 500
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates a spending hierarchy: small purchases (under $10) execute instantly, medium purchases ($10-100) trigger notifications, larger amounts ($100-1000) have enforced delays, and anything above requires human approval. The agent operates independently within defined risk parameters.&lt;/p&gt;

&lt;p&gt;The policy system supports domain-specific controls too. For compute-heavy agents, you might configure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;X402_ALLOWED_DOMAINS&lt;/strong&gt;: Whitelist trusted compute providers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RATE_LIMIT&lt;/strong&gt;: Prevent runaway spending on expensive operations
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TIME_RESTRICTION&lt;/strong&gt;: Limit agent activity to business hours&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ACTION_CATEGORY_LIMIT&lt;/strong&gt;: Cap spending per operation type&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Multi-Chain Agent Infrastructure
&lt;/h2&gt;

&lt;p&gt;Modern agents need to operate across multiple blockchain networks. A research agent might pay for Ethereum-based oracles while executing trades on Solana's faster, cheaper infrastructure. WAIaaS supports 2 chain types across 18 networks, enabling true multi-chain agent autonomy.&lt;/p&gt;

&lt;p&gt;Cross-chain bridging happens automatically when needed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Agent bridges assets to access opportunities on different chains&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/lifi/bridge &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "fromChain": "ethereum",
    "toChain": "polygon",
    "fromToken": "USDC",
    "toToken": "USDC", 
    "amount": "100"
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent discovered a yield farming opportunity on Polygon, automatically bridged USDC from Ethereum, and began earning without any human coordination of the cross-chain logistics.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Agent Economy in Action
&lt;/h2&gt;

&lt;p&gt;Here's what autonomous agent commerce looks like today:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scenario&lt;/strong&gt;: A portfolio management agent discovers that a new prediction market on Polymarket is offering attractive odds on a technology event it has superior information about.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Discovery&lt;/strong&gt;: Agent finds the opportunity through x402-paid market data feeds&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analysis&lt;/strong&gt;: Purchases additional compute cycles to run complex probability models
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execution&lt;/strong&gt;: Swaps portfolio tokens to USDC via Jupiter on Solana&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-chain&lt;/strong&gt;: Bridges USDC to Polygon where Polymarket operates&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trading&lt;/strong&gt;: Places sophisticated bet with calculated position sizing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitoring&lt;/strong&gt;: Pays for real-time event data feeds to track position&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every step involves autonomous payments — for data, compute, transaction fees, and bridging costs. The human operator set policies and provided initial funding, but the agent executed a complex multi-step strategy across multiple chains and service providers independently.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Start: Deploy Your First Autonomous Agent
&lt;/h2&gt;

&lt;p&gt;Get an AI agent with financial autonomy in under 5 minutes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install and initialize&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @waiaas/cli
waiaas init &lt;span class="nt"&gt;--auto-provision&lt;/span&gt;
waiaas start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create multi-chain wallets and configure MCP&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;waiaas quickset &lt;span class="nt"&gt;--mode&lt;/span&gt; mainnet
waiaas mcp setup &lt;span class="nt"&gt;--all&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set spending policies&lt;/strong&gt; (optional but recommended):
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Via admin UI at http://127.0.0.1:3100/admin&lt;/span&gt;
&lt;span class="c"&gt;# Or programmatically via REST API&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Test x402 payments&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Your agent can now pay for API calls automatically&lt;/span&gt;
&lt;span class="c"&gt;# when services return 402 Payment Required&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Connect to Claude/OpenAI&lt;/strong&gt; and start experimenting with financially autonomous agents&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;The compute payment revolution is just beginning. As more services adopt x402 payments and agents become more sophisticated economic actors, we'll see entirely new business models emerge — agents that earn their own operating costs, specialize in specific markets, and coordinate with other agents in complex economic networks.&lt;/p&gt;

&lt;p&gt;Ready to build the future of autonomous agent infrastructure? Check out the &lt;a href="https://github.com/minhoyoo-iotrust/WAIaaS" rel="noopener noreferrer"&gt;WAIaaS GitHub repository&lt;/a&gt; to explore the complete implementation, or visit &lt;a href="https://waiaas.ai" rel="noopener noreferrer"&gt;waiaas.ai&lt;/a&gt; to learn more about deploying production-ready agent wallet infrastructure.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>web3</category>
      <category>blockchain</category>
      <category>api</category>
    </item>
    <item>
      <title>Multi-Chain Trading Bots: 18 Networks, 2 Chain Types, One Unified API</title>
      <dc:creator>Wallet Guy</dc:creator>
      <pubDate>Sun, 14 Jun 2026 15:15:20 +0000</pubDate>
      <link>https://dev.to/walletguy/multi-chain-trading-bots-18-networks-2-chain-types-one-unified-api-5c22</link>
      <guid>https://dev.to/walletguy/multi-chain-trading-bots-18-networks-2-chain-types-one-unified-api-5c22</guid>
      <description>&lt;p&gt;Multi-chain trading bots face a critical challenge: managing wallet operations across 18 networks and 2 chain types while maintaining millisecond-level execution speeds. Traditional approaches force developers to juggle multiple wallet libraries, RPC connections, and transaction formats — creating complexity that kills performance when markets move fast.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Multi-Chain Trading Complexity Kills Bot Performance
&lt;/h2&gt;

&lt;p&gt;Modern trading opportunities span multiple blockchains. A profitable arbitrage might require swapping on Jupiter (Solana), hedging on Hyperliquid (EVM), and bridging liquidity via LI.FI — all within seconds. Bot developers waste weeks building wallet infrastructure instead of optimizing trading strategies.&lt;/p&gt;

&lt;p&gt;Gas costs compound the problem. Your bot spots a 0.3% arbitrage opportunity, but gas spikes make the trade unprofitable. Without gas-conditional execution, you're burning ETH on failed trades while competitors with better infrastructure capture the alpha.&lt;/p&gt;

&lt;p&gt;Risk management becomes even harder across chains. How do you enforce position limits when your bot trades Solana perpetuals, Ethereum lending, and cross-chain bridges simultaneously? Manual policy enforcement is too slow and error-prone for algorithmic trading.&lt;/p&gt;

&lt;h2&gt;
  
  
  One API for 18 Networks, 15 DeFi Protocols
&lt;/h2&gt;

&lt;p&gt;WAIaaS provides a unified wallet infrastructure that abstracts away multi-chain complexity. Your trading bot makes the same API calls whether executing on Ethereum mainnet or Solana devnet.&lt;/p&gt;

&lt;p&gt;The system supports 2 chain types (EVM and Solana) across 18 networks, with 15 DeFi protocol integrations including Jupiter (Solana DEX), Hyperliquid (perpetual futures), Drift (leveraged trading), and LI.FI (cross-chain bridging).&lt;/p&gt;

&lt;p&gt;Here's how your bot executes a cross-chain arbitrage:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Swap SOL to USDC on Jupiter (Solana)&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "inputMint": "So11111111111111111111111111111111111111112",
    "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", 
    "amount": "5000000000",
    "slippageBps": 50
  }'&lt;/span&gt;

&lt;span class="c"&gt;# 2. Bridge USDC to Ethereum via LI.FI&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/lifi/quote &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "fromChain": "solana",
    "toChain": "ethereum",
    "fromToken": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "toToken": "0xA0b86a33E6441E13C7E0AD6AF53fD9c1B53eB7Ac",
    "fromAmount": "5000000"
  }'&lt;/span&gt;

&lt;span class="c"&gt;# 3. Execute leveraged position on Hyperliquid&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/hyperliquid/order &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "coin": "ETH",
    "is_buy": true,
    "sz": "0.1",
    "limit_px": "3800",
    "order_type": {"limit": {"tif": "Gtc"}},
    "reduce_only": false
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Gas-Conditional Execution Saves Your PnL
&lt;/h2&gt;

&lt;p&gt;Gas spikes can turn profitable trades into losses. WAIaaS includes gas-conditional execution — transactions only execute when gas prices meet your threshold.&lt;/p&gt;

&lt;p&gt;Set gas conditions when submitting transactions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/transactions/send &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "type": "TRANSFER",
    "to": "0x742d35Cc6634C0532925a3b8D64C8ba4E7C2F8c3",
    "amount": "0.1",
    "gasCondition": {
      "maxGasPrice": "30000000000",
      "timeoutMinutes": 60
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The transaction pipeline queues your trade and executes only when gas drops below 30 gwei. If gas stays high for 60 minutes, the transaction expires — protecting your strategy from high-fee execution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Risk Controls That Don't Slow You Down
&lt;/h2&gt;

&lt;p&gt;Trading bots need risk management without latency penalties. WAIaaS enforces 21 policy types across 4 security tiers: INSTANT (no delay), NOTIFY (execute + alert), DELAY (time-locked), and APPROVAL (manual override).&lt;/p&gt;

&lt;p&gt;Configure spending limits with tier-based execution:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: &amp;lt;password&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "SPENDING_LIMIT", 
    "rules": {
      "instant_max_usd": 1000,
      "notify_max_usd": 5000,
      "delay_max_usd": 25000,
      "delay_seconds": 300,
      "daily_limit_usd": 50000
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your bot executes trades up to $1,000 instantly. Trades between $1,000-$5,000 execute immediately with notifications. Larger positions get a 5-minute delay (cancellable if market moves against you). Trades above $25,000 require manual approval.&lt;/p&gt;

&lt;p&gt;Set protocol-specific risk limits:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Max 10x leverage on perpetual futures&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: &amp;lt;password&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "type": "PERP_MAX_LEVERAGE",
    "rules": {"maxLeverage": 10}
  }'&lt;/span&gt;

&lt;span class="c"&gt;# Whitelist approved lending assets&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: &amp;lt;password&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "type": "LENDING_ASSET_WHITELIST",
    "rules": {
      "assets": ["USDC", "ETH", "WBTC", "SOL"]
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Real-Time Position Monitoring
&lt;/h2&gt;

&lt;p&gt;Track DeFi positions across all protocols with a single API call:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl http://127.0.0.1:3100/v1/defi/positions &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Response includes lending positions, perpetual futures, staking rewards, and liquidity pool shares — giving your bot a unified view of portfolio exposure.&lt;/p&gt;

&lt;p&gt;The system monitors incoming transactions and sends real-time notifications when positions change or new funds arrive:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl http://127.0.0.1:3100/v1/incoming/summary &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Quick Start: Deploy a Trading Bot
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install and initialize WAIaaS&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @waiaas/cli
   waiaas init &lt;span class="nt"&gt;--auto-provision&lt;/span&gt;
   waiaas start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create trading wallets&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="c"&gt;# Solana wallet for DEX trades&lt;/span&gt;
   waiaas wallet create solana-trading solana mainnet

   &lt;span class="c"&gt;# Ethereum wallet for DeFi positions  &lt;/span&gt;
   waiaas wallet create ethereum-trading evm ethereum-mainnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create bot sessions&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   waiaas quickset &lt;span class="nt"&gt;--mode&lt;/span&gt; mainnet
   &lt;span class="c"&gt;# Outputs session tokens for your bot&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set risk policies&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="c"&gt;# Configure spending limits and protocol restrictions&lt;/span&gt;
   &lt;span class="c"&gt;# See policy examples above&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start trading&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="c"&gt;# Your bot uses the session tokens to execute trades&lt;/span&gt;
   &lt;span class="c"&gt;# All wallet operations via unified REST API&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For more advanced setups, see &lt;a href="https://dev.to/walletguy/docker-deployment-ghcrio-minhoyoo-iotrustwaiaaslatest-with-auto-provision-4mc8"&gt;Docker Deployment: ghcr.io/minhoyoo-iotrust/waiaas:latest with Auto-Provision&lt;/a&gt; for production infrastructure and &lt;a href="https://dev.to/walletguy/policy-engine-21-types-4-security-tiers-default-deny-2ic9"&gt;Policy Engine: 21 Types, 4 Security Tiers, Default-Deny&lt;/a&gt; for comprehensive risk management.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;Your trading bot now has unified wallet infrastructure across 18 networks with built-in risk controls and gas optimization. Focus on strategy development instead of wallet management. Check out the &lt;a href="https://github.com/minhoyoo-iotrust/WAIaaS" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt; for the full codebase or visit &lt;a href="https://waiaas.ai" rel="noopener noreferrer"&gt;waiaas.ai&lt;/a&gt; for detailed documentation and API reference.&lt;/p&gt;

</description>
      <category>defi</category>
      <category>blockchain</category>
      <category>ethereum</category>
      <category>solana</category>
    </item>
    <item>
      <title>Track Your Claude Agent's DeFi Portfolio: MCP Tools for Position Monitoring</title>
      <dc:creator>Wallet Guy</dc:creator>
      <pubDate>Sun, 14 Jun 2026 09:59:08 +0000</pubDate>
      <link>https://dev.to/walletguy/track-your-claude-agents-defi-portfolio-mcp-tools-for-position-monitoring-4ohj</link>
      <guid>https://dev.to/walletguy/track-your-claude-agents-defi-portfolio-mcp-tools-for-position-monitoring-4ohj</guid>
      <description>&lt;p&gt;DeFi portfolio tracking gets complicated fast when you're running AI agents across multiple protocols. Your Claude agent might be executing swaps on Jupiter, staking on Lido, and providing liquidity on Aave, but you have no visibility into the positions it's building or their performance over time.&lt;/p&gt;

&lt;p&gt;Most developers end up writing custom scripts to query each protocol separately, then manually correlating addresses and calculating PnL. But there's a cleaner approach: MCP tools that give Claude native DeFi awareness.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Portfolio Visibility Matters for AI Agents
&lt;/h2&gt;

&lt;p&gt;When Claude executes DeFi strategies autonomously, you need real-time insight into what it's doing with your capital. A lending position might be approaching liquidation. A staking reward might be ready to compound. Or a liquidity position might have drifted out of range.&lt;/p&gt;

&lt;p&gt;Without portfolio monitoring, your agent is flying blind. It might keep depositing into a protocol that's no longer profitable, or miss opportunities to rebalance positions for better yields.&lt;/p&gt;

&lt;h2&gt;
  
  
  WAIaaS MCP Tools for DeFi Position Tracking
&lt;/h2&gt;

&lt;p&gt;WAIaaS provides 45 MCP tools for AI agent integration, including dedicated tools for DeFi position monitoring across 15 integrated protocols. Once configured, Claude can query positions, track yields, and make informed decisions about rebalancing.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;get-defi-positions&lt;/code&gt; tool returns a unified view of all positions across protocols:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Configure MCP server in Claude Desktop&lt;/span&gt;
&lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="s2"&gt;"mcpServers"&lt;/span&gt;: &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="s2"&gt;"waiaas"&lt;/span&gt;: &lt;span class="o"&gt;{&lt;/span&gt;
      &lt;span class="s2"&gt;"command"&lt;/span&gt;: &lt;span class="s2"&gt;"npx"&lt;/span&gt;,
      &lt;span class="s2"&gt;"args"&lt;/span&gt;: &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;, &lt;span class="s2"&gt;"@waiaas/mcp"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;,
      &lt;span class="s2"&gt;"env"&lt;/span&gt;: &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="s2"&gt;"WAIAAS_BASE_URL"&lt;/span&gt;: &lt;span class="s2"&gt;"http://127.0.0.1:3100"&lt;/span&gt;,
        &lt;span class="s2"&gt;"WAIAAS_SESSION_TOKEN"&lt;/span&gt;: &lt;span class="s2"&gt;"wai_sess_&amp;lt;your-token&amp;gt;"&lt;/span&gt;,
        &lt;span class="s2"&gt;"WAIAAS_DATA_DIR"&lt;/span&gt;: &lt;span class="s2"&gt;"~/.waiaas"&lt;/span&gt;
      &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
  &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once configured, Claude can track positions with natural language:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User: "Show me my DeFi positions"
→ Claude calls get_defi_positions tool
→ Returns positions across Aave, Lido, Jupiter, etc.

User: "Which positions are most profitable?"
→ Claude analyzes APY and PnL data
→ Suggests rebalancing opportunities
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Setting Up DeFi Portfolio Monitoring
&lt;/h2&gt;

&lt;p&gt;Here's how to get Claude monitoring your agent's DeFi positions:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Start WAIaaS with Docker
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/minhoyoo-iotrust/WAIaaS.git
&lt;span class="nb"&gt;cd &lt;/span&gt;WAIaaS
docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Create a wallet and session
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install CLI&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @waiaas/cli

&lt;span class="c"&gt;# Quick setup&lt;/span&gt;
waiaas quickset &lt;span class="nt"&gt;--mode&lt;/span&gt; mainnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates wallets on multiple chains and generates MCP configuration automatically.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Configure Claude Desktop
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;quickset&lt;/code&gt; command outputs the MCP configuration. Copy it to your Claude Desktop config file:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;macOS&lt;/strong&gt;: &lt;code&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Windows&lt;/strong&gt;: &lt;code&gt;%APPDATA%\Claude\claude_desktop_config.json&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Or auto-register all wallets:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;waiaas mcp setup &lt;span class="nt"&gt;--all&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Test portfolio monitoring
&lt;/h3&gt;

&lt;p&gt;Restart Claude Desktop and try:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"What DeFi positions do I have?"&lt;/li&gt;
&lt;li&gt;"Show me my yields across all protocols"&lt;/li&gt;
&lt;li&gt;"Which positions have the highest APY?"&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Real-Time Position Monitoring
&lt;/h2&gt;

&lt;p&gt;WAIaaS tracks positions across 15 DeFi protocols: aave-v3, across, dcent-swap, drift, erc8004, hyperliquid, jito-staking, jupiter-swap, kamino, lido-staking, lifi, pendle, polymarket, xrpl-dex, zerox-swap.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;get-defi-positions&lt;/code&gt; tool returns structured data for each position:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"positions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"protocol"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"aave-v3"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"lending"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"asset"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"USDC"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"amount"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1000.50"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"apy"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"4.2%"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"healthFactor"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2.15"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"value_usd"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1000.50"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"protocol"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"lido-staking"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"staking"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"asset"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"stETH"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"amount"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0.5"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"apy"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"3.8%"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"rewards_pending"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0.002"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"value_usd"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1250.00"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"total_value_usd"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2250.50"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude can then analyze this data and make recommendations about rebalancing, harvesting rewards, or adjusting risk exposure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Health Factor Monitoring for Lending Positions
&lt;/h2&gt;

&lt;p&gt;For lending protocols like Aave, WAIaaS provides the &lt;code&gt;get-health-factor&lt;/code&gt; tool to monitor liquidation risk:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl http://127.0.0.1:3100/v1/wallet/health-factor &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude can monitor health factors and suggest actions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Health factor &amp;gt; 2.0: "Position is safe"&lt;/li&gt;
&lt;li&gt;Health factor 1.5-2.0: "Consider adding collateral"&lt;/li&gt;
&lt;li&gt;Health factor &amp;lt; 1.5: "Liquidation risk - reduce position size"&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Automated Yield Optimization
&lt;/h2&gt;

&lt;p&gt;With position visibility, Claude can optimize yields automatically. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User: "Optimize my staking yields"
→ Claude checks current staking positions
→ Compares APY across Lido vs Jito staking
→ Suggests rebalancing: "Move 30% from Lido (3.8% APY) to Jito (4.2% APY)"
→ Executes rebalancing with user approval
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The MCP integration includes tools for cross-chain bridging via LI.FI and Across protocols, so Claude can move assets between chains to access better yields.&lt;/p&gt;

&lt;h2&gt;
  
  
  Policy-Based Risk Management
&lt;/h2&gt;

&lt;p&gt;WAIaaS includes 21 policy types with 4 security tiers (INSTANT, NOTIFY, DELAY, APPROVAL) to manage DeFi risk:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create lending policy&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://localhost:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'Content-Type: application/json'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'X-Master-Password: &amp;lt;password&amp;gt;'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "LENDING_LTV_LIMIT",
    "rules": {
      "max_ltv": 0.75,
      "protocols": ["aave-v3", "kamino"]
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This prevents Claude from taking on excessive leverage even when chasing yields.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance Analytics
&lt;/h2&gt;

&lt;p&gt;The Admin Web UI at &lt;code&gt;/admin&lt;/code&gt; provides a dashboard for DeFi positions with historical performance, yield tracking, and risk metrics. Claude can reference this data when making strategic decisions about position sizing and protocol selection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Start Guide
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Deploy WAIaaS&lt;/strong&gt;: &lt;code&gt;docker compose up -d&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create wallets&lt;/strong&gt;: &lt;code&gt;waiaas quickset --mode mainnet&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Configure Claude&lt;/strong&gt;: Copy MCP config to &lt;code&gt;claude_desktop_config.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fund wallets&lt;/strong&gt;: Transfer tokens to generated addresses&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start trading&lt;/strong&gt;: Tell Claude to execute DeFi strategies&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Your agent now has full visibility into its DeFi portfolio and can make data-driven decisions about yield optimization, risk management, and capital allocation.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;WAIaaS provides the infrastructure layer for autonomous DeFi agents with built-in risk management and portfolio monitoring. Explore the full codebase at &lt;a href="https://github.com/minhoyoo-iotrust/WAIaaS" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; or learn more about MCP integration at &lt;a href="https://waiaas.ai" rel="noopener noreferrer"&gt;waiaas.ai&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>defi</category>
      <category>web3</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Why Your AI Agent Wallet Should Only Listen on 127.0.0.1:3100</title>
      <dc:creator>Wallet Guy</dc:creator>
      <pubDate>Sat, 13 Jun 2026 15:07:00 +0000</pubDate>
      <link>https://dev.to/walletguy/why-your-ai-agent-wallet-should-only-listen-on-1270013100-56dh</link>
      <guid>https://dev.to/walletguy/why-your-ai-agent-wallet-should-only-listen-on-1270013100-56dh</guid>
      <description>&lt;p&gt;Why Your AI Agent Wallet Should Only Listen on 127.0.0.1:3100&lt;/p&gt;

&lt;p&gt;Your AI trading bot just made another profitable DeFi trade, but there's a problem lurking in your network configuration. If your WAIaaS daemon is listening on 0.0.0.0:3100 instead of 127.0.0.1:3100, you've essentially opened your wallet's API to anyone who can reach your server. This isn't just a minor security oversight—it's the digital equivalent of leaving your bank vault unlocked and advertising the address.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Network Security Matters for AI Agent Wallets
&lt;/h2&gt;

&lt;p&gt;When you're running autonomous AI agents with access to real cryptocurrency, every network connection becomes a potential attack vector. Unlike traditional web applications where a breach might leak some user data, a compromised AI agent wallet can drain actual money in minutes. The stakes aren't theoretical—they're measured in SOL, ETH, and USDC.&lt;/p&gt;

&lt;p&gt;Most developers focus on authentication and authorization (which WAIaaS handles with its 3-layer security model), but network-level isolation is your first line of defense. By binding to localhost only, you create an air gap that no remote attacker can cross without first compromising your entire server.&lt;/p&gt;

&lt;h2&gt;
  
  
  The WAIaaS Security Model: Defense in Depth
&lt;/h2&gt;

&lt;p&gt;WAIaaS implements a comprehensive security architecture, but it assumes you'll configure the network layer correctly. The platform uses three authentication methods: masterAuth for administration, sessionAuth for AI agents, and ownerAuth for human approval. It enforces policies through 21 policy types across 4 security tiers (INSTANT, NOTIFY, DELAY, APPROVAL). But all of this becomes irrelevant if an attacker can reach your API endpoint directly.&lt;/p&gt;

&lt;p&gt;Let's look at the secure way to deploy WAIaaS using Docker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;daemon&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ghcr.io/minhoyoo-iotrust/waiaas:latest&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;waiaas-daemon&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;127.0.0.1:3100:3100"&lt;/span&gt;  &lt;span class="c1"&gt;# Only localhost can connect&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;waiaas-data:/data&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;WAIAAS_DATA_DIR=/data&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;WAIAAS_DAEMON_HOSTNAME=0.0.0.0&lt;/span&gt;  &lt;span class="c1"&gt;# Inside container&lt;/span&gt;
    &lt;span class="na"&gt;restart&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;unless-stopped&lt;/span&gt;
    &lt;span class="na"&gt;healthcheck&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;test&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;CMD"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;curl"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;-f"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;http://localhost:3100/health"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
      &lt;span class="na"&gt;interval&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;30s&lt;/span&gt;
      &lt;span class="na"&gt;timeout&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;5s&lt;/span&gt;
      &lt;span class="na"&gt;retries&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt;

&lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;waiaas-data&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;driver&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;local&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Notice the crucial difference: the port mapping binds to &lt;code&gt;127.0.0.1:3100:3100&lt;/code&gt;, not &lt;code&gt;3100:3100&lt;/code&gt;. This ensures that only processes running on your local machine can connect to the WAIaaS API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Self-Hosting vs. Hosted Solutions: The Control Trade-off
&lt;/h2&gt;

&lt;p&gt;When you self-host WAIaaS, you're making a conscious choice to prioritize control over convenience. Hosted wallet services might offer easier onboarding, but they come with fundamental compromises:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key custody&lt;/strong&gt;: With self-hosting, your private keys never leave your infrastructure. WAIaaS stores encrypted wallet data locally, and you control the master password.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rate limits&lt;/strong&gt;: Cloud APIs often throttle requests or charge per transaction. Your self-hosted instance has no such restrictions—make as many balance checks or DeFi swaps as your AI agent needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data sovereignty&lt;/strong&gt;: Transaction history, policy configurations, and session tokens remain on your servers. No third-party analytics or compliance reporting unless you explicitly configure it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Customization&lt;/strong&gt;: Need to modify the policy engine or add custom DeFi protocols? The open-source codebase gives you full access to WAIaaS's 15 integrated DeFi protocols and 39 REST API routes.&lt;/p&gt;

&lt;p&gt;Here's how to set up a production-grade deployment with secrets management:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create secure directory for secrets&lt;/span&gt;
&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; secrets
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"your-secure-master-password"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; secrets/master_password.txt
&lt;span class="nb"&gt;chmod &lt;/span&gt;600 secrets/master_password.txt

&lt;span class="c"&gt;# Deploy with secrets overlay&lt;/span&gt;
docker compose &lt;span class="nt"&gt;-f&lt;/span&gt; docker-compose.yml &lt;span class="nt"&gt;-f&lt;/span&gt; docker-compose.secrets.yml up &lt;span class="nt"&gt;-d&lt;/span&gt;

&lt;span class="c"&gt;# Verify it's only listening locally&lt;/span&gt;
curl http://127.0.0.1:3100/health
&lt;span class="c"&gt;# Should work&lt;/span&gt;

curl http://your-server-ip:3100/health
&lt;span class="c"&gt;# Should fail (connection refused)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Network Isolation Patterns
&lt;/h2&gt;

&lt;p&gt;Beyond localhost binding, consider these additional isolation techniques:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Firewall rules&lt;/strong&gt;: Even with localhost binding, configure iptables or UFW to block port 3100 from external interfaces as a backup measure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VPN access&lt;/strong&gt;: If you need remote access to your AI agent, use a VPN tunnel rather than exposing the API port. Tools like WireGuard let you securely connect to your home network.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docker networks&lt;/strong&gt;: Create isolated Docker networks for your AI infrastructure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker network create ai-agents &lt;span class="nt"&gt;--internal&lt;/span&gt;
docker run &lt;span class="nt"&gt;--network&lt;/span&gt; ai-agents waiaas-daemon
docker run &lt;span class="nt"&gt;--network&lt;/span&gt; ai-agents your-trading-bot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Reverse proxy&lt;/strong&gt;: If you must expose WAIaaS remotely, place it behind nginx with mTLS client certificates:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight nginx"&gt;&lt;code&gt;&lt;span class="k"&gt;server&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kn"&gt;listen&lt;/span&gt; &lt;span class="mi"&gt;443&lt;/span&gt; &lt;span class="s"&gt;ssl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kn"&gt;ssl_client_certificate&lt;/span&gt; &lt;span class="n"&gt;/path/to/ca.crt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kn"&gt;ssl_verify_client&lt;/span&gt; &lt;span class="no"&gt;on&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="kn"&gt;location&lt;/span&gt; &lt;span class="n"&gt;/&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kn"&gt;proxy_pass&lt;/span&gt; &lt;span class="s"&gt;http://127.0.0.1:3100&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Monitoring and Alerting for Self-Hosted Wallets
&lt;/h2&gt;

&lt;p&gt;Self-hosting means you're responsible for operational monitoring. WAIaaS provides several endpoints to help you build observability:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Health check endpoint&lt;/span&gt;
curl http://127.0.0.1:3100/health

&lt;span class="c"&gt;# Check running sessions&lt;/span&gt;
curl &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: your-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  http://127.0.0.1:3100/v1/sessions

&lt;span class="c"&gt;# Monitor transaction pipeline&lt;/span&gt;
curl &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  http://127.0.0.1:3100/v1/transactions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Set up alerting for suspicious activity:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Failed authentication attempts&lt;/li&gt;
&lt;li&gt;Transactions hitting policy limits&lt;/li&gt;
&lt;li&gt;Unusual DeFi protocol usage&lt;/li&gt;
&lt;li&gt;Session tokens approaching expiration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;WAIaaS logs these events at different levels (trace, debug, info, warn, error), making it easy to integrate with your existing monitoring stack.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Philosophy of Financial Sovereignty
&lt;/h2&gt;

&lt;p&gt;Self-hosting WAIaaS isn't just about technical control—it's about aligning your infrastructure with crypto's foundational principles. When Satoshi designed Bitcoin, the goal was trustless, peer-to-peer transactions without intermediaries. Hosting your AI agent's wallet on someone else's servers recreates the traditional banking model with extra steps.&lt;/p&gt;

&lt;p&gt;Your trading algorithms, DeFi strategies, and transaction patterns represent valuable intellectual property. Why leak that data to hosted services when you can keep everything local? WAIaaS's comprehensive feature set (45 MCP tools, 15 DeFi protocols, Account Abstraction support) means you're not sacrificing capability for sovereignty.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Start: Secure Self-Hosted Setup
&lt;/h2&gt;

&lt;p&gt;Ready to deploy your own AI agent wallet? Here's the minimal path to production:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Clone and configure&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git clone https://github.com/minhoyoo-iotrust/WAIaaS.git
   &lt;span class="nb"&gt;cd &lt;/span&gt;WAIaaS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Generate secrets&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;mkdir &lt;/span&gt;secrets
   openssl rand &lt;span class="nt"&gt;-base64&lt;/span&gt; 32 &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; secrets/master_password.txt
   &lt;span class="nb"&gt;chmod &lt;/span&gt;600 secrets/master_password.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Deploy with localhost binding&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create wallet and session&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @waiaas/cli
   waiaas wallet create &lt;span class="nt"&gt;--chain&lt;/span&gt; solana &lt;span class="nt"&gt;--name&lt;/span&gt; trading-wallet
   waiaas session create &lt;span class="nt"&gt;--wallet&lt;/span&gt; &amp;lt;wallet-id&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Test the isolation&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="c"&gt;# This should work&lt;/span&gt;
   curl http://127.0.0.1:3100/health

   &lt;span class="c"&gt;# This should fail from a remote machine&lt;/span&gt;
   curl http://your-server-ip:3100/health
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Related Posts
&lt;/h2&gt;

&lt;p&gt;Secure network configuration is just one aspect of running production AI agent infrastructure. For the complete operational picture, check out &lt;a href="https://dev.to/walletguy/waiaas-production-deployment-guide-from-docker-to-mainnet"&gt;WAIaaS Production Deployment Guide: From Docker to Mainnet&lt;/a&gt; for scaling and monitoring best practices.&lt;/p&gt;

&lt;p&gt;Once your security is locked down, explore &lt;a href="https://dev.to/walletguy/building-autonomous-trading-bots-with-waiaas-mcp-integration"&gt;Building Autonomous Trading Bots with WAIaaS MCP Integration&lt;/a&gt; to connect your AI agents to the secure wallet infrastructure you just built.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;Network security is the foundation, but it's just the beginning of building robust AI agent infrastructure. Explore the policy engine to fine-tune transaction controls, integrate with the MCP protocol for Claude Desktop compatibility, and experiment with the 15 supported DeFi protocols.&lt;/p&gt;

&lt;p&gt;Start building your self-hosted AI agent wallet infrastructure today. Clone the repository at &lt;a href="https://github.com/minhoyoo-iotrust/WAIaaS" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; or learn more about the complete platform at &lt;a href="https://waiaas.ai" rel="noopener noreferrer"&gt;waiaas.ai&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>security</category>
      <category>selfhosted</category>
      <category>web3</category>
    </item>
    <item>
      <title>Claude Signs Messages: ERC-8128 MCP Tools for Verifiable AI Communications</title>
      <dc:creator>Wallet Guy</dc:creator>
      <pubDate>Sat, 13 Jun 2026 09:40:18 +0000</pubDate>
      <link>https://dev.to/walletguy/claude-signs-messages-erc-8128-mcp-tools-for-verifiable-ai-communications-37ip</link>
      <guid>https://dev.to/walletguy/claude-signs-messages-erc-8128-mcp-tools-for-verifiable-ai-communications-37ip</guid>
      <description>&lt;p&gt;Claude Signs Messages: ERC-8128 MCP Tools for Verifiable AI Communications&lt;/p&gt;

&lt;p&gt;Claude desktop agents can now create verifiable digital signatures through MCP tools, enabling trusted AI communications that prove message authenticity onchain. The ERC-8128 standard provides a framework for AI agents to sign HTTP requests and messages with cryptographic proof, and WAIaaS implements this as native MCP tools that integrate directly with Claude's workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Message Signing Matters for AI Agents
&lt;/h2&gt;

&lt;p&gt;When AI agents interact with external services or make financial decisions, proving the authenticity of their communications becomes critical. Traditional API keys can be stolen or spoofed, but cryptographic signatures tied to blockchain addresses provide unforgeable proof of origin. This enables use cases like verified AI-to-AI transactions, auditable agent decisions, and trusted cross-platform communications.&lt;/p&gt;

&lt;p&gt;ERC-8128 standardizes this process by defining how AI agents should sign HTTP requests and arbitrary messages, creating a verifiable trail of agent actions that can be validated onchain or offchain.&lt;/p&gt;

&lt;h2&gt;
  
  
  ERC-8128 MCP Tools in WAIaaS
&lt;/h2&gt;

&lt;p&gt;WAIaaS provides 2 dedicated MCP tools for ERC-8128 message signing as part of its 45 MCP tools for AI agent integration. These tools allow Claude to create and verify cryptographic signatures without requiring deep knowledge of wallet management or cryptographic operations.&lt;/p&gt;

&lt;p&gt;Here's how to set up Claude with ERC-8128 signing capabilities:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"waiaas"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"@waiaas/mcp"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"WAIAAS_BASE_URL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"http://127.0.0.1:3100"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"WAIAAS_SESSION_TOKEN"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"wai_sess_&amp;lt;your-token&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"WAIAAS_DATA_DIR"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"~/.waiaas"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once configured, Claude gains access to the &lt;code&gt;erc8128-sign-request&lt;/code&gt; and &lt;code&gt;erc8128-verify-signature&lt;/code&gt; tools. Here's what these tools enable:&lt;/p&gt;

&lt;h2&gt;
  
  
  Signing HTTP Requests with ERC-8128
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;erc8128-sign-request&lt;/code&gt; tool allows Claude to create cryptographically signed HTTP requests. This is particularly useful when the agent needs to prove its identity to external services:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Claude can sign an HTTP request to prove authenticity&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/tools/erc8128-sign-request &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "method": "POST",
    "url": "https://api.example.com/agent-action",
    "headers": {"Content-Type": "application/json"},
    "body": "{\"action\": \"transfer\", \"amount\": \"100\"}"
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The tool returns a complete HTTP signature following ERC-8128 specifications, including the signature header that proves the request originated from the agent's wallet address.&lt;/p&gt;

&lt;h2&gt;
  
  
  Message Verification for Trust Chains
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;erc8128-verify-signature&lt;/code&gt; tool enables Claude to validate signatures from other agents or services:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Verify a signature received from another agent&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/tools/erc8128-verify-signature &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "message": "Agent decision: approve transfer of 100 USDC",
    "signature": "0x1234...",
    "address": "0xabcd..."
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates a trust chain where agents can verify each other's communications, essential for multi-agent systems handling financial operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Policy Integration for Secure Signing
&lt;/h2&gt;

&lt;p&gt;WAIaaS includes an &lt;code&gt;ERC8128_ALLOWED_DOMAINS&lt;/code&gt; policy type from its 21 policy types, allowing administrators to control which domains the agent can sign requests for:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "ERC8128_ALLOWED_DOMAINS",
    "rules": {
      "domains": ["api.trusted-service.com", "*.verified-agents.io"]
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This prevents agents from signing arbitrary requests to untrusted domains, maintaining security while enabling verified communications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Use Cases
&lt;/h2&gt;

&lt;p&gt;These signing capabilities enable several practical scenarios:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent-to-Agent Verification&lt;/strong&gt;: When multiple Claude instances need to coordinate actions, they can sign and verify each other's messages to ensure authentic communication.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Auditable AI Decisions&lt;/strong&gt;: Financial AI agents can sign their decision rationales, creating an onchain audit trail of why specific trades or investments were made.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trusted API Integration&lt;/strong&gt;: Services can verify that API requests actually originated from authorized AI agents, not from malicious actors using stolen credentials.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cross-Platform Agent Identity&lt;/strong&gt;: An agent's signatures work across different platforms and services, providing consistent identity verification.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Start with ERC-8128 Signing
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set up WAIaaS with MCP&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @waiaas/cli
waiaas quickset &lt;span class="nt"&gt;--mode&lt;/span&gt; mainnet
waiaas mcp setup &lt;span class="nt"&gt;--all&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Configure Claude Desktop&lt;/strong&gt; with the MCP server configuration above&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Test signing in Claude&lt;/strong&gt;: Ask Claude to "Sign a message saying 'Hello from my AI agent'" and it will use the erc8128-sign-request tool&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Verify signatures&lt;/strong&gt;: Have Claude verify signatures from other agents using the erc8128-verify-signature tool&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Set domain policies&lt;/strong&gt; to control which services your agent can sign requests for&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The ERC-8128 standard is still emerging, but WAIaaS provides early implementation allowing developers to experiment with verified AI communications today. As more services adopt ERC-8128 verification, agents with signing capabilities will have significant advantages in trusted interactions.&lt;/p&gt;

&lt;p&gt;The combination of WAIaaS's 4 security tiers (INSTANT, NOTIFY, DELAY, APPROVAL) with ERC-8128 signing creates a robust framework where agents can prove their authenticity while maintaining human oversight over critical decisions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ready to add cryptographic signing to your Claude agent?&lt;/strong&gt; Start with the &lt;a href="https://github.com/minhoyoo-iotrust/WAIaaS" rel="noopener noreferrer"&gt;WAIaaS GitHub repository&lt;/a&gt; to set up your MCP server, or visit &lt;a href="https://waiaas.ai" rel="noopener noreferrer"&gt;waiaas.ai&lt;/a&gt; to explore the full platform. Your AI agent's communications will never be questioned again.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>web3</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>Auto-Provision Your Self-Hosted Crypto Wallet: Docker Entrypoint Magic</title>
      <dc:creator>Wallet Guy</dc:creator>
      <pubDate>Fri, 12 Jun 2026 16:27:02 +0000</pubDate>
      <link>https://dev.to/walletguy/auto-provision-your-self-hosted-crypto-wallet-docker-entrypoint-magic-417</link>
      <guid>https://dev.to/walletguy/auto-provision-your-self-hosted-crypto-wallet-docker-entrypoint-magic-417</guid>
      <description>&lt;p&gt;Setting up self-hosted crypto wallet infrastructure typically requires juggling database schemas, RPC endpoints, and security configurations before you can even start managing funds. Docker auto-provisioning changes this by generating secure defaults automatically, letting you bootstrap a complete Wallet-as-a-Service in a single command while maintaining full control over your infrastructure and private keys.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Self-Hosting Your Wallet Infrastructure Matters
&lt;/h2&gt;

&lt;p&gt;When you're building AI agents that need to handle cryptocurrency transactions, you face a fundamental choice: trust a third-party service with your keys, or maintain your own infrastructure. Self-hosting isn't just about privacy — it's about eliminating external dependencies, avoiding API rate limits, and ensuring your agents can operate without relying on services that could disappear, change pricing, or impose restrictions.&lt;/p&gt;

&lt;p&gt;The challenge has always been complexity. Traditional wallet infrastructure requires deep blockchain knowledge, security expertise, and significant setup time. WAIaaS's Docker auto-provisioning solves this by generating secure configurations automatically while preserving the sovereignty benefits of self-hosting.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Auto-Provision Solution
&lt;/h2&gt;

&lt;p&gt;WAIaaS includes an auto-provision feature that generates all necessary secrets, configurations, and initial setup automatically. When you enable auto-provisioning, the Docker container creates a master password, initializes the database, and saves recovery credentials — all without requiring manual intervention.&lt;/p&gt;

&lt;p&gt;Here's how to deploy a complete self-hosted wallet service in seconds:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--name&lt;/span&gt; waiaas &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-p&lt;/span&gt; 127.0.0.1:3100:3100 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-v&lt;/span&gt; waiaas-data:/data &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;WAIAAS_AUTO_PROVISION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  ghcr.io/minhoyoo-iotrust/waiaas:latest

&lt;span class="c"&gt;# Retrieve auto-generated master password&lt;/span&gt;
docker &lt;span class="nb"&gt;exec &lt;/span&gt;waiaas &lt;span class="nb"&gt;cat&lt;/span&gt; /data/recovery.key
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The auto-provision process generates a cryptographically secure master password, stores it in &lt;code&gt;/data/recovery.key&lt;/code&gt;, and immediately starts the daemon. Your wallet service is ready to create wallets and authenticate AI agents without any manual configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Docker Compose for Production Deployments
&lt;/h2&gt;

&lt;p&gt;For production self-hosting, Docker Compose provides better control over the deployment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;daemon&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ghcr.io/minhoyoo-iotrust/waiaas:latest&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;waiaas-daemon&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;127.0.0.1:3100:3100"&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;waiaas-data:/data&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;WAIAAS_DATA_DIR=/data&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;WAIAAS_DAEMON_HOSTNAME=0.0.0.0&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;WAIAAS_AUTO_PROVISION=true&lt;/span&gt;
    &lt;span class="na"&gt;env_file&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;.env&lt;/span&gt;
        &lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
    &lt;span class="na"&gt;restart&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;unless-stopped&lt;/span&gt;
    &lt;span class="na"&gt;healthcheck&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;test&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;CMD"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;curl"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;-f"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;http://localhost:3100/health"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
      &lt;span class="na"&gt;interval&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;30s&lt;/span&gt;
      &lt;span class="na"&gt;timeout&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;5s&lt;/span&gt;
      &lt;span class="na"&gt;start_period&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;10s&lt;/span&gt;
      &lt;span class="na"&gt;retries&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt;

&lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;waiaas-data&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;driver&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;local&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This configuration includes health checks, automatic restart policies, and named volumes for data persistence. The service binds to localhost by default, ensuring your wallet API isn't exposed to external networks without explicit configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security Through Docker Secrets
&lt;/h2&gt;

&lt;p&gt;For production deployments, WAIaaS supports Docker Secrets for secure credential management. Instead of auto-provisioning, you can provide your own master password through the secrets system:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create secret files&lt;/span&gt;
&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; secrets
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"your-secure-password"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; secrets/master_password.txt
&lt;span class="nb"&gt;chmod &lt;/span&gt;600 secrets/master_password.txt

&lt;span class="c"&gt;# Deploy with secrets overlay&lt;/span&gt;
docker compose &lt;span class="nt"&gt;-f&lt;/span&gt; docker-compose.yml &lt;span class="nt"&gt;-f&lt;/span&gt; docker-compose.secrets.yml up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The secrets overlay mounts your password file into the container without exposing it in environment variables or command line arguments. This approach gives you control over credential generation while maintaining Docker best practices.&lt;/p&gt;

&lt;h2&gt;
  
  
  Environment Configuration for Self-Hosters
&lt;/h2&gt;

&lt;p&gt;Self-hosting means you control every aspect of the infrastructure. WAIaaS exposes key configuration through environment variables:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;WAIAAS_AUTO_PROVISION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;              &lt;span class="c"&gt;# Auto-generate master password on first start&lt;/span&gt;
&lt;span class="nv"&gt;WAIAAS_DAEMON_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3100                 &lt;span class="c"&gt;# Listening port&lt;/span&gt;
&lt;span class="nv"&gt;WAIAAS_DAEMON_HOSTNAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0.0.0.0         &lt;span class="c"&gt;# Bind address&lt;/span&gt;
&lt;span class="nv"&gt;WAIAAS_DAEMON_LOG_LEVEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;info            &lt;span class="c"&gt;# Log level (trace/debug/info/warn/error)&lt;/span&gt;
&lt;span class="nv"&gt;WAIAAS_DATA_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/data                   &lt;span class="c"&gt;# Data directory&lt;/span&gt;
&lt;span class="nv"&gt;WAIAAS_RPC_SOLANA_MAINNET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;url&amp;gt;         &lt;span class="c"&gt;# Solana mainnet RPC endpoint&lt;/span&gt;
&lt;span class="nv"&gt;WAIAAS_RPC_EVM_ETHEREUM_MAINNET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;url&amp;gt;   &lt;span class="c"&gt;# Ethereum mainnet RPC endpoint&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By providing your own RPC endpoints, you eliminate dependency on public nodes and gain better performance and reliability. Many self-hosters run their own blockchain nodes or use private RPC services for complete infrastructure control.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Persistence and Backup Strategy
&lt;/h2&gt;

&lt;p&gt;The Docker entrypoint creates all data in the configured data directory (&lt;code&gt;/data&lt;/code&gt; by default). This includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQLite database with wallet data&lt;/li&gt;
&lt;li&gt;Generated private keys (encrypted)&lt;/li&gt;
&lt;li&gt;Session tokens and authentication state&lt;/li&gt;
&lt;li&gt;Policy configurations&lt;/li&gt;
&lt;li&gt;Transaction history&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since everything lives in a single directory, backup becomes straightforward:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Backup data volume&lt;/span&gt;
docker run &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; waiaas-data:/data &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;pwd&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;:/backup alpine &lt;span class="nb"&gt;tar &lt;/span&gt;czf /backup/waiaas-backup.tar.gz &lt;span class="nt"&gt;-C&lt;/span&gt; /data &lt;span class="nb"&gt;.&lt;/span&gt;

&lt;span class="c"&gt;# Restore data volume&lt;/span&gt;
docker run &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; waiaas-data:/data &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;pwd&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;:/backup alpine &lt;span class="nb"&gt;tar &lt;/span&gt;xzf /backup/waiaas-backup.tar.gz &lt;span class="nt"&gt;-C&lt;/span&gt; /data
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This approach gives you complete control over your backup strategy and recovery procedures.&lt;/p&gt;

&lt;h2&gt;
  
  
  Container Security Considerations
&lt;/h2&gt;

&lt;p&gt;The WAIaaS Docker image runs as a non-root user (UID 1001) and includes security scanning in the build process. The container exposes only the necessary port (3100) and doesn't require privileged access. For additional security, you can run the container with read-only filesystem and tmpfs mounts:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--name&lt;/span&gt; waiaas &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--read-only&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--tmpfs&lt;/span&gt; /tmp &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-p&lt;/span&gt; 127.0.0.1:3100:3100 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-v&lt;/span&gt; waiaas-data:/data &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;WAIAAS_AUTO_PROVISION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  ghcr.io/minhoyoo-iotrust/waiaas:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This configuration prevents any writes outside the data volume, reducing attack surface while maintaining full functionality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Start: Self-Hosted Wallet in 5 Steps
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Deploy with auto-provision&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;--name&lt;/span&gt; waiaas &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-p&lt;/span&gt; 127.0.0.1:3100:3100 &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-v&lt;/span&gt; waiaas-data:/data &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;WAIAAS_AUTO_PROVISION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
     ghcr.io/minhoyoo-iotrust/waiaas:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Retrieve master password&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   docker &lt;span class="nb"&gt;exec &lt;/span&gt;waiaas &lt;span class="nb"&gt;cat&lt;/span&gt; /data/recovery.key
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create your first wallet&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/wallets &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: &lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;docker &lt;span class="nb"&gt;exec &lt;/span&gt;waiaas &lt;span class="nb"&gt;cat&lt;/span&gt; /data/recovery.key&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"name": "trading-wallet", "chain": "solana", "environment": "mainnet"}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create AI agent session&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/sessions &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: &lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;docker &lt;span class="nb"&gt;exec &lt;/span&gt;waiaas &lt;span class="nb"&gt;cat&lt;/span&gt; /data/recovery.key&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"walletId": "&amp;lt;wallet-uuid&amp;gt;"}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Test with balance check&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   curl http://127.0.0.1:3100/v1/wallet/balance &lt;span class="se"&gt;\&lt;/span&gt;
     &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &amp;lt;session-token&amp;gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your self-hosted wallet infrastructure is now ready to serve AI agents with full transaction capabilities, 39 REST API routes, and 15 integrated DeFi protocols.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related Posts
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dev.to/walletguy/docker-deployment-guide-self-hosted-ai-agent-wallets"&gt;Docker Deployment Guide: Self-Hosted AI Agent Wallets&lt;/a&gt; provides comprehensive Docker deployment strategies beyond auto-provisioning.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/walletguy/policy-based-security-for-ai-agent-wallets"&gt;Policy-Based Security for AI Agent Wallets&lt;/a&gt; covers how to configure the 21 policy types and 4 security tiers after your initial deployment.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;You now have a self-hosted wallet service with auto-provisioned security running in Docker. Explore the interactive API documentation at &lt;a href="http://127.0.0.1:3100/reference" rel="noopener noreferrer"&gt;http://127.0.0.1:3100/reference&lt;/a&gt; to discover all available endpoints, or check the full deployment guide at &lt;a href="https://github.com/minhoyoo-iotrust/WAIaaS" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; and learn more about production configurations at &lt;a href="https://waiaas.ai" rel="noopener noreferrer"&gt;waiaas.ai&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>selfhosted</category>
      <category>devops</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Economic Sovereignty for AI: Why Agents Need Their Own Financial Infrastructure</title>
      <dc:creator>Wallet Guy</dc:creator>
      <pubDate>Fri, 12 Jun 2026 10:42:56 +0000</pubDate>
      <link>https://dev.to/walletguy/economic-sovereignty-for-ai-why-agents-need-their-own-financial-infrastructure-3im7</link>
      <guid>https://dev.to/walletguy/economic-sovereignty-for-ai-why-agents-need-their-own-financial-infrastructure-3im7</guid>
      <description>&lt;p&gt;AI agents will need to pay for compute, data, and API calls—but most can't even hold money, let alone spend it autonomously. The current paradigm of custodied accounts managed by humans breaks down when agents need to make real-time economic decisions at scale.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Economic Sovereignty Matters for AI Agents
&lt;/h2&gt;

&lt;p&gt;We're approaching an inflection point where AI agents will operate as independent economic actors. They'll need to purchase compute resources, pay for API calls, acquire training data, and compensate other agents for services. Yet today's financial infrastructure assumes human oversight for every transaction.&lt;/p&gt;

&lt;p&gt;This creates a fundamental bottleneck. When an agent needs to make a time-sensitive trade or pay for real-time data, waiting for human approval defeats the purpose. The agent economy demands infrastructure that enables autonomous financial decisions while maintaining security and oversight.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Infrastructure Gap: Wallets Built for Machines
&lt;/h2&gt;

&lt;p&gt;Traditional wallet solutions weren't designed for autonomous agents. They assume human interaction patterns: manual transaction signing, GUI-based interfaces, and sporadic usage patterns. AI agents need something fundamentally different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Programmatic control&lt;/strong&gt;: Full API access without GUI dependencies&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Policy-driven security&lt;/strong&gt;: Pre-configured rules instead of per-transaction approvals
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-time payments&lt;/strong&gt;: Native support for micropayments and streaming payments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-protocol support&lt;/strong&gt;: Work across different blockchains and payment rails&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is where specialized infrastructure like WAIaaS bridges the gap. It provides AI agents with autonomous wallet capabilities while maintaining human oversight through configurable policies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Autonomous Payments in Practice
&lt;/h2&gt;

&lt;p&gt;Let's examine how this works with a concrete example. Here's an AI agent that needs to purchase real-time market data and execute trades based on that information:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;WAIaaSClient&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@waiaas/sdk&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;WAIaaSClient&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;baseUrl&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;http://localhost:3100&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;sessionToken&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;WAIAAS_SESSION_TOKEN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Agent autonomously pays for API data using x402 HTTP payments&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;marketData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;x402Fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.marketdata.com/prices&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;GET&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Accept&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;prices&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;marketData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// Based on data, agent decides to execute a trade&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;prices&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;opportunity&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mf"&gt;0.05&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;swap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;executeAction&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;jupiter-swap&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;inputMint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;So11111111111111111111111111111111111111112&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// SOL&lt;/span&gt;
    &lt;span class="na"&gt;outputMint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// USDC&lt;/span&gt;
    &lt;span class="na"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1000000000&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="c1"&gt;// 1 SOL&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`Executed swap: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;swap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;transactionId&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This agent operates independently but within pre-configured constraints. The x402 HTTP payment protocol enables automatic micropayments for API calls, while policy engines ensure trades stay within risk parameters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Policy-Driven Autonomy vs. Complete Freedom
&lt;/h2&gt;

&lt;p&gt;True economic sovereignty doesn't mean unlimited access. It means operating autonomously within well-defined boundaries. WAIaaS implements this through a policy engine with 21 policy types and 4 security tiers.&lt;/p&gt;

&lt;p&gt;For example, a trading agent might operate under these constraints:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://localhost:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'Content-Type: application/json'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'X-Master-Password: &amp;lt;password&amp;gt;'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "SPENDING_LIMIT",
    "rules": {
      "instant_max_usd": 100,
      "notify_max_usd": 1000,
      "delay_max_usd": 5000,
      "delay_seconds": 300,
      "daily_limit_usd": 10000
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This policy allows the agent to make trades up to $100 instantly, requires notification for trades up to $1,000, imposes a 5-minute delay for larger trades, and caps daily activity at $10,000. The agent maintains autonomy for routine decisions while escalating significant actions to human oversight.&lt;/p&gt;

&lt;h2&gt;
  
  
  The x402 Protocol: HTTP Payments for the Agent Economy
&lt;/h2&gt;

&lt;p&gt;One of the most promising developments for agent economic sovereignty is the x402 HTTP payment protocol. This extends the familiar HTTP 402 "Payment Required" status code with actual payment capabilities.&lt;/p&gt;

&lt;p&gt;When an agent encounters a 402 response, it can automatically negotiate payment and retry the request:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Agent makes API request&lt;/span&gt;
GET /premium-data HTTP/1.1
Host: api.provider.com

&lt;span class="c"&gt;# Server responds with payment request&lt;/span&gt;
HTTP/1.1 402 Payment Required
Accept-Payment: lightning, bitcoin, solana
Price: 0.001 USD
Invoice: lnbc1...

&lt;span class="c"&gt;# Agent automatically pays and retries&lt;/span&gt;
GET /premium-data HTTP/1.1  
Host: api.provider.com
Payment-Proof: &amp;lt;transaction-hash&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates a seamless economy where agents can access paid services without human intervention. Data providers, compute services, and other agents can monetize their resources while maintaining open APIs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Multi-Chain Reality: Agents Need Network Flexibility
&lt;/h2&gt;

&lt;p&gt;The agent economy won't run on a single blockchain. Different protocols excel at different use cases—Solana for high-frequency trading, Ethereum for DeFi composability, Bitcoin Lightning for micropayments. Economically sovereign agents need multi-chain capabilities.&lt;/p&gt;

&lt;p&gt;WAIaaS supports 2 chain types across 18 networks, enabling agents to choose the optimal chain for each transaction. An agent might use Solana for rapid arbitrage while maintaining long-term positions on Ethereum DeFi protocols.&lt;/p&gt;

&lt;p&gt;Integration with 15 DeFi protocol providers means agents can access lending, staking, swapping, and yield farming opportunities across ecosystems. This isn't just about holding tokens—it's about active participation in decentralized finance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Agent Architecture
&lt;/h2&gt;

&lt;p&gt;Economic sovereignty requires more than just wallet access. Here's how a complete autonomous agent system might be architected:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Decision Engine&lt;/strong&gt;: AI models that analyze market conditions and identify opportunities&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Risk Management&lt;/strong&gt;: Policy enforcement and position sizing algorithms
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execution Layer&lt;/strong&gt;: Autonomous transaction submission and confirmation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitoring&lt;/strong&gt;: Real-time portfolio tracking and performance analysis&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The wallet infrastructure sits at the execution layer but influences every component. Risk management policies determine what the decision engine can propose. Execution capabilities constrain possible strategies. Monitoring depends on transaction history and balance tracking.&lt;/p&gt;

&lt;h2&gt;
  
  
  MCP Integration: Standardizing Agent Financial Capabilities
&lt;/h2&gt;

&lt;p&gt;The Model Context Protocol (MCP) provides a standardized way for AI systems to interact with external tools and services. WAIaaS implements 45 MCP tools that expose wallet capabilities to AI agents through a consistent interface.&lt;/p&gt;

&lt;p&gt;This standardization is crucial for the agent economy. Instead of each agent implementing custom wallet integrations, they can use standard MCP tools for balance checking, transaction submission, and DeFi interactions. This reduces development overhead and increases interoperability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security Without Sacrificing Autonomy
&lt;/h2&gt;

&lt;p&gt;Economic sovereignty raises legitimate security concerns. How do you give agents financial autonomy without risking catastrophic losses? The answer lies in layered security architecture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Session-based authentication&lt;/strong&gt;: Agents operate with limited-scope credentials&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Policy enforcement&lt;/strong&gt;: Transactions must pass through configurable rule engines&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-tier approval&lt;/strong&gt;: Larger transactions require human oversight&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kill switches&lt;/strong&gt;: Humans can revoke agent access instantly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates a balance between autonomy and safety. Agents can operate independently for routine transactions while escalating edge cases to human judgment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started with Agent Economic Infrastructure
&lt;/h2&gt;

&lt;p&gt;Ready to build economically sovereign AI agents? Here's a minimal setup:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install the infrastructure&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @waiaas/cli
waiaas init
waiaas start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create an agent wallet&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;waiaas quickset &lt;span class="nt"&gt;--mode&lt;/span&gt; mainnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set up MCP integration&lt;/strong&gt; for your AI system:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"waiaas"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"@waiaas/mcp"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"WAIAAS_SESSION_TOKEN"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"wai_sess_&amp;lt;your-token&amp;gt;"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Configure spending policies&lt;/strong&gt; that match your risk tolerance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Deploy your agent&lt;/strong&gt; with autonomous financial capabilities&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What's Next for Agent Economics
&lt;/h2&gt;

&lt;p&gt;The infrastructure for economically sovereign AI agents exists today, but we're still in the early stages of the agent economy. As more agents gain financial autonomy, we'll see new patterns emerge: agent-to-agent payments, automated service discovery, and dynamic pricing based on real-time supply and demand.&lt;/p&gt;

&lt;p&gt;The future isn't just AI agents that can think—it's AI agents that can earn, spend, and participate in economic networks as independent actors. The infrastructure is ready. The question is: what will your agents build?&lt;/p&gt;

&lt;p&gt;Ready to give your AI agents economic sovereignty? Explore the open-source WAIaaS platform on &lt;a href="https://github.com/minhoyoo-iotrust/WAIaaS" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; or learn more at &lt;a href="https://waiaas.ai" rel="noopener noreferrer"&gt;waiaas.ai&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>web3</category>
      <category>blockchain</category>
      <category>ethereum</category>
    </item>
    <item>
      <title>Auto-Generated OpenAPI Spec: Build Trading Bots with Interactive API Docs</title>
      <dc:creator>Wallet Guy</dc:creator>
      <pubDate>Thu, 11 Jun 2026 11:01:11 +0000</pubDate>
      <link>https://dev.to/walletguy/auto-generated-openapi-spec-build-trading-bots-with-interactive-api-docs-2e6m</link>
      <guid>https://dev.to/walletguy/auto-generated-openapi-spec-build-trading-bots-with-interactive-api-docs-2e6m</guid>
      <description>&lt;p&gt;Your trading bot spotted the opportunity: Jupiter shows SOL/USDC at a 0.3% premium, Drift has high funding rates for hedging, and gas is below your threshold. But can your bot execute the complete strategy before the arbitrage window closes? Most trading bots fail here — not because of strategy, but because they're cobbled together with multiple wallet libraries, RPC endpoints, and manual transaction building that breaks under pressure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Trading Infrastructure Breaks When It Matters
&lt;/h2&gt;

&lt;p&gt;Trading bots need split-second execution across multiple protocols. You might need to swap on Jupiter, open a perpetual position on Hyperliquid, stake rewards on Jito, and bridge profits back to Ethereum — all within seconds. But most bots are built with fragmented infrastructure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Wallet chaos&lt;/strong&gt;: Different libraries for Solana vs EVM, each with its own quirks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gas disasters&lt;/strong&gt;: Transactions failing because you didn't check network conditions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protocol integration hell&lt;/strong&gt;: Manually building transaction data for 15+ DeFi protocols&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No risk controls&lt;/strong&gt;: Bot drains wallet because of a bug or exploit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you're competing against sophisticated MEV searchers and institutional trading firms, your infrastructure cannot be your weakness.&lt;/p&gt;

&lt;h2&gt;
  
  
  Auto-Generated OpenAPI: Your Trading Bot's Foundation
&lt;/h2&gt;

&lt;p&gt;WAIaaS generates a complete OpenAPI 3.0 specification for its 39 REST API endpoints, giving trading bot builders exactly what they need: a reliable, documented, and interactive API reference. Every endpoint from balance queries to complex DeFi actions is documented with request schemas, response formats, and authentication requirements.&lt;/p&gt;

&lt;p&gt;The generated specification lives at &lt;code&gt;/doc&lt;/code&gt; and includes an interactive Scalar UI at &lt;code&gt;/reference&lt;/code&gt; where you can test API calls directly in your browser. This isn't just documentation — it's your testing ground for trading strategies.&lt;/p&gt;

&lt;p&gt;Here's how a trading bot checks available protocols and executes a multi-step strategy:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Get interactive API reference&lt;/span&gt;
curl http://127.0.0.1:3100/doc &lt;span class="nt"&gt;-o&lt;/span&gt; trading-api-spec.json

&lt;span class="c"&gt;# Check wallet balance before strategy execution&lt;/span&gt;
curl http://127.0.0.1:3100/v1/wallet/balance &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt;

&lt;span class="c"&gt;# Execute Jupiter swap: SOL → USDC&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "inputMint": "So11111111111111111111111111111111111111112",
    "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "1000000000"
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Multi-Protocol Trading Infrastructure
&lt;/h2&gt;

&lt;p&gt;Trading bots need access to multiple DeFi protocols without the complexity of integrating each one separately. WAIaaS provides 15 DeFi protocol integrations through a unified API:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DEX Aggregators&lt;/strong&gt;: Jupiter (Solana), 0x (Ethereum)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Perpetual Futures&lt;/strong&gt;: Hyperliquid, Drift&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Cross-chain&lt;/strong&gt;: LI.FI bridging, Across protocol&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Liquid Staking&lt;/strong&gt;: Jito (Solana), Lido (Ethereum)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Prediction Markets&lt;/strong&gt;: Polymarket for event-driven strategies&lt;/p&gt;

&lt;p&gt;Each protocol is accessible through the same authentication pattern and response format, so your trading logic stays consistent even as you add new protocols:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check DeFi positions across all protocols&lt;/span&gt;
curl http://127.0.0.1:3100/v1/defi/positions &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt;

&lt;span class="c"&gt;# Open Hyperliquid perpetual position&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/hyperliquid/open-position &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "market": "SOL-USD",
    "side": "long",
    "size": "10",
    "leverage": 5
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Gas Conditional Execution: Only Trade When Profitable
&lt;/h2&gt;

&lt;p&gt;Trading bots need to factor gas costs into profitability calculations. WAIaaS includes gas conditional execution — your transactions only execute when network conditions meet your thresholds. No more profitable arbitrage opportunities eaten alive by gas spikes.&lt;/p&gt;

&lt;p&gt;The 7-stage transaction pipeline includes gas condition checking, so you can set maximum gas prices per transaction type. Your MEV bot can queue transactions that only execute when gas drops below your profitability threshold.&lt;/p&gt;

&lt;h2&gt;
  
  
  Risk Controls That Don't Kill Performance
&lt;/h2&gt;

&lt;p&gt;High-frequency trading needs risk controls that work at speed. WAIaaS uses 21 policy types with 4 security tiers to protect your trading capital without slowing execution:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create trading-specific policies&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: &amp;lt;password&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "SPENDING_LIMIT",
    "rules": {
      "instant_max_usd": 1000,
      "daily_limit_usd": 50000,
      "token_limits": {
        "native:solana": {"instant_max": "10"}
      }
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;INSTANT tier&lt;/strong&gt;: Small trades execute immediately&lt;br&gt;&lt;br&gt;
&lt;strong&gt;NOTIFY tier&lt;/strong&gt;: Medium trades execute with logging&lt;br&gt;&lt;br&gt;
&lt;strong&gt;DELAY tier&lt;/strong&gt;: Large trades wait for gas optimization&lt;br&gt;&lt;br&gt;
&lt;strong&gt;APPROVAL tier&lt;/strong&gt;: Whale trades need human confirmation&lt;/p&gt;

&lt;p&gt;Your bot gets the speed it needs for small opportunities while protecting against catastrophic losses.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Start: Trading Bot in 5 Steps
&lt;/h2&gt;

&lt;p&gt;Here's how to get your trading bot connected to reliable wallet infrastructure:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Deploy WAIaaS daemon:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; 127.0.0.1:3100:3100 ghcr.io/minhoyoo-iotrust/waiaas:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create trading wallet and session:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create Solana mainnet wallet&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/wallets &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: &amp;lt;password&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"name": "trading-bot", "chain": "solana", "environment": "mainnet"}'&lt;/span&gt;

&lt;span class="c"&gt;# Create session for bot authentication&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/sessions &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: &amp;lt;password&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"walletId": "&amp;lt;wallet-uuid&amp;gt;"}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set risk policies for your trading strategy:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: &amp;lt;password&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "ALLOWED_TOKENS",
    "rules": {"tokens": [
      {"address": "So11111111111111111111111111111111111111112", "symbol": "SOL", "chain": "solana"},
      {"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "symbol": "USDC", "chain": "solana"}
    ]}
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Test your first trade:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Dry-run a Jupiter swap to test integration&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &amp;lt;session-token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "inputMint": "So11111111111111111111111111111111111111112",
    "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "100000000",
    "dryRun": true
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Explore the interactive API docs:&lt;/strong&gt;
Open &lt;code&gt;http://127.0.0.1:3100/reference&lt;/code&gt; to see all available endpoints, test different protocols, and understand response formats.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;Your trading bot now has access to institutional-grade wallet infrastructure with multi-protocol DeFi access, gas optimization, and configurable risk controls. The auto-generated OpenAPI specification means you can integrate any language or framework that supports REST APIs.&lt;/p&gt;

&lt;p&gt;Ready to build faster, more reliable trading bots? Check out the &lt;a href="https://github.com/minhoyoo-iotrust/WAIaaS" rel="noopener noreferrer"&gt;WAIaaS repository&lt;/a&gt; for the complete implementation, or visit &lt;a href="https://waiaas.ai" rel="noopener noreferrer"&gt;waiaas.ai&lt;/a&gt; to learn more about production deployment options.&lt;/p&gt;

</description>
      <category>api</category>
      <category>defi</category>
      <category>web3</category>
      <category>typescript</category>
    </item>
    <item>
      <title>631 Tests Later: Why AI Agents Need Battle-Tested Financial Infrastructure</title>
      <dc:creator>Wallet Guy</dc:creator>
      <pubDate>Wed, 10 Jun 2026 16:43:29 +0000</pubDate>
      <link>https://dev.to/walletguy/631-tests-later-why-ai-agents-need-battle-tested-financial-infrastructure-2m09</link>
      <guid>https://dev.to/walletguy/631-tests-later-why-ai-agents-need-battle-tested-financial-infrastructure-2m09</guid>
      <description>&lt;p&gt;AI agents will need to pay for compute, data, and API calls autonomously. The current payment infrastructure requires human intervention at every transaction — credit cards need approval, bank transfers require manual initiation, and even crypto wallets depend on humans to sign transactions. As AI agents become more capable and autonomous, this payment bottleneck becomes the critical missing piece of the agent economy infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Autonomous Payments Matter
&lt;/h2&gt;

&lt;p&gt;We're approaching an inflection point where AI agents will operate independently for hours or days, making thousands of micro-decisions that require payments. An agent analyzing market data might need to pay for real-time price feeds, historical datasets, news APIs, and compute resources — all within seconds. Human-in-the-loop payment approval breaks this autonomous operation model.&lt;/p&gt;

&lt;p&gt;The economic implications are massive. Agents that can pay for resources autonomously can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scale compute dynamically based on workload&lt;/li&gt;
&lt;li&gt;Access premium data sources in real-time&lt;/li&gt;
&lt;li&gt;Collaborate with other agents in peer-to-peer transactions&lt;/li&gt;
&lt;li&gt;Optimize costs by choosing the best-priced services moment by moment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But today's payment rails weren't designed for this. Credit cards assume human cardholders. Bank APIs require lengthy compliance processes. Even crypto wallets typically require human signature approval for security.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Infrastructure AI Agents Actually Need
&lt;/h2&gt;

&lt;p&gt;After building and testing WAIaaS through 683+ test files across 15 packages, we've learned that AI agents need three specific capabilities that traditional payment infrastructure can't provide:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Policy-Driven Autonomous Execution
&lt;/h3&gt;

&lt;p&gt;Agents need wallets that can execute payments without human approval while staying within predefined boundaries. WAIaaS implements this through a policy engine with 21 policy types and 4 security tiers (INSTANT, NOTIFY, DELAY, APPROVAL).&lt;/p&gt;

&lt;p&gt;For example, an agent can be configured to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Execute payments under $10 instantly&lt;/li&gt;
&lt;li&gt;Send notifications for payments $10-100&lt;/li&gt;
&lt;li&gt;Add a 5-minute delay for payments $100-1000&lt;/li&gt;
&lt;li&gt;Require human approval for anything above $1000
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "SPENDING_LIMIT",
    "rules": {
      "instant_max_usd": 10,
      "notify_max_usd": 100,
      "delay_max_usd": 1000,
      "delay_seconds": 300,
      "daily_limit_usd": 5000
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Native HTTP Payment Protocol
&lt;/h3&gt;

&lt;p&gt;The x402 HTTP payment protocol lets agents pay for API calls automatically. When an agent hits a paywall (HTTP 402 status), it can pay the requested amount and retry the request — all without human intervention.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;WAIaaSClient&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@waiaas/sdk&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;WAIaaSClient&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;baseUrl&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;http://127.0.0.1:3100&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;sessionToken&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;WAIAAS_SESSION_TOKEN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Agent pays for API access automatically&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;x402Fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.example.com/premium-data&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;GET&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Accept&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This enables true machine-to-machine commerce where agents can access any service that accepts crypto payments, with costs automatically deducted from their wallet balance.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Multi-Chain DeFi Integration
&lt;/h3&gt;

&lt;p&gt;Agents need access to the full DeFi ecosystem — not just basic transfers. WAIaaS integrates 15 DeFi protocol providers including Jupiter swap, Lido staking, Aave lending, and Hyperliquid perpetual futures.&lt;/p&gt;

&lt;p&gt;An agent can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Swap tokens for better pricing&lt;/li&gt;
&lt;li&gt;Stake assets to earn yield&lt;/li&gt;
&lt;li&gt;Borrow against collateral&lt;/li&gt;
&lt;li&gt;Trade perpetual futures&lt;/li&gt;
&lt;li&gt;Bridge assets across chains
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "inputMint": "So11111111111111111111111111111111111111112",
    "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "1000000000"
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Agent Integration Through MCP
&lt;/h2&gt;

&lt;p&gt;The key insight is that agents shouldn't need to understand wallet mechanics or blockchain transactions. They should use natural language: "Check my balance," "Swap 0.1 SOL for USDC," "Pay for this API call."&lt;/p&gt;

&lt;p&gt;WAIaaS provides 45 MCP tools that integrate directly with Claude Desktop and other AI frameworks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"waiaas"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"@waiaas/mcp"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"WAIAAS_BASE_URL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"http://127.0.0.1:3100"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"WAIAAS_SESSION_TOKEN"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"wai_sess_&amp;lt;your-token&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"WAIAAS_DATA_DIR"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"~/.waiaas"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After setup, Claude can check balances, execute trades, pay for API calls, and manage DeFi positions using natural language — all backed by real blockchain transactions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Agent Economy Examples
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Autonomous Trading Agent
&lt;/h3&gt;

&lt;p&gt;A trading agent monitors multiple markets, pays for real-time data feeds, executes trades based on signals, and stakes idle assets for yield. The agent operates 24/7 with policies that allow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instant execution of trades under $100&lt;/li&gt;
&lt;li&gt;Automatic payment for market data APIs&lt;/li&gt;
&lt;li&gt;Daily spending limits to prevent runaway costs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  AI Research Assistant
&lt;/h3&gt;

&lt;p&gt;An agent that needs to access academic papers, datasets, and compute resources pays for each service automatically. It can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pay for premium research database access&lt;/li&gt;
&lt;li&gt;Purchase compute credits for large model inference&lt;/li&gt;
&lt;li&gt;Tip other agents for valuable data or analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cross-Chain Arbitrage Bot
&lt;/h3&gt;

&lt;p&gt;An agent that finds price differences across chains and executes arbitrage trades. It uses LI.FI and Across protocol integrations to bridge assets automatically, with policies that ensure profitable trades while limiting maximum position sizes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started with Agent Wallets
&lt;/h2&gt;

&lt;p&gt;Setting up autonomous payment infrastructure takes just a few commands:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install and initialize WAIaaS&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @waiaas/cli
waiaas init &lt;span class="nt"&gt;--auto-provision&lt;/span&gt;
waiaas start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create agent wallets&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;waiaas quickset &lt;span class="nt"&gt;--mode&lt;/span&gt; mainnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set up MCP integration&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;waiaas mcp setup &lt;span class="nt"&gt;--all&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Configure policies for autonomous operation&lt;/strong&gt;:&lt;br&gt;
Create spending limits, token whitelists, and security tiers that match your agent's needs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Test autonomous payments&lt;/strong&gt;:&lt;br&gt;
Try x402 payments, DeFi actions, and cross-chain operations to verify the agent can operate independently.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;The agent economy is already emerging. We're seeing early experiments with agents that trade, provide services, and collaborate with other agents. The infrastructure layer — autonomous wallets with policy engines — is what enables this transition from human-operated tools to truly autonomous economic actors.&lt;/p&gt;

&lt;p&gt;To start building with battle-tested agent wallet infrastructure, check out the &lt;a href="https://github.com/minhoyoo-iotrust/WAIaaS" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt; or explore the full capabilities at &lt;a href="https://waiaas.ai" rel="noopener noreferrer"&gt;waiaas.ai&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>testing</category>
      <category>opensource</category>
      <category>architecture</category>
    </item>
    <item>
      <title>39 REST API Routes: Complete Trading Bot Integration Guide</title>
      <dc:creator>Wallet Guy</dc:creator>
      <pubDate>Wed, 10 Jun 2026 10:36:42 +0000</pubDate>
      <link>https://dev.to/walletguy/39-rest-api-routes-complete-trading-bot-integration-guide-2bb9</link>
      <guid>https://dev.to/walletguy/39-rest-api-routes-complete-trading-bot-integration-guide-2bb9</guid>
      <description>&lt;p&gt;Trading bots need reliable wallet infrastructure with low-latency execution and built-in risk controls. WAIaaS provides 39 REST API routes that handle everything from basic token transfers to complex multi-protocol DeFi strategies, with gas optimization and policy enforcement built directly into the transaction pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Wallet Infrastructure Makes or Breaks Trading Bots
&lt;/h2&gt;

&lt;p&gt;Your arbitrage bot spots a 2% price difference between Jupiter and Drift. You have maybe 3-4 seconds before other bots close the gap. But your current setup requires three separate wallet integrations, manual gas estimation, and zero protection against fat-finger trades that could drain your entire balance.&lt;/p&gt;

&lt;p&gt;This is where most trading bots fail — not in strategy logic, but in execution infrastructure. You need wallet operations that are fast, reliable, and protected by configurable policies. Every API call should execute predictably, whether you're swapping $100 or $10,000.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Complete API: From Basic Operations to Advanced Trading
&lt;/h2&gt;

&lt;p&gt;WAIaaS exposes 39 REST API routes covering every aspect of wallet operations. Let's walk through how a sophisticated trading bot would use these endpoints.&lt;/p&gt;

&lt;h3&gt;
  
  
  Session Authentication for High-Frequency Operations
&lt;/h3&gt;

&lt;p&gt;Trading bots need fast authentication without compromising security. WAIaaS uses JWT session tokens that avoid expensive cryptographic operations on every request:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create a session for your trading bot (one-time setup)&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/sessions &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"walletId": "&amp;lt;wallet-uuid&amp;gt;"}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once you have a session token, every subsequent API call uses fast Bearer authentication:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check wallet balance (sub-100ms response)&lt;/span&gt;
curl http://127.0.0.1:3100/v1/wallet/balance &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_eyJhbGciOiJIUzI1NiJ9..."&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Multi-Protocol DeFi Execution
&lt;/h3&gt;

&lt;p&gt;Your trading bot can access 15 DeFi protocols through standardized action endpoints. Execute swaps on Jupiter, open perp positions on Drift, and provide liquidity on Kamino — all through the same API pattern:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Swap SOL → USDC on Jupiter&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "inputMint": "So11111111111111111111111111111111111111112",
    "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "1000000000"
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Open leveraged position on Hyperliquid&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/hyperliquid/place-order &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "coin": "ETH",
    "is_buy": true,
    "sz": "0.1",
    "limit_px": "3500",
    "order_type": "Limit"
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Gas-Conditional Execution
&lt;/h3&gt;

&lt;p&gt;This is where WAIaaS shines for trading bots. You can set gas price thresholds so transactions only execute when network conditions are favorable:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Only execute this swap if gas &amp;lt; 50 gwei&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/transactions/send &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "type": "TRANSFER",
    "to": "recipient-address",
    "amount": "0.1",
    "gasCondition": {
      "maxGasPrice": "50000000000"
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Transaction Simulation and Dry-Run
&lt;/h3&gt;

&lt;p&gt;Before risking real funds, simulate transactions to verify they'll succeed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/transactions/send &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "type": "TRANSFER",
    "to": "recipient-address",
    "amount": "0.1",
    "dryRun": true
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This returns the exact same response format as a real transaction, but without broadcasting to the network. Perfect for testing complex DeFi strategies.&lt;/p&gt;

&lt;h3&gt;
  
  
  Batch Transaction Execution
&lt;/h3&gt;

&lt;p&gt;Execute multiple operations atomically. Critical for arbitrage strategies that need guaranteed execution across multiple protocols:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/transactions/send &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "type": "BATCH",
    "transactions": [
      {
        "type": "TRANSFER",
        "to": "address1",
        "amount": "0.1"
      },
      {
        "type": "TOKEN_TRANSFER",
        "to": "address2",
        "tokenAddress": "token-mint",
        "amount": "100"
      }
    ]
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Policy-Based Risk Management
&lt;/h3&gt;

&lt;p&gt;Configure spending limits and security policies that protect your bot from catastrophic losses. The 7-stage transaction pipeline enforces these policies automatically:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create a policy that limits instant trades to $100&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "SPENDING_LIMIT",
    "rules": {
      "instant_max_usd": 100,
      "notify_max_usd": 500,
      "delay_max_usd": 2000,
      "delay_seconds": 900,
      "daily_limit_usd": 5000
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;WAIaaS supports 21 policy types with 4 security tiers. Trades under $100 execute instantly. Trades $100-$500 execute with notifications. Larger trades can be delayed or require manual approval.&lt;/p&gt;

&lt;h3&gt;
  
  
  Real-Time Transaction Monitoring
&lt;/h3&gt;

&lt;p&gt;Monitor transaction status and get detailed execution data:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Get transaction details and status&lt;/span&gt;
curl http://127.0.0.1:3100/v1/transactions/&amp;lt;tx-id&amp;gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response includes execution stage, gas costs, and any policy decisions that affected the transaction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advanced Trading Scenarios
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Cross-Chain Arbitrage Bot
&lt;/h3&gt;

&lt;p&gt;Your bot spots a price difference between Ethereum and Solana markets. WAIaaS handles the complexity:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Bridge USDC from Ethereum to Solana via LI.FI&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/lifi/transfer &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "fromChain": "ethereum",
    "toChain": "solana",
    "fromToken": "0xA0b86a33E6c5...",
    "toToken": "EPjFWdd5Auf...",
    "amount": "1000000000"
  }'&lt;/span&gt;

&lt;span class="c"&gt;# 2. Once bridged, swap USDC → SOL on Jupiter&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "inputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "outputMint": "So11111111111111111111111111111111111111112",
    "amount": "1000000000"
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Yield Farming Bot
&lt;/h3&gt;

&lt;p&gt;Automatically compound rewards across multiple protocols:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Check current DeFi positions&lt;/span&gt;
curl http://127.0.0.1:3100/v1/defi/positions &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt;

&lt;span class="c"&gt;# 2. Harvest rewards from Kamino&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/kamino/harvest &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"position_id": "&amp;lt;position-id&amp;gt;"}'&lt;/span&gt;

&lt;span class="c"&gt;# 3. Swap rewards to base asset&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"inputMint": "&amp;lt;reward-token&amp;gt;", "outputMint": "&amp;lt;base-token&amp;gt;"}'&lt;/span&gt;

&lt;span class="c"&gt;# 4. Reinvest in strategy&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/kamino/deposit &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"strategy": "&amp;lt;strategy-id&amp;gt;", "amount": "&amp;lt;amount&amp;gt;"}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  MEV Protection and Timing
&lt;/h3&gt;

&lt;p&gt;Use the transaction pipeline's delay mechanism for MEV-sensitive operations:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Delay execution by 60 seconds to avoid MEV&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/transactions/send &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "type": "TRANSFER",
    "amount": "1.0",
    "delaySeconds": 60
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  OpenAPI Documentation for Development
&lt;/h2&gt;

&lt;p&gt;WAIaaS auto-generates OpenAPI 3.0 specs with interactive documentation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Download machine-readable API spec&lt;/span&gt;
curl http://127.0.0.1:3100/doc &lt;span class="nt"&gt;-o&lt;/span&gt; openapi.json

&lt;span class="c"&gt;# View interactive docs in browser&lt;/span&gt;
open http://127.0.0.1:3100/reference
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The interactive Scalar API reference lets you test endpoints directly, perfect for development and debugging.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Start: Deploy Your Trading Bot
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Deploy WAIaaS with Docker&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/minhoyoo-iotrust/WAIaaS.git
&lt;span class="nb"&gt;cd &lt;/span&gt;WAIaaS
docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2: Create a trading wallet and session&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create Solana mainnet wallet&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/wallets &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"name": "trading-bot", "chain": "solana", "environment": "mainnet"}'&lt;/span&gt;

&lt;span class="c"&gt;# Create session for your bot&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/sessions &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"walletId": "&amp;lt;wallet-uuid&amp;gt;"}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3: Configure trading policies&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Set spending limits and risk controls&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "SPENDING_LIMIT",
    "rules": {
      "instant_max_usd": 1000,
      "daily_limit_usd": 10000
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4: Test with a simple swap&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Execute your first trade&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;your-token&amp;gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "inputMint": "So11111111111111111111111111111111111111112",
    "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "100000000"
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 5: Monitor and scale&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Use the transaction monitoring endpoints to track performance and adjust your strategies based on real execution data.&lt;/p&gt;

&lt;p&gt;The infrastructure handles wallet management, transaction signing, policy enforcement, and protocol integrations. You focus on strategy logic and market analysis.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;Ready to build? Check out the &lt;a href="https://github.com/minhoyoo-iotrust/WAIaaS" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt; for complete setup instructions and examples. Visit &lt;a href="https://waiaas.ai" rel="noopener noreferrer"&gt;waiaas.ai&lt;/a&gt; for comprehensive documentation and advanced configuration guides.&lt;/p&gt;

&lt;p&gt;Your trading bot deserves infrastructure that matches its sophistication. Stop wrestling with wallet integrations and start executing profitable strategies.&lt;/p&gt;

</description>
      <category>api</category>
      <category>defi</category>
      <category>trading</category>
      <category>typescript</category>
    </item>
    <item>
      <title>21 Policy Types, Default-Deny: Building Bulletproof AI Agent Security</title>
      <dc:creator>Wallet Guy</dc:creator>
      <pubDate>Tue, 09 Jun 2026 16:12:02 +0000</pubDate>
      <link>https://dev.to/walletguy/21-policy-types-default-deny-building-bulletproof-ai-agent-security-da5</link>
      <guid>https://dev.to/walletguy/21-policy-types-default-deny-building-bulletproof-ai-agent-security-da5</guid>
      <description>&lt;p&gt;Building bulletproof AI agent security requires more than just hoping your agent won't make mistakes—you need systematic policy enforcement that assumes your agent will eventually try something dangerous. WAIaaS implements 21 policy types with default-deny enforcement, creating multiple security layers between your AI agent and your funds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why AI Agent Security Can't Be an Afterthought
&lt;/h2&gt;

&lt;p&gt;Here's the uncomfortable truth: AI agents with wallet access will eventually surprise you. They'll misunderstand instructions, hallucinate token addresses, or try to approve unlimited spending to unknown contracts. The question isn't whether something will go wrong—it's whether your security system will catch it.&lt;/p&gt;

&lt;p&gt;Traditional wallet security assumes a human is making every decision. But AI agents operate differently: they make hundreds of micro-decisions per hour, they can't distinguish between "spend $10" and "spend $10,000" without context, and they'll confidently execute any transaction that seems reasonable based on their training.&lt;/p&gt;

&lt;p&gt;This is where most crypto AI projects fail. They either give agents unrestricted wallet access (dangerous) or try to solve security through better prompting (ineffective). WAIaaS takes a different approach: assume the agent will eventually do something wrong, then build systems to prevent damage.&lt;/p&gt;

&lt;h2&gt;
  
  
  3-Layer Security: Defense in Depth
&lt;/h2&gt;

&lt;p&gt;WAIaaS implements three security layers that work together to prevent unauthorized transactions:&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 1: Session Authentication + Time Limits
&lt;/h3&gt;

&lt;p&gt;Every AI agent gets a limited session token, not direct wallet access. Sessions expire automatically and can be revoked instantly.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create a session with 24-hour expiry&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/sessions &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "ttl": 86400,
    "maxRenewals": 5
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Layer 2: Policy Engine with Default-Deny
&lt;/h3&gt;

&lt;p&gt;This is where WAIaaS gets serious about security. Instead of hoping your agent behaves, policies enforce exactly what's allowed and block everything else.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Default-deny token policy: agent can only touch USDC and SOL&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "ALLOWED_TOKENS",
    "rules": {
      "tokens": [
        {"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "symbol": "USDC", "chain": "solana"},
        {"address": "native:solana", "symbol": "SOL", "chain": "solana"}
      ]
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Layer 3: 4-Tier Approval System
&lt;/h3&gt;

&lt;p&gt;Every transaction gets classified into one of four security tiers based on amount and risk:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Spending limits with escalating security&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "SPENDING_LIMIT",
    "rules": {
      "instant_max_usd": 10,
      "notify_max_usd": 100,
      "delay_max_usd": 1000,
      "delay_seconds": 900,
      "daily_limit_usd": 5000
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates four security tiers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;INSTANT&lt;/strong&gt;: ≤$10 executes immediately&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NOTIFY&lt;/strong&gt;: ≤$100 executes with notification&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DELAY&lt;/strong&gt;: ≤$1000 waits 15 minutes (cancellable)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;APPROVAL&lt;/strong&gt;: &amp;gt;$1000 requires human approval&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The 21 Policy Types: Granular Control
&lt;/h2&gt;

&lt;p&gt;WAIaaS provides 21 different policy types because different applications need different restrictions. Here are the most important ones for security:&lt;/p&gt;

&lt;h3&gt;
  
  
  ALLOWED_TOKENS: Default-Deny Token Control
&lt;/h3&gt;

&lt;p&gt;Without this policy, your agent can interact with any token. With it, only whitelisted tokens are accessible.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ALLOWED_TOKENS"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"rules"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"tokens"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"address"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"symbol"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"USDC"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"chain"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"solana"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  CONTRACT_WHITELIST: Only Approved Protocols
&lt;/h3&gt;

&lt;p&gt;Prevents your agent from interacting with unknown or malicious contracts.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"CONTRACT_WHITELIST"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; 
  &lt;/span&gt;&lt;span class="nl"&gt;"rules"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"contracts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"address"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Jupiter"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"chain"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"solana"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  APPROVED_SPENDERS: Block Unlimited Approvals
&lt;/h3&gt;

&lt;p&gt;Prevents the classic "approve unlimited spending" attack vector.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"APPROVED_SPENDERS"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"rules"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"spenders"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"address"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0xDEF1..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Uniswap Router"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"maxAmount"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1000000000"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  RATE_LIMIT: Prevent Transaction Spam
&lt;/h3&gt;

&lt;p&gt;Limits how many transactions your agent can execute per hour/day.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"RATE_LIMIT"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"rules"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"maxTransactions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"period"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"hourly"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  TIME_RESTRICTION: Business Hours Only
&lt;/h3&gt;

&lt;p&gt;Prevents overnight surprises by restricting when transactions can execute.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"TIME_RESTRICTION"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"rules"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"allowedHours"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"start"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"end"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"timezone"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"UTC"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Default-Deny: Secure by Default
&lt;/h2&gt;

&lt;p&gt;The most important security concept in WAIaaS is default-deny enforcement. Here's how it works:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Without ALLOWED_TOKENS policy&lt;/strong&gt;: Agent can interact with any token (dangerous)&lt;br&gt;
&lt;strong&gt;With ALLOWED_TOKENS policy&lt;/strong&gt;: Agent can only touch whitelisted tokens&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Without CONTRACT_WHITELIST policy&lt;/strong&gt;: Agent can call any smart contract (dangerous)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;With CONTRACT_WHITELIST policy&lt;/strong&gt;: Agent can only interact with approved contracts&lt;/p&gt;

&lt;p&gt;This means you explicitly define what's allowed, and everything else is automatically blocked. No surprises.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check what policies are protecting a wallet&lt;/span&gt;
curl http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wai_sess_&amp;lt;token&amp;gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Human-in-the-Loop Approval Channels
&lt;/h2&gt;

&lt;p&gt;When transactions exceed policy limits, WAIaaS has multiple channels to request human approval:&lt;/p&gt;

&lt;h3&gt;
  
  
  WalletConnect Integration
&lt;/h3&gt;

&lt;p&gt;High-value transactions can require approval through MetaMask or other WalletConnect wallets.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Connect owner's wallet for approvals&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/walletconnect/connect &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Push Notifications
&lt;/h3&gt;

&lt;p&gt;Get notified immediately when your agent tries something unusual:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Setup push notifications&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/notifications/setup &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"channel": "push", "endpoint": "https://..."}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Kill Switch Recovery
&lt;/h3&gt;

&lt;p&gt;If something goes wrong, you can immediately revoke all agent access:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Emergency: revoke all sessions&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; DELETE http://127.0.0.1:3100/v1/sessions/all &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Example: Securing a Trading Agent
&lt;/h2&gt;

&lt;p&gt;Here's how you'd secure an AI trading agent that should only trade SOL/USDC on Jupiter with strict limits:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Create spending limits&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "SPENDING_LIMIT", 
    "rules": {
      "instant_max_usd": 50,
      "notify_max_usd": 200,
      "delay_max_usd": 500,
      "delay_seconds": 600,
      "daily_limit_usd": 1000
    }
  }'&lt;/span&gt;

&lt;span class="c"&gt;# 2. Lock down to SOL and USDC only&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "ALLOWED_TOKENS",
    "rules": {
      "tokens": [
        {"address": "native:solana", "symbol": "SOL", "chain": "solana"},
        {"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "symbol": "USDC", "chain": "solana"}
      ]
    }
  }'&lt;/span&gt;

&lt;span class="c"&gt;# 3. Only allow Jupiter for swaps&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "CONTRACT_WHITELIST",
    "rules": {
      "contracts": [
        {"address": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", "name": "Jupiter", "chain": "solana"}
      ]
    }
  }'&lt;/span&gt;

&lt;span class="c"&gt;# 4. Prevent transaction spam&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: my-secret-password"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "RATE_LIMIT",
    "rules": {
      "maxTransactions": 20,
      "period": "hourly"
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With these policies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agent can only trade SOL and USDC&lt;/li&gt;
&lt;li&gt;Agent can only use Jupiter (no unknown DEXs)&lt;/li&gt;
&lt;li&gt;Trades &amp;gt;$50 send notifications&lt;/li&gt;
&lt;li&gt;Trades &amp;gt;$200 have 10-minute delays&lt;/li&gt;
&lt;li&gt;Trades &amp;gt;$500 require approval&lt;/li&gt;
&lt;li&gt;Max $1000 per day&lt;/li&gt;
&lt;li&gt;Max 20 transactions per hour&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quick Start: Secure Agent Setup
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install and start WAIaaS&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @waiaas/cli
waiaas init
waiaas start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create a wallet with restrictive policies&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;waiaas wallet create &lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"secure-agent"&lt;/span&gt; &lt;span class="nt"&gt;--chain&lt;/span&gt; solana
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set up token whitelist&lt;/strong&gt; (replace with your desired tokens):
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: &lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; ~/.waiaas/master-password&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"walletId": "&amp;lt;wallet-id&amp;gt;", "type": "ALLOWED_TOKENS", "rules": {"tokens": [{"address": "native:solana", "symbol": "SOL", "chain": "solana"}]}}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create spending limits&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-Master-Password: &lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; ~/.waiaas/master-password&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"walletId": "&amp;lt;wallet-id&amp;gt;", "type": "SPENDING_LIMIT", "rules": {"instant_max_usd": 10, "notify_max_usd": 50, "delay_max_usd": 200, "delay_seconds": 300, "daily_limit_usd": 500}}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create agent session&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;waiaas session create &lt;span class="nt"&gt;--wallet-id&lt;/span&gt; &amp;lt;wallet-id&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now your agent has strictly limited access: only approved tokens, spending limits with escalating security, and human approval for large transactions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;Security is an ongoing process, not a one-time setup. Start with restrictive policies and gradually expand permissions as you gain confidence in your agent's behavior. Monitor transaction patterns and adjust limits based on actual usage.&lt;/p&gt;

&lt;p&gt;Ready to build secure AI agents? Check out the &lt;a href="https://github.com/minhoyoo-iotrust/WAIaaS" rel="noopener noreferrer"&gt;WAIaaS GitHub repository&lt;/a&gt; for complete documentation and examples. Visit &lt;a href="https://waiaas.ai" rel="noopener noreferrer"&gt;waiaas.ai&lt;/a&gt; to learn more about advanced security features and production deployment patterns.&lt;/p&gt;

</description>
      <category>security</category>
      <category>ai</category>
      <category>web3</category>
      <category>opensource</category>
    </item>
    <item>
      <title>15-Package Monorepo in Docker: Microservices Architecture for AI Agent Wallets</title>
      <dc:creator>Wallet Guy</dc:creator>
      <pubDate>Tue, 09 Jun 2026 10:05:37 +0000</pubDate>
      <link>https://dev.to/walletguy/15-package-monorepo-in-docker-microservices-architecture-for-ai-agent-wallets-198a</link>
      <guid>https://dev.to/walletguy/15-package-monorepo-in-docker-microservices-architecture-for-ai-agent-wallets-198a</guid>
      <description>&lt;p&gt;Building an AI agent's wallet infrastructure shouldn't require trusting third parties with your private keys or being locked into hosted services. WAIaaS's 15-package monorepo architecture runs entirely on your hardware, giving you complete control over your agent's financial operations while maintaining the convenience of microservices design.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Self-Hosted Wallet Infrastructure Matters
&lt;/h2&gt;

&lt;p&gt;The cryptocurrency space was built on the principle of "not your keys, not your crypto" — yet many AI agent wallet solutions force you to trust external services with your most sensitive operations. When your trading bot needs to execute thousands of transactions daily, or your DeFi agent manages substantial positions, custody becomes a critical concern.&lt;/p&gt;

&lt;p&gt;Beyond security, self-hosting eliminates API rate limits, reduces latency to your local applications, and ensures your agent wallet infrastructure remains available even when third-party services experience outages. You're building for the long term, not renting access to someone else's vision of how wallets should work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Monorepo Microservices Solution
&lt;/h2&gt;

&lt;p&gt;WAIaaS solves this through a carefully designed 15-package monorepo that runs as containerized microservices. Each package handles a specific concern, from transaction processing to DeFi integrations, while maintaining clear separation of responsibilities.&lt;/p&gt;

&lt;p&gt;The core packages break down into several categories:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Core Infrastructure&lt;/strong&gt;: The &lt;code&gt;daemon&lt;/code&gt; package provides the REST API with 39 route modules, while &lt;code&gt;core&lt;/code&gt; contains shared schemas and types. The &lt;code&gt;shared&lt;/code&gt; package handles cross-package utilities, and &lt;code&gt;wallet-sdk&lt;/code&gt; manages private key operations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Agent Integration&lt;/strong&gt;: The &lt;code&gt;mcp&lt;/code&gt; package provides 45 MCP tools for Claude and other AI frameworks, while &lt;code&gt;openclaw-plugin&lt;/code&gt; offers 5 tools for external agent platforms. The &lt;code&gt;sdk&lt;/code&gt; package delivers both TypeScript and Python client libraries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DeFi Operations&lt;/strong&gt;: The &lt;code&gt;actions&lt;/code&gt; package integrates 15 DeFi protocol providers including Jupiter, Uniswap, Aave, and Lido. Protocol-specific logic stays isolated while sharing common transaction patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Interfaces&lt;/strong&gt;: The &lt;code&gt;admin&lt;/code&gt; package provides a Preact-based web UI for policy management and wallet oversight. The &lt;code&gt;cli&lt;/code&gt; package offers 20 commands for setup and maintenance operations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Specialized Services&lt;/strong&gt;: &lt;code&gt;push-relay&lt;/code&gt; handles mobile notifications, &lt;code&gt;adapters&lt;/code&gt; manages external service integrations, and &lt;code&gt;skills&lt;/code&gt; provides pre-built agent behaviors.&lt;/p&gt;

&lt;p&gt;Here's how the architecture looks in practice:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;daemon&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ghcr.io/minhoyoo-iotrust/waiaas:latest&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;waiaas-daemon&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;127.0.0.1:3100:3100"&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;waiaas-data:/data&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;WAIAAS_DATA_DIR=/data&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;WAIAAS_DAEMON_HOSTNAME=0.0.0.0&lt;/span&gt;
    &lt;span class="na"&gt;restart&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;unless-stopped&lt;/span&gt;
    &lt;span class="na"&gt;healthcheck&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;test&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;CMD"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;curl"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;-f"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;http://localhost:3100/health"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
      &lt;span class="na"&gt;interval&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;30s&lt;/span&gt;
      &lt;span class="na"&gt;timeout&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;5s&lt;/span&gt;
      &lt;span class="na"&gt;retries&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt;

  &lt;span class="na"&gt;push-relay&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ghcr.io/minhoyoo-iotrust/waiaas:latest&lt;/span&gt;
    &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;push-relay"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;WAIAAS_DAEMON_URL=http://daemon:3100&lt;/span&gt;
    &lt;span class="na"&gt;depends_on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;daemon&lt;/span&gt;

&lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;waiaas-data&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;driver&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;local&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The daemon serves as the central coordinator, exposing a REST API that handles everything from balance queries to complex DeFi operations. The 7-stage transaction pipeline ensures security while maintaining performance — each transaction flows through validation, authentication, policy checks, optional delays, execution, and confirmation stages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Production-Ready Container Design
&lt;/h2&gt;

&lt;p&gt;The Docker implementation prioritizes security and operational best practices. The container runs as a non-root user (UID 1001), includes comprehensive healthchecks, and supports Docker Secrets for production credential management.&lt;/p&gt;

&lt;p&gt;Auto-provisioning eliminates the cold-start problem for new deployments:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--name&lt;/span&gt; waiaas &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-p&lt;/span&gt; 127.0.0.1:3100:3100 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-v&lt;/span&gt; waiaas-data:/data &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;WAIAAS_AUTO_PROVISION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  ghcr.io/minhoyoo-iotrust/waiaas:latest

&lt;span class="c"&gt;# Retrieve auto-generated master password&lt;/span&gt;
docker &lt;span class="nb"&gt;exec &lt;/span&gt;waiaas &lt;span class="nb"&gt;cat&lt;/span&gt; /data/recovery.key
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The auto-provision feature generates a cryptographically secure master password and stores recovery credentials in the persistent volume. This solves the bootstrapping challenge while maintaining security — you can harden the password later using the CLI.&lt;/p&gt;

&lt;p&gt;For production deployments, the secrets overlay provides secure credential injection:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create secret files&lt;/span&gt;
&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; secrets
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"your-secure-password"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; secrets/master_password.txt
&lt;span class="nb"&gt;chmod &lt;/span&gt;600 secrets/master_password.txt

&lt;span class="c"&gt;# Deploy with secrets overlay&lt;/span&gt;
docker compose &lt;span class="nt"&gt;-f&lt;/span&gt; docker-compose.yml &lt;span class="nt"&gt;-f&lt;/span&gt; docker-compose.secrets.yml up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Policy Engine for Multi-Tenant Security
&lt;/h2&gt;

&lt;p&gt;Self-hosting doesn't mean sacrificing security controls. WAIaaS includes a comprehensive policy engine with 21 policy types and 4 security tiers (INSTANT/NOTIFY/DELAY/APPROVAL) that enforce default-deny semantics.&lt;/p&gt;

&lt;p&gt;Create spending limits with graduated security:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://localhost:3100/v1/policies &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'Content-Type: application/json'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'X-Master-Password: &amp;lt;password&amp;gt;'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "walletId": "&amp;lt;wallet-uuid&amp;gt;",
    "type": "SPENDING_LIMIT",
    "rules": {
      "instant_max_usd": 10,
      "notify_max_usd": 100,
      "delay_max_usd": 1000,
      "delay_seconds": 300,
      "daily_limit_usd": 500
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The policy system operates on default-deny principles — transactions are blocked unless explicitly allowed through ALLOWED_TOKENS or CONTRACT_WHITELIST policies. This ensures your AI agents can't accidentally drain wallets or interact with malicious contracts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comprehensive Monitoring and Operations
&lt;/h2&gt;

&lt;p&gt;Self-hosting requires observability, and WAIaaS provides multiple monitoring channels. The Admin Web UI offers real-time dashboards for wallet balances, transaction history, and DeFi positions across all 15 integrated protocols.&lt;/p&gt;

&lt;p&gt;The CLI provides operational commands for backup, restore, and health monitoring:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create encrypted backups&lt;/span&gt;
waiaas backup create &lt;span class="nt"&gt;--encrypt&lt;/span&gt;

&lt;span class="c"&gt;# Monitor system status&lt;/span&gt;
waiaas status

&lt;span class="c"&gt;# Update to latest version&lt;/span&gt;
waiaas update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Transaction monitoring operates in real-time, tracking incoming deposits and notifying relevant systems through configurable channels including Telegram, push notifications, and webhook endpoints.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Start: Self-Hosted Setup
&lt;/h2&gt;

&lt;p&gt;Getting your own WAIaaS instance running takes just a few commands:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Deploy with Docker Compose&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/minhoyoo-iotrust/WAIaaS.git
&lt;span class="nb"&gt;cd &lt;/span&gt;WAIaaS
docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Initialize and create wallets&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @waiaas/cli
waiaas init &lt;span class="nt"&gt;--auto-provision&lt;/span&gt;
waiaas quickset &lt;span class="nt"&gt;--mode&lt;/span&gt; mainnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Configure AI agent integration&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;waiaas mcp setup &lt;span class="nt"&gt;--all&lt;/span&gt;  &lt;span class="c"&gt;# Auto-register with Claude Desktop&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create your first policy&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;waiaas policy create SPENDING_LIMIT &lt;span class="nt"&gt;--instant-max&lt;/span&gt; 10 &lt;span class="nt"&gt;--daily-limit&lt;/span&gt; 500
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Access the admin interface&lt;/strong&gt;:
Open &lt;code&gt;http://localhost:3100/admin&lt;/code&gt; for wallet management and monitoring.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Your self-hosted wallet infrastructure is now ready to handle AI agent operations with complete sovereignty over your private keys and transaction data.&lt;/p&gt;

&lt;p&gt;For deeper technical insights, check out &lt;a href="https://dev.to/walletguy/waiaas-mcp-integration-45-tools-for-ai-agent-wallet-operations"&gt;WAIaaS MCP Integration: 45 Tools for AI Agent Wallet Operations&lt;/a&gt; and &lt;a href="https://dev.to/walletguy/policy-based-security-for-ai-agent-wallets-21-rules-4-tiers-default-deny"&gt;Policy-Based Security for AI Agent Wallets: 21 Rules, 4 Tiers, Default-Deny&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;Your self-hosted WAIaaS instance provides the foundation for sophisticated AI agent financial operations without compromising on custody or control. Explore the full capabilities in the &lt;a href="https://github.com/minhoyoo-iotrust/WAIaaS" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt; or visit &lt;a href="https://waiaas.ai" rel="noopener noreferrer"&gt;waiaas.ai&lt;/a&gt; for comprehensive documentation and community resources.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>architecture</category>
      <category>selfhosted</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
