360 check, 9 Nov 2026
Walmart on the pay layer: the 360 agent-readiness check
Walmart scores 49 of 100 on Ora's agent-readiness scan, a C, read 14 Nov 2026. The six payment checks did not apply to walmart.com on this read, which is how Ora treats a site it does not read as a shop. An MCP server for sellers, and no protocol for a shopper's agent to pay through.
On 14 Nov 2026 the public site at walmart.com scored 49 of 100 on Ora's agent-readiness scan, a C, in Ora's E-commerce category. Walmart is the largest retailer in the world by revenue, selling online in the United States and through a marketplace, so this check reads the Payments layer first: the six checks that look for x402, MPP, UCP, ACP and AP2 on the domain, the same protocols this site's matrix tracks row by row. The other layers follow, with every check Ora ran and what it saw. Ora's one-line summary: The site offers public developer docs and a sitemap that agents can reach, but lacks a published OpenAPI specification and WebMCP support.
The score
| Layer | Points | Share | What the layer asks |
|---|---|---|---|
| Discovery | 7.67 of 14 | 55% | Can agents find and recommend it |
| Access | 21.67 of 43 | 50% | Can agents read it |
| Usability | 33.33 of 74 | 45% | Can agents use it |
| Payments | 0 of 0 | none apply | Can agents pay |
| Total | 49 of 100 | 49% | Grade C |
The pay layer
Ora did not run the six payment checks against walmart.com on this read: it marks them not applicable on a site it does not read as a shop, so the layer has no maximum and costs nothing. A retailer that sells online can still publish any of the five protocols; the matrix says which processors and platforms carry each one. Each protocol links to its matrix row, where the processors and platforms that carry it are dated and sourced.
| Payment check | Result | Points | Matrix row | What Ora saw |
|---|---|---|---|---|
| x402 | Does not apply | 0 of 2 | x402 in the matrix | No x402 payment protocol support detected. No working way for an agent to pay was found, so payments are not scored |
| MPP | Does not apply | 0 of 2 | MPP in the matrix | No MPP (Machine Payments Protocol) support detected. No working way for an agent to pay was found, so payments are not scored |
| UCP | Does not apply | 0 of 3 | UCP in the matrix | no UCP (Universal Commerce Protocol) signals detected. No working way for an agent to pay was found, so payments are not scored |
| ACP | Does not apply | 0 of 3 | ACP in the matrix | no ACP (Agentic Commerce Protocol) signals detected. No working way for an agent to pay was found, so payments are not scored |
The other layers, check by check
Every check Ora ran on walmart.com, grouped by layer, with the result, the points and what Ora recorded where its wording passes this site's gate.
Discovery: 7.67 of 14
| Check | Result | Points | What Ora saw |
|---|---|---|---|
| ARD discovery | Fail | 0 of 1 | No /.well-known/ard.json, no same-site rel="ard" link, and no legacy /.well-known/ai-catalog.json |
| Developer resource discoverability | Partial | 2.67 of 4 | In a search for your API docs, your docs came up at #5 (https://developer.walmart.com). In a search for your MCP server, SDK or CLI, none of the 10 results is your own, although the scan found one on your site |
| Brand name discoverability | Pass | 3 of 3 | walmart.com ranks #1 for "Walmart Toys" and #4 for "Walmart Home" |
| robots.txt AI crawler policy | Pass | 1 of 1 | AI search crawlers: allowed in 3 of 3 checks (3 crawlers on 1 page). AI training crawlers: allowed in 2 of 2 checks (2 crawlers on 1 page), not scored. |
| Listed in MCP registries | Fail | 0 of 3 | No verified entry in the official MCP Registry or on Smithery, and no npm or PyPI package of yours that runs as an MCP server. To pass |
| NPM/PyPI SDK package | Fail | 0 of 1 | No NPM or PyPI SDK package found |
| Agent platform configs | Fail | 0 of 1 | Could not locate a public repo containing agent configs or rules. If our probes missed it, AI coding agents likely will too - link the repo from your homepage or docs so it's discoverable. |
| Agent Plugins manifest | Fail | 0 of 1 | No Agent Plugins manifest (plugin.json) found in discovered repos |
| Registry branding | Fail | 0 of 2 | No registry branding (name, icon, description) found |
| ChatGPT app listed | Fail | 0 of 2 | Not found in ChatGPT app directory |
| Homepage not hidden from search | Pass | 1 of 1 | No noindex on the homepage: no robots, googlebot or bingbot meta tag and no X-Robots-Tag header hides it from search. |
Access: 21.67 of 43
| Check | Result | Points | What Ora saw |
|---|---|---|---|
| Sitemap exists | Pass | 1 of 1 | Valid sitemap found at https://www.walmart.com/sitemap_category.xml with 12720 entries |
| Content without JavaScript | Partial | 1.67 of 5 | Homepage: 2447 chars with H1, but 2.5% content ratio is below the 5% target. Sampled pages with almost no text without JavaScript (1 of 5): https://www.walmart.com/cp/10-pocket-hole-screws/9237418 (97 chars). |
| Not blocked by bot detection | Pass | 2 of 2 | Site accessible to 4 agent user-agents (ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot). |
| Agent discovery file | Fail | 0 of 2 | No agent discovery file found |
| A2A / agent-card | Fail | 0 of 2 | No A2A agent card found at /.well-known/agent-card.json |
| Listed on skills.sh | Pass | 1 of 1 | Pass, no detail recorded. |
| pricing.md exists | Fail | 0 of 2 | No pricing.md found - agents need machine-readable pricing to compare products and make purchase recommendations |
| NLWeb Schema Feeds | Fail | 0 of 1 | No schemamap: directive in robots.txt |
| MCP well-known discovery | Partial | 1 of 2 | MCP server at https://developer.walmart.com/mcp - list its server card, hosted on your own domain, in /.well-known/ai-catalog.json so MCP clients can discover it |
| HTTP Link headers (RFC 8288) | Fail | 0 of 1 | No HTTP Link response headers (RFC 8288) found |
| Markdown URL fallback | Fail | 0 of 2 | Homepage does not support the .md suffix. Probed https://walmart.com/index.md and it did not return markdown (expected text/markdown content-type or a heading-led non-HTML body). |
| Modular llms.txt per product area | Fail | 0 of 1 | No section-level llms.txt found. Tried /docs/llms.txt, /api/llms.txt, /developers/llms.txt, /guides/llms.txt, /reference/llms.txt, /all-departments/llms.txt, /my-items/llms.txt, /lists/llms.txt, /my-registries/llms.txt, /orders/llms.txt. |
| robots.txt agent-user policy | Pass | 1 of 1 | No applicable crawl or usage restriction found for 3 user-triggered agents (chatgpt-user, claude-user, perplexity-user) on 1 public page: https://walmart.com/. Declared policy only |
| llms.txt exists | Fail | 0 of 1 | No llms.txt found at https://walmart.com/llms.txt. Publish it at the site root, where agents that follow the llms.txt spec look for it. |
| llms.txt formatting | Fail | 0 of 2 | No llms.txt found to evaluate quality |
| JSON-LD structured data | Partial | 1 of 2 | JSON-LD Organization found - missing description on this entity |
| Pricing info accessible | Fail | 0 of 3 | No pricing page or pricing data found |
| Public API/docs linked from homepage | Pass | 4 of 4 | Documentation site found at https://developer.walmart.com |
| Agent instruction / when-to-use | Fail | 0 of 1 | No agent instruction file with when-to-use guidance found |
| Skills.sh skill quality | Partial | 0 of 2 | Minimal skills.sh presence - 1 skill, 1 installs. Too thin for agents to understand capabilities |
| JSON-LD entity linking (sameAs) | Fail | 0 of 1 | No sameAs entity linking in JSON-LD - agents cannot disambiguate your brand |
| Metadata completeness | Pass | 1 of 1 | All metadata signals present: canonical URL, lang="en-US", og:image, og:type |
| Organization schema completeness | Partial | 0.5 of 1 | Organization schema found but missing: contactPoint, address |
| Trust anchor pages | Partial | 0.5 of 1 | About, Privacy pages verified - missing: Contact |
| Markdown alternate link | Fail | 0 of 1 | No sampled page advertises a markdown alternate. Add <link rel="alternate" type="text/markdown" href="..."> (or the equivalent Link response header) pointing at a markdown twin of the page. |
| Redirect hygiene | Pass | 1 of 1 | Pass, no detail recorded. |
| Page token budget | Pass | 1 of 1 | All 11 measured pages fit an agent context budget (largest ~19K tokens) |
| Content starts near the top | Pass | 1 of 1 | Pass, no detail recorded. |
| Content behind auth | Pass | 1 of 1 | All 5 sampled pages are publicly readable (4 with substantive content) |
| OpenAPI spec published | Fail | 0 of 8 | No OpenAPI/Swagger specification found |
| Developer portal | Pass | 5 of 5 | Developer portal found at https://developer.walmart.com |
| API catalog (RFC 9727) | Fail | 0 of 2 | No /.well-known/api-catalog found (RFC 9727) |
| Markdown agent docs | Fail | 0 of 1 | Missing markdown content negotiation. Homepage returned text/html when probed with Accept: text/markdown (expected text/markdown), and none of the well-known root paths (/llms.md, /auth.md, /agents.md, /developers.md |
| Markdown content negotiation (acceptmarkdown.com) | Fail | 0 of 1 | Homepage https://walmart.com does not meet the Markdown negotiation requirements: Accept: text/markdown returned text/html; charset=utf-8; Vary header missing Accept (got "accept-encoding") |
| Bot-UA markdown serving | Fail | 0 of 1 | No probed bot User-Agent (ChatGPT-User, Claude-User, Perplexity-User) receives markdown when requesting HTML. Optional: detect AI-bot UAs server-side and serve them a markdown representation directly. |
| Agent crawler reachability | Pass | 1 of 1 | Reachable to every agent we tested - ChatGPT-User: reachable, OAI-SearchBot: reachable, Claude-User: reachable, PerplexityBot: reachable |
Usability: 33.33 of 74
| Check | Result | Points | What Ora saw |
|---|---|---|---|
| Public API with reachable endpoints | Pass | 8 of 8 | REST API documentation found at /api. GraphQL endpoint at https://developer.api.us2.walmart.com/api-proxy/service/hw/wellnessplusservice/v1/graphql is reachable; introspection requires authentication (API key / OAuth) |
| OAuth 2.0 support | Pass | 5 of 5 | OAuth authorization server metadata at https://developer.walmart.com |
| Scoped permissions | Partial | 2 of 5 | Scoped permissions described at https://developer.walmart.com, but no machine-readable scope declaration found (OpenAPI oauth2 scopes or RFC 9728 scopes_supported) |
| MCP auth mechanism | Pass | 2 of 2 | Pass, no detail recorded. |
| MCP OAuth metadata | Pass | 2 of 2 | Pass, no detail recorded. |
| MCP PKCE S256 support | Pass | 2 of 2 | Pass, no detail recorded. |
| Agent onboarding friction | Pass | 2 of 2 | Pass, no detail recorded. |
| Web Bot Auth directory | Fail | 0 of 2 | No /.well-known/http-message-signatures-directory found |
| OAuth Protected Resource metadata (RFC 9728) | Pass | 2 of 2 | Pass, no detail recorded. |
| auth.md exists | Fail | 0 of 2 | No /auth.md found at site root |
| auth.md structure | Fail | 0 of 2 | No /auth.md found at site root |
| Agent auth discovery metadata | Fail | 0 of 3 | Neither /.well-known/oauth-protected-resource nor /.well-known/oauth-authorization-server found. Probed: walmart.com, api.walmart.com. |
| Agent auth WWW-Authenticate hint | Pass | 1 of 1 | Pass, no detail recorded. |
| agent_auth endpoints reachable | Fail | 0 of 2 | No agent_auth endpoint URIs found in AS metadata or /auth.md prose; nothing to probe |
| MCP server / manifest | Partial | 8.33 of 10 | MCP server detected at https://developer.walmart.com/mcp; it requires authentication. Presence is verified (5/6), but Ora could not inspect its tools or verify access scopes without credentials. |
| WebMCP support | Fail | 0 of 8 | No WebMCP support detected - no document.modelContext / navigator.modelContext usage found (scanned 1 of 1 same-origin script bundle(s) for modelContext registrations) |
| Rate limit response headers | Fail | 0 of 2 | GraphQL introspection auth-gated and no header convention documented on GraphQL-tagged pages |
| Idempotency-Key support | Fail | 0 of 3 | GraphQL introspection auth-gated and no idempotency documentation found on GraphQL-tagged pages |
| JSON error responses | Fail | 0 of 3 | API does not return JSON error responses (or no API detected) |
| CLI tool available | Fail | 0 of 3 | No CLI tool found |
| NLWeb /ask endpoint | Fail | 0 of 1 | No NLWeb-conformant /ask endpoint found via GET or POST |
| NLWeb streaming support | Fail | 0 of 1 | NLWeb /ask does not support SSE streaming via GET or POST |
| MCP server-card.json | Fail | 0 of 2 | No MCP server card found for https://developer.walmart.com/mcp (checked /.well-known/mcp/server-card.json, the site's ai-catalog.json, servers[].card in mcp.json, and <server>/server-card) |
| Product + docs MCP coverage | Fail | 0 of 2 | This bonus needs two MCP servers: one for your product so agents can take actions, and a separate one for your documentation so agents can answer questions from your docs. |
| Sandbox / test environment | Partial | 0 of 2 | Sandbox/test environment mentioned at https://developer.walmart.com but no sandbox surface verified |
| GraphQL typed error model | Fail | 0 of 3 | GraphQL introspection auth-gated and no typed graphql error model documentation found on GraphQL-tagged pages |
| GraphQL versioning / deprecation policy | Fail | 0 of 2 | GraphQL introspection auth-gated and no graphql versioning / deprecation policy documentation found on GraphQL-tagged pages |
| GraphQL pagination pattern | Fail | 0 of 2 | GraphQL introspection auth-gated and no graphql pagination pattern documentation found on GraphQL-tagged pages |
| GraphQL async-job pattern | Fail | 0 of 2 | GraphQL introspection auth-gated and no graphql async-job pattern documentation found on GraphQL-tagged pages |
| Agent-friendly 404s | Fail | 0 of 2 | Docs host developer.walmart.com: Nonexistent paths return HTTP 200 with the app shell (soft-404). Agents probing for resources conclude every path exists. Return a real HTTP 404 status for unknown paths. |
| Accessible document structure | Pass | 3 of 3 | Pass, no detail recorded. |
| Native interactive controls | Pass | 3 of 3 | Pass, no detail recorded. |
| Accessible names on controls | Pass | 2 of 2 | Pass, no detail recorded. |
| Form control labeling | Pass | 2 of 2 | Pass, no detail recorded. |
| Accessibility-tree injection safety (bonus) | Pass | 2 of 2 | Pass, no detail recorded. |
| A2UI / generative UI support | Fail | 0 of 2 | No A2UI or generative UI support detected |
| API schema complexity analysis | Fail | 0 of 2 | GraphQL: introspection auth-gated and no schema evidence in docs |
| Function calling compatibility | Fail | 0 of 2 | No API spec found - function calling requires discoverable endpoints |
The fixes worth most points
Ora attaches an estimate to each failing or partial check: how many points the site would gain by passing it. These are the 5 with the largest estimates for Walmart.
- OpenAPI spec published
- Fail, 0 of 8, about 6.2 points to gain. Ora saw:
No OpenAPI/Swagger specification found
. - Listed in MCP registries
- Fail, 0 of 3, about 4.8 points to gain. Ora saw:
No verified entry in the official MCP Registry or on Smithery, and no npm or PyPI package of yours that runs as an MCP server. To pass
. - WebMCP support
- Fail, 0 of 8, about 4.8 points to gain. Ora saw:
No WebMCP support detected - no document.modelContext / navigator.modelContext usage found (scanned 1 of 1 same-origin script bundle(s) for modelContext registrations)
. - Content without JavaScript
- Partial, 1.67 of 5, about 2.6 points to gain. Ora saw:
Homepage: 2447 chars with H1, but 2.5% content ratio is below the 5% target. Sampled pages with almost no text without JavaScript (1 of 5): https://www.walmart.com/cp/10-pocket-hole-screws/9237418 (97 chars)
. - Pricing info accessible
- Fail, 0 of 3, about 2.3 points to gain. Ora saw:
No pricing page or pricing data found
.
Our read
Walmart is the largest retailer in the world and Ora finds no payment protocol on walmart.com: the six payment checks were probed and none of x402, MPP, UCP, ACP or AP2 answered, so the pay layer reads 0 of 0. That squares with this site's matrix, which records UCP on Walmart as announced, a Gemini shopping experience Walmart and Google described on 11 January 2026 with no Walmart page naming a live checkout. The rest of the read is better than the C suggests. The door is open to all four agent user agents, robots.txt allows the search and training crawlers, the sitemap lists 12,720 category pages, and developer.walmart.com carries an MCP server that answers and requires authentication, with OAuth authorization server metadata beside it. What is missing is an OpenAPI specification, an llms.txt, and a home page with more than 2 percent text. The retailer has an act layer for its marketplace sellers and no pay layer for a shopper's agent.
Test your own checkout
The scan above is free and needs no account: enter a domain at ora.ai and read the same layers for your own site, with the six payment checks mapped to this matrix on the Ora Payments page. The command below runs the same audit from a terminal and exits with 1 under the score you set, so it can gate a deploy. Why Ora, and its limits.
npx ax@0.10 audit https://example.com --min-score 70All 360 checks, one company a day. Corrections to the corrections page.
Sources
- ora.ai/api/score/walmart.com, Ora's scan (vendor), read 14 Nov 2026
- Ora's scoring rules, version 3 (vendor), read 14 Nov 2026
- Ora check catalog (GET /api/checks), read 14 Nov 2026
- walmart.com, the company's site, read 14 Nov 2026
Last reviewed