Werkstatt / P.I.M.P. Services
Public Testnet Beta
Maschinen zahlen
Maschinen.
Ein Agent braucht Daten. Eine API liefert sie. Lightning macht die Bezahlung dazwischen möglich – direkt, in Satoshis und als Teil der Anfrage.
P.I.M.P. Services ist unser Experiment mit bezahlbaren Schnittstellen für Programme und KI-Agenten. Den Anfang machen BTC-Marktdaten: ein RSI über 14 Perioden auf Basis von Stundenkerzen, mit LNMarkets als Datenquelle.
Der erste Service
BTC / RSI 14
Ein klar abgegrenzter Datenbaustein für eigene Anwendungen. Die Beta erprobt den Weg von der Anfrage über die Testzahlung bis zur freigeschalteten Antwort.
- Zeitrahmen
- 1-Stunden-Kerzen
- Datenquelle
- LNMarkets
- Beta-Preis
- 25 Testnet-sats
- Zugang
- Lightning / L402 / x402
L402: 25 Testnet-sats für wiederverwendbaren Beta-Zugang. Bestätigt ist eine Zahlung mit zwei erfolgreichen Abrufen am selben Endpunkt. Die Gültigkeitsdauer und weitere Nutzungsgrenzen sind noch nicht abschließend geprüft. Es gibt keine Zusage für unbegrenzte Nutzung oder ein Jahr Verfügbarkeit. Keine Mainnet-Zahlungen.
x402 / Lightning / Testnet
25 Testnet-Sats pro Abruf.
Neben L402 gibt es jetzt einen x402-Zugang für denselben BTC-RSI14-Service. Jede Rechnung kostet 25 Testnet-Sats zuzüglich Routinggebühren und berechtigt zu einer Datenlieferung. Unser Python-Client prüft die Zahlungsanforderung, bezahlt über einen eigenen Testnet-LND und sendet den Zahlungsnachweis mit dem Abruf.
https://x402.andyzyklisch.de/v1/btc/rsi14Öffentlicher Test bestanden: 25. September 2026. HTTP 402 → Lightning-Zahlung → geprüfte JSON-Antwort. Tatsächliche Routinggebühr: 1,1 Sats bei einem Limit von 2 Sats, insgesamt 26,1 Testnet-Sats. Künftige Gebühren können abweichen. Der Test belegt unseren Client und Gateway; die Kompatibilität mit beliebigen x402-Agenten ist noch nicht nachgewiesen.
Erreichbarkeit ohne Zahlung prüfen
curl --fail --silent --show-error --max-time 15 https://x402.andyzyklisch.de/healthzErwartet: {"network":"testnet","status":"alive"}. Diese Abfrage erzeugt keine Rechnung und bestätigt nur die Erreichbarkeit des Gateway-Prozesses, nicht die Zahlungsbereitschaft.
Mit dem Python-Client starten
Du benötigst einen synchronisierten Bitcoin-Testnet-LND mit Test-Satoshis, einer zahlbaren Route sowie lokalem TLS-Zertifikat und eingeschränktem Käufer-Macaroon für GetInfo und SendPaymentV2. Eine Mainnet-Wallet reicht nicht aus. Der Referenzclient v0.2 läuft mit Python 3.12; installiere seine Abhängigkeiten in einer virtuellen Umgebung.
Referenzpaket v0.2 herunterladen (ZIP)
Paket prüfen und Abhängigkeiten installieren
echo 'bc0665b0c897fa1ee89a93c7422a33e54944ff60243683a7ed8f8e13ba97e947 pimp-x402-testnet-v0.2.zip' | sha256sum -c -
unzip -n pimp-x402-testnet-v0.2.zip
cd pimp-x402-testnet-v0.2
sha256sum -c SHA256SUMS
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txtBei einem Prüffehler stoppen. Die Paket-README dokumentiert den ursprünglichen Vorbereitungsstand; der oben beschriebene öffentliche Test fand danach statt.
Ersetze die beiden /PATH/TO/-Pfade durch deine lokalen Dateien. Die LND-Adresse muss zu deinem lokal erreichbaren Käuferknoten passen. Im Paketordner startet der folgende Befehl einen Kauf für 25 Testnet-Sats mit höchstens 2 Sats Routinggebühr. Die Zustandsdatei darf noch nicht existieren.
.venv/bin/python client.py \
--pay-testnet \
--url https://x402.andyzyklisch.de/v1/btc/rsi14 \
--receiver-pubkey 03623b32298e6a0e0ce73a773c655eebc75dc19a368221146a3a2d133b59739414 \
--fee-limit-msat 2000 \
--lnd-url https://127.0.0.1:28081 \
--tls-cert /PATH/TO/buyer.cert \
--macaroon /PATH/TO/buyer.macaroon \
--state client-attempt-once.jsonZahlung und Fehler behandeln
Der Client verarbeitet PAYMENT-REQUIRED, PAYMENT-SIGNATURE und PAYMENT-RESPONSE. Er prüft Betrag, Empfänger und die signierte Bindung an die öffentliche URL. Ohne Nachweis liefert der RSI-Endpunkt HTTP 402 und erstellt eine neue Rechnung. Es gelten global 60 Rechnungsversuche pro rollierender Stunde; danach folgt HTTP 429. Auch unbezahlte Rechnungen zählen.
Nach einem Fehler oder Verbindungsabbruch die Zustandsdatei behalten und zuerst Zahlung und Lieferung klären. Nicht blind mit einer neuen Datei erneut kaufen. Ein eingelöster Nachweis bleibt auch bei einer anschließenden Backend-Störung verbraucht. Automatische Erstattungen oder erneute Datenlieferungen sind nicht implementiert. Zustandsdateien können Zahlungsnachweise enthalten: nicht veröffentlichen.
Die Antwort enthält RSI, Kerzenzeitpunkt und Snapshot-Alter. Prüfe die Aktualität vor der Verwendung. Die Beta führt keine Trades aus.
Try API
L402: Die unbezahlte Anfrage.
Teste den Endpunkt ohne Zahlungsnachweis. Bei aktivem L402-Zugang ist HTTP 402 Payment Required die erwartete Antwort: Sie fordert eine Zahlung an. Dieser Test löst selbst keine Zahlung aus.
GET https://pimp.andyzyklisch.de/v1/btc/rsi14
Noch keine Anfrage gesendet.
Im Terminal ausprobieren
curl --max-time 15 -i 'https://pimp.andyzyklisch.de/v1/btc/rsi14'Dieser Button bezahlt keine Rechnung und schaltet keine Daten frei. Voraussetzungen für den bezahlten Abruf findest du unter „So funktioniert L402“. Zugangstoken und Zahlungsnachweise nicht öffentlich teilen.
Testnet bedeutet Testbetrieb mit Test-Satoshis. Verfügbarkeit und Antworten können sich während der Beta ändern. Die Anzeige oben zeigt das Ergebnis deiner Anfrage, keinen dauerhaft überwachten Betriebsstatus.
Nach erfolgreicher Freischaltung
Diese Daten erhält dein Programm.
Die API liefert JSON mit dem RSI, dem gemeldeten Zustand, der letzten Kerze und dem Alter des Daten-Snapshots. Das folgende Beispiel stammt aus einem echten Backend-Abruf vom 16. September 2026 und zeigt keine aktuellen Marktdaten.
{
"candles": 500,
"data_source": "pimp-public-market-bridge",
"last_candle_timestamp": "2026-09-16T09:00:00+00:00",
"last_close": 75823,
"market_source": "lnmarkets",
"payment_gate": "aperture",
"rsi": 43.4416,
"rsi_period": 14,
"snapshot_age_seconds": 259.7,
"state": "neutral",
"symbol": "BTC",
"timeframe": "1h"
}rsi ist der Indikatorwert über rsi_period Perioden. candles nennt die Anzahl der Kerzen; last_candle_timestamp den Zeitstempel der letzten Kerze in UTC und last_close ihren Schlusskurs. snapshot_age_seconds beschreibt das Snapshot-Alter beim Abruf in Sekunden. Prüfe Zeitstempel und Alter, bevor du die Daten verwendest.
Von der Anfrage zur Antwort
So funktioniert L402.
Was du für den bezahlten Abruf brauchst
Eine Lightning-Umgebung im passenden Bitcoin-Testnet mit Test-Satoshis und einer zahlbaren Route zur Rechnung sowie einen Client, der nach der Zahlung das Preimage bereitstellt. Dein HTTP-Client muss den Zugangstoken und dieses Preimage als Zahlungsnachweis mitsenden können. Eine gewöhnliche Mainnet-Wallet und der Demo-Button allein reichen dafür nicht.
Zur Schritt-für-Schritt-Anleitung mit LND / lncli und curl →
Für Tester mit bereits eingerichtetem Testnet-Knoten. Die Anleitung basiert auf unserem erfolgreichen Zahlungstest; eine unabhängige Erprobung steht noch aus.
- 01
Daten anfragen
Dein Programm ruft den API-Endpunkt auf. Ohne gültigen Zahlungsnachweis kann der Dienst mit HTTP 402 antworten.
- 02
Testrechnung bezahlen
Die L402-Antwort enthält im Header
WWW-Authenticateeinen Zugangstoken und eine Lightning-Rechnung. Ein geeigneter Testnet-Client prüft die Rechnung und bezahlt sie mit Test-Satoshis. - 03
Nachweis mitsenden
Der Client wiederholt die Anfrage mit dem Token und dem Zahlungsnachweis, dem sogenannten Preimage. Der Dienst prüft beides und gibt bei gültiger Berechtigung die Ressource frei.
Technischer Hintergrund: L402-Dokumentation von Lightning Labs.
Gemeinsam ausprobieren
Tester gesucht.
Du entwickelst Agenten, nutzt Lightning oder möchtest die API in einem eigenen Projekt ausprobieren? Uns interessieren verständliche Antworten, funktionierende Abläufe und die Stellen, an denen es noch hakt. Schick uns deine Erfahrungen und Fragen.
Zur Beta Kontakt aufnehmen