flyingpotato

Posted on Jan 10, 2022Read on Mirror.xyz

A Survey of Non-Custodial Wallet Functionalities

A non-custodial wallet is a place that offers various financial services while the user owns full custody of the assets by holding the private key. This essay surveys: Functionalities of the non-custodial wallet; Why the user cares about it; Available options provided to the user in existing wallet products; Most importantly, what does/would a best-in-class implementation look like.

A non-custodial wallet is the default entry point to all crypto financial services; allowing the user to access them all in one place is extremely powerful. Excelling on all possible functionalities and experiences convinces the user to stay. The functionalities range in three categories:

  • Technical properties: Features of the wallet components defined by implementation details.
  • Provided services: The financial services that a wallet can provide to the user. These are the reasons people want to use a wallet.
  • User experiences: Aspects of a wallet experience that makes it seamless, intuitive and magical to use.

Technical Properties

Security

Why: The user cares about the robustness of the wallet architecture, libraries, implementation to secure the key storage, which controls full custody of the assets.

Options set:

  • Key storage: in browser (e.g. chrome extension wallets, encrypted by password), in software (e.g. file in Apple Secure Enclave), in hardware, bring-your-keys (software wallet interface with hardware support).
  • Key control: single-sig, multi-sig (multiple shards of the keys stored). Access control: whether it uses a second factor (e.g. NFC, USB).
  • Trade-off with fee savings (using Layer 2) and usability.

Privacy

Why: The user cares about being fingerprinted on a public blockchain based on the activities.

Options set:

  • Full node vs. light client
  • Tor network.

Latest protocol releases

Why: The user wants to take advantage of the latest network upgrades that unlocks features such as fee savings, privacy and securing the token networks.

Options set:

Supported environment

Why: The user wants to access the financial services any time, anywhere on any device based on context.

Options set: Web, desktop, mobile, chrome extension.

Provided Services

Transfer and storage of (fungible and non-fungible) tokens

Why: The user likes to see a holistic balance sheet of the owned assets in one place.

Options set: The user now goes to different wallet providers for the supported tokens and NFTs on different chains.

Best-in-class:

  • Provides an upfront view on what's supported and unsupported.
  • Provides the ability to send, receive, display balances and transaction histories of tokens according to different standards.
  • Provides explorer links to validate balances and transactions.

Swap tokens

Why: The user would like to own assets alternatively other than the traditional exchange (either the fiat-to-crypto pair unsupported or he wants to avoid KYC/onboarding steps).

Options set:

  • DEX: Uniswap, Sushiswap, Curve, Balancer.
  • DEX Aggregator: 1inch, Paraswap, and Matcha.

Best-in-class: Provides a comprehensive selection of possible execution methods or sources, blockchain for the desired swap and a clear view of its fee structure.

Pay for Goods and Services

Why: The user wants to own non-fungible assets or pays for web3 services.

Options set: A list of wallets that the application supports to connect to. Best-in-class: Provide first class partnership with dApps login page.

Earn by Staking

Why: The user wants to make passive income with the assets he already owns.

Options set: User chooses different wallets for the tokens he wants to stake with a range of networks.

Best-in-class:

  • Provides a variety of validators with fees: 3-click staking
  • Provides a real-time estimation and intuitive visualization on returns (A not-so-good example)

Earn by Deposit

Why: The user wants to earn interest by lending out his owned assets.

Options set: Access to various lending protocols (Compound, Aave, Yearn) for various tokens.

Best-in-class: Intuitive selection choices of Liquidity pools over different chains.

Borrow

Why: The user wants access to liquidity without needing to sell assets.

Options set: A selection of lending protocols with borrow APY and LTV ratio for given assets.

Best-in-class: Intuitive selection choices.

Voting and Governance

Why: The user wants to participate and improve the token network.

Options set: A link to the proposal website.

Best-in-class: An intuitive way to view and engage proposals, and a seamless way to vote.

User Experiences

Fee optimization

Why: Any financial activities that happen in a form of on-chain transactions involve fees. The user seeks the lowest fee to perform such activities.

Options set: Layer 2 solutions (Lightning for Bitcoin, Optimism/Polygon/Arbitrum/zkSync for Ethereum).

Best-in-class: Provides a transparent selection of networks for fee breakdowns.

Sign-in for All Devices

Why: The user is able to log into the same wallet account on a different device seamlessly with the fewest clicks and types.

Options set: password, 2FA, QA code scanning.

Best-in-class: Requires the least amount of user effort to log in securely.

Wallet linking

Why: The user cares about the seamless credential exchange for the wallet to connect to an application.

Options set: Pop-up window (e.g. Decentraland Connect), phone push notification, web deep linking.

Best-in-class: Provides a one-click experience for log-in while feeling safe.

Wallet recovery

Why: The user has confidence that the funds are secure even under extreme scenarios.

Options set: iCloud Backup (e.g. Rainbow), social recovery (e.g. Argent), multi-sig (e.g. Square Crypto).

Best-in-class: Provides the spectrum of options from "not your key not your coins" to "loss your key is not the end of the world" or clarifies the trade-offs.

Portfolio tracking

Why: The user wants to gain analytical insights on the owned assets.

Options set: e.g. Zapper, DappRadar.

Best-in-class: Offers a one-stop-stop dashboard to track performance of all assets with customizable toolings.