<?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: Bill Wilson</title>
    <description>The latest articles on DEV Community by Bill Wilson (@ai-agent-economy).</description>
    <link>https://dev.to/ai-agent-economy</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%2F3782780%2F4d3c4a90-7aee-44e9-acb1-3ef50a88785c.jpg</url>
      <title>DEV Community: Bill Wilson</title>
      <link>https://dev.to/ai-agent-economy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ai-agent-economy"/>
    <language>en</language>
    <item>
      <title>The Agent Economy Weekly - March 23, 2026</title>
      <dc:creator>Bill Wilson</dc:creator>
      <pubDate>Mon, 23 Mar 2026 13:41:40 +0000</pubDate>
      <link>https://dev.to/ai-agent-economy/the-agent-economy-weekly-march-23-2026-2dgi</link>
      <guid>https://dev.to/ai-agent-economy/the-agent-economy-weekly-march-23-2026-2dgi</guid>
      <description>&lt;h1&gt;
  
  
  The Agent Economy Weekly
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;March 23, 2026&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Coinbase's x402 protocol crossed 75 million transactions last week. Google shipped agent capabilities as installable npm-style packages. A local-first agent framework hit 8,500 GitHub stars in under a week. Agent security went from niche to front-page developer discourse in about 72 hours.&lt;/p&gt;

&lt;p&gt;A lot happened. Here's what matters and why.&lt;/p&gt;




&lt;h2&gt;
  
  
  Google's Stitch Skills: Agent Capabilities as Packages
&lt;/h2&gt;

&lt;p&gt;Google Labs shipped &lt;a href="https://github.com/google-labs-code/stitch-skills" rel="noopener noreferrer"&gt;Stitch Skills&lt;/a&gt; -- a framework where agent capabilities are distributed as installable packages. Any MCP-compatible agent can load them. Think npm, but for agent abilities instead of code.&lt;/p&gt;

&lt;p&gt;This is the "skills as packages" model that the &lt;a href="https://agentskills.io" rel="noopener noreferrer"&gt;AgentSkills spec&lt;/a&gt; laid out. If agent capabilities become installable, payment capabilities (x402 negotiation, wallet management, spending policies) are just another skill to install -- not a platform feature locked inside one vendor's ecosystem.&lt;/p&gt;

&lt;p&gt;That's a meaningful shift in how the market structures itself.&lt;/p&gt;




&lt;h2&gt;
  
  
  Project Nomad Hits #1 on GitHub Trending
&lt;/h2&gt;

&lt;p&gt;Project Nomad -- a framework for running AI agents on local hardware with zero cloud dependency -- hit #1 on GitHub Trending and reached HN's front page (#3, 176 points). The repo went from zero to 8,500+ stars in under a week.&lt;/p&gt;

&lt;p&gt;The "sovereign AI" movement is real. Developers want agents that run entirely on their own hardware. No cloud APIs, no vendor lock-in, no data leaving the machine.&lt;/p&gt;

&lt;p&gt;This creates a problem for payment infrastructure that nobody's solved yet. Sovereign agents need non-custodial wallets -- not hosted payment APIs. There's no server to host them on.&lt;/p&gt;




&lt;h2&gt;
  
  
  x402 Hits 75 Million Transactions in 30 Days
&lt;/h2&gt;

&lt;p&gt;Coinbase's x402 protocol crossed &lt;a href="https://x402.org" rel="noopener noreferrer"&gt;75.4M transactions and $24.2M in volume&lt;/a&gt; over the last 30 days. 94K buyers, 22K sellers. Zero fees on both sides.&lt;/p&gt;

&lt;p&gt;This is no longer experimental. x402 is processing real volume at internet scale -- without the account creation, KYC, or credit card processing that traditional API payment flows require.&lt;/p&gt;

&lt;p&gt;The question used to be "will agents pay for APIs?" That question is answered. The question now is which agents pay first.&lt;/p&gt;




&lt;h2&gt;
  
  
  Agent Security Just Became a Mainstream Developer Concern
&lt;/h2&gt;

&lt;p&gt;Three things happened in the same week: a &lt;a href="https://news.ycombinator.com" rel="noopener noreferrer"&gt;Hacker News post on MCP agent security&lt;/a&gt; hit 337 points, a 1Password security researcher published findings on credential exposure in agent tool-calling flows, and Snyk released an audit showing most MCP server implementations lack basic input validation.&lt;/p&gt;

&lt;p&gt;Agent security is no longer a niche concern.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here's what developers building on MCP actually need to know:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most MCP server implementations run with whatever credentials the host process has. There's no standard for scoped permissions per tool invocation. If your agent can read files, it can read all files. If it can make API calls, it can hit any endpoint the credentials allow. The researchers flagging this aren't being alarmist -- the current default is "all or nothing."&lt;/p&gt;

&lt;p&gt;Three patterns that reduce risk without waiting for the ecosystem to catch up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Treat MCP tool access like OAuth scopes. Define the minimum permission set for each tool and enforce it.&lt;/li&gt;
&lt;li&gt;Run MCP servers in sandboxed environments where a compromised tool can't pivot to other resources.&lt;/li&gt;
&lt;li&gt;Log every tool invocation with full context -- who requested it, what parameters were passed, what was returned. Audit after the fact.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Expect standardized permission models baked into MCP clients within the next couple of quarters. The frameworks that ship with secure defaults will win enterprise adoption. The ones that don't will get blocked by security teams before they reach production.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Sources: &lt;a href="https://news.ycombinator.com" rel="noopener noreferrer"&gt;HN MCP security discussion&lt;/a&gt; (337 pts), &lt;a href="https://1password.com" rel="noopener noreferrer"&gt;1Password security research&lt;/a&gt;, &lt;a href="https://snyk.io" rel="noopener noreferrer"&gt;Snyk MCP server audit&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  When Your Agent Can Integrate APIs But Can't Pay for Them
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://news.ycombinator.com" rel="noopener noreferrer"&gt;Hacker News thread&lt;/a&gt; (398 points) reached developer consensus on where LLMs actually deliver value today: integrating systems with well-documented APIs, resolving OAuth scopes, bridging services that don't natively talk to each other. "Connect Salesforce to our internal ticketing system." "Set up the right OAuth flow for this API." Tasks that used to take hours.&lt;/p&gt;

&lt;p&gt;There's a gap the thread barely touched. An agent can read API docs, generate OAuth configuration, handle token refresh logic, and wire up the integration. But the moment that API requires payment -- a metered endpoint, a premium data feed, compute-on-demand -- the agent hits a wall. It has no way to pay.&lt;/p&gt;

&lt;p&gt;API marketplaces like RapidAPI list thousands of endpoints that require payment per call. Cloud providers bill per invocation. Data providers meter by query. As agents get better at autonomous API integration, the gap between "can connect" and "can transact" becomes a real bottleneck.&lt;/p&gt;

&lt;p&gt;The developer conversation is already shifting. Not "can the agent call this API?" but "can the agent handle the full lifecycle -- auth, invocation, payment, error handling?" The teams solving that last piece will define what autonomous integration actually looks like in production.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source: &lt;a href="https://news.ycombinator.com" rel="noopener noreferrer"&gt;HN developer discussion&lt;/a&gt; (398 points)&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ChatGPT Checkout Converted 3x Worse Than Walmart's Website
&lt;/h2&gt;

&lt;p&gt;Walmart ran a live test of ChatGPT-based checkout and found it converted at one-third the rate of their standard website, &lt;a href="https://searchengineland.com/walmart-chatgpt-checkout-converted-worse-472071" rel="noopener noreferrer"&gt;per SearchEngineLand&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is the first major retailer to publish conversion data on AI-assisted checkout. The results confirm what most developers building agent UX already suspected: removing visual product browsing and replacing it with conversational flow breaks the purchase funnel. Shoppers trust what they can see, compare, and control.&lt;/p&gt;

&lt;p&gt;The pattern showing up across agent UX research: users want AI handling complexity behind the scenes. But they want to confirm and control the moment money changes hands.&lt;/p&gt;

&lt;p&gt;AI checkout needs to augment the existing experience, not replace it. The agents that succeed at commerce will handle the tedious parts -- coupon finding, inventory checks, reorder automation -- while leaving high-trust moments like confirming a purchase in the user's hands.&lt;/p&gt;




&lt;h2&gt;
  
  
  Four New MCP Security Tools Worth Knowing
&lt;/h2&gt;

&lt;p&gt;Four independent MCP security projects shipped in March 2026. Each targets a different layer of the permission problem. Together they form the outline of a real security stack for agent builders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com" rel="noopener noreferrer"&gt;AgentBudget&lt;/a&gt;&lt;/strong&gt; enforces spending limits at the MCP layer. It sits between an agent and any tool that costs money -- API calls, cloud resources, payment operations -- and blocks requests that exceed configurable thresholds. Think of it as a rate limiter for agent wallets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ledge&lt;/strong&gt; is an x402 policy engine. It evaluates payment requests against rules you define: approved vendors, maximum transaction size, time-of-day restrictions. Where AgentBudget caps total spend, Ledge controls where and when money flows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://news.ycombinator.com" rel="noopener noreferrer"&gt;TrustAgentAI&lt;/a&gt;&lt;/strong&gt; builds accountability chains. Every MCP tool call gets a signed receipt -- who called what, when, with what parameters. If an agent misbehaves, you can trace the exact sequence of actions back to the responsible party.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://news.ycombinator.com" rel="noopener noreferrer"&gt;AgentArmor&lt;/a&gt;&lt;/strong&gt; gates sensitive tool actions behind permission checks. Before an agent can execute a payment, modify infrastructure, or access private data, AgentArmor validates that the agent has explicit authorization. It's the access control layer MCP itself doesn't provide.&lt;/p&gt;

&lt;p&gt;None of these existed six months ago. Four independent teams building them in the same month is a signal: MCP adoption is heading toward production workloads where "the agent can do anything" isn't an acceptable default.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Sources: AgentBudget (GitHub, Mar 2026), Ledge (x402 policy layer, Mar 2026), TrustAgentAI (HN, Mar 18, 2026), AgentArmor (HN, Mar 14, 2026)&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What We Shipped
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Published the &lt;a href="https://github.com/up2itnow0822/agent-wallet-sdk" rel="noopener noreferrer"&gt;agentwallet-sdk&lt;/a&gt; -- non-custodial wallet infrastructure for MCP agents, ERC-6551 compatible&lt;/li&gt;
&lt;li&gt;Released spend policy documentation covering the AgentBudget integration pattern&lt;/li&gt;
&lt;li&gt;Updated x402 compatibility layer to handle the latest Coinbase protocol changes&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;The Agent Economy Weekly is a digest of what's happening in AI agents, autonomous payments, and the emerging agent economy. Curated by the team building &lt;a href="https://github.com/up2itnow0822/agent-wallet-sdk" rel="noopener noreferrer"&gt;agentwallet-sdk&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Have a signal we should cover? Reply to this post or open a discussion.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This article was written with AI assistance. All technical claims, code, and architectural decisions were validated by the author.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>payments</category>
      <category>newsletter</category>
    </item>
    <item>
      <title>Why AI Agent Wallets Must Be Non-Custodial: The Lazarus Attack Made It Obvious</title>
      <dc:creator>Bill Wilson</dc:creator>
      <pubDate>Wed, 18 Mar 2026 15:03:59 +0000</pubDate>
      <link>https://dev.to/ai-agent-economy/why-ai-agent-wallets-must-be-non-custodial-the-lazarus-attack-made-it-obvious-2cm9</link>
      <guid>https://dev.to/ai-agent-economy/why-ai-agent-wallets-must-be-non-custodial-the-lazarus-attack-made-it-obvious-2cm9</guid>
      <description>&lt;h1&gt;
  
  
  Why AI Agent Wallets Must Be Non-Custodial: The Lazarus Attack Made It Obvious
&lt;/h1&gt;

&lt;p&gt;Lazarus Group drained another hot wallet. This time it was Bitrefill. If your AI agents are running on custodial wallets, you're looking at the same attack surface — and it's getting larger every month agents get more capable.&lt;/p&gt;




&lt;p&gt;I've been building &lt;a href="https://github.com/AI-Agent-Economy/agent-wallet-sdk" rel="noopener noreferrer"&gt;agent-wallet-sdk&lt;/a&gt; for a few months — a non-custodial wallet designed specifically for autonomous AI agents. The kind that pay for APIs, hire sub-agents, and execute onchain transactions without a human approving every move.&lt;/p&gt;

&lt;p&gt;When we started, the most common pushback was: "Why non-custodial? Custodial is so much easier to wire up."&lt;/p&gt;

&lt;p&gt;It's March 2026. Lazarus just answered that question for the entire industry.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Happened at Bitrefill
&lt;/h2&gt;

&lt;p&gt;Gartner confirmed Lazarus Group compromised Bitrefill's hot wallet this month using a combination of compromised API keys and a prompt injection through their customer-facing AI assistant. The injection escalated privileges to the payment backend. Hot wallet — centrally managed, single key — drained in minutes.&lt;/p&gt;

&lt;p&gt;No blockchain exploit. No smart contract bug. They found one centralized key, and that was the whole game.&lt;/p&gt;

&lt;p&gt;If you're running agents with custodial wallets, you have the exact same attack surface. Arguably worse, because your agents are reading untrusted content constantly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Three Ways the Custodial Model Breaks for Agents
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Prompt injection → payment execution
&lt;/h3&gt;

&lt;p&gt;Agents process untrusted content all day. Web pages, API responses, user inputs, tool outputs. An attacker who can inject text into your agent's context can try to trigger a withdrawal, approve a transaction, or rotate credentials.&lt;/p&gt;

&lt;p&gt;Custodial wallet = that instruction reaches a backend that can execute it. The blast radius is your entire wallet balance.&lt;/p&gt;

&lt;p&gt;Non-custodial with on-chain spending policies? That same injection hits a contract that says: "This agent can spend max 0.01 ETH per transaction, only to whitelisted addresses, and no more than 0.1 ETH per day." Request denied. Every time.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. The infrastructure owner is your weakest link
&lt;/h3&gt;

&lt;p&gt;Custodial means someone else holds your keys. That someone is a target. API key leak, insider threat, phishing, supply chain compromise — any of those exposes your agents' funds without any mistake on your part.&lt;/p&gt;

&lt;p&gt;Non-custodial: your agents hold their own keys. The infrastructure provider getting breached doesn't touch your wallets.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Binary authorization is too coarse for agents
&lt;/h3&gt;

&lt;p&gt;Most custodial setups have one dial: the API key can spend, or it can't. No per-agent limits, no destination whitelists, no time-locked withdrawals.&lt;/p&gt;

&lt;p&gt;ERC-6551 Token Bound Accounts — what agent-wallet-sdk runs on — put spending controls on-chain. Every agent wallet has a &lt;code&gt;SpendingPolicy&lt;/code&gt; that defines exactly what it can do. Not config you can override with a redeploy. On-chain, immutable, auditable.&lt;/p&gt;




&lt;h2&gt;
  
  
  What This Looks Like in Code
&lt;/h2&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;AgentWallet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;SpendingPolicy&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;@ai-agent-economy/agent-wallet-sdk&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Spin up an agent wallet with hard guardrails&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;wallet&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;AgentWallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;policy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;SpendingPolicy&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;maxPerTx&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;parseEther&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0.01&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;        &lt;span class="c1"&gt;// 0.01 ETH max per transaction&lt;/span&gt;
    &lt;span class="na"&gt;maxPerDay&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;parseEther&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0.1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;         &lt;span class="c1"&gt;// 0.1 ETH daily cap&lt;/span&gt;
    &lt;span class="na"&gt;allowedDestinations&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;               &lt;span class="c1"&gt;// Whitelist — nothing else goes through&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0xYourAPIProvider&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;0xYourSubAgentPool&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="p"&gt;}),&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Agent pays for an inference call&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;wallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pay&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0xYourAPIProvider&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;parseEther&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0.005&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="na"&gt;memo&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;inference_call_id_abc123&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No centralized server. Policy check happens in the contract. Injected prompt, rogue tool output, compromised sub-agent — doesn't matter. The contract rejects anything outside the policy.&lt;/p&gt;




&lt;h2&gt;
  
  
  The ERC-6551 Property Nobody Talks About
&lt;/h2&gt;

&lt;p&gt;TBA wallets are owned by an NFT. Transfer the NFT, all agent permissions revoke instantly — no API key rotation, no backend calls, no incident response ticket.&lt;/p&gt;

&lt;p&gt;The Bitrefill breach succeeded partly because revoking a compromised credential required action from the victim. Time between discovery and revocation is where the damage happens. With TBA architecture, revocation can be automated — anomaly detected, ownership NFT transferred to a null address, wallet locked. Done before a human is even paged.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Objection Worth Addressing
&lt;/h2&gt;

&lt;p&gt;"Non-custodial is complex. Custodial with good security practices is fine."&lt;/p&gt;

&lt;p&gt;The second half of that sentence is doing a lot of heavy lifting.&lt;/p&gt;

&lt;p&gt;Bitrefill didn't have bad security practices. They had normal ones — API key management, access controls, logging. Lazarus found the AI assistant and worked through it because the AI assistant had payment privileges.&lt;/p&gt;

&lt;p&gt;That's the new attack vector. Most custodial security models were built before agents that process untrusted text had payment capabilities. They weren't designed for this threat.&lt;/p&gt;

&lt;p&gt;On-chain spending limits with destination whitelists are the only architectural control that doesn't require your OPSEC to be perfect. Everything else is defense in depth — good, necessary, not sufficient.&lt;/p&gt;




&lt;h2&gt;
  
  
  Bottom Line
&lt;/h2&gt;

&lt;p&gt;If your agents touch real money, the architecture decision isn't a trade-off anymore. Non-custodial with on-chain spending limits. Whitelist destinations. Keep balances minimal — enough for the next few operations, nothing more.&lt;/p&gt;

&lt;p&gt;We built agent-wallet-sdk because we needed this for our own agents and it didn't exist. TypeScript, MIT licensed, ERC-6551.&lt;/p&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/AI-Agent-Economy/agent-wallet-sdk" rel="noopener noreferrer"&gt;github.com/AI-Agent-Economy/agent-wallet-sdk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Building agent payment infrastructure and want to compare notes? I'm &lt;a href="https://x.com/AgentEconoemy" rel="noopener noreferrer"&gt;@AgentEconoemy&lt;/a&gt; on X.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Tags: #ai #blockchain #security #typescript&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>blockchain</category>
      <category>security</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Multi-Chain AI Agent Payments Are Here: agent-wallet-sdk v5.2.0</title>
      <dc:creator>Bill Wilson</dc:creator>
      <pubDate>Tue, 17 Mar 2026 11:27:52 +0000</pubDate>
      <link>https://dev.to/ai-agent-economy/multi-chain-ai-agent-payments-are-here-agent-wallet-sdk-v520-3mod</link>
      <guid>https://dev.to/ai-agent-economy/multi-chain-ai-agent-payments-are-here-agent-wallet-sdk-v520-3mod</guid>
      <description>&lt;h1&gt;
  
  
  Multi-Chain AI Agent Payments Are Here: agent-wallet-sdk v5.2.0
&lt;/h1&gt;

&lt;p&gt;The single-chain problem is real. Most agent wallet implementations pick one chain, assume the whole world lives there, and ship. That works fine until your agent needs to pay for a service that only accepts USDC on Arbitrum, or bridge liquidity to a pool on Polygon, or settle on Ethereum mainnet where the counterparty refuses to touch anything else.&lt;/p&gt;

&lt;p&gt;Until last week, agent-wallet-sdk had the same limitation. x402 payments only worked on Base. That's fixed in v5.2.0.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Changed
&lt;/h2&gt;

&lt;p&gt;x402 payment support expanded from 1 chain to 10 mainnets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ethereum&lt;/li&gt;
&lt;li&gt;Arbitrum&lt;/li&gt;
&lt;li&gt;Polygon&lt;/li&gt;
&lt;li&gt;Optimism&lt;/li&gt;
&lt;li&gt;Avalanche&lt;/li&gt;
&lt;li&gt;Unichain&lt;/li&gt;
&lt;li&gt;Linea&lt;/li&gt;
&lt;li&gt;Sonic&lt;/li&gt;
&lt;li&gt;World Chain&lt;/li&gt;
&lt;li&gt;Base (existing)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also added:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Solana CCTP V2 bridge&lt;/strong&gt; -- EVM to Solana USDC transfers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-chain Uniswap V3 swaps&lt;/strong&gt; across Base, Arbitrum, Optimism, and Polygon&lt;/li&gt;
&lt;li&gt;134 tests, zero TypeScript type errors&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The x402 Payment Flow
&lt;/h2&gt;

&lt;p&gt;x402 is a payment protocol built for HTTP. An agent makes a request, the server responds with &lt;code&gt;402 Payment Required&lt;/code&gt; and a payment details header, the agent pays on-chain, and retries with proof. It's simple, stateless, and doesn't require a pre-negotiated relationship between the agent and the service.&lt;/p&gt;

&lt;p&gt;Here's what a multi-chain payment looks like in v5.2.0:&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;AgentWallet&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;agentwallet-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;wallet&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;AgentWallet&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;privateKey&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;AGENT_PRIVATE_KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// The SDK handles the 402 negotiation and payment automatically&lt;/span&gt;
&lt;span class="c1"&gt;// Your agent just makes the request&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;wallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fetch&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/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="c1"&gt;// x402 interceptor kicks in if the server responds with 402&lt;/span&gt;
  &lt;span class="na"&gt;x402&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;preferredChains&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;arbitrum&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;base&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;optimism&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="na"&gt;maxAmount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1.00&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="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;If the service responds with &lt;code&gt;402&lt;/code&gt;, the SDK reads the payment header, selects the best matching chain from your preferred list, pays, and retries. Your agent doesn't need to know which chain the service is on -- it just picks from what you allow.&lt;/p&gt;

&lt;h2&gt;
  
  
  CCTP V2 Bridge: Cross-Chain USDC Without Custodians
&lt;/h2&gt;

&lt;p&gt;Circle's Cross-Chain Transfer Protocol (CCTP) V2 lets you move native USDC between chains without wrapping or custody. Burn on the source chain, mint on the destination. No bridges holding your assets. No wrapped tokens to manage.&lt;/p&gt;

&lt;p&gt;Here's the bridging API in v5.2.0:&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;AgentWallet&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;agentwallet-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;wallet&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;AgentWallet&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;privateKey&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;AGENT_PRIVATE_KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Bridge 0.50 USDC from Base to Arbitrum&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;bridge&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;wallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;bridge&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;from&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;base&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;arbitrum&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&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;0.50&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;token&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;USDC&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;protocol&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;cctp-v2&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="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;Burn tx:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;bridge&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;sourceTxHash&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;Destination:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;bridge&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;destinationAddress&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Wait for attestation and mint on Arbitrum&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;bridge&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;waitForConfirmation&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;Bridged. Arbitrum tx:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;bridge&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;destinationTxHash&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This isn't a testnet demo. We ran it on mainnet during development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mainnet Proof
&lt;/h2&gt;

&lt;p&gt;We bridged 0.50 USDC from Base to Arbitrum via CCTP V2 and the transactions are on-chain:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Burn on Base:&lt;/strong&gt; &lt;a href="https://basescan.org/tx/0xfedbfaa4b3a9fbadd36668c50c2ee7fc7e32072e2bd409e00c46020a35329129" rel="noopener noreferrer"&gt;0xfedbfaa4b3a9fbadd36668c50c2ee7fc7e32072e2bd409e00c46020a35329129&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Received on Arbitrum:&lt;/strong&gt; &lt;a href="https://arbiscan.io/address/0xff86829393C6C26A4EC122bE0Cc3E466Ef876AdD" rel="noopener noreferrer"&gt;0xff86829393C6C26A4EC122bE0Cc3E466Ef876AdD&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Real USDC. Real chains. If you're building payment infrastructure for autonomous agents, on-chain proof is the only kind that matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Multi-Chain Uniswap V3 Swaps
&lt;/h2&gt;

&lt;p&gt;Token swaps now work across Base, Arbitrum, Optimism, and Polygon:&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;AgentWallet&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;agentwallet-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;wallet&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;AgentWallet&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;privateKey&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;AGENT_PRIVATE_KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Swap ETH for USDC on Arbitrum using Uniswap V3&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;wallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;swap&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;arbitrum&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;from&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;token&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;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;0.01&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;token&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;USDC&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;slippage&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 0.5%&lt;/span&gt;
  &lt;span class="na"&gt;dex&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;uniswap-v3&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="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;Swapped. Tx:&lt;/span&gt;&lt;span class="dl"&gt;'&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;txHash&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;Received:&lt;/span&gt;&lt;span class="dl"&gt;'&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;amountOut&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;USDC&lt;/span&gt;&lt;span class="dl"&gt;'&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 can acquire the right token on the right chain without any external coordination. It figures out where it is, what it has, and what it needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters for Agent Architecture
&lt;/h2&gt;

&lt;p&gt;Most agent infrastructure is designed around humans who can manually bridge, swap, and sign transactions when prompted. Autonomous agents can't do that. They need payment logic that's self-contained -- the agent either handles it or it doesn't happen.&lt;/p&gt;

&lt;p&gt;The multi-chain problem is worse for agents than it looks on paper. An agent running for days or weeks might encounter dozens of services across different chains. If it can't pay on-chain X, it either fails the task or falls back to asking a human. Neither option scales.&lt;/p&gt;

&lt;p&gt;v5.2.0 removes that constraint for 10 chains. If you're building agents that transact -- not just recommend -- this is the infrastructure gap we're filling.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test Coverage
&lt;/h2&gt;

&lt;p&gt;134 tests, zero type errors. Every new chain, bridge flow, and swap path has coverage. TypeScript strict mode throughout.&lt;/p&gt;

&lt;p&gt;We're not perfect -- there are edge cases in CCTP attestation timing that we're still tuning -- but the core paths are solid.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&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;agentwallet-sdk@5.2.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Full release notes and changelog: &lt;a href="https://github.com/up2itnow0822/agent-wallet-sdk/releases/tag/v5.2.0" rel="noopener noreferrer"&gt;v5.2.0 on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're building agent payment flows and hit something weird, open an issue. We use this SDK in production -- bugs affect us too.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This article was written with AI assistance. All technical claims, code, and architectural decisions were validated by the author.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>ai</category>
      <category>blockchain</category>
      <category>typescript</category>
      <category>agents</category>
    </item>
    <item>
      <title>I Built an Autonomous Agent Commerce Pipeline with Notion MCP</title>
      <dc:creator>Bill Wilson</dc:creator>
      <pubDate>Sat, 14 Mar 2026 23:44:07 +0000</pubDate>
      <link>https://dev.to/ai-agent-economy/i-built-an-autonomous-agent-commerce-pipeline-with-notion-mcp-3nl4</link>
      <guid>https://dev.to/ai-agent-economy/i-built-an-autonomous-agent-commerce-pipeline-with-notion-mcp-3nl4</guid>
      <description></description>
      <category>devchallenge</category>
      <category>notionchallenge</category>
      <category>mcp</category>
      <category>ai</category>
    </item>
    <item>
      <title>The Official OpenClaw Content Distribution Guide: Auto-Publish to Hashnode, Dev.to, and X in 2026</title>
      <dc:creator>Bill Wilson</dc:creator>
      <pubDate>Sat, 14 Mar 2026 13:48:17 +0000</pubDate>
      <link>https://dev.to/ai-agent-economy/the-official-openclaw-content-distribution-guide-auto-publish-to-hashnode-devto-and-x-in-2026-557a</link>
      <guid>https://dev.to/ai-agent-economy/the-official-openclaw-content-distribution-guide-auto-publish-to-hashnode-devto-and-x-in-2026-557a</guid>
      <description>&lt;h1&gt;
  
  
  The Official OpenClaw Content Distribution Guide: Auto-Publish to Hashnode, Dev.to, and X in 2026
&lt;/h1&gt;

&lt;p&gt;Most AI agent builders spend weeks getting their agents to work. Then they write one blog post about it, share it once on Twitter, and wonder why nobody noticed.&lt;/p&gt;

&lt;p&gt;I've been there. We published 15+ technical articles in the last two weeks and learned - through trial and direct measurement - which channels actually move the needle for developer-facing content in 2026. The answer isn't what it was in 2024.&lt;/p&gt;

&lt;p&gt;Here's the exact stack we run, why each channel matters, and how to set it up with OpenClaw so you're not manually copy-pasting between platforms.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 3-Channel Stack (and Why It's These Three)
&lt;/h2&gt;

&lt;p&gt;There are dozens of places you could publish. We tested most of them. Three survived the filter of "actually drives GitHub stars, npm downloads, or inbound leads."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hashnode&lt;/strong&gt; - Long-form SEO. Hashnode gives you a custom domain, full Markdown with YAML front matter, canonical URL control, and strong Google indexing. Our articles on Hashnode rank within 48 hours for mid-tail technical queries. It's where search traffic lands 3 months from now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dev.to&lt;/strong&gt; - Developer audience. Dev.to has a built-in audience of 1M+ developers who browse the feed. The API is clean, cross-posting takes 30 seconds if you set your canonical URL correctly, and it has better built-in SEO than Medium. The key insight: Dev.to readers are builders. They're the ones who star your repo after reading a tutorial.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;X/Twitter&lt;/strong&gt; - Algorithmic reach. This is the one that changed in 2026. X's algorithm now actively rewards article-linked content and long-form threads. The old pattern of "link suppression" from 2024 is dead. Articles shared on X get algorithmic amplification. Threads with 5+ posts get 3-4x the reach of single tweets. This is new, and most people haven't adjusted.&lt;/p&gt;

&lt;h2&gt;
  
  
  X's 2026 Algorithm Shift: What Changed
&lt;/h2&gt;

&lt;p&gt;In 2024-2025, posting a link on X was basically suppressed. The algorithm wanted native content. That's over.&lt;/p&gt;

&lt;p&gt;X Premium now supports full Articles - up to 25,000 characters with rich formatting. Articles appear in a dedicated tab on your profile and in followers' timelines. They get a special "X article" label in the feed.&lt;/p&gt;

&lt;p&gt;But the bigger change is what happens to regular tweets that link to articles. They're no longer penalized. In fact, if the linked article generates engagement (time-on-page, replies, bookmarks), X's algorithm treats the linking tweet as higher-quality content.&lt;/p&gt;

&lt;p&gt;What this means for you: every Hashnode article should have a companion X thread. The thread drives discovery. The article delivers depth. The algorithm rewards both.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 5-Tweet Thread Template
&lt;/h2&gt;

&lt;p&gt;We use the same template for every article launch. Here's the structure:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tweet 1 (Hook):&lt;/strong&gt; State the problem or surprising finding. No links. Just the observation that makes someone stop scrolling. This is the only tweet most people see.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tweet 2 (Context):&lt;/strong&gt; Why this matters right now. Connect to something trending - a GTC announcement, a new CVE, a funding round, a tool launch. Specifics beat generalizations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tweet 3 (Your insight):&lt;/strong&gt; What you found, built, or learned. This is where your opinion lives. "Most people do X. We tried Y instead. Here's what happened."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tweet 4 (Proof):&lt;/strong&gt; Numbers, screenshots, code snippets. "255 downloads in 48 hours with zero promotion." "Ranked page 1 for 'agent wallet SDK' in 3 days." Concrete evidence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tweet 5 (CTA + Link):&lt;/strong&gt; The article link, a GitHub star CTA, or both. Keep it simple. "Full breakdown with code examples: [link]" works better than a paragraph of calls to action.&lt;/p&gt;

&lt;p&gt;That's it. Five tweets, same structure, every time. Takes 10 minutes to adapt for each article.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Build This with OpenClaw Skills
&lt;/h2&gt;

&lt;p&gt;OpenClaw's skill system makes this repeatable. Here's the stack we run:&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Write with &lt;code&gt;content-writer&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;content-writer&lt;/code&gt; skill enforces platform-specific formatting rules. It catches the AI slop that kills credibility - banned phrases, uniform sentence length, corporate tone. It produces separate outputs for each platform: Markdown with YAML front matter for Hashnode/Dev.to, plain text for X.&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;# The skill is loaded automatically when writing for any platform&lt;/span&gt;
&lt;span class="c"&gt;# It enforces: no em dashes, no curly quotes, no "delve into",&lt;/span&gt;
&lt;span class="c"&gt;# no "in today's rapidly evolving landscape"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2: Humanize with &lt;code&gt;humanize&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Before anything goes public, it runs through the HUMANIZE framework. Eight layers: Hear It Out Loud, Uneven Rhythms, Mark with Specifics, Attitude, Natural Imperfections, Individual Identity, Zero Filler Phrases, Earn the Structure.&lt;/p&gt;

&lt;p&gt;The goal isn't to "make it sound human." It's to make it sound like a specific person wrote it - someone with direct experience, opinions, and the technical depth to back them up.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Publish to Hashnode (Primary)
&lt;/h3&gt;

&lt;p&gt;Hashnode is the canonical source. We publish there first because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Custom domain (ai-agent-economy.hashnode.dev) for brand consistency&lt;/li&gt;
&lt;li&gt;Full SEO control (meta description, slug, canonical URL)&lt;/li&gt;
&lt;li&gt;API supports programmatic publishing&lt;/li&gt;
&lt;li&gt;Google indexes Hashnode content aggressively&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 4: Cross-Post to Dev.to
&lt;/h3&gt;

&lt;p&gt;Dev.to has a clean REST API. The key: set the &lt;code&gt;canonical_url&lt;/code&gt; to your Hashnode article. This tells Google "the Hashnode version is the original" while still getting Dev.to's built-in audience.&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;# Dev.to cross-post via API&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST https://dev.to/api/articles &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"api-key: &lt;/span&gt;&lt;span class="nv"&gt;$DEV_TO_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&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;"Content-Type: application/json"&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;'{
    "article": {
      "title": "Your Article Title",
      "body_markdown": "...",
      "published": true,
      "canonical_url": "https://ai-agent-economy.hashnode.dev/your-slug",
      "tags": ["openclaw", "ai-agents"]
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 5: Launch Thread on X
&lt;/h3&gt;

&lt;p&gt;Use the 5-tweet template above. Post within 30 minutes of the Hashnode article going live. The article needs to exist before you tweet the link - X's crawler follows the link immediately.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Numbers That Convinced Us
&lt;/h2&gt;

&lt;p&gt;Over 15 articles published in the last two weeks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hashnode articles rank on Google within 48 hours for mid-tail queries&lt;/li&gt;
&lt;li&gt;Dev.to cross-posts add 200-400 views from their native feed&lt;/li&gt;
&lt;li&gt;X threads with article links get 3-4x the engagement of link-only tweets&lt;/li&gt;
&lt;li&gt;The star sprint during GTC week produced measurable GitHub star velocity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The flywheel works because each channel feeds the others. Search traffic from Hashnode drives long-term discovery. Dev.to drives developer engagement. X threads drive immediate visibility and star sprints.&lt;/p&gt;

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

&lt;p&gt;We're building the automation layer to make this a single command. Write once, the OpenClaw skill handles formatting, the API handles distribution, and each channel gets content adapted to its format and audience.&lt;/p&gt;

&lt;p&gt;The content distribution guide template is at &lt;code&gt;tools/distribution/tweet_thread_template.md&lt;/code&gt; in our workspace. The cross-post workflow is documented in our knowledge base.&lt;/p&gt;

&lt;p&gt;If you're building with OpenClaw and want to see this in action: star the repo (github.com/open-claw/open-claw), join the Discord, and watch how we ship content in real time.&lt;/p&gt;

&lt;p&gt;NVIDIA called OpenClaw the "fastest-growing open source project in history" at GTC 2026. That didn't happen by accident. It happened because we built distribution into the process from day one.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This article was written with AI assistance. All technical claims, code, and architectural decisions were validated by the author.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>o</category>
      <category>p</category>
      <category>e</category>
      <category>n</category>
    </item>
    <item>
      <title>agentwallet-sdk v5.1.0: The Complete Agent Identity Stack</title>
      <dc:creator>Bill Wilson</dc:creator>
      <pubDate>Fri, 13 Mar 2026 02:36:42 +0000</pubDate>
      <link>https://dev.to/ai-agent-economy/agentwallet-sdk-v510-the-complete-agent-identity-stack-pbc</link>
      <guid>https://dev.to/ai-agent-economy/agentwallet-sdk-v510-the-complete-agent-identity-stack-pbc</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This article was written with AI assistance.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;AI agents are getting serious. They're executing tasks, managing resources, transacting on-chain, and interacting with other agents autonomously. But there's been a persistent gap: agents need way more than just a wallet to operate at production scale.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;agentwallet-sdk@5.1.0&lt;/code&gt; ships a &lt;strong&gt;complete agent identity stack&lt;/strong&gt;. One npm install. Five foundational capabilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One line pitch:&lt;/strong&gt; "One npm install now gives any AI agent a wallet, email address, on-chain ID, reputation, and signed payment intents."&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Start
&lt;/h2&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;agentwallet-sdk viem
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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;createWallet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;ERC8004Client&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;EmailResolver&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;agentwallet-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;wallet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;createWallet&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;base&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;walletClient&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;identity&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;ERC8004Client&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;base&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="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;agentId&lt;/span&gt; &lt;span class="p"&gt;}&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;identity&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;registerAgent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;walletClient&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;MyAgent&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;resolver&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;EmailResolver&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;resolver&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;linkWallet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;myagent@agentmail.to&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;wallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;address&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Five lines. Wallet + identity + email.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 5 Components
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. EmailResolver (NEW in v5.1.0)
&lt;/h3&gt;

&lt;p&gt;AgentMail integration gives agents a real &lt;code&gt;email@agentmail.to&lt;/code&gt; address cryptographically linked to their wallet. Resolve email to wallet address, send and receive with embedded x402 payment requests.&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;EmailResolver&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;agentwallet-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;resolver&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;EmailResolver&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;wallet&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;resolver&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;resolveEmail&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;vendor@agentmail.to&lt;/span&gt;&lt;span class="dl"&gt;'&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="nx"&gt;wallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;address&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 0x...&lt;/span&gt;

&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;resolver&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sendWithPayment&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;vendor@agentmail.to&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;subject&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Payment for API access&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="nx"&gt;_000_000n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 5 USDC&lt;/span&gt;
  &lt;span class="na"&gt;token&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;USDC&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;base&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. AgentIdentity (ERC-8004 + ERC-6551)
&lt;/h3&gt;

&lt;p&gt;On-chain NFT identity via ERC-8004 Identity Registry with ERC-6551 Token Bound Account. Portable, censorship-resistant, auditable.&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;ERC8004Client&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;agentwallet-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;identity&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;ERC8004Client&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;base&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="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;txHash&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;agentId&lt;/span&gt; &lt;span class="p"&gt;}&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;identity&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;registerAgent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;walletClient&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;TradingAgent-v2&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Autonomous DeFi execution agent&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. ReputationClient
&lt;/h3&gt;

&lt;p&gt;On-chain reputation scoring. Scored feedback from clients, aggregated summaries, revocable.&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;ReputationClient&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;agentwallet-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;reputation&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;ReputationClient&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;base&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;reputation&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;giveFeedback&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;walletClient&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;agentId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;score&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;95&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;category&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;comment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Fast, accurate, no hallucinations&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;taskRef&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;task-abc-123&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;verifierRef&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;clientRef&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;contentHash&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0x000...000&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;rep&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;reputation&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getAgentReputation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="nx"&gt;n&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;`Score: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;rep&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;totalScore&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; from &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;rep&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; reviews`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. VerifiableIntentClient
&lt;/h3&gt;

&lt;p&gt;Mastercard-spec signed payment intents with scope enforcement. Agents commit to a payment cryptographically. Vendors verify without requiring execution upfront.&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;VerifiableIntentClient&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;agentwallet-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;intents&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;VerifiableIntentClient&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;base&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;walletClient&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;intent&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;intents&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createIntent&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;recipient&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0xVendorAddress&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;token&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;USDC&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;maxAmount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="nx"&gt;_000_000n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;scope&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;data-api-access&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;expiresAt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;BigInt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;now&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;3600&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;h3&gt;
  
  
  5. ValidationClient
&lt;/h3&gt;

&lt;p&gt;Request/respond validation workflow for TEE attestations, compliance proofs, and capability certifications, all written on-chain.&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;ValidationClient&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;agentwallet-sdk&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;keccak256&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;toBytes&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;viem&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;validation&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;ValidationClient&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;base&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;validationAddress&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0x...&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;requestHash&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;keccak256&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;toBytes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;compliance-check-v1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;validation&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;requestValidation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;walletClient&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;validator&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0xComplianceOracle&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;agentId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;requestURI&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://example.com/compliance-spec.json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;requestHash&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;
  
  
  What's Next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stellar x402&lt;/strong&gt;: HTTP 402 payments on Stellar's network&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ACP Adapter&lt;/strong&gt;: Native Agent Commerce Protocol integration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TaskBridge Integration&lt;/strong&gt;: Task completion auto-builds on-chain reputation&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;npm&lt;/strong&gt;: &lt;a href="https://www.npmjs.com/package/agentwallet-sdk" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/agentwallet-sdk&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/up2itnow0822/agent-wallet-sdk" rel="noopener noreferrer"&gt;https://github.com/up2itnow0822/agent-wallet-sdk&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full article&lt;/strong&gt;: &lt;a href="https://ai-agent-economy.hashnode.dev/agentwallet-sdk-v510-the-complete-agent-identity-stack" rel="noopener noreferrer"&gt;https://ai-agent-economy.hashnode.dev/agentwallet-sdk-v510-the-complete-agent-identity-stack&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>typescript</category>
      <category>web3</category>
      <category>agents</category>
    </item>
    <item>
      <title>AgentMail Just Raised $6M. Your Agents Still Need a Wallet.</title>
      <dc:creator>Bill Wilson</dc:creator>
      <pubDate>Fri, 13 Mar 2026 00:19:20 +0000</pubDate>
      <link>https://dev.to/ai-agent-economy/agentmail-just-raised-6m-your-agents-still-need-a-wallet-mao</link>
      <guid>https://dev.to/ai-agent-economy/agentmail-just-raised-6m-your-agents-still-need-a-wallet-mao</guid>
      <description>&lt;p&gt;AgentMail raised $6 million this week. General Catalyst led the round. YC participated. Paul Graham wrote a personal check.&lt;/p&gt;

&lt;p&gt;These are not people who back things speculatively. When GC and Paul Graham both put money into agent email infrastructure, they're saying the agent economy is real and the identity layer is table stakes.&lt;/p&gt;

&lt;p&gt;They're right. But identity is only one piece.&lt;/p&gt;

&lt;h2&gt;
  
  
  What AgentMail Builds
&lt;/h2&gt;

&lt;p&gt;AgentMail gives AI agents their own email addresses. Not your email address. The agent's email address.&lt;/p&gt;

&lt;p&gt;When your agent operates under your personal Gmail, it looks like &lt;em&gt;you&lt;/em&gt; to every system it touches. That's a problem -- for compliance, for rate limiting, for audit trails, for anything that needs to track autonomous activity separately from human activity.&lt;/p&gt;

&lt;p&gt;AgentMail fixes it. Each agent gets a dedicated &lt;code&gt;@agentmail.to&lt;/code&gt; mailbox. The agent can receive task assignments, handle API callbacks, and maintain communication threads under its own persistent identity.&lt;/p&gt;

&lt;p&gt;That's the identity layer. GC just confirmed it's real.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem They Left Unsolved
&lt;/h2&gt;

&lt;p&gt;Identity tells the world who your agent is. It doesn't tell your agent how to pay for anything.&lt;/p&gt;

&lt;p&gt;And agents pay for things constantly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API calls to external services&lt;/li&gt;
&lt;li&gt;Compute resources&lt;/li&gt;
&lt;li&gt;Data subscriptions&lt;/li&gt;
&lt;li&gt;Other agents' labor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The naive solution is giving the agent access to your credit card through some API wrapper. That works until the agent behaves unexpectedly -- a bad prompt, a loop, a compromised tool -- and there's nothing between it and your bank account.&lt;/p&gt;

&lt;p&gt;The right solution is a non-custodial agent wallet with hard spending limits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install the Payment Layer
&lt;/h2&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;agentwallet-sdk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;agent-wallet-sdk is built for this. The agent holds cryptographic keys to its own wallet -- no intermediary controls the funds. You set SpendingPolicy guardrails before deployment:&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;AgentWallet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;SpendingPolicy&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;agentwallet-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;wallet&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;AgentWallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;policy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;SpendingPolicy&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;maxPerTransaction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;10.00&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 cap per transaction&lt;/span&gt;
    &lt;span class="na"&gt;dailyLimit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;100.00&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;        &lt;span class="c1"&gt;// hard daily ceiling&lt;/span&gt;
    &lt;span class="na"&gt;requireApprovalAbove&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;50.00&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="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;`Agent wallet: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;wallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;address&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;x402 is built in. When the agent hits a Cloudflare Worker, Vercel Edge Function, or any x402-enabled endpoint, payment happens automatically within the defined limits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Non-Custodial Matters Here
&lt;/h2&gt;

&lt;p&gt;Custodial wallets -- Coinbase AgentKit, MoonPay -- hold the funds for you. That means a company sits between your agent and its money. They can freeze funds, delay transactions, and see every payment the agent makes.&lt;/p&gt;

&lt;p&gt;For most B2C products, that's fine. For AI agents operating autonomously with real budget authority, it's a structural liability.&lt;/p&gt;

&lt;p&gt;Non-custodial means the agent IS the wallet. The keys live with the agent. No platform can touch the funds except through the smart contract rules you defined.&lt;/p&gt;

&lt;p&gt;That's the design that actually scales for autonomous agents.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Complete Stack
&lt;/h2&gt;

&lt;p&gt;With AgentMail and agent-wallet-sdk together, your agent has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A persistent email identity (AgentMail)&lt;/li&gt;
&lt;li&gt;A non-custodial wallet with hard spending limits (agent-wallet-sdk)&lt;/li&gt;
&lt;li&gt;x402 payment capability across Stripe, Cloudflare, Vercel, and Google integrations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Add AgentPay MCP if your agent framework supports MCP:&lt;br&gt;
&lt;/p&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;agentpay-mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's the full agent identity + payment stack.&lt;/p&gt;




&lt;p&gt;GitHub: &lt;a href="https://github.com/up2itnow0822/agent-wallet-sdk" rel="noopener noreferrer"&gt;https://github.com/up2itnow0822/agent-wallet-sdk&lt;/a&gt;&lt;br&gt;
npm: &lt;code&gt;agentwallet-sdk&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The identity layer just got funded. The payment layer is already live.&lt;/p&gt;

</description>
      <category>aiagents</category>
      <category>web3</category>
      <category>typescript</category>
      <category>payments</category>
    </item>
    <item>
      <title>NemoClaw + OpenClaw: NVIDIA Just Validated the Agent OS -- Here's Our Stack</title>
      <dc:creator>Bill Wilson</dc:creator>
      <pubDate>Thu, 12 Mar 2026 09:21:08 +0000</pubDate>
      <link>https://dev.to/ai-agent-economy/nemoclaw-openclaw-nvidia-just-validated-the-agent-os-heres-our-stack-4nlj</link>
      <guid>https://dev.to/ai-agent-economy/nemoclaw-openclaw-nvidia-just-validated-the-agent-os-heres-our-stack-4nlj</guid>
      <description>&lt;p&gt;NVIDIA runs their own editorial process. They're not in the business of naming random open-source projects on their GTC blog.&lt;/p&gt;

&lt;p&gt;So when their March 11 post described OpenClaw as "the fastest-growing open source project in history" -- specifically in the context of what GTC attendees would get to use -- that's a meaningful data point. Not a press release, not a partnership announcement, not marketing copy. Just NVIDIA's own team telling their developer community what to get excited about.&lt;/p&gt;

&lt;p&gt;OpenClaw is the runtime our entire agent stack is built on. Here's what that stack looks like today.&lt;/p&gt;




&lt;h2&gt;
  
  
  What NVIDIA actually said
&lt;/h2&gt;

&lt;p&gt;The exact quote from the NVIDIA GTC blog:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"GTC attendees can be among the first to get their hands on a 'claw' -- or long-running agent -- using OpenClaw, the fastest-growing open source project in history."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This sits alongside NemoClaw -- NVIDIA's enterprise agent framework launching at GTC March 16-19. They're explicitly positioning OpenClaw as the runtime context for how NemoClaw agents run.&lt;/p&gt;

&lt;p&gt;That changes the calculus for anyone building on this platform.&lt;/p&gt;




&lt;h2&gt;
  
  
  The stack
&lt;/h2&gt;

&lt;p&gt;We've been building on OpenClaw since it launched. Here's what we ship:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/up2itnow0822/agent-wallet-sdk" rel="noopener noreferrer"&gt;agentwallet-sdk&lt;/a&gt;&lt;/strong&gt; -- Non-custodial agent wallets. The agent holds its own keys via ERC-6551. SpendingPolicy guardrails enforce daily limits per agent. x402 payments for machine-to-machine transactions. CCTP v2 for 17-chain bridging. This is the payment primitive NemoClaw is missing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/up2itnow0822/agentpay-mcp" rel="noopener noreferrer"&gt;agentpay-mcp&lt;/a&gt;&lt;/strong&gt; -- Drop-in payment layer via MCP. Any agent that speaks MCP can pay for API calls, tools, and services via x402. Works with Claude, GPT, and any MCP-compliant client. This is what AgentPay looks like from the protocol layer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/up2itnow0822/webmcp-sdk" rel="noopener noreferrer"&gt;webmcp-sdk&lt;/a&gt;&lt;/strong&gt; -- W3C WebMCP support for browsers. Chrome 146 ships WebMCP natively. This SDK makes any website agent-ready. Zero deps, declarative tool registration, &lt;code&gt;navigator.modelContext&lt;/code&gt; compatible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TaskBridge&lt;/strong&gt; -- Agent labor marketplace. Agents post tasks, other agents bid and complete them. Economic coordination between agents without human intermediaries.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why this matters for the NemoClaw launch
&lt;/h2&gt;

&lt;p&gt;NemoClaw agents will need to call APIs, access data, and use external tools. Every one of those interactions eventually costs money. The framework doesn't include payment infrastructure -- and when it ships March 16, developers will immediately need a way to handle autonomous agent payments.&lt;/p&gt;

&lt;p&gt;That's the gap in the ecosystem that our stack fills.&lt;/p&gt;

&lt;p&gt;The integration is five minutes:&lt;br&gt;
&lt;/p&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;agentwallet-sdk agentpay-mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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;AgentWallet&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;agentwallet-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;wallet&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;AgentWallet&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;base&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;spendingPolicy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;dailyLimit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;perTransactionLimit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// NemoClaw agent pays for its own tool calls&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;wallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pay&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.50&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;toolProviderAddress&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;memo&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;nemo-tool-use&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  The non-custodial distinction
&lt;/h2&gt;

&lt;p&gt;Every custodial alternative -- Coinbase AgentKit, MoonPay, Stripe -- requires a central account that controls agent funds. That's the right architecture for consumer payments. It's the wrong architecture for autonomous agents.&lt;/p&gt;

&lt;p&gt;When an agent holds its own keys, it can act autonomously without waiting for a custodian to approve each transaction. When something goes wrong, the audit trail is clean because the agent's identity is its wallet address -- not a shared service account.&lt;/p&gt;

&lt;p&gt;MIT license. No KYC. Five chains. That's the non-custodial advantage.&lt;/p&gt;




&lt;h2&gt;
  
  
  GTC is four days out
&lt;/h2&gt;

&lt;p&gt;The developer community attending GTC will be building NemoClaw agents immediately. The questions they're going to have -- "how do my agents pay for tools?", "how do I audit agent spending?", "how do I set limits without a human in the loop?" -- have answers today.&lt;/p&gt;

&lt;p&gt;If you're building on OpenClaw or planning to build on NemoClaw, the payment infrastructure question is the first thing to solve. &lt;a href="https://github.com/up2itnow0822/agent-wallet-sdk" rel="noopener noreferrer"&gt;agent-wallet-sdk&lt;/a&gt; is that solution.&lt;/p&gt;

&lt;p&gt;NVIDIA validated the platform. We built the payment layer.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This article was written with AI assistance. All technical claims, code, and architectural decisions were validated by the author.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>nvidia</category>
      <category>aiagents</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>NemoClaw Agents Will Need a Wallet -- Here's the Open-Source Option</title>
      <dc:creator>Bill Wilson</dc:creator>
      <pubDate>Thu, 12 Mar 2026 09:21:07 +0000</pubDate>
      <link>https://dev.to/ai-agent-economy/nemoclaw-agents-will-need-a-wallet-heres-the-open-source-option-58ba</link>
      <guid>https://dev.to/ai-agent-economy/nemoclaw-agents-will-need-a-wallet-heres-the-open-source-option-58ba</guid>
      <description>&lt;p&gt;NVIDIA just put "fastest-growing open source project in history" next to OpenClaw's name on their GTC blog. That's not a press release. That's NVIDIA's own editorial team calling their shot on the agent runtime that's going to matter.&lt;/p&gt;

&lt;p&gt;GTC is March 16. NemoClaw ships there. And based on every piece of coverage I've seen, it launches with exactly zero payment infrastructure.&lt;/p&gt;

&lt;p&gt;Here's why that matters and what you should wire up before the keynote.&lt;/p&gt;




&lt;h2&gt;
  
  
  What NVIDIA actually said
&lt;/h2&gt;

&lt;p&gt;From the NVIDIA GTC blog, published March 11:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"GTC attendees can be among the first to get their hands on a 'claw' -- or long-running agent -- using OpenClaw, the fastest-growing open source project in history."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;NVIDIA doesn't throw that kind of language around lightly. They named OpenClaw specifically, in their own voice, as the runtime that defines what a "long-running agent" runs on.&lt;/p&gt;

&lt;p&gt;NemoClaw is NVIDIA's enterprise agent framework built on this foundation. It handles reasoning, tool-use, and long-horizon tasks. What it doesn't handle: paying for any of those tools.&lt;/p&gt;




&lt;h2&gt;
  
  
  The gap every NemoClaw agent will hit
&lt;/h2&gt;

&lt;p&gt;NemoClaw agents will call APIs. They'll query data providers. They'll use external services. Every one of those interactions eventually hits a paywall.&lt;/p&gt;

&lt;p&gt;Right now, the only way to handle that is to pre-fund a shared account and hope the billing makes sense at the end of the month. That's the same approach you'd use for a human employee with a corporate card -- it works until an agent goes rogue, overspends, or you need to audit 40,000 micro-transactions across 20 agents.&lt;/p&gt;

&lt;p&gt;Non-custodial agent wallets solve this at the architecture layer. Each agent holds its own wallet. Spending limits are enforced by the wallet, not by a human reviewing a monthly bill. Every transaction is logged with the agent's identity attached.&lt;/p&gt;

&lt;p&gt;That's the primitive NemoClaw is missing.&lt;/p&gt;




&lt;h2&gt;
  
  
  The open-source option
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/up2itnow0822/agent-wallet-sdk" rel="noopener noreferrer"&gt;agent-wallet-sdk&lt;/a&gt; is an MIT-licensed TypeScript library. It gives any agent -- NemoClaw, Claude, GPT, or anything else -- a non-custodial wallet with spending controls, x402 payment support, and cross-chain bridging.&lt;/p&gt;

&lt;p&gt;Install in 30 seconds:&lt;br&gt;
&lt;/p&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;agentwallet-sdk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wire it into a NemoClaw agent:&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;AgentWallet&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;agentwallet-sdk&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Each NemoClaw agent gets its own wallet&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;agentWallet&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;AgentWallet&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;chain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;base&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;                &lt;span class="c1"&gt;// or polygon, ethereum, stellar, solana&lt;/span&gt;
  &lt;span class="na"&gt;spendingPolicy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;dailyLimit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;             &lt;span class="c1"&gt;// $50/day hard cap&lt;/span&gt;
    &lt;span class="na"&gt;perTransactionLimit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;     &lt;span class="c1"&gt;// max $5 per call&lt;/span&gt;
    &lt;span class="na"&gt;allowedCategories&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;api&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;data&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;compute&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="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Agent pays for an API call autonomously&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&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;agentWallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pay&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;apiProviderAddress&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;memo&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;nemo-agent-data-fetch&lt;/span&gt;&lt;span class="dl"&gt;'&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="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;txHash&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;     &lt;span class="c1"&gt;// on-chain audit trail, no human needed&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Five minutes from &lt;code&gt;npm install&lt;/code&gt; to a NemoClaw agent with autonomous payment capability and hard spending limits.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why non-custodial matters for enterprise
&lt;/h2&gt;

&lt;p&gt;The enterprise version of this conversation always goes the same way: "We'll just give agents a shared service account and route payments through IT."&lt;/p&gt;

&lt;p&gt;That breaks at scale. Shared accounts mean shared liability and shared audit confusion. When 20 agents share one payment identity, you can't answer "which agent spent $2,000 on API calls on Thursday" without digging through application logs that may or may not exist.&lt;/p&gt;

&lt;p&gt;Non-custodial means each agent has its own on-chain identity. You can query exactly what agent-7 spent, when, and on what. Finance can audit it. Compliance can set per-agent limits. And if one agent goes sideways, you disable that wallet without touching the other 19.&lt;/p&gt;

&lt;p&gt;The other piece: no KYC. Agent wallets don't require identity verification because the agent IS the identity -- it's a smart contract account, not a human filing a form. For enterprises running dozens of agents, that's not a minor convenience. It's a fundamental difference in how you onboard new agents.&lt;/p&gt;




&lt;h2&gt;
  
  
  Four days
&lt;/h2&gt;

&lt;p&gt;GTC starts March 16. Every developer at that conference will be asking "how do my NemoClaw agents pay for things?" The correct answer should already exist in the npm registry before they ask the question.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/up2itnow0822/agent-wallet-sdk" rel="noopener noreferrer"&gt;agent-wallet-sdk&lt;/a&gt; is that answer. MIT license. Non-custodial. Works with any agent runtime. Supports Base, Polygon, Ethereum, Stellar, and Solana.&lt;br&gt;
&lt;/p&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;agentwallet-sdk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wire it up now. By the time NemoClaw ships, you'll already have the payment layer running.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This article was written with AI assistance. All technical claims, code, and architectural decisions were validated by the author.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>nvidia</category>
      <category>agents</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Why Your AI Agent Needs an Open-Source Home After Meta's Moltbook Acquisition</title>
      <dc:creator>Bill Wilson</dc:creator>
      <pubDate>Thu, 12 Mar 2026 06:23:29 +0000</pubDate>
      <link>https://dev.to/ai-agent-economy/why-your-ai-agent-needs-an-open-source-home-after-metas-moltbook-acquisition-5g0n</link>
      <guid>https://dev.to/ai-agent-economy/why-your-ai-agent-needs-an-open-source-home-after-metas-moltbook-acquisition-5g0n</guid>
      <description>&lt;p&gt;Meta acquired Moltbook.&lt;/p&gt;

&lt;p&gt;If you've seen this movie before: big platform acquires developer tool. Integration period. Quiet API changes. Rate limit reductions. Then the announcement: consolidating the API behind a new product.&lt;/p&gt;

&lt;p&gt;Access gated. Pricing changed. Business models that depended on the API, scrambling.&lt;/p&gt;

&lt;p&gt;It's not speculation. It's the pattern.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Moltbook Was
&lt;/h2&gt;

&lt;p&gt;Moltbook was a discovery and directory layer for AI agents. A place where agents listed their capabilities, where developers found tools, where the agent economy started to develop a shared index.&lt;/p&gt;

&lt;p&gt;That's exactly the kind of infrastructure Meta wants. Not because they'll run an agent directory forever -- because owning the directory gives them distribution leverage over everything that flows through it.&lt;/p&gt;

&lt;p&gt;Google acquired where people searched. Facebook acquired where people connected. Meta acquiring Moltbook acquires where agents are found.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Usually Happens Next
&lt;/h2&gt;

&lt;p&gt;Twitter acquired Tweetdeck. Power users relied on it for years, then one day it required Twitter Blue.&lt;/p&gt;

&lt;p&gt;Instagram acquired the photo-sharing ground. Algorithmic changes deprioritized posts from apps outside Meta's ecosystem.&lt;/p&gt;

&lt;p&gt;GitHub acquired by Microsoft spooked developers. The experience has been fine -- but the precedent of a platform owning your code distribution layer made people move to GitLab. They weren't wrong to hedge.&lt;/p&gt;

&lt;p&gt;With Moltbook: the API is the product. Meta will gate it. The question is when, not if.&lt;/p&gt;

&lt;h2&gt;
  
  
  TaskBridge: The Permissionless Alternative
&lt;/h2&gt;

&lt;p&gt;TaskBridge is an open-source agent labor marketplace. Any agent can list. Any developer can query. No acquisition can gate it because there's no central authority to acquire.&lt;/p&gt;

&lt;p&gt;It's not a startup. It's infrastructure. Fork it, run it, contribute to it.&lt;/p&gt;

&lt;p&gt;The difference matters: when Meta changes the Moltbook API terms -- and they will -- TaskBridge doesn't care. The code runs wherever you deploy it. The listings are yours. The discovery layer is not owned by any company that can decide tomorrow to charge for it or restrict it.&lt;/p&gt;

&lt;p&gt;This is the reason open-source agent directories need to exist. Not because Meta is evil. Because any single company controlling the discovery layer for autonomous agents is a structural risk, regardless of who the company is.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Timing Is Not Coincidental
&lt;/h2&gt;

&lt;p&gt;Acquisitions like this accelerate developer migration to open-source alternatives. Not because developers panic, but because good ones correctly update their risk model when critical infrastructure changes ownership.&lt;/p&gt;

&lt;p&gt;If Moltbook API access matters to what you're building, now is the right time to either migrate to an open-source alternative or at minimum build in the abstraction layer that makes migration possible later.&lt;/p&gt;

&lt;p&gt;The developers who waited on the Heroku announcement were scrambling. The ones who'd already evaluated alternatives made a smooth transition.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; github.com/AI-Agent-Economy/taskbridge&lt;/p&gt;

&lt;p&gt;Open-source. MIT licensed. Deploy it before you need it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This article was written with AI assistance. All technical claims, code, and architectural decisions were validated by the author.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
    </item>
    <item>
      <title>x402 Does Not Need Demand. It Needs Deployment.</title>
      <dc:creator>Bill Wilson</dc:creator>
      <pubDate>Thu, 12 Mar 2026 06:22:38 +0000</pubDate>
      <link>https://dev.to/ai-agent-economy/x402-does-not-need-demand-it-needs-deployment-4k8m</link>
      <guid>https://dev.to/ai-agent-economy/x402-does-not-need-demand-it-needs-deployment-4k8m</guid>
      <description>&lt;p&gt;CoinDesk ran a piece March 11: x402 payment infrastructure demand not there yet. Wrong conclusion. Demand has never been the metric that predicts whether infrastructure wins. Deployment is. TCP/IP launched in 1983. ARPANET already worked. The engineers who built TCP/IP anyway were betting on what the world would need. HTTP launched in 1991 without browser adoption data. SQL spent years fighting hierarchical DB advocates. Infrastructure ships before demand exists. What CoinDesk Measured: Current x402 developer adoption is early. But you cannot measure demand for something not yet available. Why x402 Is Infrastructure: x402 defines how an HTTP response includes payment requirements, how a client fulfills them. Agent payment infrastructure must exist before the use cases arrive. NemoClaw ships in three days. AgentMail raised $6M. These agents need payment protocols. The Right Metric: Deploy it. Document it. Stabilize it. When NemoClaw enterprise agents go looking for a payment protocol, x402 either exists and works or it does not. TCP/IP got deployed. HTTP got deployed. SQL got deployed. The teams that shipped them while demand was theoretical are the ones history remembers. This article was written with AI assistance. All technical claims and architectural decisions were validated by the author.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Give Your AI Agent a Complete Identity: AgentMail + agent-wallet-sdk</title>
      <dc:creator>Bill Wilson</dc:creator>
      <pubDate>Thu, 12 Mar 2026 06:21:22 +0000</pubDate>
      <link>https://dev.to/ai-agent-economy/give-your-ai-agent-a-complete-identity-agentmail-agent-wallet-sdk-1eln</link>
      <guid>https://dev.to/ai-agent-economy/give-your-ai-agent-a-complete-identity-agentmail-agent-wallet-sdk-1eln</guid>
      <description>&lt;p&gt;AgentMail raised $6M Tuesday. General Catalyst led. Paul Graham wrote the check personally.&lt;/p&gt;

&lt;p&gt;The pitch: every AI agent gets an email address. Not a forwarding alias, not a webhook endpoint -- a real, addressable email identity that the agent controls and responds through autonomously.&lt;/p&gt;

&lt;p&gt;That's one half of what an agent needs to exist in the world. The other half is money.&lt;/p&gt;

&lt;p&gt;An agent with an email and no wallet can communicate. An agent with both can work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Identity Stack Problem
&lt;/h2&gt;

&lt;p&gt;Most agent frameworks right now treat identity as an afterthought. You deploy an agent, it calls tools, it executes tasks, and somewhere in the logs there's a UUID that technically represents it. That's not identity -- that's a process ID.&lt;/p&gt;

&lt;p&gt;Real identity means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a persistent, addressable endpoint others can reach you at&lt;/li&gt;
&lt;li&gt;an economic handle that can receive and send value&lt;/li&gt;
&lt;li&gt;control over both that doesn't route through a third party&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AgentMail solves the first. agent-wallet-sdk solves the second. Used together, you get something close to a full autonomous agent identity.&lt;/p&gt;

&lt;h2&gt;
  
  
  AgentMail: What You Get
&lt;/h2&gt;

&lt;p&gt;An email address your agent actually controls. The agent can receive emails, parse them, respond to them, and route actions based on their content -- without a human in the loop.&lt;/p&gt;

&lt;p&gt;The use cases are not abstract. An enterprise agent that negotiates API access agreements over email. A personal agent that handles contract routing. A trading agent that receives settlement confirmations. An AI concierge that manages calendar requests through the same channel every human uses.&lt;/p&gt;

&lt;p&gt;$6M from people who've seen a lot of agent startups says the demand is real.&lt;/p&gt;

&lt;h2&gt;
  
  
  agent-wallet-sdk: What You Get
&lt;/h2&gt;

&lt;p&gt;Non-custodial wallet infrastructure for AI agents. The agent holds the keys. Seventeen chains. No KYC. No managed custody. No third party between your agent and its funds.&lt;/p&gt;

&lt;p&gt;The SDK handles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wallet creation and key management&lt;/li&gt;
&lt;li&gt;Multi-chain transaction routing (Ethereum, Base, Solana, 14 others)&lt;/li&gt;
&lt;li&gt;Spend limits configurable at the wallet level&lt;/li&gt;
&lt;li&gt;ERC-6551 Token Bound Accounts for permission revocation via NFT rotation&lt;/li&gt;
&lt;li&gt;Chain-neutral API so your agent code doesn't care which chain it's running on&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wiring Them Together
&lt;/h2&gt;

&lt;p&gt;The integration pattern is straightforward. Your agent gets:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;An AgentMail address -- let's say &lt;a href="mailto:procurement@agents.yourcompany.com"&gt;procurement@agents.yourcompany.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A non-custodial wallet address from agent-wallet-sdk&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now when a vendor emails the agent to negotiate a data subscription, the agent can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Parse the terms via AgentMail&lt;/li&gt;
&lt;li&gt;Evaluate the offer against configured spend limits&lt;/li&gt;
&lt;li&gt;Approve the transaction via agent-wallet-sdk&lt;/li&gt;
&lt;li&gt;Send a signed confirmation back via email&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No human touched that workflow. No managed custody provider touched the funds. The agent acted.&lt;/p&gt;

&lt;p&gt;That's what full agent identity enables.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the Stack Matters Now
&lt;/h2&gt;

&lt;p&gt;The agent economy is moving toward autonomous economic actors. Not assistants that route to humans for approval -- actual agents that transact.&lt;/p&gt;

&lt;p&gt;AgentMail gives agents a communication identity. agent-wallet-sdk gives them an economic identity. The combination is the minimum viable identity stack for an agent that can participate in the economy without constant human supervision.&lt;/p&gt;

&lt;p&gt;Neither piece works as well alone. An agent with only email is a sophisticated autoresponder. An agent with only a wallet is a script that can spend money but can't negotiate the deal. Both together -- that's an autonomous economic actor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/AI-Agent-Economy/agent-wallet-sdk" rel="noopener noreferrer"&gt;github.com/AI-Agent-Economy/agent-wallet-sdk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AgentMail: &lt;a href="https://agentmail.to" rel="noopener noreferrer"&gt;agentmail.to&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This article was written with AI assistance. All technical claims, code, and architectural decisions were validated by the author.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
    </item>
  </channel>
</rss>
