LiquidAuth | Algorand Developer Portal

LiquidAuth is the open standard for passwordless Web3 login — a decentralized, self-hosted authentication service built by the Algorand Foundation.

It bridges Web2 and Web3 authentication by combining FIDO2 passkeys, WebAuthn, and decentralized identity, giving users complete control over their credentials and privacy.

By leveraging FIDO2/WebAuthn and WebRTC, LiquidAuth provides secure, peer-to-peer authentication that links passkeys to crypto keypairs, eliminating centralized intermediaries.


Why It Matters

Most authentication systems today rely on centralized providers. These platforms store and control user credentials, introducing single points of failure — if a provider goes offline, changes policies, or is compromised, users may lose access to their accounts or data.

LiquidAuth removes this dependency by enabling decentralized authentication powered by WebAuthn and FIDO2 passkeys that can be linked to keypairs commonly used in wallets and other crypto systems.

Users retain complete control and self-custody over their credentials, while developers can integrate secure, passwordless access without managing passwords or relying on external identity providers.

This opens the possibility of creating and interacting with passwordless Web3 systems that are both secure and user-friendly.

It simplifies authentication, enhances privacy, and gives both users and developers greater control — advancing passwordless Web3 identity without adding complexity or external dependencies.


Use Cases

LiquidAuth enables secure authentication flows between dApps and wallets.

In a typical setup, the dApp provides the LiquidAuth Service, while wallets act as clients authenticating with the corresponding service.

This structure allows developers to build authentication that is both trustless and privacy-preserving, removing the need for intermediaries.

Example use cases include

Pera Wallet is the first adopter of LiquidAuth, introducing passkey-based authentication for secure Web3 access.


How to Use It

To integrate LiquidAuth, a dApp must host the LiquidAuth Service, while wallets act as clients.

When a user initiates authentication, the dApp sends an Origin and RequestId to the wallet, which uses its passkey linked to a keypair to sign and verify the request through the service.

Wallets should implement the OfferSignalClient and WebAuthn Extension, while dApps implement the AnswerSignalClient and host the service.

This process creates a secure session between the wallet and the dApp.

Key Concepts For full implementation details, see the Key Concepts guide.


Quick Start Guide

Getting started with LiquidAuth is straightforward.

Set up a LiquidAuth Server and connect a Browser Client — the server manages passkey registration and verification, while the client handles authentication requests and communication between dApps and wallets.

Getting Started Guide Learn how to deploy your own service and integrate a client into your browser application in the official Getting Started Guide.

Resources & References

Explore LiquidAuth resources to learn more, contribute, or test implementations across platforms: