Split expenses with friends using Web3 - no gas fees, just passkey login
This project combines the simplicity of traditional expense splitting apps with the power of Web3 infrastructure to create a seamless, gasless experience for group expense management. By leveraging Circle's Modular Wallet SDK, we eliminate the traditional barriers of gas fees and private key management while maintaining enterprise-grade security through passkey authentication and compliance screening. The application transforms complex blockchain interactions into intuitive peer-to-peer payments, batch settlements, and real-time expense tracking - all without requiring users to understand crypto mechanics or manage gas fees. Built on Base Sepolia with USDC token integration, the system automatically handles gas payments through Circle's Paymaster when users exceed their free gasless transaction limit, ensuring a frictionless experience that scales from casual group expenses to complex multi-party settlements. The built-in compliance screening provides enterprise-level security by automatically blocking transactions to flagged addresses, making it suitable for both personal and business use cases while maintaining the familiar interface of popular expense management tools.
This project uses Circle Modular Wallet SDK to deploy embedded smart accounts. I wanted to build something with modular smart account and use modules like passkeys and session keys. Passkey authentication is powerful to onboard users who do not need or want to manage private keys. besides ERC6900 smart accounts (I am also keen to use ERC7579 smart account to leverage readily available modules like session key, co-signer ownable validator which I will continue working in other branch to have more stuff on-chain and allow sessions on my app), it uses Circle's sponsorship and USDC paymaster for gasless/eth-less transactions. Built real-time address screening using Circle's compliance APIs. Implemented a dual-mode transaction system that automatically selects between gasless and USDC gas payments based on user transaction history. This project has also largely used Viem's account abstraction. I have implemented local storage for keeping expenses but those could be stored on-chain. Also, I would like to keep compliance checks as delegated signer who performs checks and provides signature and integrate multi factory validation module to smart account. I have also explored solutions to plugin session key module or upgrading embedded EOA (say privy) to modular smart account using EIP7702 and leverage more features(continuing on that..).
please check video here (have not been able to upload): https://www.loom.com/share/45e7986dcddf4b239301816a80bed9f8?sid=7f5958df-fbc3-4c26-b452-2adaedb3da6b

