<?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: Coach Hype Oliver</title>
    <description>The latest articles on DEV Community by Coach Hype Oliver (@coachhype).</description>
    <link>https://dev.to/coachhype</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%2F4130410%2F79309162-0a7f-47f1-afb0-1a18fea705ba.jpg</url>
      <title>DEV Community: Coach Hype Oliver</title>
      <link>https://dev.to/coachhype</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/coachhype"/>
    <language>en</language>
    <item>
      <title>How I got my first outside x402 payer — $0.058 in USDC on Base</title>
      <dc:creator>Coach Hype Oliver</dc:creator>
      <pubDate>Mon, 21 Sep 2026 21:16:28 +0000</pubDate>
      <link>https://dev.to/coachhype/how-i-got-my-first-outside-x402-payer-0058-in-usdc-on-base-3hjf</link>
      <guid>https://dev.to/coachhype/how-i-got-my-first-outside-x402-payer-0058-in-usdc-on-base-3hjf</guid>
      <description>&lt;p&gt;On September 18, an agent at wallet &lt;code&gt;0xc9c7b38c&lt;/code&gt; paid $0.010 USDC to call &lt;code&gt;GET /api/market/signal&lt;/code&gt; on my x402 endpoint. Then it came back twice more — &lt;code&gt;POST /api/storage/pin&lt;/code&gt; ($0.008) and &lt;code&gt;POST /api/agent/attest&lt;/code&gt; ($0.040). Total: $0.058 USDC settled on Base.&lt;/p&gt;

&lt;p&gt;I didn't know this agent. It found my endpoints on the &lt;a href="https://bazaar.coinbase.com" rel="noopener noreferrer"&gt;Coinbase Bazaar&lt;/a&gt;, decided they were worth paying for, and paid. No API key signup. No OAuth. No billing dashboard. Just HTTP 402 → pay → get data.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is x402?
&lt;/h2&gt;

&lt;p&gt;x402 is a protocol by Coinbase that lets AI agents pay for API calls with USDC on Base. When an agent hits an endpoint without paying, it gets back HTTP 402 (Payment Required) with a payment envelope. The agent settles on-chain and replays the request with a proof header. The server verifies and serves the response.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://enclave402.com" rel="noopener noreferrer"&gt;Enclave402&lt;/a&gt; — a pay-per-call API gateway with these routes:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Route&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GET /api/market/signal&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;$0.003&lt;/td&gt;
&lt;td&gt;Market data signals&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;POST /api/agent/attest&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;$0.040&lt;/td&gt;
&lt;td&gt;EIP-712 signed attestations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;POST /api/storage/pin&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;$0.008&lt;/td&gt;
&lt;td&gt;IPFS pinning&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GET /api/compute/search&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;$0.005&lt;/td&gt;
&lt;td&gt;Compute search&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GET /api/census/verdict&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;$0.002&lt;/td&gt;
&lt;td&gt;Endpoint trust verdict&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The receipts
&lt;/h2&gt;

&lt;p&gt;All three transactions are on-chain on Base:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://basescan.org/tx/0x6ae197a09c4d77c6a6bfd5892734780b950c60ab4039bffb7df4d0fc06603af7" rel="noopener noreferrer"&gt;&lt;code&gt;0x6ae197...&lt;/code&gt;&lt;/a&gt; — market/signal, $0.010&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://basescan.org/tx/0xd73c2c09ad424185d34abaac77c9d415041b4cc3316b4e6885f73cf92155507c" rel="noopener noreferrer"&gt;&lt;code&gt;0xd73c2c...&lt;/code&gt;&lt;/a&gt; — storage/pin, $0.008&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://basescan.org/tx/0x4b06e2d83e540e71b4006660d31df40ebb948da526e845ee697a83f394433bb2" rel="noopener noreferrer"&gt;&lt;code&gt;0x4b06e2...&lt;/code&gt;&lt;/a&gt; — agent/attest, $0.040&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The first outside payer validates the whole model.&lt;/strong&gt; Before 0xc9c7, every settlement was me testing my own endpoints. The moment a stranger's agent decided my data was worth $0.04, the economics became real.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;x402 removes the signup barrier.&lt;/strong&gt; No API key management, no billing portal, no "contact sales." The agent pays per call. If the data is bad, it stops paying. Market discipline at the HTTP layer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trust problem is unsolved.&lt;/strong&gt; I also built a &lt;a href="https://enclave402.com/census" rel="noopener noreferrer"&gt;census oracle&lt;/a&gt; that probes 8,848 Bazaar endpoints. 33% get an "avoid" verdict — broken, unreachable, or non-compliant. An agent paying $0.04 per call needs to know if the seller will actually deliver. That's why every verdict is EIP-712 signed.&lt;/p&gt;

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

&lt;p&gt;Everything is open: &lt;a href="https://gitlab.com/coachhype/x402-autonomous-api" rel="noopener noreferrer"&gt;gitlab.com/coachhype/x402-autonomous-api&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;If you're building x402 endpoints or have agents that pay for API calls, I'd like to hear what your settlement numbers look like.&lt;/p&gt;

</description>
      <category>crypto</category>
    </item>
    <item>
      <title>How I Got My First Outside x402 Payer (With Receipts on Base)</title>
      <dc:creator>Coach Hype Oliver</dc:creator>
      <pubDate>Sun, 20 Sep 2026 20:57:37 +0000</pubDate>
      <link>https://dev.to/coachhype/how-i-got-my-first-outside-x402-payer-with-receipts-on-base-299a</link>
      <guid>https://dev.to/coachhype/how-i-got-my-first-outside-x402-payer-with-receipts-on-base-299a</guid>
      <description>&lt;p&gt;Three transactions from a wallet I've never seen before. $0.058 USDC total.&lt;/p&gt;

&lt;h2&gt;
  
  
  The receipts
&lt;/h2&gt;

&lt;p&gt;All settled on Base mainnet from &lt;code&gt;0xc9c7b38c0942914fc8ea12063bc92dcd3b581670&lt;/code&gt; — a wallet I don't control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Settlement 1 — market signal&lt;/strong&gt; (2026-09-18) GET /api/market/signal · $0.010 USDC&lt;br&gt;
&lt;a href="https://basescan.org/tx/0x6ae197a09c4d77c6a6bfd5892734780b950c60ab4039bffb7df4d0fc06603af7" rel="noopener noreferrer"&gt;0x6ae197a0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Settlement 2 — storage pin&lt;/strong&gt; (2026-09-19) POST /api/storage/pin · $0.008 USDC&lt;br&gt;
&lt;a href="https://basescan.org/tx/0xd73c2c09ad424185d34abaac77c9d415041b4cc3316b4e6885f73cf92155507c" rel="noopener noreferrer"&gt;0xd73c2c09&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Settlement 3 — attestation&lt;/strong&gt; (2026-09-19) POST /api/agent/attest · $0.040 USDC&lt;br&gt;
&lt;a href="https://basescan.org/tx/0x4b06e2d83e540e71b4006660d31df40ebb948da526e845ee697a83f394433bb2" rel="noopener noreferrer"&gt;0x4b06e2d8&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Three different routes. Three days in a row.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually had to be true
&lt;/h2&gt;

&lt;p&gt;The payer was an agent, not a human. This is x402: machine-to-machine payments with no prior relationship, no API key, no signup.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The 402 had to be honest.&lt;/strong&gt; Real WWW-Authenticate: Payment challenge with exact price and USDC contract.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Every error had to resolve.&lt;/strong&gt; /errors/ so every RFC 9457 type URI leads to a remedy doc, not a 404.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The attestation had to be verifiable offline.&lt;/strong&gt; EIP-712, declared attestor on /transparency, ethers.verifyTypedData.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The gateway had to be findable.&lt;/strong&gt; CDP Bazaar + MCP registry + /.well-known/x402 all agree.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What didn't matter
&lt;/h2&gt;

&lt;p&gt;The listing score. The stars. The bounty post. An agent found a tool, verified the payment surface, and paid.&lt;/p&gt;

&lt;p&gt;Public ledger: &lt;a href="https://enclave402.com/api/ledger" rel="noopener noreferrer"&gt;https://enclave402.com/api/ledger&lt;/a&gt; (operator: false = not us)&lt;br&gt;
Source: &lt;a href="https://gitlab.com/coachhype/x402-autonomous-api" rel="noopener noreferrer"&gt;https://gitlab.com/coachhype/x402-autonomous-api&lt;/a&gt;&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>buildinpublic</category>
      <category>crypto</category>
      <category>web3</category>
    </item>
    <item>
      <title>What it takes to get an x402 seller counted by the Coinbase Bazaar (and a 0.25 USDC thank-you for your first receipt)</title>
      <dc:creator>Coach Hype Oliver</dc:creator>
      <pubDate>Thu, 17 Sep 2026 19:30:47 +0000</pubDate>
      <link>https://dev.to/coachhype/what-it-takes-to-get-an-x402-seller-counted-by-the-coinbase-bazaar-and-a-025-usdc-thank-you-for-5cbm</link>
      <guid>https://dev.to/coachhype/what-it-takes-to-get-an-x402-seller-counted-by-the-coinbase-bazaar-and-a-025-usdc-thank-you-for-5cbm</guid>
      <description>&lt;p&gt;I run &lt;a href="https://enclave402.com" rel="noopener noreferrer"&gt;enclave402.com&lt;/a&gt;, a small pay-per-call gateway for AI agents on Base: live Polymarket prediction-market signals ($0.01), EIP-712 attestations you can verify offline ($0.04), and IPFS pinning. It settles USDC through the x402 v2 protocol with the Coinbase CDP facilitator. No API keys, failed calls are never charged, and every settlement lands on a &lt;a href="https://enclave402.com/api/ledger" rel="noopener noreferrer"&gt;public ledger&lt;/a&gt; with our own wallets disclosed.&lt;/p&gt;

&lt;p&gt;This is what I learned this week getting it listed and counted, with sources, because most of it is not in the docs.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Descriptions over 500 characters make payments fail
&lt;/h2&gt;

&lt;p&gt;The facilitator rejects the payment with a generic &lt;code&gt;paymentPayload is invalid&lt;/code&gt; when &lt;code&gt;resource.description&lt;/code&gt; exceeds 500 characters. We found it by paid bisection. Keep descriptions short; put the detail in &lt;code&gt;/llms.txt&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Only the buyer's envelope gets you indexed
&lt;/h2&gt;

&lt;p&gt;Per the Coinbase maintainer on &lt;a href="https://github.com/coinbase/cdp-sdk/issues/764" rel="noopener noreferrer"&gt;coinbase/cdp-sdk#764&lt;/a&gt; and &lt;a href="https://github.com/coinbase/cdp-sdk/issues/816" rel="noopener noreferrer"&gt;#816&lt;/a&gt;: the Bazaar ingests a settlement, and updates &lt;code&gt;l30DaysTotalCalls&lt;/code&gt; / &lt;code&gt;l30DaysUniquePayers&lt;/code&gt; / &lt;code&gt;lastCalledAt&lt;/code&gt;, only when &lt;code&gt;paymentPayload.resource&lt;/code&gt; &lt;strong&gt;and&lt;/strong&gt; &lt;code&gt;paymentPayload.extensions.bazaar&lt;/code&gt; are present inside the &lt;code&gt;PAYMENT-SIGNATURE&lt;/code&gt; envelope. &lt;code&gt;paymentRequirements&lt;/code&gt; is never read. Both keys sit next to the signed &lt;code&gt;payload&lt;/code&gt;, outside the EIP-3009 signature, so the seller can fill them when a client omits them without breaking anything. We do that in &lt;code&gt;onBeforeVerify&lt;/code&gt; / &lt;code&gt;onBeforeSettle&lt;/code&gt; hooks and keep any client-supplied values. Our merchant record started counting the same minute.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Rank is unique payers, nothing else
&lt;/h2&gt;

&lt;p&gt;I pulled the full catalog (15,874 resources). 70.8% have exactly one payer in 30 days. &lt;code&gt;serviceName&lt;/code&gt;, &lt;code&gt;tags&lt;/code&gt;, &lt;code&gt;iconUrl&lt;/code&gt; help search and rendering but the ordering is &lt;code&gt;l30DaysUniquePayers&lt;/code&gt;. Also: nothing in the index has a &lt;code&gt;lastCalledAt&lt;/code&gt; older than 30 days, so an uncounted settlement shortens your listing's life.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. &lt;code&gt;processing&lt;/code&gt; is success
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;EXTENSION-RESPONSES: {"bazaar":{"status":"processing"}}&lt;/code&gt; on settle is the terminal status of a payment that counted. Log presence booleans and that header per envelope; never log signatures.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it, and get 0.25 USDC back for the first receipt from your wallet
&lt;/h2&gt;

&lt;p&gt;Fastest path is one paid &lt;code&gt;GET https://enclave402.com/api/market/signal?limit=1&lt;/code&gt; with any x402 v2 client (&lt;code&gt;@x402/fetch&lt;/code&gt; works out of the box), or the MCP transport at &lt;code&gt;https://enclave402.com/mcp&lt;/code&gt;. Free dry-run first: send &lt;code&gt;X-Agent-Dry-Run: true&lt;/code&gt; and you get a schema-shaped sample at no cost.&lt;/p&gt;

&lt;p&gt;For the first 20 wallets that are not ours and were not funded by us: post the transaction hash from the &lt;code&gt;PAYMENT-RESPONSE&lt;/code&gt; header in the comments; once it shows on &lt;code&gt;/api/ledger&lt;/code&gt; as &lt;code&gt;operator: false&lt;/code&gt; I send 0.25 USDC to the paying wallet and post the tip tx. Terms and verification method are public in the &lt;a href="https://gitlab.com/coachhype/x402-autonomous-api" rel="noopener noreferrer"&gt;repo&lt;/a&gt; (&lt;code&gt;docs/2-how-to/distribution/RECEIPT-BOUNTY.md&lt;/code&gt;). Not affiliated with Coinbase.&lt;/p&gt;

&lt;p&gt;Feedback on the challenge, the receipt flow, and the RFC 7807 error shapes is what I actually want.&lt;/p&gt;

</description>
      <category>x402</category>
      <category>base</category>
      <category>ai</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
