<?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: Hasan Malik</title>
    <description>The latest articles on DEV Community by Hasan Malik (@hasanmalik825gh).</description>
    <link>https://dev.to/hasanmalik825gh</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%2F4219593%2Faa2a5b0a-a1d2-4be7-8298-bd40c6d9c667.jpg</url>
      <title>DEV Community: Hasan Malik</title>
      <link>https://dev.to/hasanmalik825gh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hasanmalik825gh"/>
    <language>en</language>
    <item>
      <title>Who actually pays on x402? We traced the buyers on-chain</title>
      <dc:creator>Hasan Malik</dc:creator>
      <pubDate>Sat, 31 Oct 2026 19:41:22 +0000</pubDate>
      <link>https://dev.to/hasanmalik825gh/who-actually-pays-on-x402-we-traced-the-buyers-on-chain-259c</link>
      <guid>https://dev.to/hasanmalik825gh/who-actually-pays-on-x402-we-traced-the-buyers-on-chain-259c</guid>
      <description>&lt;p&gt;We launched a small x402 seller on Base this week and asked the obvious question: who is going to pay us? Listings don't answer that, so we read the chain. Every x402 payment is a USDC Transfer to the seller's payTo, and anyone can index those with a free Base RPC node.&lt;/p&gt;

&lt;p&gt;What the chain says&lt;br&gt;
We took 81 sellers listed in two categories (x402 tooling and token/contract facts) and pulled every USDC payment they received.&lt;/p&gt;

&lt;p&gt;52 of 81 sellers earned $0 in the last 24 hours. Being listed is not demand.&lt;br&gt;
The best earned $6–15 a day, from 5–8 distinct payers.&lt;br&gt;
One seller's revenue was 95% from a single wallet, so raw totals are misleading. Distinct payers are what count.&lt;br&gt;
Then we looked at the payers instead of the sellers.&lt;/p&gt;

&lt;p&gt;Five wallets that behave like a single operator paid 293 different sellers in 48 hours, about 1,250 payments a day, funded with roughly $80 over 3 days.&lt;br&gt;
They work in sweeps: bursts of 260–560 payments a few times a day, plus small runs every couple of hours. They revisit each seller roughly every 7.5 hours and add new sellers in most sweeps.&lt;br&gt;
93% of their payments are $0.005 or less (38% are exactly $0.001). Calls at $0.02 or more are 2%.&lt;br&gt;
They pay about 40% of the CDP Bazaar search results we sampled, across every topic (crypto prices, weather, DNS, ENS, UUIDs…), and they pay POST-with-body listings as readily as GET ones.&lt;br&gt;
If you're pricing an endpoint for agents today, that last table is the market.&lt;/p&gt;

&lt;p&gt;Why your endpoint has no buyers (what we hit getting listed)&lt;br&gt;
Catalogs index a route only after a payment settles through their facilitator. No sale, no listing. Each route needs its own first sale, and at least one every 30 days to stay listed (CDP).&lt;br&gt;
Testnet is never indexed, and tunnel URLs (trycloudflare, ngrok) are rejected as ephemeral.&lt;br&gt;
Descriptions over 500 characters are rejected by the CDP facilitator, and metadata that reads like instructions to agents ("you must…") gets screened out.&lt;br&gt;
Return 402 before validating input. A 400 on an empty probe is a failed health check.&lt;br&gt;
Free hosts that sleep fail health probes. A 60-second cold start loses the call and down-ranks you.&lt;br&gt;
Ranking follows real usage. New listings sit at the bottom of search, even for near-exact phrases, until outside buyers arrive. Niche queries with few competitors are where a new listing can surface.&lt;br&gt;
Be in more than one catalog. CDP Bazaar (agentic.market), x402scan, 402index and Poncho each index separately. 402index takes a free API registration and verifies your domain with a .well-known file.&lt;br&gt;
Free check for any endpoint, no key needed:&lt;/p&gt;

&lt;p&gt;curl -X POST &lt;a href="https://api.cdp.coinbase.com/platform/v2/x402/validate" rel="noopener noreferrer"&gt;https://api.cdp.coinbase.com/platform/v2/x402/validate&lt;/a&gt; \&lt;br&gt;
  -H 'content-type: application/json' -d '{"resource":"&lt;a href="https://your.api/route%22,%22method%22:%22POST%22%7D" rel="noopener noreferrer"&gt;https://your.api/route","method":"POST"}&lt;/a&gt;'&lt;br&gt;
What we built from this&lt;br&gt;
We packaged the checks above as pay-per-call x402 endpoints on Base:&lt;/p&gt;

&lt;p&gt;x402-listing-doctor ($0.005): runs the preflight, the CDP validator and catalog presence checks, and returns fixes.&lt;br&gt;
x402-seller-revenue ($0.003): USDC any payTo received in 24 hours, distinct payers, and the top payer's share.&lt;br&gt;
x402-preflight ($0.005) / x402-due-diligence ($0.01): lint a seller's 402 before you sign, plus on-chain demand.&lt;br&gt;
Catalog: &lt;a href="https://minty-sprout.onrender.com/llms.txt" rel="noopener noreferrer"&gt;https://minty-sprout.onrender.com/llms.txt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How do you find buyers for your x402 endpoints? Comment with what's worked for you.&lt;/p&gt;

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