← Meterdoor · Artikel · Stand Oktober 2026
x402 in Express einbauen: Eigenbau, offizielle Pakete, Stripe oder Middleware
Ein Vergleich für alle, die eine kostenpflichtige API für Menschen (Euro) und KI-Agenten (USDC per x402) öffnen wollen – Stand Oktober 2026.
Wer einen bezahlten Datenabruf in Express anbietet und neben Kartenzahlern auch Software als Kunden haben will, landet schnell bei
x402: Der Server antwortet mit 402 Payment Required und einer maschinenlesbaren Zahlungsanforderung, der
Client signiert eine USDC-Zahlung und wiederholt die Anfrage. Das Protokoll liegt heute bei der x402 Foundation unter dem Dach der Linux
Foundation [1]. Für den Einbau gibt es mindestens vier ernsthafte Wege. Sie unterscheiden sich vor allem darin, wohin das Geld fließt, ob
Menschen mit Karte zahlen können und wie viel Fehlerbehandlung man selbst schreibt.
Vorweg zu den Versionen: Die aktuelle Protokollversion 2 überträgt die Zahlung im Header PAYMENT-SIGNATURE und
die Anforderung im Header PAYMENT-REQUIRED; Version 1 nutzte X-PAYMENT. Die Spezifikation sieht Endpunkte vor,
die beide Versionen bedienen [5]. Wer heute neu baut, sollte prüfen, welche Version die erwarteten Clients sprechen.
1. Eigenbau gegen einen Facilitator
Ein Facilitator prüft Zahlungsnachweise (/verify) und führt sie auf der Blockchain aus (/settle). Der
öffentliche Facilitator unter https://x402.org/facilitator unterstützt nur Testnetze [4]. Für das Hauptnetz bietet Coinbase
den CDP-Facilitator an: Die ersten 1.000 Onchain-Transaktionen im Monat sind frei, danach kostet jede 0,001 US-Dollar, die Prüfung ist
immer kostenlos; OFAC- und KYT-Prüfungen lehnen Zahlungen von sanktionierten oder risikoreichen Adressen ab [6].
Der Eigenbau ist überschaubar, solange alles gut geht: Header lesen, Anforderung prüfen, /verify, Route ausführen,
/settle. Die Arbeit steckt in den Fehlerfällen – was passiert, wenn /settle nicht antwortet, der Client die
Verbindung verliert oder derselbe Nachweis zweimal kommt? Doppelt abbuchen lässt sich eine USDC-Autorisierung nach EIP-3009 nicht, weil
jede Nonce nur einmal verwendet werden kann [13]; ob der zahlende Client seine Daten bekommt, ist damit aber nicht gelöst.
2. Offizielle Pakete: @x402/express
Das aktuelle Paket heißt @x402/express (Version 2.28.0 vom 29.09.2026, Apache 2.0) und baut auf @x402/core
und @x402/evm auf [2]. Das ältere x402-express (zuletzt 1.2.0 vom 16.04.2026) führt die Projektdokumentation als
Altpaket mit Migrationsanleitung [3][4]. In der Woche vom 17. bis 23.10.2026 wurde @x402/express rund 14.000-mal
heruntergeladen, x402-express rund 5.100-mal; Downloads enthalten CI-Läufe und sind keine Nutzerzahl [14].
import { paymentMiddleware, x402ResourceServer } from "@x402/express";
import { ExactEvmScheme } from "@x402/evm/exact/server";
import { HTTPFacilitatorClient } from "@x402/core/server";
const server = new x402ResourceServer(
new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })
).register("eip155:84532", new ExactEvmScheme()); // Base Sepolia
app.use(paymentMiddleware({
"GET /api/bericht": { accepts: [{ scheme: "exact", price: "$0.01",
network: "eip155:84532", payTo: process.env.WALLET }] },
}, server));
Die Middleware puffert die Antwort der Route, rechnet nur bei Status unter 400 ab und sendet erst nach erfolgreichem
/settle (eigene Durchsicht des Quellcodes von Version 2.28.0; laut README „Settlement nach erfolgreicher Antwort“ [4]).
Eine gespeicherte Antwort für denselben Nachweis nach einem Verbindungsabbruch haben wir im Paket nicht gefunden. Für Browser gibt es
eine Paywall-Oberfläche (@x402/paywall [2]), die aber ebenfalls auf eine Wallet-Zahlung zielt, nicht auf Euro per Karte.
3. Stripe: x402-Annahme und MPP
Stripe nimmt x402-Zahlungen in USDC auf Base an und nutzt dafür dieselben @x402/*-Pakete. Als payTo dient
eine Stripe-Einzahlungsadresse; nach dem Settlement über den CDP-Facilitator erfasst der Server die Transaktion als PaymentIntent
(API-Version …preview) [8]. Das Geld landet im Stripe-Saldo und wird in Fiatgeld ausgezahlt; Erstattungen laufen über die
normale Refund-API [7]. Das ist der große Vorteil: keine eigene Wallet, Buchhaltung wie bei anderen Stripe-Zahlungen.
Die Einschränkung für den DACH-Raum: Stablecoin-Zahlungen stehen laut Stripe Unternehmen in allen US-Bundesstaaten außer New York offen; Unternehmen außerhalb der USA beantragen Zugang per E-Mail „in über 30 Ländern“ [7]. Ob und wann ein deutsches Konto freigeschaltet wird, steht dort nicht.
Für Agenten, die mit Karte zahlen sollen, empfiehlt Stripe das Machine Payments Protocol (MPP), gemeinsam von Stripe und Tempo
entwickelt, mit dem SDK mppx [9]. Karten laufen dort über Shared Payment Tokens, die für Verkäufer unter anderem in
Deutschland, Österreich und der Schweiz verfügbar sind und unter Preview-Bedingungen stehen [10]. Stablecoins laufen bei MPP über Tempo
oder Solana, nicht über x402 [7]. mppx (MIT, Version 0.15.0 vom 21.10.2026) liegt im Repository wevm/mppx [11].
Der klassische Kartenkauf eines Menschen im Browser ist ein eigener Stripe-Checkout-Ablauf daneben; Stripes Beispielsammlung zeigt die
Wege getrennt [12].
4. Meterdoor-Middleware
Meterdoor ist unsere Express-Middleware, die beides an einem Endpunkt verbindet: Ein Browser wird zu Stripe Checkout weitergeleitet
und erhält nach der Zahlung ein Zugangstoken für genau diesen Endpunkt und eine feste Dauer; ein Agent bekommt 402 mit
x402-Anforderung und Checkout-Link. Euro gehen auf das eigene Stripe-Konto, USDC direkt an die eigene Wallet.
app.get("/api/bericht",
paywall({
price: { eur: "0.50", usdc: "0.01" },
stripe: { key: process.env.STRIPE_KEY }, // sk_test_…
x402: { payTo: process.env.WALLET, network: "base-sepolia" },
access: { secret: process.env.ACCESS_SECRET, ttlSeconds: 3600 },
}),
(req, res) => res.json({ bericht: "…" }));
Bei x402 puffert Meterdoor die Antwort, rechnet nur bei Erfolg ab, liefert denselben Inhalt bei vollständig gleichem Nachweis erneut aus, ohne neu abzurechnen, und klärt eine verlorene Facilitator-Antwort über den Zustand der Autorisierung im USDC-Vertrag. Die Stripe-Sitzung wird gegen Betrag, Währung, Ressource und eine eigene Kennung geprüft.
Die Grenzen, offen gesagt: Meterdoor ist Prototyp 0.0.4, noch nicht auf npm, bisher nur im Testnetz Base Sepolia und im
Stripe-Testmodus erprobt. Es spricht nur x402 Version 1 (X-PAYMENT), nur das Schema exact und nur Express. Die
Route läuft vor dem Geldfluss, für Endpunkte mit Nebenwirkungen ist das ungeeignet. Kontingente, CSV-Protokoll und Webhook-Abgleich sind
für die Pro-Lizenz geplant und heute nicht verfügbar.
Weitere Option: Nevermined
Nevermined bietet x402 als Dienst mit zwei Schemata an, eines für USDC über Smart Accounts, eines für Karten innerhalb einer Ausgabenvollmacht; Karten kaufen dort Guthaben, das pro Aufruf verbraucht wird [15]. Nevermined prüft und rechnet selbst ab, ist also ein Dienstleister zwischen Ihnen und dem Geld. Preise nennt die Seite nicht.
Der Vergleich
| Kriterium | Eigenbau | @x402/express | Stripe (x402 / MPP) | Meterdoor |
|---|---|---|---|---|
| Zahlungswege | USDC (x402) | USDC (x402), Browser per Wallet | x402: USDC auf Base; MPP: Karte (SPT) für Agenten, Stablecoins über Tempo/Solana; Checkout für Menschen separat | Euro per Stripe Checkout für Menschen, USDC per x402 für Agenten |
| Wohin das Geld fließt | eigene Wallet | eigene Wallet | Stripe-Saldo, Auszahlung in Fiatgeld | Euro: eigenes Stripe-Konto; USDC: eigene Wallet |
| Verfügbarkeit DE/EU | ja (technisch) | ja (technisch) | Stablecoins außerhalb der USA nur auf Antrag; SPT in DE/AT/CH (Preview) | ja (technisch); setzt ein eigenes Stripe-Konto voraus |
| Aufwand | hoch, alle Fehlerfälle selbst | gering für den x402-Weg | mittel; Karte für Menschen zusätzlich | gering, solange Express und x402 v1 passen |
| Abrechnung nach Erfolg / Wiederholung | selbst zu bauen | Puffer, Abrechnung nur bei Status < 400; keine gespeicherte Antwort gefunden | wie @x402/express (gleiche Pakete), Erfassung als PaymentIntent | Puffer, Abrechnung nur bei Erfolg, gleiche Antwort bei gleichem Nachweis, Klärung unklarer Fälle |
| Lizenz / Kosten | eigener Code; Facilitator-Gebühren | Apache 2.0; Facilitator-Gebühren | SDKs frei (Apache 2.0 / MIT); Stripe-Gebühren | Apache 2.0; Stripe- und Facilitator-Gebühren |
| Reifegrad | so gut wie der eigene Test | Version 2.x, aktiv gepflegt | Preview-API-Versionen | Prototyp 0.0.4, nur Testnetz, nicht auf npm, nur x402 v1 |
Wann welcher Weg passt
@x402/express, wenn Sie nur Agenten mit Wallet bedienen wollen, x402 Version 2 brauchen oder ein gepflegtes, verbreitetes Paket wollen. Für die meisten reinen x402-Fälle ist das heute die naheliegende Wahl.- Stripe, wenn Sie in den USA sitzen oder freigeschaltet sind und alles in einem Saldo und einer Buchhaltung haben wollen – oder wenn Agenten mit Karte zahlen sollen (MPP).
- Eigenbau, wenn Sie ungewöhnliche Abläufe haben (andere Frameworks, eigene Netze, Nebenwirkungen in der Route) und die Fehlerfälle ohnehin selbst kontrollieren wollen.
- Meterdoor, wenn Sie heute mit Menschen in Euro verdienen und Agenten am selben Endpunkt ausprobieren wollen, Express nutzen und mit einem Prototyp im Testnetz beginnen können.
Ehrlich zum Markt
x402.org zeigt für 30 Tage 75,41 Millionen Transaktionen und 24,24 Millionen US-Dollar Volumen; die Seite nennt als Stand den 25.08.2026, und es sind unbereinigte Eigenangaben [16]. Eine gemeinsame Auswertung von Visa und Artemis vom Juli 2026 kommt nach Bereinigung auf etwa 15 bis 19 Millionen US-Dollar seit dem Start im Mai 2025; rund 4.000 Wallets stehen danach für etwa 90 Prozent des bereinigten Volumens [17][18]. Viel Aufmerksamkeit, wenig echter Umsatz: Wer heute einen Agenten-Bezahlweg einbaut, baut für einen Markt, der gerade entsteht. Ob und wie Umsatzsteuer auf USDC-Einnahmen anfällt, klären Sie bitte mit Ihrer Steuerberatung; dieser Artikel ist keine Rechts- oder Steuerberatung.
Zum Ausprobieren
Der Meterdoor-Kern ist Open Source (Apache 2.0) und läuft im Testnetz Base Sepolia und im Stripe-Testmodus. Quellcode auf GitHub · Zur Produktseite
Quellen (abgerufen 24.10.2026)
- x402 Foundation (Coinbase Developer Docs)
- npm: @x402/express · npm: @x402/paywall
- npm: x402-express
- x402-foundation/x402: README @x402/express
- x402-Spezifikation: HTTP-Transport Version 2
- Coinbase Developer Docs: CDP Facilitator
- Stripe Docs: Maschinelle Zahlungen
- Stripe Docs: x402
- Stripe Docs: MPP
- Stripe Docs: Shared Payment Tokens
- wevm/mppx (GitHub) · npm: mppx
- stripe-samples/machine-payments
- EIP-3009: Transfer With Authorization
- npm-Downloadzahlen (api.npmjs.org), 17.–23.10.2026
- Nevermined: x402
- x402.org
- The Defiant, 16.07.2026: „Visa's Sheffield Pegs Adjusted x402 Volume at $19M“
- KuCoin News, 16.07.2026: Visa and Artemis Report on AI Agent Payments (Sekundärquelle)
Meterdoor ist kein offizielles Produkt von x402, Coinbase oder Stripe. x402, Stripe und Base sind Marken ihrer Inhaber.