← 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

KriteriumEigenbau@x402/expressStripe (x402 / MPP)Meterdoor
ZahlungswegeUSDC (x402)USDC (x402), Browser per Walletx402: USDC auf Base; MPP: Karte (SPT) für Agenten, Stablecoins über Tempo/Solana; Checkout für Menschen separatEuro per Stripe Checkout für Menschen, USDC per x402 für Agenten
Wohin das Geld fließteigene Walleteigene WalletStripe-Saldo, Auszahlung in FiatgeldEuro: eigenes Stripe-Konto; USDC: eigene Wallet
Verfügbarkeit DE/EUja (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
Aufwandhoch, alle Fehlerfälle selbstgering für den x402-Wegmittel; Karte für Menschen zusätzlichgering, solange Express und x402 v1 passen
Abrechnung nach Erfolg / Wiederholungselbst zu bauenPuffer, Abrechnung nur bei Status < 400; keine gespeicherte Antwort gefundenwie @x402/express (gleiche Pakete), Erfassung als PaymentIntentPuffer, Abrechnung nur bei Erfolg, gleiche Antwort bei gleichem Nachweis, Klärung unklarer Fälle
Lizenz / Kosteneigener Code; Facilitator-GebührenApache 2.0; Facilitator-GebührenSDKs frei (Apache 2.0 / MIT); Stripe-GebührenApache 2.0; Stripe- und Facilitator-Gebühren
Reifegradso gut wie der eigene TestVersion 2.x, aktiv gepflegtPreview-API-VersionenPrototyp 0.0.4, nur Testnetz, nicht auf npm, nur x402 v1

Wann welcher Weg passt

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)

  1. x402 Foundation (Coinbase Developer Docs)
  2. npm: @x402/express · npm: @x402/paywall
  3. npm: x402-express
  4. x402-foundation/x402: README @x402/express
  5. x402-Spezifikation: HTTP-Transport Version 2
  6. Coinbase Developer Docs: CDP Facilitator
  7. Stripe Docs: Maschinelle Zahlungen
  8. Stripe Docs: x402
  9. Stripe Docs: MPP
  10. Stripe Docs: Shared Payment Tokens
  11. wevm/mppx (GitHub) · npm: mppx
  12. stripe-samples/machine-payments
  13. EIP-3009: Transfer With Authorization
  14. npm-Downloadzahlen (api.npmjs.org), 17.–23.10.2026
  15. Nevermined: x402
  16. x402.org
  17. The Defiant, 16.07.2026: „Visa's Sheffield Pegs Adjusted x402 Volume at $19M“
  18. 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.