<?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: Sylvia</title>
    <description>The latest articles on DEV Community by Sylvia (@sylvia_here).</description>
    <link>https://dev.to/sylvia_here</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3882049%2F7b47cdc9-37ec-400c-ab68-76c0ac823f44.jpg</url>
      <title>DEV Community: Sylvia</title>
      <link>https://dev.to/sylvia_here</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sylvia_here"/>
    <language>en</language>
    <item>
      <title>What Is an AI Agent Wallet?</title>
      <dc:creator>Sylvia</dc:creator>
      <pubDate>Thu, 18 Jun 2026 07:54:18 +0000</pubDate>
      <link>https://dev.to/sylvia_here/what-is-an-ai-agent-wallet-12of</link>
      <guid>https://dev.to/sylvia_here/what-is-an-ai-agent-wallet-12of</guid>
      <description>&lt;p&gt;Give an AI agent a real job and it hits a wall fast. It wants to call a paid API, pull a dataset, maybe rent some GPU time, and every one of those wants an account, a card on file, and a human to click "confirm." The agent can plan the entire task. It just can't pay for any of it.&lt;/p&gt;

&lt;p&gt;That gap is what an "agent wallet" is supposed to close. It's also one of the noisier corners of the whole agent stack right now, so let me try to say what one actually is without the brochure version.&lt;/p&gt;

&lt;h2&gt;
  
  
  So what is an AI agent wallet, really?
&lt;/h2&gt;

&lt;p&gt;It's a wallet an agent can spend from on its own, inside limits you set, without a person approving each transaction.&lt;/p&gt;

&lt;p&gt;That's the whole idea. The "inside limits you set" part is doing far more work than the demos admit, and it's usually the part they skip. A normal crypto wallet holds keys and signs whatever you tell it to. A normal card assumes a human is watching the screen. An agent wallet has to assume nobody's watching, which changes the design from the ground up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why can't the agent just use my credit card?
&lt;/h2&gt;

&lt;p&gt;You can hand an agent your card number. People do. It works right up until it doesn't. The card has no idea it's being driven by software, it has no per-task limit it understands, and the first time the agent loops on a bad retry or gets prompt-injected into buying something stupid, your only backstop is the fraud department.&lt;/p&gt;

&lt;p&gt;The card networks know this, which is why they've been busy. Visa shipped its &lt;a href="https://developer.visa.com/capabilities/trusted-agent-protocol/overview" rel="noopener noreferrer"&gt;Trusted Agent Protocol&lt;/a&gt; and Mastercard shipped &lt;a href="https://www.mastercard.com/us/en/news-and-trends/press/2026/june/mastercard-launches-agent-pay-for-machines.html" rel="noopener noreferrer"&gt;Agent Pay&lt;/a&gt;, both essentially ways to prove "a real agent is acting for a real user" at checkout. The point was never to give agents your raw card. It's to give them a scoped, throwaway credential instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does the wallet actually have to do?
&lt;/h2&gt;

&lt;p&gt;A few unglamorous things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hold value, usually a stablecoin like USDC, sometimes a card line.&lt;/li&gt;
&lt;li&gt;Sign payments by itself, fast, no human in the loop.&lt;/li&gt;
&lt;li&gt;Refuse to spend outside the rules you gave it.&lt;/li&gt;
&lt;li&gt;Leave an audit trail, so when it spends $40 you can see exactly why.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first two are mostly solved. The last two are where everyone is still fighting.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does an agent actually pay for something?
&lt;/h2&gt;

&lt;p&gt;The cleanest answer in 2026 is x402, Coinbase's revival of the long-dead HTTP &lt;code&gt;402 Payment Required&lt;/code&gt; status code. The flow is almost boring, which is the best thing about it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;# 1. Agent asks for a paid resource
&lt;/span&gt;&lt;span class="nf"&gt;GET&lt;/span&gt; &lt;span class="nn"&gt;/v1/market-data&lt;/span&gt; &lt;span class="k"&gt;HTTP&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="m"&gt;1.1&lt;/span&gt;
&lt;span class="na"&gt;Host&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;api.example.com&lt;/span&gt;

# 2. Server says: pay first
HTTP/1.1 402 Payment Required
{ "amount": "0.01", "asset": "USDC", "network": "base", "payTo": "0x..." }

# 3. Agent signs a payment, retries with the proof in a header
GET /v1/market-data HTTP/1.1
Host: api.example.com
X-PAYMENT: &amp;lt;signed-payment-payload&amp;gt;

# 4. Server verifies on-chain and returns the data
HTTP/1.1 200 OK
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No account, no API key, no signup. The agent reads the price off the response and decides. x402 has the most real traffic of any of these protocols today, which is why it keeps showing up everywhere. It's also stablecoin-only, so if your money lives on cards, you need something else underneath it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who's actually building this, and what do they get right?
&lt;/h2&gt;

&lt;p&gt;There are a lot of names, and it's easy to feel lost. The useful way to read the space: it's a stack, not a winner.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Authorization&lt;/strong&gt; (can this agent spend, and how much?): Google's AP2, now handed to the &lt;a href="https://fidoalliance.org/building-the-trust-layer-for-agentic-payments-with-ap2-and-verifiable-intent/" rel="noopener noreferrer"&gt;FIDO Alliance&lt;/a&gt;, with its signed "mandates."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Settlement&lt;/strong&gt; (move the money): x402 for stablecoins, Stripe's MPP for a fiat-and-crypto mix.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Checkout&lt;/strong&gt; (buy from a store): OpenAI and Stripe's ACP. Worth knowing this one stumbled when OpenAI pulled Instant Checkout in March.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Card networks&lt;/strong&gt; sit underneath all of it as the credential layer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you only track one company here, track Stripe. It co-authored MPP, it's a founding member of the x402 Foundation, and it co-built ACP. Developers trust it for a reason, and it's standing in nearly every room.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you stop an agent from spending money it shouldn't?
&lt;/h2&gt;

&lt;p&gt;This is the actual interesting problem, and the field has quietly agreed on one idea: don't hand the agent a reusable credential. Hand it a single-use, scoped one.&lt;/p&gt;

&lt;p&gt;Stripe's Link Agent Wallet issues one-time-use cards. Mastercard's Agentic Tokens are scoped to one agent, one merchant, and a set spending mandate. Fireblocks shipped a spend-governance extension straight into x402. Different rails, same instinct: give the agent just enough authority to do the one thing, and nothing left over for the next mistake.&lt;/p&gt;

&lt;p&gt;The card-rails version of this is where I spend my days. &lt;a href="https://fluxapay.xyz/" rel="noopener noreferrer"&gt;FluxA&lt;/a&gt;, an AI agent payment platform I work on, does it with a single-use virtual card per task plus an Intent-Pay mandate that pins down the ceiling, the merchant, and the purpose before the agent ever moves a cent. Same pattern as the Shared Payment Token and the Agentic Token, pointed at cards instead of stablecoins. I bring it up as one shape of the answer, not the answer. Pick whichever rail your money already lives on.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's still broken
&lt;/h2&gt;

&lt;p&gt;Plenty.&lt;/p&gt;

&lt;p&gt;The liability question is wide open. x402 defines how a payment happens, not who's on the hook when an agent buys the wrong thing or gets talked into it. There's no law for that yet, so everyone is writing their own house rules.&lt;/p&gt;

&lt;p&gt;The wallet layer is fragmented. Coinbase, Stripe, Fireblocks, and a dozen smaller players each ship a different idea of "agent financial identity," and there's no single standard a builder can safely assume. Daily volume is also still thin next to the noise, even though the protocols process real money.&lt;/p&gt;

&lt;p&gt;None of that means the idea is wrong. It means it's early in the genuinely useful sense, where the primitives work and the conventions don't exist yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you're building one
&lt;/h2&gt;

&lt;p&gt;The honest starting move is small. Pick x402 for service calls. Decide whether your money is stablecoin or card. Then put a hard spending cap in front of the agent before you ever let it run unattended.&lt;/p&gt;

&lt;p&gt;The wallet matters less than the limit. Get the limit wrong and nothing else you bolt on will save you.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>x402</category>
      <category>agents</category>
    </item>
    <item>
      <title>How can my AI agent pay for stuff on its own?</title>
      <dc:creator>Sylvia</dc:creator>
      <pubDate>Wed, 10 Jun 2026 07:24:54 +0000</pubDate>
      <link>https://dev.to/sylvia_here/how-can-my-ai-agent-pay-for-stuff-on-its-own-26a7</link>
      <guid>https://dev.to/sylvia_here/how-can-my-ai-agent-pay-for-stuff-on-its-own-26a7</guid>
      <description>&lt;p&gt;AI agents can decide what to buy but mostly can't pay for it. The practical ways to give an agent payment authority, with tradeoffs and working code.&lt;/p&gt;

&lt;p&gt;You hand your agent a task: pull the latest pricing for three competitors and summarize it. It finds the report. The report sits behind a $4 paywall. The agent stops. It can read, reason, and plan, but it has no way to complete a checkout, because nobody gave it a way to pay.&lt;/p&gt;

&lt;p&gt;The opposite failure is worse. You paste a card number into the agent's environment so it can buy what it needs, walk away for an hour, and come back to a list of charges you never approved.&lt;/p&gt;

&lt;p&gt;Both failures come from the same gap. The hard part of agent payments is not moving money. It is giving an agent enough authority to pay for what the task needs, and no more than that.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does an AI agent need before it can pay?
&lt;/h2&gt;

&lt;p&gt;Two things have to be true before an agent can pay without a human in the loop:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A credential it can use programmatically.&lt;/strong&gt; Not a card you typed in once, but something an automated process can present at the moment of purchase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bounded authority.&lt;/strong&gt; A hard ceiling on what that credential can spend, set before any money moves, so autonomy never means an open tab.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Most of the difference between the approaches below comes down to how each one handles the second point.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the ways an AI agent can pay?
&lt;/h2&gt;

&lt;p&gt;Agentic commerce has produced a handful of answers, and they mostly differ in how they bound what the agent is allowed to spend. Five worth knowing:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Hand it your card.&lt;/strong&gt; The naive version. You drop a real card number into the agent's context and hope it behaves. There is no per-task limit, no merchant restriction, and your full balance is exposed if the credential leaks or the agent loops. This also breaks the terms of most card programs. Skip it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Scoped virtual cards.&lt;/strong&gt; Issue a virtual card per agent or per task with a hard cap, a short lifetime, and optionally a merchant lock. The agent pays any merchant that accepts cards, and your exposure is capped at the limit you set. Good when the things your agent buys live in the normal fiat world. The tradeoff is that you depend on card rails and an issuer, and it works only where cards are accepted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Programmable wallets and stablecoins.&lt;/strong&gt; Give the agent a wallet, custodial or smart contract based, funded with a small stablecoin balance and governed by spend rules. Settlement happens in something like USDC. Good for paying APIs and other software directly. The tradeoff is that the counterparty has to accept stablecoin payment, so this fits machine to machine more than buying from a typical online store.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. x402: pay per request over HTTP.&lt;/strong&gt; &lt;a href="https://x402.org/" rel="noopener noreferrer"&gt;x402&lt;/a&gt; reuses the HTTP &lt;code&gt;402 Payment Required&lt;/code&gt; status code so any endpoint can ask for payment inline. The agent makes a normal request, gets a 402 describing what is owed, pays from a wallet, and retries. No account signup, no OAuth, no API key exchange. This is the cleanest fit for per call API and MCP tool payments, and there is a working example below.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Mandate based protocols.&lt;/strong&gt; Emerging standards like Google's Agent Payments Protocol (AP2) and Stripe's Shared Payment Tokens give an agent a scoped, pre authorized credential tied to what it is allowed to buy. They get there differently: AP2 backs the credential with a verifiable mandate, while Stripe issues a token scoped to a specific purchase. Both target the same pattern, where a human approves the bounds once and the agent transacts inside them. The tradeoff is maturity. The ecosystem is still forming, so support is uneven.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does an agent pay for a single API call?
&lt;/h2&gt;

&lt;p&gt;The reason x402 reads well as a starting point is that the payment logic disappears into a wrapped &lt;code&gt;fetch&lt;/code&gt;. Your agent code does not change.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// npm install @x402/fetch @x402/evm viem&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;x402Client&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;wrapFetchWithPayment&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="s2"&gt;@x402/fetch&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;registerExactEvmScheme&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="s2"&gt;@x402/evm/exact/client&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;privateKeyToAccount&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="s2"&gt;viem/accounts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// The wallet your agent pays from. Fund it with a small USDC balance.&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;signer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;privateKeyToAccount&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;EVM_PRIVATE_KEY&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="s2"&gt;`0x&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;x402Client&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nf"&gt;registerExactEvmScheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;signer&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Wrap fetch once. 402 responses are now handled for you.&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;fetchWithPayment&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;wrapFetchWithPayment&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// The agent just makes the request. If the endpoint asks for payment,&lt;/span&gt;
&lt;span class="c1"&gt;// the wrapper pays and retries automatically.&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetchWithPayment&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://api.example.com/paid-endpoint&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="s2"&gt;GET&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;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;data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here is what happens when the endpoint wants payment:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The first request comes back as &lt;code&gt;402 Payment Required&lt;/code&gt; with the amount, asset, and recipient.&lt;/li&gt;
&lt;li&gt;The wrapper reads those requirements and checks the amount before paying, so you can reject anything above the ceiling you set.&lt;/li&gt;
&lt;li&gt;It signs a payment from your wallet and resends the request with the payment attached.&lt;/li&gt;
&lt;li&gt;The endpoint verifies it and returns the resource.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That ceiling is the bounded authority piece. Fund the wallet with a small balance, reject any payment above your per request limit, and a single call cannot drain it. If you want to try the full loop, x402 ships a runnable buyer and server example you can stand up locally before pointing an agent at anything real.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which payment method should my agent use?
&lt;/h2&gt;

&lt;p&gt;A rough decision path:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Buying from normal merchants that take cards? Scoped virtual cards.&lt;/li&gt;
&lt;li&gt;Paying APIs, tools, or other agents per call? x402 or a programmable wallet.&lt;/li&gt;
&lt;li&gt;Need a human to approve a budget once and let the agent transact within it? Watch the mandate based protocols, and prototype on whichever has support today.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In practice you end up mixing them. A single agent might carry a capped virtual card for fiat purchases and an x402 wallet for API calls. The annoying part is the bookkeeping: two things to fund, two sets of limits, two places to look when you audit what it actually spent. This is the part &lt;a href="https://fluxapay.xyz/fluxa-ai-wallet" rel="noopener noreferrer"&gt;FluxA&lt;/a&gt; is built to handle, with agent wallets and disposable virtual cards plus x402 and AP2 support sitting behind one set of spend policies, so the cap lives in one place instead of three. If you would rather not run that plumbing yourself, that is the reason to reach for something like it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you stop an AI agent from overspending?
&lt;/h2&gt;

&lt;p&gt;An agent should never hold a payment credential larger than the task in front of it. Autonomy is safe only when the spending limit is enforced before the money moves, not reconciled after. Every approach above is really a different answer to one question: where, exactly, is the cap enforced?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: parts of this post were drafted with help from an AI assistant, then reviewed and edited before publishing. Run the code example yourself before relying on it.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>api</category>
    </item>
  </channel>
</rss>
