project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

WalletPass

WalletPass is an Identity Provider Platform focused on enabling dapp developers to onboard users with a simple API, while also making multi-chain wallet management easy for end-users 🔑⏭️

WalletPass

Created At

ETHOnline 2023

Winner of

trophy

🌊 Tableland — Best use of Tableland Basin

Project Description

WalletPass is an identity provider that federates authorization and authentication to end user devices & wallets. We want to shift the power to users, away from large providers.

WalletPass enables users to link all of their wallets (incl AA wallets) and let's them log into dapps with a federated identity credential leveraging the FedCM API. We create identities using Webauthn using largeBlob, PRF, and payment extensions.

WalletPass enables DApp developers by providing a consistent and simple web standard interface for user onboarding, persistent & secure user authentication. No more confusing wallet modals & third party JavaScript!

The idp is depoloyed at walletpass.login.codes, and serves needed endpoints via the: fedcm.json file available at:

https://walletpass.login.codes/.well-known/web-identity https://walletpass.login.codes/fedcm.json

How it's Made

The onboarding flow will create a new AA wallets for users who don't have an EOA via the Cometh SDK, it uses nextjs13 + SIWE via rainbowkit, wagmi, and viem & nextjs middleware to route incoming authentication and payment requests to the right slug. Once onboarded to WalletPass, we allow users to link social identity for recovery, and aggregate via the Next.ID RelationService (Mask Network) via linking a twitter identity.

Our user database is on-chain via Tableland studio and the WAL is streamed via AWS RDS & Tableland Basin.

The core web technology we use that enables all of this in the first place: Webauthn with largeBlob, PRF, and Payment extensions Payment Handler API FedCM API

We hacked together a fully function Identity Provider (IdP), with the aim to federate identity to the user wallet -- and leverages FedCM to make integration for Dapps as easy as one web standard api call: navigator.credentials.get(). This removes the dependency on popups & redirects to legacy identity providers.

background image mobile

Join the mailing list

Get the latest news and updates