Ein Entwickler möchte eine dezentralisierte Anwendung bauen, die Benutzer mit Hardware-Wallets verbinden sollen, ohne private Schlüssel preiszugeben. Ein anderer entwickelt einen Token auf Ethereum und benötigt eine einfache Methode, um ihn in Trezor Suite sichtbar zu machen, damit Nutzer den Token empfangen und verwalten können. Ein dritter arbeitet an einem Staking-Protokoll und sucht nach einer Möglichkeit, Transaktionen über WalletConnect zu signieren, während die Trezor-Hardware die vollständige Kontrolle behält. Diese Szenarien verdeutlichen, dass Trezor Suite nicht nur eine Benutzeranwendung ist, sondern auch eine Plattform für Entwickler, die ein System erweitern möchten, das Hardware-Sicherheit mit Softwareflexibilität kombiniert.
Die Architektur von Trezor Suite wurde konzipiert, um Erweiterbarkeit zu ermöglichen, ohne die Sicherheitsgrenzen zu verwischen. Im Kern bleibt das Design unverändert: Private Schlüssel befinden sich ausschließlich auf der Hardware, alle signaturabhängigen Operationen werden durch physische Geräte ausgelöst, und externe Anwendungen kommunizieren über standardisierte Schnittstellen. Ein Entwickler kann auf mehreren Ebenen arbeiten – von einfachen Custom-Token-Registrierungen über WebUSB-basierte Direktverbindungen bis hin zu umfassenden DeFi-Integrationen durch WalletConnect-Protokolle. Das Verständnis dieser Ebenen ist entscheidend, um sichere, wartbare und benutzerfreundliche Lösungen zu bauen.
Webhooks, REST-APIs und die Trezor Connect Bibliothek
Die Trezor Connect Bibliothek ist die Hauptschnittstelle für Entwickler, die mit Hardware-Wallets interagieren möchten. Sie basiert auf WebUSB und WebHID, moderne Web-Standards, die es einem Browser ermöglichen, direkt mit USB- und HID-Geräten zu kommunizieren, ohne dass Treiber oder Plugins erforderlich sind. Dadurch kann eine Webanwendung blockiert werden, um zu überprüfen, dass der Benutzer ein echtes Trezor-Gerät angeschlossen hat, und dann Anfragen zu stellen – eine Adresse ableiten, eine Transaktion signieren, eine Nachricht verifizieren. Die Bibliothek kümmert sich um die Low-Level-Details: Serialisierung, Timeouts, Geräte-Neuerkennung und Fehlerbehandlung.
Ein Entwickler kann Trezor Connect durch npm installieren und dann einfache Operationen ausführen. Um beispielsweise eine Bitcoin-Adresse abzuleiten, wird ein Aufruf wie `getAddress({ coin: ‘btc’, path: “m/44’/0’/0’/0/0” })` verwendet. Das Gerät zeigt die Adresse auf seinem Display an, der Benutzer bestätigt die Operation physisch, und der Anruf wird aufgelöst. Das Sicherheitsmodell ist transparent: Die Anwendung kann sehen, was abgeleitet wurde, aber nicht, wie die Ableitung intern erfolgt ist. Der private Schlüssel verlässt das Gerät nicht. Bei einer Transaktion signiert das Trezor-Gerät den Hash und gibt die Signatur zurück; die Anwendung veröffentlicht die vollständig signierte Transaktion im Netzwerk.
Die REST-APIs von Trezor Suite unterstützen die Holen von Kontostand, Transaktionsverlauf und anderen lesenden Informationen. Diese APIs sind in erster Linie für die Suite-Webversion konzipiert, um Daten von Blockchain-Indizierungsdiensten zu aggregieren. Ein Entwickler sollte verstehen, dass diese APIs keine private Schlüsselverwaltung bieten – sie sind reine Datendienste. Um eine echte Softwareanwendung zu bauen, die mit privaten Schlüsseln arbeitet, sollten Entwickler sich auf Trezor Connect oder auf Integrationen via WalletConnect konzentrieren, nicht auf REST-Endpoints, die für die Anzeige von Kontoständen bestimmt sind.
Die Fehlerbehandlung ist ein wichtiger Aspekt, den viele Entwickler übersehen. Ein Benutzer könnte sein Gerät abstecken, während eine Transaktion signiert wird. Das Gerät könnte den Bildschirm verriegeln, bevor der Benutzer bestätigt. Eine Netzwerkverbindung könnte während eines Multi-Signature-Setups unterbrochen werden. Trezor Connect gibt sprechende Fehlercodes zurück, und ein robustes Frontend sollte auf diese reagieren, dem Benutzer klare Anleitung geben und den Prozess sicher erneut starten können, ohne in einem inkonsistenten Zustand stecken zu bleiben.
Custom-Token: Integration in das Trezor-Ökosystem
Ein Entwickler hat einen ERC-20-Token erstellt, und Benutzer möchten ihn in Trezor Suite verwalten. Der Token ist auf mehreren Blockchains verfügbar – Ethereum Mainnet, Polygon, Arbitrum – und der Entwickler möchte sicherstellen, dass Trezor-Nutzer ihn so leicht sehen und transferieren können wie ETH oder DAI. Trezor Suite bietet dafür einen Registrierungsprozess: Ein Token wird in einem öffentlichen Repository aufgeführt, das die Suite-Anwendung regelmäßig abruft. Jeder Token wird durch seine Vertragsadresse, sein Symbol, seine Dezimalstellen und ein Bild definiert.
Der Registrierungsprozess verlangt, dass der Entwickler einen Pull Request im Trezor Token Repository einreicht, mit den korrekten Metadaten und einem verifizierten Vertrag. Das ist intentional nicht sofort – es ist ein Sicherheitsprüfungsprozess. Das Team überprüft, dass der Token-Vertrag tatsächlich an der angegebenen Adresse bereitgestellt wurde, dass das Bild den Richtlinien entspricht und dass keine offensichtlichen Betrügereien vorliegen. Dies schützt Trezor-Benutzer davor, zufällig einen manipulierten oder Scam-Token zu verwalten, der unter einem vertrauenswürdigen Namen lädt.
Nach der Genehmigung erscheint der Token in der Anwendung, wenn ein Benutzer seine Ethereum- oder Polygon-Adresse hinzufügt. Der Benutzer kann Salden einsehen, Transfers initiieren und der Token verhält sich wie jeder andere in Trezor Suite. Das Wichtige ist, dass dieser Prozess keinen Code auf dem Gerät selbst bereitstellt – das Gerät kennt den Token nicht im Detail, es weiß nur, dass eine Überweisung zu einer bestimmten Adresse ein ERC-20-Transfer ist, basierend auf dem Funktions-Selector und dem Zielvertrag. Dies begrenzt die Angriffsfläche und ermöglicht, dass neue Token ohne Firmware-Updates unterstützt werden.
Ein häufiger Missverständnis ist, dass ein Token „auf Trezor” sein muss, um zu funktionieren. Das ist nicht wahr. Ein Token kann grundsätzlich übertragen werden, der Benutzer muss nur die Vertragsadresse und die ABI kennen. Wird ein Token in Trezor Suite registriert, verbessert dies die Benutzerfreundlichkeit, indem Balancen automatisch abgerufen und angezeigt werden. Für ein hochvolumiges oder sicherheitskritisches Projekt ist dies eine sinnvolle Investition; für experimentelle oder niedrigvolumige Token ist die Registrierung optional.
WalletConnect und DeFi-Integration ohne private Schlüsselverwaltung
WalletConnect ist ein Protokoll, das es einer mobilen oder dezentralisierten Anwendung ermöglicht, eine Signaturanfrage an eine externe Wallet zu senden. Ein Benutzer verbindet sein Trezor-Wallet (über die Trezor Suite mobile App oder den Web-Client) mit einer DeFi-Plattform durch einen QR-Code oder eine URI. Die Plattform sendet dann eine Transaktion zur Genehmigung: „Rufe die swap()-Funktion dieses Vertrags auf, mit diesen Parametern, von dieser Adresse.” Das Trezor-Gerät zeigt die Transaktion an, der Benutzer überprüft sie, bestätigt sie physisch und die Signatur wird an die DeFi-Anwendung zurückgegeben.
Für einen Entwickler, der eine DeFi-Plattform baut, bedeutet WalletConnect, dass er nicht sein eigenes Wallet-Management bauen muss. Er kann sich auf die Geschäftslogik konzentrieren – Liquiditäts-Pools, Preisvorhersagen, Gebührenberechnungen – und verschiedene externe Wallets unterstützen, die WalletConnect verstehen. Das macht seine Plattform zu einer Umgebung ohne Verwahrung: Der Benutzer behält die vollständige Kontrolle über private Schlüssel, und der Plattformbetreiber kann die Gelder nicht einfrieren oder stehlen, selbst wenn er wollte.
Eine WalletConnect-Integration erfordert ein wenig Setup. Der Entwickler initialisiert einen WalletConnect-Client mit seiner Projekt-ID (erhältlich vom WalletConnect Cloud Dashboard) und bindet eine Überprüfung der Transaktion an, bevor sie dem Benutzer angezeigt wird. Trezor Suite unterstützt WalletConnect 2.0, das Session-Management, automatische Neukonnektivität und mehrere Blockchains pro Sitzung ermöglicht. Ein Benutzer kann mit einer Plattform auf Ethereum arbeiten, dann auf Solana wechseln, ohne die Verbindung zu trennen.
Das kritische Designmuster ist, dass die Anwendung niemals eine Transaktion automatisch signiert. Sie muss eine Bestätigung anfordern, dem Benutzer zeigen, wohin seine Vermögenswerte gehen, welche Gebühren anfallen und was das Ergebnis sein soll. Wenn eine Plattform diese Regel bricht und blindlings Anfragen sendet, kann das Trezor-Gerät den Benutzer immer noch schützen – es wird die Transaktion auf seinem Bildschirm anzeigen und eine physische Bestätigung anfordern. Aber ein schlechtes Design bedeutet, dass der Benutzer möglicherweise keine Chance hat zu verstehen, was er signiert.
Hardware-Integration: USB, Bluetooth und Geräteerkennung
Trezor Suite ist auf Windows, macOS und Linux als Desktop-Anwendung verfügbar, auf Android und iOS als mobile Apps und im Web unter suite.trezor.io. Jede Plattform kommuniziert mit dem Gerät anders. Der Web-Browser nutzt WebUSB für kabelgebundene Verbindungen. Die mobilen Apps nutzen nativen Code, um auf das Gerät zuzugreifen. Der Desktop hat beide Optionen. Ein Entwickler muss entscheiden, auf welcher Plattform er arbeitet und welche Verbindungsart er unterstützen muss.
Ein wichtiger Punkt: Alle gängigen Plattformen verfügbar auf alle gängigen plattformen verfügbar bedeutet, dass eine Anwendung auf einer mobilen App auf iOS möglicherweise keine USB-Verbindung hat – iPhone hat keinen USB-Host-Modus. Stattdessen würde es Bluetooth oder eine externe Hardware-Bridge verwenden. Der Trezor Safe 5 und Safe 7 unterstützen Bluetooth, was die Verbindung vereinfacht. Der ältere Trezor Model T benötigt ein Kabel. Ein Entwickler sollte dies berücksichtigen und auf mehreren Geräten und Betriebssystemen testen, besonders wenn der Benutzer eine Mobile-First-Erfahrung erwartet.
Die Geräteerkennung ist eine weitere subtile Herausforderung. WebUSB ermöglicht es einer Webseite, zu überprüfen, ob ein Trezor-Gerät angeschlossen ist, aber nur, wenn der Benutzer die Seite mindestens einmal besucht hat und die Berechtigung erteilt hat. Ein Angreifer kann nicht einfach alle USB-Geräte scannen, die an einen Computer angeschlossen sind. Dies ist eine Sicherheitsmaßnahme des Browsers. Wenn ein Entwickler möchte, dass Benutzer ohne zusätzliche Schritte verbunden werden können, sollte er klare Anweisungen geben: „Genehmige den Zugriff auf dein Trezor-Gerät, wenn dein Browser danach fragt.”
Für native Anwendungen ist die Situation einfacher – der Code kann direkt auf USB-Ports zugreifen – aber die Wartung wird komplexer. Ein OS-Update könnte die Treiber ändern. Ein Benutzer könnte das Gerät während einer Transaktion abstecken. Ein Entwickler sollte alle möglichen Fehler bei der Gerätekommunikation abfangen und dem Benutzer klare Anweisungen geben, wie er fortfährt.
Blockchain Transactions signieren und verifizieren
Die Kernoperation für einen Hardware-Wallet-Entwickler ist die Transaction-Signatur. Ein Benutzer erstellt eine Transaktion in einer Anwendung, die Anwendung fragt das Trezor-Gerät, die Transaktion zu signieren, das Gerät zeigt die Details auf dem Display an, der Benutzer bestätigt, und das Gerät gibt eine Signatur zurück. Der Prozess unterscheidet sich zwischen Blockchains. Bitcoin verwendet blockchain transactions mit Eingaben und Ausgaben, die als UTXO-Modell bekannt sind. Ethereum verwendet ein Kontomodell mit Nonce und Gas. Solana hat sein eigenes Format. Ein Entwickler muss sein eigenes Ökosystem verstehen.
Bei Bitcoin erstellt der Entwickler eine Transaktion mit den richtigen Eingaben, Ausgaben und Gebühren, serialisiert sie in das Bitcoin-Netzwerkformat und sendet sie an Trezor, um sie zu signieren. Das Gerät überprüft intern, dass die Eingaben gültig sind (basierend auf früheren Transaktionen in der Blockchain), berechnet die Serienmasse und erzeugt Signaturen. Der Entwickler kann dann die signierte Transaktion broadcasten. Ein häufiger Fehler ist, die Eingaben-Metadaten nicht korrekt zu setzen – wenn Trezor die Ausgabenmenge nicht korrekt berechnen kann, wird es die Signierung ablehnen.
Bei Ethereum ist der Prozess konzeptionell ähnlicher, aber der Format unterscheidet sich. Die Transaktion ist ein RLP-kodiertes Objekt mit zu, von, Wert, Daten, Gaspreisen und Nonce. Das Gerät hasht die Transaktion, signiert sie und gibt die Signatur zurück. Ein kritischer Schritt ist das Überprüfen der Transaktionsdaten. Wenn ein Benutzer einen Smart Contract aufruft, müssen die Funktionsauswahl und die Argumente korrekt kodiert sein. Das Trezor-Gerät kann begrenzte ABI-Dekodierung durchführen – es kann Ihnen mitteilen, dass Sie eine approve()-Funktion aufrufen, mit welchem Betrag und für welche Adresse. Dies ist ein wichtiger Sicherheitsfeature, da es dem Benutzer hilft, zu verstehen, was er unterzeichnet.
Ein oft übersehener Punkt: Message Signing ist nicht das Gleiche wie Transaktion Signing. Ein Benutzer kann eine Nachricht signieren – „Ich bin der Besitzer dieser Adresse” – ohne Ether auszugeben oder Blockchain Transactions zu erstellen. Dies ist nützlich für Authentifizierung, Off-Chain-Genehmigungen und Datensicherheit. Die Nachricht wird auf dem Trezor-Gerät angezeigt, mit einem Präfix, um Verwechslungen mit Transaktionen zu vermeiden. Ein Anwendung sollte sich niemals auf eine signierte Nachricht verlassen, um autorisierende Transaktionen zu signieren – das ist ein klassischer Phishing-Vektor.
APIs, Webhooks und sichere Anwendungskommunikation
Ein Entwickler, der einen Dienst baut, der mit vielen Trezor-Wallets kommunizieren soll – beispielsweise ein Staking-Service oder eine Wartelistenverwaltung – benötigt eine zuverlässige Methode, um blockchainbasierte Ereignisse zu verfolgen. Trezor Suite bietet keine direkten Webhooks; stattdessen muss der Entwickler eine Blockketten-Indexierungslösung wie Ethers.js, The Graph oder eine kundenspezifische Lösung verwenden. Ein Webhook-Ansatz würde erfordern, dass Trezor einen zentralen Server betreibt, der alle Transaktionen überwacht – das ist ein Single Point of Failure und ein Datenschutzrisiko.
Stattdessen sollte ein Entwickler eine API bauen, die von der Anwendung abgefragt wird, nachdem eine Transaktion signiert wurde. Die Anwendung sagt dem Entwickler-Backend, „Ich habe diese Transaktion-Hash auf dieser Chain signiert”, und das Backend überprüft die Blockchain, um sicherzustellen, dass die Transaktion dort angekommen ist. Dies ermöglicht asynchrone Verarbeitung und gibt der Blockchain Zeit, die Transaktion zu bestätigen. Ein wichtiger Teil des Designs ist Idempotenz: Wenn ein Benutzer dasselbe Transaktions-Hash zweimal einreicht, sollte das Backend nicht zweimal reagieren.
HTTPS ist eine Grundvoraussetzung für jede Kommunikation zwischen einer Anwendung und einem Backend-Dienst. Ein Entwickler sollte ein gültiges Zertifikat verwenden, nicht selbstsigniert, und regelmäßig auf Zertifikat-Ablauf überprüfen. Ein häufiger Fehler: Ein Entwickler testet während der Entwicklung mit HTTP und vergisst, beim Launch zu HTTPS zu wechseln. Das Phishing-Risiko ist real. Ein Angreifer mit Man-in-The-Middle-Zugriff (z.B. auf einem Coffee-Shop-WiFi) könnte einen falschen Backend-Server verwenden und ungültige Antworten zurückgeben, die die Anwendung verwirren.
Für sensible Operationen – wie Auszahlungen, Admin-Funktionen oder Benutzer-Verifikation – sollte ein Entwickler zusätzliche Authentifizierungsmechanismen in Betracht ziehen. Dies könnte ein Shared Secret sein, das zwischen der mobilen App und dem Backend ausgehandelt wird, oder eine kryptographische Signatur über die Anfrage hinweg. Die Trezor Suite Desktop-App signiert wichtige Anfragen mit dem Benutzer-Schlüssel, um zu beweisen, dass die Anfrage vom tatsächlichen Gerät kam. Dies ist nicht standardmäßig in Webanwendungen vorhanden, aber ein sicherheitsbewusster Entwickler sollte es in Betracht ziehen.
Plugin-Architektur und Erwerbbarkeit für Drittanbieter
Trezor Suite hat in der Vergangenheit ein Plugin-System in Betracht gezogen, um es Drittanbietern zu ermöglichen, neue Funktionen hinzuzufügen, ohne den gesamten Code zu ändern. Das aktuelle Design ist weniger modular: Neue Features werden direkt in die Suite integriert. Das bedeutet, dass ein Entwickler, der ein neues Protokoll oder einen neuen Service unterstützen möchte, mit dem Trezor-Team zusammenarbeiten muss. Das ist restriktiver als ein offenes Plugin-System, bietet aber bessere Sicherheit und Wartbarkeit – es gibt keine versehentlich installierten Plugins, die Sicherheitslücken öffnen.
Für einen Entwickler, der eine Integration in Trezor Suite anstrebt, besteht der Weg darin, eine Anfrage im Trezor Suite GitHub-Repository zu stellen. Das Team wird die Idee überprüfen, um sicherzustellen, dass sie mit dem Sicherheitsmodell übereinstimmt. Wenn sie genehmigt wird, kann der Entwickler Code schreiben oder mit dem Team zusammenarbeiten, um die Integration zu implementieren. Dies ist langsamer als ein Plugin-System, aber es gewährleistet eine hohe Qualität und konsistente Sicherheitsprüfung.
Ein alternatives Modell ist der indirekte Weg: Ein Entwickler baut seine eigene Anwendung, die WalletConnect oder Trezor Connect nutzt, um mit Trezor-Wallets zu kommunizieren. Dies ist völlig dezentralisiert – der Entwickler braucht keine Genehmigung von Trezor. Der Benutzer verbindet sein Trezor-Wallet mit der Anwendung des Entwicklers, und alles funktioniert. Dies ist das Modell für die meisten DeFi-Anwendungen, NFT-Plattformen und Staking-Services. Trezor Suite selbst ist nicht der Engpass; die Trezor-Hardware ist es, und die ist offen für alle WalletConnect-Anwendungen.
Für die langfristige Roadmap von Trezor Suite werden Entwickler wahrscheinlich mehr Flexibilität sehen – möglicherweise ein sicheres Plugin-System, bessere öffentliche APIs oder Webhooks. Im Moment sollten Entwickler erwarten, dass sie entweder mit dem Trezor-Team zusammenarbeiten oder ihre eigenen Anwendungen rund um Trezor-Hardware bauen müssen, anstatt Trezor Suite selbst zu erweitern.
Sicherheitsüberlegungen für Entwickler
Die größte Sicherheitsgefahr für einen Entwickler, der eine Trezor-Integration baut, ist der Irrtum zu glauben, dass das Gerät alles sichert. Das ist nicht wahr. Das Gerät schützt die privaten Schlüssel und erzwingt Benutzer-Genehmigung für Signaturen. Es schützt nicht vor einer fehlerhaften oder böswilligen Anwendung, die dem Benutzer mitteilt, dass er Geld zu die falsche Adresse sendet. Ein Benutzer könnte eine Transaktion sehen, die auf dem Trezor-Bildschirm betrügerisch kodiert ist, und aufgrund schlechten UI-Designs nicht verstehen, worauf er klickt.
Ein Entwickler sollte daher:
1. Immer Transaktionsdetails vor dem Signieren anzeigen. Nicht nur der Betrag, sondern auch die Empfängeradresse, die Gebühren, die Netzwerk-ID und was die Transaktion bewirkt. Wenn der Benutzer einen Smart Contract aufruft, sollte die Anwendung versuchen, die Funktion zu dekodieren (z.B. „swap 1 ETH für USDC über Uniswap”) anstatt nur Rohdaten zu zeigen.
2. Überprüfe die Benutzer-Eingabe auf Fehler. Eine Adresse könnte eingegeben werden, eine falsche Checksumme haben oder zu einem anderen Token-Vertrag führen als beabsichtigt. Verwende Adressen-Validierung und zeige die ersten und letzten Zeichen an, damit der Benutzer überprüfen kann, dass er nicht auf einen ähnlich klingenden Betrug hereingefallen ist.
3. Dokumentiere den Datenschutz-Modell deiner Anwendung. Welche Daten werden lokal gespeichert? Welche werden an Server gesendet? Ein Benutzer, der sein Trezor-Wallet mit deiner Anwendung verbindet, vertraut dir mit seiner Adresse und möglicherweise mit seinen IP-Adressen. Sei transparent darüber.
4. Verwende HTTPS überall. Dies ist nicht optional. Ein Entwickler, der HTTP zur Produktion einsetzt, öffnet sich selbst und seinen Benutzern für Man-in-The-Middle-Angriffe.
5. Teste auf allen Geräten und Betriebssystemen, die du unterstützen möchtest. Ein Bluetooth-Problem auf Android könnte auf iOS nicht auftreten. Ein WebUSB-Problem im Chrome könnte in Firefox nicht auftreten. Ein Entwickler, der nur auf einem Setup testet, wird bei echten Benutzern Überraschungen erleben.
Häufig gestellte Fragen
Kann ich meine eigene Anwendung bauen, die mit Trezor-Wallets kommuniziert?
Ja. Mit Trezor Connect oder WalletConnect kannst du eine Web-, Desktop- oder Mobile-Anwendung bauen, die mit Trezor-Hardware-Wallets kommuniziert, ohne dass du ein Mitglied des Trezor-Teams sein musst. Du brauchst keine Genehmigung von Trezor, es ist vollständig dezentralisiert. Der Benutzer verbindet sein Gerät über WebUSB oder Bluetooth, und du kannst Adressen ableiten, Transaktionen signieren und DeFi-Protokolle aufrufen.
Wie werden neue Tokens in Trezor Suite unterstützt?
Neue ERC-20- oder SPL-Tokens müssen in das Trezor Token Repository eingereicht werden. Du reichst einen Pull Request mit der Vertragsadresse, dem Symbol, den Dezimalstellen und einem Bild ein. Das Trezor-Team überprüft, dass der Vertrag echt ist und dem Standard entspricht. Sobald genehmigt, wird der Token automatisch in der Anwendung angezeigt, wenn ein Benutzer das Konto hinzufügt. Der Token kann auch transferiert werden, ohne registriert zu sein, aber die Registrierung verbessert die Benutzerfreundlichkeit.
Was ist der Unterschied zwischen WebUSB und WalletConnect?
WebUSB ermöglicht es einem Browser, direkt mit einem USB-Gerät zu kommunizieren. Dies funktioniert gut für die Trezor Suite Web-App auf desktop, ist aber auf mobilen Geräten nicht verfügbar. WalletConnect ist ein Protokoll, das es einer dezentralisierten Anwendung ermöglicht, eine Signaturbitte an eine externe Wallet zu senden (z.B. Trezor Suite mobile). Der Benutzer genehmigt auf seinem Wallet-Gerät, und die Signatur wird an die Anwendung zurückgegeben. WebUSB ist direkter und schneller; WalletConnect ist flexibler und funktioniert über alle Geräte hinweg.