x402 Bazaar: resource passes /validate + multiple real CDP-facilitated settles, still 0/16k+ indexed after several hours
- Dominant language
- Python
- Stars
- 200
- Forks
- 191
- Avg merge
- 6h 16m
- Merged PRs (30d)
- 17
Description
## Summary
Our x402 resources (`https://fractalai.net.co/api/x402/sign`, `.../api/x402/witness`) pass CDP's own validation endpoint with every required check green, and have settled multiple real payments through the CDP facilitator (`facilitator: "cdp"` confirmed in the settlement response), but never appear in `GET /platform/v2/x402/discovery/resources` (currently ~16,170 resources total). Asking directly rather than guessing further, since we've run out of things we can check ourselves.
## What we verified before opening this
**1. `/validate` returns fully green**, including the Bazaar-specific checks:
```bash
curl -X POST https://api.cdp.coinbase.com/platform/v2/x402/validate \
-H "Content-Type: application/json" \
-d '{"resource": "https://fractalai.net.co/api/x402/sign", "method": "POST"}'
```
→ `"valid": true`, `"simulation": {"outcome": "accepted"}`, every `preflight` entry `passed: true` including `has_bazaar_extension`, `bazaar.info`, `bazaar.schema`, `bazaar.info.input.method.matches_request`, `parse`.
**2. Real settlements via the CDP facilitator, confirmed multiple times over several hours** (not a single fluke): each real payment's settlement response carries `payment.facilitator: "cdp"`, and each corresponds to a real, confirmed on-chain USDC transfer on Base (transaction hashes available on request — not pasting them here unprompted since they contain payer addresses, happy to share in a follow-up).
**3. Checked the [get-discovered](https://docs.cdp.coinbase.com/x402/seller/get-discovered) checklist** — every item satisfied: public HTTPS URL, endpoint validated, schemas/examples on the Bazaar-declared route, and (per #2) a successful paid call through the CDP Facilitator, repeated several times across different hours.
**4. Cross-checked our extension shape against the SDK's own type definitions** (`@x402/core` `PaymentRequired.extensions`, `checkIfBazaarNeeded()`) rather than guessing from docs alone, to rule out a shape mismatch.
## What we're asking
Given (1)+(2)+(3), is there:
- an indexing delay longer than a few hours for **initial** listing specifically (the docs mention up to 6h for *ranking* recomputation, not initial indexing — is there a separate, longer window for first-time indexing)?
- an additional manual/allowlist step for a resource to appear at all, not documented in the seller guide?
- something else about our setup that would explain settled-but-never-indexed, that `/validate` and the checklist don't catch?
Happy to share the exact resource URLs, a fresh `/validate` run, and specific settlement transaction hashes in a follow-up comment or privately if that's more appropriate for account-specific troubleshooting.
Contributor guide
Research direction
Start by reproducing the POST /platform/v2/x402/validate checks and the GET /platform/v2/x402/discovery/resources query described in the issue, then review the get-discovered checklist. Compare the successful CDP settlements with the missing discovery entry; done means identifying the indexing requirement or confirming the expected initial-indexing behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- blockchain
- Domain
- api, blockchain
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100