Decentralized relayer with MPC keys, zk-2FA, identity recovery, and batch relays.
This project is designed with a simple motivation make Web3 as easy and safe as Web2 for everyday users.
Today, the biggest hurdle for blockchain adoption is that it is still too technical for retail users. Managing seed phrases, configuring wallets, signing raw transactions, and understanding gas fees are all tasks that require technical literacy far beyond what the average consumer is comfortable with. On top of that, the complexity of private key management creates a single point of failure lose it, and you lose everything.
Our solution removes these barriers by introducing a decentralized relayer network that abstracts away the technicalities of blockchain. Identities and signatures are managed through threshold cryptography and self-sovereign identity verification, giving users a Web2-like experience without compromising Web3’s decentralized guarantees.
At its core, the system creates a group Ethereum address generated collaboratively via Distributed Key Generation (DKG). No single node holds the private key instead, each participant maintains only a cryptographic share. When a transaction is initiated, the network collectively reconstructs signing capability using Threshold Signature Schemes (TSS).
For security, the system integrates zk-TOTP (zero-knowledge time-based one-time password). Users authenticate and approve transactions with an OTP, but instead of revealing it, they provide a zk-SNARK proof verified by the network. This makes 2FA privacy-preserving, simple, and scalable.
Crucially, the system incorporates the self protocol for identity verification and recovery. If a user forgets their password or wants to rotate it, they can complete a re-KYC flow. Once verified, their new password-derived EOA is propagated across the P2P network. This mirrors familiar Web2 flows, like resetting a banking password, but enforces them cryptographically in a decentralized environment.
Transactions are collected into a local mempool and relayed in batches by a leader node, selected deterministically from blockchain randomness. This reduces gas costs, increases throughput, and follows a hub-and-spoke design inspired by state channels.
The foundation of this system lies in its core cryptographic architecture. Each user’s Ethereum address is generated collaboratively by the network through Distributed Key Generation (DKG), ensuring that no single participant ever holds the full private key. When a transaction is initiated, the network employs Threshold Signature Schemes (TSS), where nodes contribute their cryptographic shares to collectively authorize the transaction. This process guarantees that private keys are never reconstructed in one place, but the system can still produce valid Ethereum signatures when needed. To enhance user security, the network integrates zk-TOTP (zero-knowledge time-based one-time password), allowing users to prove possession of a valid OTP without revealing it. This ensures a familiar Web2-like 2FA experience but in a privacy-preserving and cryptographically secure manner.
Another critical component is the integration of the self protocol for identity verification and recovery. Users who lose or wish to rotate their password can complete a re-KYC process, and once verified, their new password-derived EOA is securely propagated across the P2P network. This provides a Web2-style recovery flow, such as resetting a banking password, but with decentralized enforcement. To keep the system efficient and affordable, transactions are collected in a local mempool and relayed in batches by a deterministically chosen leader node. Leader selection is based on blockchain randomness (block hash and round index), ensuring fairness and preventing monopolization. The leader then submits the batch on-chain through a dedicated contract function, sendBatch(Tx[]), deployed on the Polygon Amoy testnet.
The system is implemented primarily in Go, leveraging its concurrency and networking strengths to power the backend. Nodes communicate over TCP-based P2P connections, exchanging JSON-encoded messages for DKG coordination, signing requests, mempool synchronization, and recovery updates. Persistence is handled via lightweight JSON storage (users.json, peers.json, mempool.json, stakes.json), which makes it easy to prototype and run without heavy infrastructure. The smart contract layer deployed on Polygon enforces transaction validity and ensures that 2FA requirements are respected. On the frontend, a React-based interface communicates with backend nodes through CORS-enabled JSON-RPC, providing users with a familiar experience: logging in with a password and OTP, sending transactions, and performing account recovery.
Several engineering decisions stand out. The P2P communication layer allows nodes to exchange structured messages such as START_DKG, DKG_REVEAL, SIGN_BROADCAST, BATCH_PROPOSED, and PASSWORD_RECOVERY, ensuring smooth collaboration across the network. zk-SNARK verification is performed using gnark, which validates user proofs of TOTP commitments against the expected values without leaking secrets. The self protocol integration provides a robust re-KYC mechanism, enabling identity recovery and password rotation without compromising decentralization. Leader election is deterministic and randomness-based, ensuring fairness in relaying responsibilities, while the batch relaying mechanism significantly reduces per-transaction gas overhead, lowering costs for retail users and making the system economically viable at scale.

