Zum Inhalt springen

Welche Kontrolle steht zwischen einem Auftrag und dem Schlüssel?

15. Sept. 2026 14 Min. Lesezeit Paymos Tech Paymos Tech
Ein orange gepunkteter Pfad erreicht die einzige Lücke in einer niedrigen weißen Umfassung und biegt außen wieder ab, drinnen steht ein kleiner Würfel, zwei hohe Blöcke stehen unberührt daneben

Kurz gefasst

Ein verwahrender Anbieter signiert Auszahlungen, ohne auf einen Menschen zu warten. Genau das macht den Schlüssel heiß, und genau deshalb ist ein überzeugend aussehender Auftrag die eigentliche Gefahr. Jede Kontrolle ringsum taugt so viel, wie das Loch groß ist, das sie lässt: Ein getrennter Zugang hält den falschen Schlüssel auf, nicht den richtigen in fremder Hand. Eine Freigabeliste begrenzt die Richtung und sagt nichts über Höhe oder Eigentümer. Eine Sperre hält neue Aufträge und holt nichts zurück, was schon unterwegs ist. Bei Paymos trägt die Liste am meisten — deshalb ändert sie standardmäßig nur der Kontoinhaber, nur im Dashboard, und über die API gar nicht.

Ein verwahrender Anbieter hält einen Schlüssel, der Ihr Guthaben bewegen kann. Daran ändert nichts, was hier steht.

Was die Kontrollen ändern, ist die Zahl der Wege, auf denen ein Auftrag entstehen kann, den dieser Schlüssel unterschreibt. Jede schließt einen davon und lässt andere offen. Eine Kontrolle ohne ihre Grenze ist weniger wert als eine mit, denn die Grenze ist die Stelle, an die ein Mensch gehört.

Heiß ist der Schlüssel aus einem unspektakulären Grund. Jemand löst um zwei Uhr nachts eine Auszahlung aus, in einer Zeitzone, in der beim Anbieter niemand wach ist, und der Transfer muss trotzdem gebaut, signiert und ins Netzwerk gegeben werden. Kalte Verwahrung ist die Abwesenheit davon: Ein Schlüssel, der einen anwesenden Menschen braucht, kann keinen Auftrag beantworten. Wer auf Zuruf auszahlt, betreibt ein Hot Wallet, unter welchem Namen auch immer.

Die interessante Frage war also nie, ob der Schlüssel online ist. Sie lautet, was ein Auftrag überstehen muss, bevor der Schlüssel ihn überhaupt sieht.

Wo mehrere Unterschriften nicht geholfen haben

Unterschrieben wurde die Transaktion von genau den Leuten, die sie unterschreiben sollten.

Am oder um den 21. Februar 2025 verließen rund 1,5 Mrd. $ an virtuellen Werten Bybit; fünf Tage später schrieb das FBI die Tat Nordkorea zu.

Eine Woche nach der Tat beschrieb die Safe Ecosystem Foundation den Weg in einer eigenen Erklärung: Der Angriff auf den Bybit-Safe sei über einen kompromittierten Entwicklerrechner von Safe{Wallet} gelaufen, und auf diesem Weg sei eine getarnte bösartige Transaktion vorgeschlagen worden.

Mehrere Personen haben zugestimmt. Die Mehrfachunterschrift hat auf der falschen Transaktion genau das getan, wofür sie gebaut war, und die Zahl der Unterschriften war nie die Stellschraube. Das ist der Prüfsatz für alles Weitere: Was tut diese Kontrolle, wenn der Auftrag schon legitim aussieht?

Welcher Zugang kann überhaupt Geld bewegen?

Genau einer der beiden, und die Trennung ist erzwungen statt dokumentiert. Ein Händler hält je Umgebung einen Payment- und einen Payout-Zugang.

Der Payment-Zugang reicht an Rechnungen und Zahlungskanäle, der Payout-Zugang an Auszahlungen und an die Lesezugriffe, die eine Auszahlung zur Prüfung braucht. Keiner der beiden greift in den Bereich des anderen. Ein Payment-Schlüssel, der aus einem Plugin, einem Logfile oder von einem Laptop abhandenkommt, kann deshalb keine Auszahlung erstellen — er hat dafür nichts zu missbrauchen.

Geprüft wird an einer Stelle. Jede Anfrage passiert denselben einen Autorisierungsschritt, und der hält den Umfang des Aufrufers gegen das, was die Operation verlangt; ein Zugang, der nicht reicht, wird dort abgewiesen und erreicht den Handler nie.

Eine Prüfung, die jede Route für sich mitbringt, fehlt irgendwann auf der Route, die nächstes Quartal dazukommt.

Zwei Bedingungen stehen daneben. Ein Payout-Zugang muss eine IP-Liste tragen, und eine leere Liste wird bei der Anmeldung abgewiesen statt als „unbeschränkt“ gelesen; ein Payment-Zugang kann gar keine tragen, weil Zahlungsaufrufe von dort kommen müssen, wo Ihre Kunden sind.

Einen Schlüssel je Dienst oder je Shop gibt es nicht: je Umgebung ein aktiver Zugang pro Typ, vier insgesamt, und ein Widerruf ist endgültig.

Das gehört in einen Notfallplan und nicht in einen Prospekt: Ein Leck lässt sich nicht dadurch eingrenzen, dass man die undichte Anbindung abschaltet, denn jede Anbindung dieser Umgebung hält denselben Schlüssel.

Was trennt das isolierte Signieren?

Den Signierweg von den Oberflächen, die ein Händler oder ein Zahler erreichen kann.

Ausgehende Transaktionen werden abseits des öffentlichen Webpfads signiert, und eine Auszahlung darf nur ein Ziel nennen, das der Händler vorher freigegeben hat.

Isolation ist eine Aussage über Erreichbarkeit. Sie verkürzt die Liste dessen, was einen Auftrag vor den Schlüssel bringen kann, und das ist echte Arbeit. Es ist zugleich weniger, als das Wort verspricht, denn gegen einen Auftrag, der durch die Vordertür mit gültiger Signatur hereinkommt, richtet sie nichts aus.

Die Befugnis zu signieren teilt sie auch nicht auf, und nichts hier soll so gelesen werden. Das ist betreute Verwahrung: Der Händler beauftragt, der Anbieter betreibt Signieren und Versand. Ob dieser Tausch zu einem Unternehmen passt, ist eine Entscheidung über das Verwahrmodell und fällt, bevor irgendeine Kontrolle weiter unten überhaupt interessant wird.

Die nächste Frage einer Finanzabteilung hat eine kurze Antwort: Ein Paymos-Guthaben wird nicht beliehen und erwirtschaftet für Paymos nichts, solange es liegt.

Was begrenzt die Freigabeliste, und was nicht?

Die Richtung. Nicht die Höhe, nicht den Auftraggeber, und nicht, wem die Adresse inzwischen gehört.

Die Mechanik ist kurz genug, um sie an einer Stelle zu lesen:

  • Steht nichts darauf, geht nichts hinaus. Eine leere Liste gilt nicht als „keine Einschränkung“, sie schaltet Auszahlungen ab.
  • Ein Eintrag ist nach Adresse und Netzwerkgruppe geschlüsselt. Eine freigegebene EVM-Adresse deckt Ethereum, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche und Plasma in einem Zug; Tron, TON und Solana sind eigene Gruppen.
  • Freigeben lassen sich vier Gruppen und nur vier. Deshalb nehmen NEAR und Sui Zahlungen an und können kein Auszahlungsziel sein.
  • Entfernen widerruft den Eintrag, statt ihn zu löschen. Die Spur, wer wann Ziel sein durfte, bleibt damit erhalten.
  • Eine Freigabe trägt bis zu 1.000 Adressen, ein CSV-Import bis zu 1.000 Zeilen je Datei, und ein Konto hält höchstens 5.000 aktive Einträge.
  • Einen API-Weg dafür gibt es nicht. Die Liste lebt im Dashboard, und ein Payout-Zugang liest sie, um ein Ziel zu prüfen, ohne eines eintragen zu können.

Bei der letzten Zeile lohnt ein Moment. Der Zugang, der Geld bewegt, kann die Menge der Orte, wohin es darf, nicht erweitern, und diese Trennung übersteht eine Fehlkonfiguration, weil der Weg dafür nie gebaut wurde.

Jetzt die Grenzen. Eine Freigabeliste ist eine Aussage über die Richtung und keine über Eigentum: Ein Händler darf die Adresse eines Kunden oder eines Spielers mit Absicht freigeben und dorthin auszahlen — so funktionieren Auszahlungen an Endnutzer hier.

Eine im März für das Wallet eines Dienstleisters freigegebene Adresse ist im September eine freigegebene Adresse, auch wenn dieser Dienstleister längst gegangen ist.

Über die Höhe sagt sie ebenso wenig. Zwei Kontolimits gelten für eine Auszahlung — eine Obergrenze je Auszahlung und eine Grenze dafür, wie viele gleichzeitig unterwegs sein dürfen — und die verbleibende Zahl steht im Auszahlungsformular, bevor überhaupt etwas eingetippt ist, statt hinterher als Ablehnung zu erscheinen.

Beide begrenzen eine Bewegung; die Liste begrenzt eine Richtung. Eine Auszahlung kann bequem innerhalb beider liegen und trotzdem irgendwohin gehen, wohin Sie sie heute Morgen nicht geschickt hätten.

Wer darf ein Ziel freigeben, und wer darf dorthin zahlen?

Absichtlich nicht dieselben Leute.

In der Grundeinstellung führt nur der Kontoinhaber die Freigabeliste. Wer die Rolle Finanzen trägt, zahlt an Ziele aus, die der Inhaber freigegeben hat, und darf selbst keines freigeben; ein Administrator darf zunächst gar nicht auszahlen.

Das NIST-Glossar fasst das Prinzip in einem Satz über die Lohnbuchhaltung: Niemand soll genug Rechte haben, um das System allein zu missbrauchen, und wer eine Gehaltszahlung genehmigt, sollte sie nicht auch vorbereiten können.

Grundeinstellungen sind allerdings eine Ausgangslage, und einzelnen Mitgliedern lassen sich zusätzliche Rechte einräumen.

Die Funktionstrennung hält, solange niemand diese Rechte vergibt und es danach vergisst. Damit gehört die Rechteseite zu dieser Kontrolle dazu.

Die zweite Schicht in diesem Moment ist eine erneute Authentifizierung, und sie ist nicht bedingungslos. Wer weder TOTP noch einen Passkey eingerichtet hat, wird nie gefragt, denn eine solche Abfrage verstärkt einen vorhandenen Faktor und kann keinen verlangen, den es nicht gibt.

Als Schutz, den das Konto schon hat, ist sie damit keiner. Was in beiden Fällen hält, ist die Liste: Eine Auszahlung darf nur eine Adresse darauf nennen, jedes Hinzufügen ist eine protokollierte Aktion für sich, und eine leere Liste heißt keine Auszahlungen.

Wo die Abfrage kommt, ist sie an die Aktion gebunden, die sie freigibt, und beim Einlösen verbraucht; offen auf dem Konto liegt sie nie.

Achten Sie darauf, wo sie sitzt. Die Auszahlung selbst fragt nichts; die Änderung an der Liste fragt. Bewacht wird die Tür, nicht jeder einzelne Weg hinaus.

Was hält eine Auszahlung auf, die schon läuft?

Von Station zu Station weniger, und diese Reihenfolge kennt man besser vorher. Stornieren ist ein Fenster am Anfang, kein Rückruf. Eine Auszahlung lässt sich stornieren, solange sie noch im Zustand created steht und die Ausführung nicht begonnen hat; ein zweiter Aufruf auf eine bereits stornierte Auszahlung bekommt eine 200 zurück und bewegt nichts mehr.

Danach gehört der Transfer der Kette, und die Freigabeliste erweist sich als das Einzige, was zwischen dem Auftrag und einer unumkehrbaren Transaktion stand.

Sperren arbeiten oberhalb der einzelnen Auszahlung. Es gibt eine globale Sperre für ausgehende Transfers und eine für ein einzelnes Paar aus Asset und Netzwerk, die sich selbst setzen kann: Laufen Hauptbuch und Wallet um mehr als eine eingestellte Toleranz auseinander, hält dieses Paar an, ohne dass es jemand bemerken muss.

Ein Sicherheitsmechanismus bei der Arbeit: Er hält genau das an, worüber die Bücher uneins sind, bevor jemand weiß, welche Seite irrt.

Davon getrennt kann ein Auszahlungsweg für ein Asset auf einem Netzwerk zeitweise nicht verfügbar sein. Abgewiesen wird er an der Tür, statt in einer Warteschlange zu landen: Das Paar fehlt in der Auswahl, ein Auftrag darauf wird beim Erstellen abgelehnt, und das Guthaben bleibt unberührt.

Eine Ablehnung kostet dabei nichts, und das ist so gebaut. Eine erstellte Auszahlung legt Betrag und Netzwerkgebühr in eine Reservierung; bleibt die Transaktion aus, wird die Reservierung ganz aufgelöst — die Gebühr ebenso wie der Betrag.

Für einen zweiten Anlauf gilt dasselbe: external_order_id ist je Händler eindeutig, und eine wiederholte Anlage gibt die bestehende Auszahlung zurück, statt eine zweite zu senden. Das rettet einen abgebrochenen Abrechnungslauf und nichts darüber hinaus.

Warum sagt eine gescheiterte Auszahlung so wenig?

Weil die Alternative eine interne Rohmeldung auf dem Bildschirm eines Händlers wäre. Warum eine Auszahlung gescheitert ist, erfährt der Händler nicht. Was er sieht, kommt aus dem Status — einer geschlossenen Menge von Ausgängen — und sagt, dass die Auszahlung nicht rausgegangen ist, dass die Reservierung aufgelöst wurde und wohin er sich wenden kann.

Das Feld dahinter trägt Ausnahmetexte aus Signierer und RPC, interne Zahlen und Notizen von Betreibern. Ein geschlossener Status an der Oberfläche statt einer Zeichenkette von weiter unten — das ist das Muster.

Der Preis dafür landet beim Händler, und beim fehlenden Grund bleibt es nicht. Eine Auszahlung, die nicht rausgeht, schickt keine E-Mail und legt nichts an die Glocke — davon erfahren Sie über den Webhook oder gar nicht.

Wie lange der Rest einer Auszahlung dauert, steht auf einer eigenen Seite.

Welche Fragen stellen Sie einem verwahrenden Anbieter?

Fangen Sie bei dem Guthaben an, das gerade nichts tut, und gehen Sie dann zu den Menschen.

Wird es verliehen, im Staking gebunden oder erwirtschaftet es dem Anbieter etwas, während es liegt? Danach: Welche Rolle gibt ein Ziel frei, darf dieselbe Rolle auch dorthin zahlen, und was tut die Abfrage bei einer Änderung der Liste auf einem Konto, auf dem niemand einen zweiten Faktor eingerichtet hat? Eine gute Antwort nennt eine Rolle und eine Abfrage, kein Team. Zuletzt: Was erfahren Sie, wenn eine Auszahlung nicht rausgeht, und über welchen Kanal? Wer „wir informieren Sie bei jedem Schritt per E-Mail“ antwortet, hat entweder etwas gebaut, das wir nicht haben, oder seinen eigenen Benachrichtigungscode nicht gelesen.

Eine Kontrolle trägt mehr als die übrigen, und es ist die Liste der freigegebenen Adressen. Sie wirkt genau so gut, wie sie kurz ist, und der Moment, den es zu bewachen lohnt, ist der, in dem sie sich ändert. Genau deshalb liegt diese Änderung bei Paymos standardmäßig beim Kontoinhaber, steht im Prüfprotokoll, hat keinen API-Weg und ist die eine Aktion, die nach einem zweiten Faktor fragt — während die Auszahlung, die sie später erlaubt, nach gar nichts fragt.

Der Weg einer Auszahlung, Station für Station (September 2026)
StationWas dort hältWas dort nicht mehr hält
Der Zugang meldet sich anEin Payment-Zugang kommt nicht durch; ein Payout-Zugang ohne IP-Liste wird abgewiesenDerselbe Zugang aus einem Netz, das der Händler selbst eingetragen hat
Eine Adresse kommt auf die FreigabelisteStandardmäßig trägt nur der Kontoinhaber sie ein, und der Vorgang steht im PrüfprotokollDie Abfrage des zweiten Faktors, solange keiner hinterlegt ist
Die Auszahlung wird erstelltZiele außerhalb der Liste; bei leerer Liste geht gar nichts hinausWem die freigegebene Adresse heute gehört
Betrag und Netzwerkgebühr gehen in die ReservierungEin Betrag über dem Kontolimit, sichtbar vor dem AbsendenJede Höhe darunter, beliebig oft an dasselbe freigegebene Ziel
Zustand created, Ausführung noch nicht begonnenHier greift das Stornieren, und die Reservierung kommt vollständig zurückEin Storno, sobald die Ausführung begonnen hat
Signiert und ans Netzwerk gegebenNichts mehr auf AnbieterseiteEin Rückruf der Transaktion
Hauptbuch und Wallet laufen auseinanderDie Sperre für dieses Paar aus Asset und Netzwerk hebt sich selbstEine Transaktion, die bereits draußen ist

Häufige Fragen

Was ist ein Hot Wallet bei einem Krypto Zahlungsanbieter?

Der Signierschlüssel, der Auszahlungen baut und ins Netzwerk gibt. Er bleibt online, weil eine Auszahlung zu jeder Stunde angefordert wird und niemand auf eine Freigabe wartet. Wer auf Zuruf auszahlt, betreibt eines, wie auch immer es heißt.

Kann ein gestohlener API-Schlüssel mein Guthaben bewegen?

Eine Auszahlung erstellt nur ein Payout-Zugang, und nur an eine Adresse, die bereits auf Ihrer Freigabeliste steht. Ein Payment-Zugang hat überhaupt keinen Auszahlungsumfang, und ein Payout-Zugang ohne hinterlegte IP-Liste wird schon bei der Anmeldung abgewiesen.

Was passiert, wenn meine Freigabeliste leer ist?

Dann geht nichts hinaus. Eine leere Liste gilt nicht als „keine Einschränkung“, sondern deaktiviert Auszahlungen — das erste Ziel muss also vor der ersten Auszahlung freigegeben werden.

Gilt ein Eintrag auf der Freigabeliste für alle Netzwerke?

Ein Eintrag ist nach Adresse und Netzwerkgruppe geschlüsselt. Eine EVM-Adresse deckt damit alle acht EVM-Auszahlungsnetzwerke auf einmal ab, während Tron, TON und Solana eigene Gruppen sind. NEAR und Sui nehmen an und sind keine Auszahlungsziele.

Kann ich die Freigabeliste über die API pflegen?

Nein. Dafür gibt es keinen Weg in der Händler-API — die Liste wird im Dashboard geführt. Ein Payout-Zugang darf sie lesen, um ein Ziel zu prüfen, und kann keines hinzufügen.

Wann die Auszahlungskontrolle beim Anbieter NICHT passt

  • Verlangt Ihre eigene Richtlinie, dass jeden ausgehenden Transfer Ihre Treasury-Abteilung signiert, hilft keine Kontrolle an fremdem Gerät. Das ist eine Entscheidung über die Verwahrung, keine über Einstellungen.
  • Geht jede Auszahlung an ein anderes Kundenwallet, hat eine Liste freigegebener Ziele die falsche Form für Sie — sie aktuell zu halten wird zu der Arbeit, die sie abnehmen sollte.
  • Rechnen Sie die erneute Authentifizierung als Schutz ein, den Sie schon haben, prüfen Sie zuerst, ob jemand TOTP oder einen Passkey eingerichtet hat. Ohne das gibt es keinen Faktor zum Abfragen, und die Liste ändert sich trotzdem.
  • Brauchen Sie eine zweite Person, die jede Auszahlung vor dem Absenden prüft, gibt es dafür keine Freigabeschlange zum Einschalten. Eine Auszahlung wird erstellt und geht raus; die Prüfung muss also vor den Auftrag.

Quellen

  1. 1. FBI IC3 — North Korea Responsible for $1.5 Billion Bybit Hack (accessed 2026-09-15)
  2. 2. Safe Ecosystem Foundation — Statement, 28. Februar 2025 (accessed 2026-09-15)
  3. 3. NIST CSRC Glossary — separation of duty (accessed 2026-09-15)
  4. 4. Paymos — Sicherheit (accessed 2026-09-15)
  5. 5. Paymos — Auszahlung erstellen (accessed 2026-09-15)

Zuletzt geprüft 15. Sept. 2026

#sicherheit#auszahlungen#verwahrung#hot-wallet
Teilen