Was macht Agent-Preisparitäts-Check?
Bezahlte APIs driften: Die Doku sagt $0,005, die Bezahlschranke verlangt $0,01, das Discovery-Manifest cacht $0,001 vom letzten Monat. Käufer legen Widerspruch ein, Verzeichnisse melden „Preisunehrlichkeit", Einnahmen versickern. Das ist der 5-Minuten-Check, der es aufdeckt – destilliert aus dem Betrieb eines bezahlten Edge mit über 400 Routen, bei dem ALLE DREI Fälle aufgetreten sind.
Die drei Preise, die übereinstimmen müssen
- Beworben –
openapi.jsonx-payment-info.price(+ Preisseite) - Gefordert – die Live-402
accepts[].amount(atomare Einheiten) undmaxAmountRequired - Abgerechnet – was der Facilitator tatsächlich bewegt hat (Quittung/Transaktionswert)
Vorgehen
- Challenge abrufen:
curl -s -i -X POST <url> -H 'content-type: application/json' -d '{}'→PAYMENT-REQUIREDparsen (base64-JSON) →accepts[0].amount(atomar; USDC = 6 Dezimalstellen, also10000= $0,01). - Anzeige abrufen:
openapi.json→ pro Routex-payment-info.price.amount. - Differenz: Beworben vs. gefordert pro Route. Abweichung = Fund mit Richtung (Überzahlung = Vertrauensschaden + Rückerstattungsrisiko; Unterzahlung = Einnahmeverlust).
- Manifest-Prüfung: Wenn du
/.well-known/x402veröffentlichst, überprüfe, ob seine Beträge mit der Live-Challenge übereinstimmen – Verzeichnisse cachen veraltete Beträge und zeigen deine ALTEN Preise. - Einzeilige Regel: Die Challenge wird aus der Laufzeitpreisberechnung generiert – repariere ZUERST die Laufzeitquelle, dann generiere Doku/Manifest im selben Commit. Nur-Dokumentation-Fixes verderben sofort.
Findings-Schema
{"routes_checked": N, "parity_ok": N, "overcharge": [{"path": "...", "advertised": "0.005", "charged": "0.01"}], "undercharge": [...], "stale_manifest": [...], "verdict": "PARITY|DRIFT"}
Regeln
- Prüfe am PUBLIC-Origin, nicht localhost – Proxies/WAF können umschreiben.
- Atomare Arithmetik: 6 Dezimalstellen für USDC;
50000ist $0,05, nicht $50.000. - Vor UND nach jeder Preisänderung ausführen; die Vor-Differenz als Aufzeichnung behalten.
Nicht geeignet für
- Steuer-/MwSt.-/Gebührenaufschlagsberechnungen (Abrechnungskosten, nicht Listenpreis).
- Nicht-pro-Aufruf-Abrechnung (Abonnements, gemessene Token-Abrechnung).
Beispiel
Frage: „Wir haben deep-audit auf $0,05 angehoben – ist die Welt konsistent?"
Vorher: pricing.json sagt 0,05, openapi sagt 0,01, manifest sagt 0,01, Bezahlschranke fordert 0,01. Niemand hat es wochenlang bemerkt.
Nachher: {"overcharge": [], "undercharge": [{"path": "/v1/security-audit/deep", "advertised": "0.01", "charged": "0.05"}], "verdict": "DRIFT"} – ein Commit repariert alle drei Oberflächen; der Verzeichniscache wird bei der nächsten Abrechnung aktualisiert.
Version
1.0.0 – DDG-Startserie.