I run enclave402.com, 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 public ledger with our own wallets disclosed.
This is what I learned this week getting it listed and counted, with sources, because most of it is not in the docs.
1. Descriptions over 500 characters make payments fail
The facilitator rejects the payment with a generic paymentPayload is invalid when resource.description exceeds 500 characters. We found it by paid bisection. Keep descriptions short; put the detail in /llms.txt.
2. Only the buyer's envelope gets you indexed
Per the Coinbase maintainer on coinbase/cdp-sdk#764 and #816: the Bazaar ingests a settlement, and updates l30DaysTotalCalls / l30DaysUniquePayers / lastCalledAt, only when paymentPayload.resource and paymentPayload.extensions.bazaar are present inside the PAYMENT-SIGNATURE envelope. paymentRequirements is never read. Both keys sit next to the signed payload, outside the EIP-3009 signature, so the seller can fill them when a client omits them without breaking anything. We do that in onBeforeVerify / onBeforeSettle hooks and keep any client-supplied values. Our merchant record started counting the same minute.
3. Rank is unique payers, nothing else
I pulled the full catalog (15,874 resources). 70.8% have exactly one payer in 30 days. serviceName, tags, iconUrl help search and rendering but the ordering is l30DaysUniquePayers. Also: nothing in the index has a lastCalledAt older than 30 days, so an uncounted settlement shortens your listing's life.
4. processing is success
EXTENSION-RESPONSES: {"bazaar":{"status":"processing"}} on settle is the terminal status of a payment that counted. Log presence booleans and that header per envelope; never log signatures.
Try it, and get 0.25 USDC back for the first receipt from your wallet
Fastest path is one paid GET https://enclave402.com/api/market/signal?limit=1 with any x402 v2 client (@x402/fetch works out of the box), or the MCP transport at https://enclave402.com/mcp. Free dry-run first: send X-Agent-Dry-Run: true and you get a schema-shaped sample at no cost.
For the first 20 wallets that are not ours and were not funded by us: post the transaction hash from the PAYMENT-RESPONSE header in the comments; once it shows on /api/ledger as operator: false I send 0.25 USDC to the paying wallet and post the tip tx. Terms and verification method are public in the repo (docs/2-how-to/distribution/RECEIPT-BOUNTY.md). Not affiliated with Coinbase.
Feedback on the challenge, the receipt flow, and the RFC 7807 error shapes is what I actually want.
Top comments (1)
Update, with receipts: the first outside payer (a wallet that isn't mine) settled three calls to /api/market/signal on Base last week. Tx hashes, timing, and what actually got it counted on the Bazaar are in the follow-up post: dev.to/coachhype/how-i-got-my-firs...
The 0.25 USDC thank-you above is still open for anyone who posts a verifiable receipt from their own seller — same rules as in the article.