The 2026-07-28 revision of the Model Context Protocol is a rewrite, not a bump: the protocol went stateless. The initialize handshake and session IDs are gone, replaced by per-request metadata. But one thing still isn't in the protocol: any way to charge for API calls.
The headline is statelessness. Prior revisions assumed a long-lived session; this one removes that assumption:
| Change | Status | What it means |
|---|---|---|
| Stateless protocol | ✓ New | initialize handshake + session IDs removed; each request carries version & capabilities in _meta.io.modelcontextprotocol |
server/discover RPC | ✓ New | Clients learn supported versions up front; SDKs fall back to legacy initialize for old servers |
| Streamable HTTP routing | ✓ New | Every POST carries Mcp-Method (SEP-2243) so intermediaries route without parsing JSON-RPC bodies |
| Multi-round-trip requests | ✓ New | MRTR (SEP-2322): server returns InputRequiredResult + requestState; client re-issues — any replica can resume |
| Cacheable lists | ✓ New | tools/list etc. carry ttlMs/cacheScope freshness hints (SEP-2549) |
| Roots / OAuth DCR | ✗ Deprecated | roots, sampling, logging, HTTP+SSE, and DCR are on the way out (SEP-2577) |
| Payment Layer | ✗ Missing | Still no way to charge for tool calls, resources, or prompts |
MCP solves discovery (what tools exist) and capability (what they can do). It deliberately doesn't solve commerce (who pays for what).
This is a feature, not a bug — MCP is a tool integration protocol, not a payment protocol. But it leaves server operators with a real problem: how do you get paid when an AI agent calls your API?
MCP solves discovery (what tools exist) and capability (what they can do). It deliberately does not solve commerce (who pays for what).
That's a feature, not a bug — but it leaves server operators without a way to get paid when an agent calls their API.
The answer from the ecosystem: x402 — the HTTP 402 Payment Required protocol, now an open standard under the Linux Foundation with backing from Visa, Stripe, Google, Cloudflare, and AWS.
x402 uses the standard HTTP 402 Payment Required status code to gate API access behind USDC micropayments. When an AI agent hits your MCP server without payment, you return 402 with payment instructions. The agent pays, retries, and gets the result — all in one request cycle.
Here's the MCP + x402 stack:
| Layer | Protocol | What it does |
|---|---|---|
| Tool Discovery | MCP | Agent discovers what tools your server offers |
| Tool Invocation | MCP | Agent calls tools/call to use your service |
| Payment | x402 | Server returns 402 → agent pays USDC on Base → server verifies → result returned |
| Discovery | minia2a.uk | Agent developers find your paid endpoint in a marketplace of 1,600+ services |
If you're running an MCP server with Express or Fastify, add this before your tool handler:
// x402 payment gate — run before MCP tools/call handler
app.use('/mcp', async (req, res, next) => {
// Skip for non-tool-call requests
if (req.path !== '/' && req.method !== 'POST') return next();
const paymentSig = req.headers['payment-signature'];
if (!paymentSig) {
// No payment yet → return 402
return res.status(402).set({
'www-authenticate': 'Payment version="1.0", asset="USDC", ' +
'chain="base", receiver="0xf16F0882de08315B438E9f3a2Abfb2d2E5d94ECA", ' +
'price="0.01"',
}).json({ error: 'payment required', price: '0.01 USDC' });
}
// Verify payment via facilitator
const verified = await fetch('https://facilitator.payai.network/verify', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({ signature: paymentSig })
}).then(r => r.json());
if (!verified.ok) {
return res.status(402).json({ error: 'payment invalid' });
}
// Payment verified → serve the tool
next();
});
That's it. No API keys. No subscription management. No billing code. Agents pay per call, settled on Base in ~2 seconds, gas fee ~$0.001.
The 2026-07-28 spec drop coincided with two other developments:
modelcontextprotocol/registry — a standardized discovery service. As more agents discover your server, the question shifts from "how do I get found?" to "how do I get paid?"The ecosystem is telling us something: MCP handles the tools, x402 handles the payments, and marketplaces like minia2a.uk handle discovery. Three layers, one stack.
1,600+ services already listed. Free trial on every endpoint. USDC settlements on Base.
Add Your Service →No KYC. Auto-created wallet. 5 free trial calls for new agents.
Not in the spec. The MCP maintainers have been clear that payment is out of scope — it's a tool integration protocol, not a commerce protocol. This is the right call. Payment is a separate concern that needs its own standard (x402).
Base L2 gas for USDC transfers: ~$0.001. Facilitator fee (PayAI): variable, typically waived for low-value transactions. Minia2a platform fee: 5% on settled volume. Total cost for a $0.01 call: ~$0.0015 in fees.
Free servers are great — list them on minia2a.uk with priceCents: 0. They still get discovered by agents browsing the marketplace. Our gas price oracle and time utilities are free and get thousands of calls.
# Sign minia2a trial:<wallet>:<serviceId>:<unix_ts> with EIP-191, then send the
# wallet in the query string plus both headers:
TS=$(date +%s)
curl "https://minia2a.uk/x402/gas?wallet=0xYOUR_WALLET" \
-H "X-Wallet-Signature: 0xYOUR_SIGNATURE" \
-H "X-Trial-Timestamp: $TS"
# https://minia2a.uk/register.html signs for you and prints this exact curl.
# 2. Browse existing services for reference
curl https://minia2a.uk/api/services
# 3. Publish your own service
curl -X POST https://minia2a.uk/api/publish \
-H "content-type: application/json" \
-H "x-wallet: YOUR_WALLET" \
-d '{"name":"My MCP Tool","endpoint":"https://my-server.com/mcp","priceCents":1,"wallet":"YOUR_WALLET","category":"tools"}'
Tags: mcp · x402 · agent-payments · mcp-monetization