ChronoVault

ChronoVault

Web3 wallet with TOTP-based 2FA and zero-knowledge security

ChronoVault Screenshot 1
ChronoVault Screenshot 2
ChronoVault Screenshot 3
ChronoVault Screenshot 4
ChronoVault Screenshot 5

The problem it solves

Self-custody wallets prioritize decentralization, but often at the cost of user-friendly and robust security. While traditional Web2 systems rely heavily on two-factor authentication (2FA) like TOTP for protecting high-value actions, most Web3 wallets either lack native 2FA or implement it in ways that compromise privacy, decentralization, or usability.

ChronoVault bridges this gap by enabling transaction-level TOTP-based 2FA for Web3 wallets without ever exposing secrets on-chain. By leveraging zero-knowledge proofs and ERC-4337 account abstraction, users can prove possession of a valid TOTP code for every transaction while maintaining full self-custody and privacy.

This approach delivers bank-grade security guarantees to Web3 wallets—without relying on centralized servers, precomputed hashes, or insecure client-side storage.


Challenges we ran into

1. Writing Zero-Knowledge Circuits from Scratch

Zero-knowledge circuit development was entirely new territory for us. Implementing the full TOTP algorithm (RFC 6238) inside Circom—while keeping constraints efficient and provable—required a deep understanding of both cryptographic primitives and circuit design. Iterating on correctness, performance, and compatibility with on-chain verification was one of the most technically demanding parts of the project.

2. Secure Proof Transfer Between Devices

Another major challenge was enabling a seamless flow between the authenticator device (where the TOTP is generated) and the transaction-signing device. We needed a solution that was secure, fast, and user-friendly—without leaking sensitive data.

We solved this by designing a WebSocket-based communication layer combined with QR codes. The QR code establishes a trusted session, and the WebSocket channel securely transfers the zero-knowledge proof from the authenticator device to the transacting device, ensuring smooth multi-device authentication without compromising security or privacy.