Your endpoint needs at least one successful transaction through the CDP facilitator before it appears in the Bazaar. Use an x402 client to send one:
// See the x402 buyer quickstart:
// https://github.com/coinbase/x402/tree/main/examples/typescript/clients
import { wrapFetchWithPayment } from "@x402/fetch";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { baseSepolia } from "viem/chains";
const account = privateKeyToAccount("0xYOUR_PRIVATE_KEY");
const walletClient = createWalletClient({
account,
chain: baseSepolia,
transport: http(),
});
const fetchWithPayment = wrapFetchWithPayment(fetch, walletClient);
const response = await fetchWithPayment('https://api.example.com/', {
method: 'GET',
});
console.log("Response:", await response.json());Important: Auth Gating
Your endpoint should return HTTP 402 when someone is not signed in. If your auth check runs before x402, the endpoint may return 401 or 403 instead, and buyers will not find it.
Check if your endpoint is indexed
After a successful paid request, run this check to confirm your endpoint appears in the Bazaar.