Analysis · 2026-05-27

The Walmart 1/3 number is a receipts problem

Walmart killed OpenAI Instant Checkout because in-chat purchases converted at one-third the rate of click-out to walmart.com. The fix wasn't a better chat UI. It was keeping the charge on Walmart's rails.


In mid-March 2026, Walmart EVP Daniel Danker told WIRED that in-chat purchases via ChatGPT's Instant Checkout converted at one-third the rate of click-out transactions to walmart.com. Search Engine Land confirmed the same number from the same source. Retail Dive reported Walmart killed the OpenAI Instant Checkout integration and replaced it with their own agent, Sparky, that lives inside ChatGPT and Gemini and redirects users to walmart.com when they're ready to pay.

That is the entire agent-commerce thesis in one number.

The data behind Sparky

Walmart's Q1 FY27 earnings call on May 22 2026 surfaced the rest of the picture:

MetricResult
Sparky weekly active users+100% QoQ
Average order value (Sparky vs non-Sparky)+35%
Sparky intelligence (engagement)+40% YoY
Unit purchases via Sparky4x QoQ
Sparky-in-ChatGPT conversion rate~70% of walmart.com baseline

Note the last line. Sparky in ChatGPT still converts worse than walmart.com direct. It just converts more than twice as well as Instant Checkout did. The improvement isn't UI polish. It's a different architecture.

What Instant Checkout actually stripped away

The mechanical reason in-chat checkout converted at 1/3 the rate wasn't payment-security paranoia. It was that Instant Checkout forced:

Every one of those is a trust primitive. Together they're the reason consumers complete checkouts at all. The chat surface stripped them out for "frictionless" — and lost two-thirds of the conversion to friction that turned out to be load-bearing.

What Sparky did differently

Sparky kept the agent in ChatGPT and Gemini. It also kept the charge on Walmart's rails. When you're ready to buy, you're redirected to walmart.com (or the Walmart app) with your basket pre-loaded, your loyalty pre-attached, your saved card already there, and a single accountable party for the customer-service call if it breaks.

The discovery happens in the LLM. The trust happens on the merchant's stack.

Every other retailer pivoted the same way

Between March and May 2026, the entire major-retail vertical re-architected toward the same split:

The pattern is unanimous. Nobody is defending native-in-LLM charging anymore.

The missing primitive

If discovery is in the LLM and payment is on the merchant's rails, the question is: who records what happened?

The agent has its own log. The merchant has theirs. The customer doesn't have one at all. Three parties to the transaction. Three different versions of the truth. When something disputes — a refund, a delivery question, a regulator audit — none of them can verify the other's record.

That's the missing primitive: a portable, signed receipt that all three parties can verify against the same root.

Ed25519-signed at the boundary. Merkle-chained so tampering is detectable. Policy-versioned so the audit knows which agent rules were in force. Replayable from the agent, the merchant, or a third-party verifier.

That's what we've been building at MnemoPay. The SDK is Apache 2.0 on npm. The MCP gateway lives at api.mcp.mnemopay.com. Free to self-host. $49/month managed.

EU AI Act Article 50 — Aug 2 2026

This stops being optional in 67 days.

EU AI Act Article 50 (and the broader high-risk-system logging requirements in Article 12) require automatic event recording for the lifetime of any high-risk AI system, with at least 6 months retention. Enforcement begins August 2 2026. Penalties: up to €15M or 3% of global turnover.

Every agent transaction that touches an EU user needs a tamper-evident audit log by that date. The Walmart 1/3 data point and the Article 50 deadline are the same story from two angles. Conversion economics already say the receipt belongs on the merchant's rail. Compliance economics make that receipt mandatory.

How this maps to the MnemoPay SDK

import MnemoPay from "@mnemopay/sdk";

const agent = MnemoPay.quick("shopper-agent");

// agent discovers a product (in ChatGPT, Gemini, Claude, whatever)
// then redirects to the merchant's checkout. before redirecting,
// it records the intent + policy version + budget hold

const tx = await agent.charge(42.50, "walmart cart sync");

// merchant completes payment on their rails (Stripe, Adyen, etc).
// agent settles after merchant webhook confirms

await agent.settle(tx.id);

// every action is Ed25519-signed + Merkle-chained.
// export the Article 12 bundle when a regulator asks

const bundle = await agent.exportBundle({ format: "article12" });

40 lines, three rails composable (Stripe, Paystack, Lightning, x402, AP2), one signed audit chain. Apache 2.0 license. Production-grade Ed25519 + Merkle infrastructure tested at 14.5M operations.

What to do this week if you're a builder

The Walmart 1/3 number is the inflection. Build for the architecture that survives it.


npm install @mnemopay/sdk

Apache 2.0 · v1.11.1 · Free self-hosted forever · 40 MCP tools on Smithery

Related: