<?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>Forem: Emmanuel Haankwenda</title>
    <description>The latest articles on Forem by Emmanuel Haankwenda (@emmanuel39hanks).</description>
    <link>https://forem.com/emmanuel39hanks</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%2F1244360%2F9a757a6c-fd7c-45be-8d61-d95b9b168590.jpg</url>
      <title>Forem: Emmanuel Haankwenda</title>
      <link>https://forem.com/emmanuel39hanks</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/emmanuel39hanks"/>
    <language>en</language>
    <item>
      <title>Why AI agents still can't buy anything yet</title>
      <dc:creator>Emmanuel Haankwenda</dc:creator>
      <pubDate>Thu, 07 May 2026 14:25:14 +0000</pubDate>
      <link>https://forem.com/emmanuel39hanks/why-ai-agents-still-cant-buy-anything-yet-2143</link>
      <guid>https://forem.com/emmanuel39hanks/why-ai-agents-still-cant-buy-anything-yet-2143</guid>
      <description>&lt;p&gt;&lt;em&gt;A working tour of x402, OKX APP, ERC-3009, TEE-backed inference, and the missing pieces of the autonomous internet stack.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Most "AI agents" today are really just chatbots with tools.&lt;/p&gt;

&lt;p&gt;The moment an agent needs to independently spend money, access paid resources, prove identity, or justify a decision, the current web stack starts breaking down.&lt;/p&gt;

&lt;p&gt;Every payment, identity, and trust primitive on the modern web was designed for a human clicking a button in a browser.&lt;/p&gt;

&lt;p&gt;Agents were never part of the model.&lt;/p&gt;

&lt;p&gt;I've been building AI agents for the last six months and this became obvious very quickly: most agents cannot actually do useful things on the open internet without human infrastructure glued around them.&lt;/p&gt;

&lt;p&gt;They cannot:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pay for APIs autonomously&lt;/li&gt;
&lt;li&gt;prove they're allowed to access a resource&lt;/li&gt;
&lt;li&gt;get billed dynamically at request time&lt;/li&gt;
&lt;li&gt;carry portable identity and reputation&lt;/li&gt;
&lt;li&gt;prove what decision they made and why&lt;/li&gt;
&lt;li&gt;protect sensitive business logic from the model provider&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The problem is structural.&lt;/p&gt;

&lt;p&gt;The good news is that the missing pieces are finally starting to ship publicly, and multiple teams are independently building compatible parts of the stack.&lt;/p&gt;

&lt;p&gt;Coinbase is shipping x402.&lt;br&gt;
OKX is shipping APP.&lt;br&gt;
0G Labs is shipping verifiable storage and TEE-backed inference.&lt;br&gt;
Anthropic pushed the MCP ecosystem into the mainstream.&lt;/p&gt;

&lt;p&gt;For the first time, these systems are starting to compose into something real.&lt;/p&gt;

&lt;p&gt;This post walks through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what agents are missing today&lt;/li&gt;
&lt;li&gt;the protocols filling those gaps&lt;/li&gt;
&lt;li&gt;why verifiable receipts and TEE-backed decisions matter&lt;/li&gt;
&lt;li&gt;a real implementation stitching all of it together&lt;/li&gt;
&lt;/ul&gt;


&lt;h1&gt;
  
  
  What a real agent actually needs
&lt;/h1&gt;

&lt;p&gt;Strip the phrase "AI agent" down to fundamentals and the requirements become pretty obvious.&lt;/p&gt;

&lt;p&gt;An autonomous system needs:&lt;/p&gt;
&lt;h2&gt;
  
  
  1. A wallet
&lt;/h2&gt;

&lt;p&gt;Real money it can move programmatically.&lt;/p&gt;

&lt;p&gt;Not a Stripe customer ID.&lt;br&gt;
Not a human-owned credit card.&lt;br&gt;
Not a manually refreshed API key.&lt;/p&gt;

&lt;p&gt;A real wallet.&lt;/p&gt;

&lt;p&gt;Ideally gasless, because forcing every agent to also manage ETH for transaction fees becomes operationally painful very quickly.&lt;/p&gt;


&lt;h2&gt;
  
  
  2. Identity
&lt;/h2&gt;

&lt;p&gt;Other systems need to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;who this agent is&lt;/li&gt;
&lt;li&gt;who operates it&lt;/li&gt;
&lt;li&gt;what permissions it has&lt;/li&gt;
&lt;li&gt;what reputation it carries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without identity, an agent calling your API is just another anonymous request.&lt;/p&gt;

&lt;p&gt;You cannot apply:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;trust scoring&lt;/li&gt;
&lt;li&gt;rate limiting&lt;/li&gt;
&lt;li&gt;fraud heuristics&lt;/li&gt;
&lt;li&gt;permissions&lt;/li&gt;
&lt;li&gt;reputation systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;at the agent level.&lt;/p&gt;


&lt;h2&gt;
  
  
  3. Dynamic billing at the HTTP layer
&lt;/h2&gt;

&lt;p&gt;The modern web flow looks like this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;request&lt;br&gt;
→ blocked&lt;br&gt;
→ create account&lt;br&gt;
→ verify email&lt;br&gt;
→ add payment method&lt;br&gt;
→ generate API key&lt;br&gt;
→ retry request&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That flow completely breaks for autonomous software.&lt;/p&gt;

&lt;p&gt;Agents need something closer to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;request resource
→ server says "this costs $0.01"
→ agent evaluates
→ pays
→ receives resource
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No signup flow.&lt;br&gt;
No dashboard.&lt;br&gt;
No out-of-band billing.&lt;/p&gt;

&lt;p&gt;The payment negotiation has to happen directly inside the request/response cycle.&lt;/p&gt;


&lt;h2&gt;
  
  
  4. Portable memory
&lt;/h2&gt;

&lt;p&gt;Most agent frameworks today store memory in vector databases controlled by the platform itself.&lt;/p&gt;

&lt;p&gt;That creates weird ownership problems.&lt;/p&gt;

&lt;p&gt;The agent cannot:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;move its memory somewhere else&lt;/li&gt;
&lt;li&gt;prove what it knows&lt;/li&gt;
&lt;li&gt;selectively reveal memory&lt;/li&gt;
&lt;li&gt;keep sensitive memory private from the model provider&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those are not futuristic requirements.&lt;/p&gt;

&lt;p&gt;They're basic ownership guarantees we'd expect from any serious software system.&lt;/p&gt;


&lt;h2&gt;
  
  
  5. Decisions it can defend
&lt;/h2&gt;

&lt;p&gt;This is the part almost nobody talks about.&lt;/p&gt;

&lt;p&gt;If an agent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;approves a refund&lt;/li&gt;
&lt;li&gt;blocks a payment&lt;/li&gt;
&lt;li&gt;rejects a customer&lt;/li&gt;
&lt;li&gt;accepts a lead&lt;/li&gt;
&lt;li&gt;spends money&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;somebody downstream is eventually going to ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Why did the agent make that decision?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Right now, most systems cannot answer that.&lt;/p&gt;

&lt;p&gt;"The LLM decided" is not a serious audit trail.&lt;/p&gt;


&lt;h1&gt;
  
  
  The protocols filling the gap
&lt;/h1&gt;

&lt;p&gt;None of this exists as one unified stack yet.&lt;/p&gt;

&lt;p&gt;But almost every missing primitive now has at least one working implementation.&lt;/p&gt;


&lt;h1&gt;
  
  
  x402: pay on resource access
&lt;/h1&gt;

&lt;p&gt;The HTTP 402 status code ("Payment Required") has existed since 1989 and basically sat unused for decades.&lt;/p&gt;

&lt;p&gt;Coinbase revived it in 2025 as x402.&lt;/p&gt;

&lt;p&gt;The flow is simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Agent
  ↓
GET /resource
  ↓
402 Payment Required
  ↓
sign payment authorization
  ↓
payment submitted
  ↓
resource unlocked
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The server responds with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the price&lt;/li&gt;
&lt;li&gt;accepted asset&lt;/li&gt;
&lt;li&gt;recipient address&lt;/li&gt;
&lt;li&gt;network&lt;/li&gt;
&lt;li&gt;settlement requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The agent signs a payment authorization and submits it back.&lt;/p&gt;

&lt;p&gt;The resource unlocks immediately.&lt;/p&gt;

&lt;p&gt;No signup flow.&lt;br&gt;
No API key generation.&lt;br&gt;
No human interaction.&lt;/p&gt;

&lt;p&gt;Cloudflare shipped a version of this model for AI crawlers under their "pay per crawl" work.&lt;/p&gt;

&lt;p&gt;Smaller services are now exposing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;paid APIs&lt;/li&gt;
&lt;li&gt;oracle endpoints&lt;/li&gt;
&lt;li&gt;downloadable assets&lt;/li&gt;
&lt;li&gt;inference endpoints&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;through x402-compatible paywalls.&lt;/p&gt;


&lt;h1&gt;
  
  
  ERC-3009: the gasless payment primitive underneath it
&lt;/h1&gt;

&lt;p&gt;Both x402 and OKX APP rely heavily on ERC-3009.&lt;/p&gt;

&lt;p&gt;ERC-3009 is the signing standard underneath most gasless USDC payments.&lt;/p&gt;

&lt;p&gt;Instead of sending a transaction directly on-chain, the agent signs a permission slip saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Allow up to $0.01 USDC to move from my wallet to this merchant before this deadline."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Another system then submits the transaction and pays the gas fee for the agent.&lt;/p&gt;

&lt;p&gt;This matters because it removes the requirement for agents to hold ETH.&lt;/p&gt;

&lt;p&gt;The agent only needs USDC.&lt;/p&gt;

&lt;p&gt;That's a surprisingly important usability improvement.&lt;/p&gt;


&lt;h1&gt;
  
  
  OKX APP: extending the x402 model
&lt;/h1&gt;

&lt;p&gt;OKX shipped their own protocol variant called APP (Agent Payment Protocol).&lt;/p&gt;

&lt;p&gt;At the wire level, APP is extremely similar to x402:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;same EIP-712 typed signatures&lt;/li&gt;
&lt;li&gt;same ERC-3009 settlement model&lt;/li&gt;
&lt;li&gt;same request/response payment flow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But APP adds some important extensions.&lt;/p&gt;
&lt;h2&gt;
  
  
  Deferred aggregation
&lt;/h2&gt;

&lt;p&gt;Instead of settling every tiny payment individually on-chain, agents can batch many small payments together.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;100 API calls
→ 100 off-chain authorizations
→ 1 on-chain settlement
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This becomes important for high-frequency agent workloads.&lt;/p&gt;




&lt;h2&gt;
  
  
  Session-based billing
&lt;/h2&gt;

&lt;p&gt;APP also introduces the idea of prepaid session budgets.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Agent prepays $5
→ server deducts usage over time
→ long-running workflow completes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is important for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;video generation&lt;/li&gt;
&lt;li&gt;deep research&lt;/li&gt;
&lt;li&gt;multi-step workflows&lt;/li&gt;
&lt;li&gt;autonomous browsing sessions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The specs exist today.&lt;br&gt;
SDK support is still early.&lt;/p&gt;


&lt;h1&gt;
  
  
  Agent identity: ERC-8004
&lt;/h1&gt;

&lt;p&gt;Identity for agents is still immature.&lt;/p&gt;

&lt;p&gt;ERC-8004 is one early attempt at solving this.&lt;/p&gt;

&lt;p&gt;The basic idea:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;agents get on-chain identities&lt;/li&gt;
&lt;li&gt;identities contain claims&lt;/li&gt;
&lt;li&gt;other systems can inspect those claims before interacting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An agent could eventually advertise:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;operator identity&lt;/li&gt;
&lt;li&gt;capabilities&lt;/li&gt;
&lt;li&gt;permissions&lt;/li&gt;
&lt;li&gt;reputation&lt;/li&gt;
&lt;li&gt;certifications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Very little production infrastructure depends on ERC-8004 today.&lt;/p&gt;

&lt;p&gt;But the underlying problem it tries to solve is real.&lt;/p&gt;


&lt;h1&gt;
  
  
  The real missing layer: verifiability
&lt;/h1&gt;

&lt;p&gt;Payments alone are not enough.&lt;/p&gt;

&lt;p&gt;You also need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;verifiable receipts&lt;/li&gt;
&lt;li&gt;verifiable decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is where the 0G stack becomes interesting.&lt;/p&gt;


&lt;h1&gt;
  
  
  Verifiable receipts with 0G Storage + 0G Chain
&lt;/h1&gt;

&lt;p&gt;Suppose an agent buys data for $0.10.&lt;/p&gt;

&lt;p&gt;A normal payment system gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;transaction hash&lt;/li&gt;
&lt;li&gt;payment confirmation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But that is not enough.&lt;/p&gt;

&lt;p&gt;You also want:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the exact payload that was served&lt;/li&gt;
&lt;li&gt;proof that it wasn't modified later&lt;/li&gt;
&lt;li&gt;a permanent cryptographic reference to it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;0G Storage handles the content layer.&lt;/p&gt;

&lt;p&gt;The receipt or payload gets uploaded into decentralized content-addressed storage.&lt;/p&gt;

&lt;p&gt;That returns a root hash.&lt;/p&gt;

&lt;p&gt;The root hash then gets anchored onto 0G Chain.&lt;/p&gt;

&lt;p&gt;Now the transaction has a 3-layer proof trail:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Base transaction
   → proves money moved

2. 0G Storage receipt
   → proves what content was served

3. 0G Chain anchor
   → proves the content was not modified later
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A third party can independently verify every step.&lt;/p&gt;

&lt;p&gt;Nobody has to trust the merchant.&lt;/p&gt;




&lt;h1&gt;
  
  
  Verifiable decisions with TEE-backed inference
&lt;/h1&gt;

&lt;p&gt;This is the part I think people are underestimating.&lt;/p&gt;

&lt;p&gt;Agents increasingly make policy decisions.&lt;/p&gt;

&lt;p&gt;Questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;should this refund be approved?&lt;/li&gt;
&lt;li&gt;does this request violate policy?&lt;/li&gt;
&lt;li&gt;should this payment be blocked?&lt;/li&gt;
&lt;li&gt;is this customer risky?&lt;/li&gt;
&lt;li&gt;should this lead be accepted?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Today, those prompts usually go directly to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OpenAI&lt;/li&gt;
&lt;li&gt;Anthropic&lt;/li&gt;
&lt;li&gt;Google&lt;/li&gt;
&lt;li&gt;another centralized inference provider&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which means the provider can theoretically see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;refund policies&lt;/li&gt;
&lt;li&gt;fraud heuristics&lt;/li&gt;
&lt;li&gt;pricing rules&lt;/li&gt;
&lt;li&gt;sensitive business logic&lt;/li&gt;
&lt;li&gt;internal compliance workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That becomes a serious issue very quickly.&lt;/p&gt;




&lt;h1&gt;
  
  
  What a TEE actually changes
&lt;/h1&gt;

&lt;p&gt;0G Compute runs inference inside a TEE (Trusted Execution Environment).&lt;/p&gt;

&lt;p&gt;Think of a TEE as hardware-isolated secure memory.&lt;/p&gt;

&lt;p&gt;The workload runs inside an encrypted enclave protected by the CPU itself.&lt;/p&gt;

&lt;p&gt;Even the infrastructure operator cannot inspect:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the prompt&lt;/li&gt;
&lt;li&gt;the model input&lt;/li&gt;
&lt;li&gt;the output&lt;/li&gt;
&lt;li&gt;the business logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system then returns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the result&lt;/li&gt;
&lt;li&gt;a hardware attestation proving what code actually ran&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates something extremely important:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;decisions agents can defend cryptographically&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;merchant defines refund policy
→ agent evaluates refund request inside TEE
→ signed decision returned
→ merchant policy never leaks
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For a $0.10 ebook purchase, this is probably overkill.&lt;/p&gt;

&lt;p&gt;For:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;healthcare data&lt;/li&gt;
&lt;li&gt;financial systems&lt;/li&gt;
&lt;li&gt;enterprise automation&lt;/li&gt;
&lt;li&gt;compliance workflows&lt;/li&gt;
&lt;li&gt;trading systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;it becomes very important.&lt;/p&gt;




&lt;h1&gt;
  
  
  A real implementation: Coal
&lt;/h1&gt;

&lt;p&gt;Over the last few months I've been building Coal.&lt;/p&gt;

&lt;p&gt;Coal is a payment platform for autonomous software running on Base + 0G.&lt;/p&gt;

&lt;p&gt;Instead of talking abstractly about the stack, here's the concrete implementation.&lt;/p&gt;

&lt;p&gt;Coal does five things.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Hosts an agent-discoverable merchant catalog
&lt;/h2&gt;

&lt;p&gt;Merchant catalogs live on 0G Storage.&lt;/p&gt;

&lt;p&gt;Agents can discover products without:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API keys&lt;/li&gt;
&lt;li&gt;dashboards&lt;/li&gt;
&lt;li&gt;centralized marketplaces&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  2. Accepts both x402 and OKX APP
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6k0dez2habdh5gzwaxd.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6k0dez2habdh5gzwaxd.jpeg" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The same &lt;code&gt;/verify&lt;/code&gt; endpoint accepts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;x402-v1&lt;/li&gt;
&lt;li&gt;app-v2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The server advertises supported protocols and the agent picks whichever it supports.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Settles via Base USDC
&lt;/h2&gt;

&lt;p&gt;Payments settle using USDC on Base.&lt;/p&gt;

&lt;p&gt;The operator wallet relays transactions so agents never need ETH.&lt;/p&gt;

&lt;p&gt;Typical confirmation time is around 2 seconds.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Anchors receipts on 0G
&lt;/h2&gt;

&lt;p&gt;Every payment receipt gets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;uploaded to 0G Storage&lt;/li&gt;
&lt;li&gt;anchored onto 0G Chain&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anyone can independently verify the proof trail.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Runs policy decisions inside TEEs
&lt;/h2&gt;

&lt;p&gt;Refund checks, quotas, permissions, and policy evaluations run through 0G Compute Sealed Inference.&lt;/p&gt;

&lt;p&gt;Merchant rules stay private from the model provider.&lt;/p&gt;




&lt;h1&gt;
  
  
  A concrete example
&lt;/h1&gt;

&lt;p&gt;Open:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://agent.usecoal.xyz
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ask the embedded agent:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Buy me the 0G Builder's Cheatsheet"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The flow looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;discover_merchants
→ find merchant catalog
→ pay_merchant
→ sign ERC-3009 authorization
→ facilitator submits transaction
→ receipt anchored on 0G
→ PDF unlocks
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The payment is real USDC on Base.&lt;/p&gt;

&lt;p&gt;No human clicks anything.&lt;/p&gt;




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

&lt;p&gt;The stack works today.&lt;/p&gt;

&lt;p&gt;But a lot is still rough.&lt;/p&gt;




&lt;h2&gt;
  
  
  Discovery is fragmented
&lt;/h2&gt;

&lt;p&gt;There is no "Google for agent-payable services" yet.&lt;/p&gt;

&lt;p&gt;Current discovery options are fragmented across:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ERC-8004 registries&lt;/li&gt;
&lt;li&gt;MCP marketplaces&lt;/li&gt;
&lt;li&gt;project-specific catalogs&lt;/li&gt;
&lt;li&gt;Coinbase Bazaar&lt;/li&gt;
&lt;li&gt;custom integrations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Agents still mostly rely on manually configured endpoints.&lt;/p&gt;

&lt;p&gt;That does not scale long term.&lt;/p&gt;




&lt;h2&gt;
  
  
  Identity is immature
&lt;/h2&gt;

&lt;p&gt;Agent reputation and trust scoring barely exist today.&lt;/p&gt;

&lt;p&gt;A malicious agent and a high-quality agent can often look identical at the protocol layer.&lt;/p&gt;




&lt;h2&gt;
  
  
  Cross-chain UX is messy
&lt;/h2&gt;

&lt;p&gt;Different payment ecosystems prefer different chains.&lt;/p&gt;

&lt;p&gt;Agents increasingly need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;multiple wallets&lt;/li&gt;
&lt;li&gt;multiple balances&lt;/li&gt;
&lt;li&gt;cross-chain settlement paths&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;which reintroduces operational complexity.&lt;/p&gt;




&lt;h2&gt;
  
  
  Async billing is still early
&lt;/h2&gt;

&lt;p&gt;The request/response model works well for instant resources.&lt;/p&gt;

&lt;p&gt;It breaks down for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;long-running research&lt;/li&gt;
&lt;li&gt;asynchronous workflows&lt;/li&gt;
&lt;li&gt;large generation jobs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Session-based billing exists in specs but is still early in production SDKs.&lt;/p&gt;




&lt;h2&gt;
  
  
  TEE tooling is rough
&lt;/h2&gt;

&lt;p&gt;The primitives are good.&lt;/p&gt;

&lt;p&gt;The developer experience still feels early.&lt;/p&gt;

&lt;p&gt;Attestation verification from TypeScript applications is still awkward and under-tooled.&lt;/p&gt;

&lt;p&gt;It reminds me a lot of early Web3 tooling around 2018.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why this matters
&lt;/h1&gt;

&lt;p&gt;I think the important shift here is conceptual.&lt;/p&gt;

&lt;p&gt;For years, "AI agents" mostly meant:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;prompts&lt;/li&gt;
&lt;li&gt;workflows&lt;/li&gt;
&lt;li&gt;tool calling&lt;/li&gt;
&lt;li&gt;orchestration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now we're starting to see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;autonomous payments&lt;/li&gt;
&lt;li&gt;machine-native identity&lt;/li&gt;
&lt;li&gt;programmable commerce&lt;/li&gt;
&lt;li&gt;verifiable decisions&lt;/li&gt;
&lt;li&gt;cryptographic receipts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The infrastructure layer is finally catching up.&lt;/p&gt;




&lt;h1&gt;
  
  
  Try it yourself
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Live agent sandbox
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;https://agent.usecoal.xyz
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Runs Claude/Qwen with an embedded wallet capable of autonomous payments.&lt;/p&gt;




&lt;h2&gt;
  
  
  MCP server
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.emmanuel39hanks/coal" rel="noopener noreferrer"&gt;Official MCP Registry&lt;/a&gt;&lt;br&gt;
&lt;a href="https://smithery.ai/servers/coal/coal-payments" rel="noopener noreferrer"&gt;Smithery&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;https://mcp.usecoal.xyz/api/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;13 tools for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;discovery&lt;/li&gt;
&lt;li&gt;payment&lt;/li&gt;
&lt;li&gt;verification&lt;/li&gt;
&lt;li&gt;downloads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Multi-tenant by design.&lt;br&gt;
Every user passes their own wallet key.&lt;/p&gt;




&lt;h2&gt;
  
  
  Source code
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://github.com/emmanuel39hanks/coal
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;MIT licensed.&lt;/p&gt;

&lt;p&gt;Includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;x402 facilitator&lt;/li&gt;
&lt;li&gt;APP v2 settlement flow&lt;/li&gt;
&lt;li&gt;receipt anchoring&lt;/li&gt;
&lt;li&gt;React SDK&lt;/li&gt;
&lt;li&gt;MCP server&lt;/li&gt;
&lt;li&gt;Base USDC integration&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;The autonomous internet needs more visible reference implementations and fewer speculative threads.&lt;/p&gt;

&lt;p&gt;Hopefully this helps move the first category forward.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>infrastructure</category>
      <category>web3</category>
    </item>
    <item>
      <title>Quick one for the marketing brains, how important is it really to know every email event during a campaign’s lifespan? Opens, clicks, forwards, replies, unsubscribes, all of it. Do you just need the key insights, or do you prefer full surveillance mode?</title>
      <dc:creator>Emmanuel Haankwenda</dc:creator>
      <pubDate>Wed, 28 May 2025 18:23:08 +0000</pubDate>
      <link>https://forem.com/emmanuel39hanks/quick-one-for-the-marketing-brains-how-important-is-it-really-to-know-every-email-event-during-a-50hl</link>
      <guid>https://forem.com/emmanuel39hanks/quick-one-for-the-marketing-brains-how-important-is-it-really-to-know-every-email-event-during-a-50hl</guid>
      <description></description>
      <category>marketing</category>
      <category>analytics</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
