← Blog
10 Min. Lesezeit
|
Veröffentlicht
|
Aktualisiert

API-Sandbox für Krypto: Wie Sie Zahlungen sicher testen

Was eine Krypto-API-Sandbox ist, wie sie sich von einem Testnetz unterscheidet und welche Schritte Wallets, Transfers und Webhooks vor dem Livegang prüfen.

Kapitel
C
Chaingateway Team
Blockchain-Experten

Geprüft von Maurice Sobiera

Isometrische Plattformen für Test- und Produktivzahlungen

Eine Krypto-API-Sandbox ist eine isolierte Kopie einer Zahlungs- oder Wallet-API. In ihr erstellen Sie Wallets, senden Transaktionen und empfangen Benachrichtigungen, ohne echtes Geld zu bewegen. Für den Produktivbetrieb wechseln Sie nur die Zugangsdaten und die Netzwerkeinstellungen. Anbieter verwenden den Begriff unterschiedlich. Manche simulieren Guthaben, andere verweisen auf ein öffentliches Blockchain-Testnetz.

Dieser Leitfaden erklärt den Unterschied, beschreibt einen Testplan vom ersten Schlüssel bis zum ersten Webhook und listet auf, was Sie vor dem Start prüfen sollten.

TL;DR

  • Eine Sandbox ist eine vom Anbieter betriebene, isolierte Kopie einer API. Ein Testnetz ist eine eigene öffentliche Blockchain mit wertlosen Coins. Viele Teams nutzen beides.
  • Testen Sie den gesamten Ablauf: Wallet anlegen, mit Guthaben versorgen, Transaktion senden, bestätigen lassen, Webhook empfangen und einen Fehlerfall abfangen.
  • Die meisten Zahlungsfehler stecken in Webhooks. Testen Sie Signaturprüfung, Wiederholungen, Duplikate und Events außer der Reihe.
  • Verwenden Sie in Testcode nie Produktionsschlüssel oder Wallet-Geheimnisse. Testadressen dürfen nie in die Produktionskonfiguration gelangen.
  • Vergleichen Sie vor dem Start die unterstützten Netzwerke, Vermögenswerte, Gebührenverhalten und Bestätigungszeiten zwischen Test und Live.

Was ist eine Krypto-API-Sandbox?

Der Begriff wird locker verwendet. Deshalb beginnen wir mit einer brauchbaren Definition.

Im API-Design gibt ein Mock vorgegebene Antworten zurück. Eine vollständige Sandbox ist etwas anderes: Redocly beschreibt sie als zustandsbehaftete, isolierte Umgebung. Sie speichert Datensätze, führt Geschäftslogik aus und erlaubt Tests mit zerstörerischen Aktionen, ohne Produktivdaten zu gefährden. Für Krypto ist dieser Unterschied wichtig. Legen Sie eine Wallet an und fragen danach ihr Guthaben ab, liefert ein Mock das, was man ihm vorgegeben hat. Eine Sandbox erinnert sich an die Wallet, die Sie angelegt haben.

Eine Krypto-Sandbox leistet meist drei Dinge:

  1. Sie stellt getrennte Test-API-Schlüssel aus, die keine echten Guthaben bewegen können.
  2. Sie lässt Konten oder Wallets anlegen und ihnen Test-Guthaben geben.
  3. Sie simuliert die Transaktionen und Benachrichtigungen, die Sie im Betrieb sehen würden, oder leitet sie an ein Testnetz weiter.

Sandbox, Testnetz und Devnet im Vergleich

Ein Blockchain-Testnetz ist nicht dasselbe wie eine API-Sandbox. Ein Testnetz ist ein eigenes öffentliches Netzwerk, das das Hauptnetz nachbildet. So können Entwickler experimentieren, ohne echte Kryptowährung zu riskieren. Die Ethereum-Dokumentation beschreibt Testnetze als Gegenstück zu einem Staging-Server. Sie nennt Sepolia als empfohlenes Standard-Testnetz für die Anwendungsentwicklung. Die meisten Menschen erhalten Test-ETH kostenlos über Faucets.

Testnet-Coins sollen keinen echten Wert haben. Behandeln Sie jeden, der Sie für solche Coins bezahlen lassen will, als Warnsignal.

API-SandboxTestnetz oder Devnet
Betrieben vonDem API-AnbieterDer Blockchain-Community oder Stiftung
Was simuliert wirdDie Endpunkte, Konten, Guthaben und Benachrichtigungen des AnbietersDie Blockchain selbst
GuthabenFake-Guthaben, das Sie oft auf Abruf aufladen könnenFaucet-Coins ohne Wert
Tempo und VerlässlichkeitMeist vorhersagbarKann langsam, überlastet oder zurückgesetzt sein
Am besten fürIntegrationstests Ihrer App gegen die APITest des On-Chain-Verhaltens, von Contracts und Gebührenlogik

Die praktische Schlussfolgerung: Eine Sandbox testet Ihre Integration mit der API. Ein Testnetz testet, wie Ihr Code auf einer echten, wenn auch wertlosen Chain läuft. Jede Chain dokumentiert ihre eigenen Testnetze. Tron hat Shasta und Nile. Der Bitcoin-Entwicklerleitfaden erklärt die Modi Testnet und Regtest.

Wie testen Sie eine Krypto-Zahlung Schritt für Schritt?

Anbieter unterscheiden sich im Detail. Die folgende Abfolge trägt aber fast überall.

1. Test-Zugangsdaten besorgen

Legen Sie ein Konto an und suchen Sie nach einem eigenen Test- oder Sandbox-Modus oder einer eigenen Basis-URL. Gute Anbieter stellen je Umgebung eigene Schlüssel aus. So scheitert ein Testschlüssel einfach gegen die Produktion. Speichern Sie den Schlüssel von der ersten Zeile Code an in einer Umgebungsvariable oder einem Secrets-Manager und nicht im Repository.

Nutzt der Anbieter signierte Anfragen, wie HMAC-basierte APIs, implementieren Sie die Signierfunktion einmal und schreiben Sie dafür einen Unit-Test mit bekannter Ein- und Ausgabe. Ein falsch gesetzter Zeilenumbruch im signierten String erzeugt Fehler, die stundenlang wie Authentifizierungsprobleme aussehen.

2. Eine Wallet anlegen

Rufen Sie den Endpunkt zum Anlegen der Wallet auf und notieren Sie, was zurückkommt: die Adresse, eine Kennung und ob der Anbieter den privaten Schlüssel hält oder an Sie übergibt. Der letzte Punkt entscheidet über Ihr Sicherheitsmodell. Schreiben Sie ihn auf. Legen Sie auf jedem Netzwerk, das Sie unterstützen wollen, mehrere Wallets an. Adressformate unterscheiden sich zwischen Chains und sind eine häufige Quelle für Validierungsfehler.

3. Mit Test-Assets füllen

Hier unterscheiden sich Sandboxen am stärksten. Manche lassen Sie ein Guthaben über einen API-Aufruf oder einen Dashboard-Knopf gutschreiben. Andere erwarten, dass Sie Coins über ein öffentliches Faucet des jeweiligen Testnetzes anfordern und an Ihre neue Adresse senden. Faucets können ratenbegrenzt oder leer sein. Fordern Sie Guthaben deshalb früh am Tag an, nicht zehn Minuten vor einer Demo. Halten Sie eine gut gefüllte Test-Wallet als „Bank“ und laden Sie kleinere Wallets von ihr auf.

Tabelle mit Optionen für Test-Guthaben: API-Gutschrift, öffentliches Faucet, Faucet-Limits, Bank-Wallet

4. Eine Transaktion senden

Beginnen Sie mit dem einfachsten Fall: ein Transfer der nativen Währung zwischen zwei eigenen Wallets. Gehen Sie danach zu Token-Transfers über (Tokens im Stil von ERC-20, BEP-20 oder TRC-20). Tokens bringen Contract-Aufrufe, andere Gebührenmechanik und auf manchen Chains eine separate Gebührenwährung mit sich. Notieren Sie die Transaktions-ID, die die API zurückgibt, und vergleichen Sie sie mit dem Block-Explorer des Testnetzes.

5. Das Ergebnis prüfen

Eine Transaktion hat mehrere Zustände. Ihre App sollte diese abbilden, statt nur ein Flag „bezahlt“ zu führen:

  • Eingereicht: Die API hat die Transaktion angenommen, sie ist aber noch nicht auf der Chain.
  • Ausstehend: Sie ist im Mempool oder in einem Block mit zu wenigen Bestätigungen zu sehen.
  • Bestätigt: Genug Bestätigungen für Ihre Risikotoleranz.
  • Fehlgeschlagen oder verworfen: abgelehnt, ohne Gas, ersetzt oder nie geschürft.

Für die Umsatzauswertung zählen abgewickelte Zahlungen und nicht Versuche. Dasselbe gilt für Bestätigungen auf einer Chain. Eine ausstehende Transaktion ist noch kein Umsatz.

Wie testen Sie Webhooks und Fehlerpfade?

Webhooks machen aus einer Zahlungs-API etwas, das Ihnen meldet, wann Geld eingeht, statt etwas, das Sie abfragen. Hier brechen Integrationen auch am häufigsten, weil der Absender den Zeitpunkt bestimmt.

Eine Benachrichtigung von Anfang bis Ende empfangen

Vierstufiger Testablauf für Benachrichtigungen: öffentliche HTTPS-URL, URL registrieren, Test-Transaktion senden, Event bestätigen

Sie brauchen eine öffentliche HTTPS-URL, die Ihren Entwicklungsrechner erreicht. Ein Tunneling-Werkzeug oder ein Staging-Server funktioniert. Registrieren Sie die URL, senden Sie eine Test-Transaktion an eine überwachte Adresse und bestätigen Sie, dass Ihr Handler das Event mit den erwarteten Feldern erhält. Unser Artikel zu Webhooks für die automatische Verarbeitung von Einzahlungen behandelt den üblichen Aufbau.

Eine Checkliste für Webhook-Tests

  • Prüfen Sie die Signatur. Weisen Sie jede Anfrage ab, deren Signatur nicht passt. Testen Sie das, indem Sie den signierten Wert verändern. Bei Chaingateway ist der signierte Wert die txid. Prüfen Sie deshalb auch Betrag und Empfänger gegen Ihre Erwartungen. Der Artikel persönliche Secrets erklärt das.
  • Testen Sie die Idempotenz. Liefern Sie dasselbe Event zweimal aus. Ihr System muss den Nutzer nur einmal gutschreiben. Speichern Sie deshalb eine Event- oder Transaktions-ID und prüfen Sie sie, bevor Sie handeln.
  • Testen Sie Zustellung außer der Reihe. Ein Event „bestätigt“ kann vor „ausstehend“ eintreffen. Lassen Sie nie zu, dass ein älterer Zustand einen neueren überschreibt.
  • Testen Sie einen langsamen oder ausfallenden Empfänger. Geben Sie einen Fehler zurück oder hängen Sie 30 Sekunden, und sehen Sie, was der Anbieter tut. Chaingateway wiederholt nicht automatisch. Fehlgeschlagene Benachrichtigungen sind aufgelistet, und Sie fordern das erneute Senden für jede einzelne an.
  • Bestätigen Sie schnell. Antworten Sie zügig mit einem Erfolgscode und erledigen Sie die schwere Arbeit in einer Warteschlange. Lange Handler führen zu Timeouts und doppelten Zustellungen.
  • Wiederholen Sie nach einem Ausfall. Schalten Sie Ihren Empfänger ab, senden Sie Transaktionen und schalten Sie ihn wieder ein. Legen Sie fest, wie Sie verpasste Events wiederherstellen, etwa aus der Liste der fehlgeschlagenen Benachrichtigungen oder aus der Transaktionshistorie.

Fehlerfälle, die Sie gezielt herbeiführen sollten

Brechen Sie in der Sandbox absichtlich Dinge, denn dafür ist sie da:

  • Senden Sie mehr als das Guthaben der Wallet.
  • Senden Sie an eine fehlerhafte Adresse oder an eine Adresse des falschen Netzwerks.
  • Senden Sie einen Token an eine Wallet ohne native Währung für die Gebühren.
  • Setzen Sie eine zu niedrige Gebühr und beobachten Sie, wie die Transaktion stockt.
  • Senden Sie einen winzigen Betrag unter Ihrer Mindestzahlung.
  • Zahlen Sie etwas weniger oder mehr als die Rechnung erwartet. Unter- und Überzahlungen sind beim Krypto-Checkout alltäglich. Legen Sie deshalb Ihre Regel fest und testen Sie sie.

Worin unterscheidet sich Sandbox und Produktion?

Eine Sandbox ist ein Modell, und Modelle lassen Dinge weg. Prüfen Sie diese Bereiche ausdrücklich, bevor Sie zu Live-Schlüsseln wechseln.

BereichWas zu prüfen ist
BestätigungszeitTestnetz-Blöcke können im Vergleich zum Mainnet schneller, langsamer oder unregelmäßig sein. Messen Sie auf den Live-Chains mit kleinen Beträgen neu.
GebührenTestnetze haben oft triviale oder feste Gebühren. Prüfen Sie, wie die API Gebühren im Mainnet schätzt und was bei Überlastung passiert.
Unterstützte VermögenswerteDie Tokens im Testmodus können eine Teilmenge der Live-Tokens sein oder umgekehrt. Prüfen Sie jeden Vermögenswert, den Sie in Ihrem Produkt anbieten.
Rate-LimitsLimits können je Umgebung und je Tarif abweichen. Führen Sie Lasttests innerhalb der Limits durch, die Sie tatsächlich haben werden.
DatenformPrüfen Sie, dass Feldnamen, Dezimalgenauigkeit und Betragseinheiten (kleinste Einheit oder ganze Coins) zwischen den Umgebungen übereinstimmen.
Webhook-ZustellungProduktionsvolumen bringt Wiederholungen, Lastspitzen und größere Payloads. Wiederholen Sie Ihre Idempotenztests mit echtem Datenverkehr.
Compliance und LimitsManche Anbieter lockern die Verifizierung im Testmodus. Finden Sie heraus, was im Livebetrieb gilt.

Führen Sie danach auf der Produktion eine Canary-Zahlung durch: eine kleine echte Überweisung durch den gesamten Ablauf, von der Wallet-Erstellung über den Webhook bis zum Buchungseintrag. Sie kostet ein paar Cent oder Dollar und findet Konfigurationsfehler, die keine Sandbox findet.

Wie schützen Sie Schlüssel beim Testen?

Testumgebungen sind der Ort, an dem schlechte Gewohnheiten entstehen. Und Gewohnheiten wandern in die Produktion.

  • Verwenden Sie je Umgebung eigene Schlüssel. Benennen Sie sie klar und geben Sie ihnen im Secrets-Manager unterschiedliche Präfixe, damit eine Verwechslung sichtbar wird.
  • Halten Sie Geheimnisse aus dem Repository. Nutzen Sie Umgebungsvariablen, einen Vault oder den Secret-Store Ihrer CI. Durchsuchen Sie die Commit-Historie, falls ein Schlüssel jemals hineingerutscht ist, und rotieren Sie ihn.
  • Importieren Sie nie eine echte Wallet in ein Testsetup. Wenn eine Seed-Phrase oder ein privater Schlüssel echtes Geld kontrolliert, gehört er nicht in ein Testskript, auf einen Screenshot oder in eine Chat-Nachricht.
  • Beschränken Sie, wer Schlüssel sehen darf. Dienstleister und Agenturen, die an Ihrer Integration arbeiten, sollten nur Testschlüssel erhalten.
  • Legen Sie Basis-URLs in der Konfiguration fest, nicht im Code. Fügen Sie eine Prüfung beim Start hinzu, die sich weigert zu laufen, wenn ein Testschlüssel mit der Live-URL oder umgekehrt gepaart ist.
  • Rotieren Sie nach Demos. Schlüssel, die auf dem Bildschirm oder in einer Aufnahme gezeigt wurden, gelten als offengelegt.

Welche Grenzen sollten Sie vorab prüfen?

Bevor Sie sich auf die Sandbox eines Anbieters festlegen, stellen Sie ein paar klare Fragen:

  1. Welche Netzwerke deckt er im Testmodus ab? Braucht Ihr Produkt Ethereum, Tron und Bitcoin, prüfen Sie alle drei und nicht nur eines.
  2. Welche Token-Standards und Vermögenswerte? Native Coins sind einfach. Stablecoins und NFTs sind der Ort, an dem Lücken auftreten.
  3. Wie kommen Sie an Test-Guthaben, und gibt es Obergrenzen? Faucet-Limits und tägliche Höchstwerte bestimmen, wie schnell Ihr Team iterieren kann.
  4. Speichert er den Zustand? Eine zustandsbehaftete Sandbox erlaubt mehrstufige Szenarien. Ein zustandsloser Mock nicht.
  5. Sind Webhooks im Testmodus verfügbar, und lassen sie sich auf Abruf auslösen?
  6. Wie stabil ist er? Testnetze werden zurückgesetzt oder abgekündigt, was Ihre Test-Wallets löschen kann. Halten Sie das Setup skriptbar, damit Sie es in Minuten neu aufbauen können.

Wenn Sie außerdem verstehen wollen, welche Anbieterart zu welcher Aufgabe passt, ist unser Vergleich der Blockchain-APIs und wann Sie welchen Typ nutzen eine gute Ergänzung.

Wie testen Sie mit Chaingateway?

Chaingateway bietet keine eigene simulierte Sandbox mit Fake-Guthaben. Die API-Dokumentation beschreibt Tests auf öffentlichen Testnetzen. Fügen Sie einer Anfrage den Header X-Network: testnet hinzu, oder lassen Sie ihn für das Mainnet weg. Dieselben Endpunkte, Schlüssel und Antwortformate gelten für beide. Jede Chain hat ein eigenes Testnetz. Die Seite unterstützte Netzwerke listet sie:

ChainTestnetz
EthereumSepolia
TronNile
BNB Smart ChainBSC-Testnetz
PolygonAmoy
ArbitrumArbitrum Sepolia
BitcoinTestnet3
SolanaDevnet

Ein erster Test braucht vier Anfragen. Sie legen eine Adresse an, laden sie über das Faucet der Chain auf, registrieren einen Webhook und senden einen Transfer:

Terminal window
# 1. Create an address on Sepolia
curl -X POST https://app.chaingateway.io/api/v2/ethereum/addresses \
-H "Authorization: Bearer $CHAINGATEWAY_TOKEN" \
-H "X-Network: testnet" \
-H "Content-Type: application/json" \
-d '{"password": "use-a-strong-test-password"}'
# 2. Fund the address from a Sepolia faucet, then register a webhook for it
curl -X POST https://app.chaingateway.io/api/v2/ethereum/webhooks \
-H "Authorization: Bearer $CHAINGATEWAY_TOKEN" \
-H "X-Network: testnet" \
-H "Content-Type: application/json" \
-d '{"to": "0xYourNewAddress", "url": "https://your-tunnel.example/hooks", "type": "ETH", "reference": "test-1"}'

Die Antwort des ersten Aufrufs enthält die neue Adresse.

Beim Webhook benennt type die Art des Vermögenswerts. Auf Ethereum sind die Werte ETH, ERC20 und ERC721. Andere Chains nutzen eigene Namen, zum Beispiel TRC20 auf Tron. Die API-Referenz listet sie. Webhooks gibt es auf jeder unterstützten Chain außer Solana. Testen Sie Solana deshalb, indem Sie Transaktionen abfragen.

Chaingateway signiert Webhooks mit dem Header X-Signature, sobald Sie ein persönliches Secret gesetzt haben.

Außerdem wiederholt der Dienst fehlgeschlagene Benachrichtigungen nicht von selbst. Beides lohnt sich im Testnetz zu prüfen. Die Tarife beginnen bei 49 Euro im Monat für Plus. Pro kostet 99 Euro, Premium 249 Euro und Enterprise 499 Euro im Monat. Bei jährlicher Abrechnung sind es 490, 990, 2.490 bzw. 4.990 Euro. Jeder Tarif beginnt mit einer 7-tägigen Testphase ohne Karte und ohne KYC. Details finden Sie auf der Preisseite, auf der Seite Blockchain API und auf der Seite Chaingateway Webhooks.

Screenshot der Chaingateway-Startseite: einheitliche Blockchain-API für Krypto-Zahlungen und Webhooks über 7 Chains

Welche Ideen sich anbieten, wenn Ihre Tests bestanden sind, zeigt unsere Übersicht zu Anwendungsfällen einer Blockchain-API.

Wie sieht ein praktikabler Testplan aus?

Nutzen Sie dies als einseitige Checkliste für eine Freigabe.

  1. Setup: Test-Schlüssel im Secrets-Manager, Basis-URL in der Konfiguration, Signierfunktion unit-getestet.
  2. Wallets: Legen Sie je unterstütztem Netzwerk mindestens zwei an und notieren Sie die Adressformate.
  3. Finanzierung: Laden Sie eine Master-Test-Wallet auf und skripten Sie das Aufladen der anderen.
  4. Normalfall: Transfer der nativen Währung, dann Token-Transfer, jeweils gegen einen Block-Explorer geprüft.
  5. Webhooks: Signaturprüfung, doppelte Zustellung, Events außer der Reihe, Ausfall des Empfängers.
  6. Fehlerfälle: unzureichendes Guthaben, Adresse des falschen Netzwerks, fehlende Gebührenwährung, zu niedrige Gebühr, Unterzahlung, Überzahlung.
  7. Zustandsmodell: Ihre Datenbank behandelt eingereicht, ausstehend, bestätigt und fehlgeschlagen ohne Mehrdeutigkeit.
  8. Last: Lastspitze an Transaktionen innerhalb der Rate-Limits Ihres Tarifs.
  9. Sicherheitsprüfung: Keine Produktionsgeheimnisse im Testcode, Logs frei von Schlüsseln und Seeds.
  10. Canary: eine kleine Live-Zahlung durch den gesamten Ablauf, bevor Sie den Start ankündigen.

Quellen

Empfohlen

Häufig gestellte Fragen

Nein. Eine Sandbox ist eine isolierte Umgebung, die der API-Anbieter betreibt, mit eigenen Schlüsseln und Test-Guthaben. Ein Testnetz ist eine eigene öffentliche Blockchain, deren Coins keinen Wert haben. Manche Sandboxen laufen auf Testnetzen, andere sind vollständig simuliert. Prüfen Sie deshalb, was Sie bekommen.

Ja. Nutzen Sie die Sandbox eines Anbieters oder ein öffentliches Testnetz mit Faucet-Coins. Beides erlaubt es, Wallets anzulegen, Transfers zu senden und Benachrichtigungen auszulösen, ohne Kosten. Beenden Sie mit einer sehr kleinen Live-Transaktion, denn Gebühren und Zeitverhalten in der Produktion können von den Testbedingungen abweichen.

Machen Sie Ihren lokalen Server über ein Tunneling-Werkzeug erreichbar oder deployen Sie einen Staging-Endpunkt mit HTTPS. Registrieren Sie dann diese URL für Benachrichtigungen. Senden Sie eine Test-Transaktion an eine überwachte Adresse und bestätigen Sie, dass Ihr Handler das Event empfängt, prüft und verarbeitet. Wiederholen Sie den Test mit doppelten und verzögerten Zustellungen.

Tauschen Sie Live-Schlüssel und Basis-URLs über die Konfiguration aus. Prüfen Sie danach unterstützte Netzwerke und Vermögenswerte, die Gebührenschätzung, die Bestätigungszahlen und die Rate-Limits. Wiederholen Sie Ihre Idempotenztests für Webhooks und senden Sie eine Canary-Zahlung, um zu bestätigen, dass der gesamte Ablauf mit echten Mitteln funktioniert.

So entstehen diese Artikel

Möchten Sie das selbst umsetzen? API-Key erhalten — 7 Tage kostenlos testen, keine Karte nötig — oder werfen Sie einen Blick auf Blockchain-API für die vollständige Endpoint-Referenz.

C
Chaingateway Team
Blockchain-Experten

Das Chaingateway-Team hat es sich zur Aufgabe gemacht, die Blockchain-Integration für Entwickler weltweit zu vereinfachen.