A monorepo proof of concept demonstrating WebAuthn-enabled Smart Wallets on the Stellar/Soroban blockchain.
This project showcases how to build a smart wallet that uses passkeys (WebAuthn) for authentication and transaction signing, eliminating the need for traditional private key management.
apps/backend- Express.js backend server handling WebAuthn flows and Soroban interactionsapps/web- React frontend application for wallet managementcontracts/- Soroban smart contracts (Factory and Smart Wallet)
- Node.js 24 LTS or higher
- npm 10.x or higher
- Rust (install via rustup)
- Stellar CLI stellar-cli
npm installcd contracts
make buildCopy the example environment file in the backend:
cp apps/backend/.env.example apps/backend/.envThen update the values with your Stellar testnet configuration.
Run the backend server:
npm run dev:backendRun the web application (in a separate terminal):
npm run dev:webBuild all applications:
npm run buildBuild individual applications:
npm run build:backend
npm run build:webMIT