Architecture
Webauthn and Raiseauthn

User authorization

Wallet supports two types of user authorization: Webauthn and Raiseauthn

  • Webauthn is a protocol supported by modern browsers. It use passkeys to sign data: device requests fingerprint or system pin entering to sign the transaction. Signature is validated on blockchain. This method is supported by most of modern devices with some exceptions. Preferred auth method

  • Raiseauthn is the method used if webauthn is not supported by device. It works in the way like metamask: during wallet creation pin is requested that is used to encrypt wallet. When user opens his wallet, pin is requested. Wallet is decrypted inside service worker and used to sign transaction and return signature back to application. Because service worker data stored in memory until browser is closed, user may not enter pin every time even if he opened other application

Inventory

Wallet smartcontract has support for both signing alogorithms verification