Multichain Wallet Support

Multichain Wallet Support

Abstract

Multichain Wallet Support is an open-sourced library that enables applications built on Layer N to support wallets that use different elliptical signature algorithms (i.e. ECDSA, Ed25519). This feature allows users to use their favorite wallets like Metamask and Phantom to interact with applications.

Motivation

Layer 2s and new Layer 1s fragment user experience by requiring users to download new wallets that support the blockchain's signature scheme. Solving this point of user friction allows users more optionality, and decreases user acquisition cost for applications.

Specification

A Session Key (SK) is a temporary locally stored private key linked to a user's wallet (this can be either an ECDSA or Ed25519 wallet).

Users first need to sign a transaction approving the linkage. Once linked, the user can interact with the application as if it was a normal web2 application, with signing being conducted by the middleware SK.

Like a typical authentication key in a web2 application, the SK expires after a specified time or on logout.