A dApp for creating and executing delayed transactions with permissionless delegation, built for MetaMask Smart Accounts on Monad.
Delayed Executor is a decentralized app (dApp) for creating, scheduling, and executing delayed transactions on Monad Testnet. It transforms simple transfers into programmable, time-bound operations—perfect for payroll, airdrops, or vesting—without centralized schedulers or oracles. Built for the MetaMask Smart Accounts x Monad Dev Cook-Off, it leverages account abstraction for signer-agnostic delegations, enabling permissionless execution after a delay.
Create Delayed Orders: Schedule native MON sends, ERC20 transfers (e.g., USDC), or custom calldata with ETH value. Set delays in minutes (enforced by executeAfter timestamp).
Permissionless Execution: Anyone can execute orders post-delay - demo: Create with Acc1 (0x22A91CcA66542711249B055d94346Ef1c285b720), execute with Acc2 (0xFBcF1a55387898259092136C6D858139834A5891).
Real-Time Monitoring: WebSocket events for OrderCreated/Executed; UI shows pending/ready/executed status with timers.
MetaMask Integration: Auto-switch to Monad (Chain ID 10143); compatible with Delegation Toolkit for hybrid/multisig Smart Accounts (e.g., time-bound permissions via toMetaMaskSmartAccount).
Smart Contract: Solidity 0.8.20 (DelayedExecutor.sol) – Escrow for delayed calls.
Frontend: Vanilla HTML/JS + Ethers.js v6.
Deployment: Hardhat on Monad Testnet.
Contract Address: 0x158290dA77268EE28bc16F7d3D6Dbf10C866e791 (Explorer: link).
Best On-Chain Automation: Oracle-free delays for recurring tasks, leveraging Monad’s 10k TPS.
Most Innovative Use of Delegations: Treats delays as conditional delegations—extends ERC-4337 for automated, gas-efficient flows.
Demo Video:
– Shows connect, create (Acc1), wait, execute (Acc2).
Full Delegation Toolkit SDK integration for passkey signers. Cross-chain bridging via Monad EVM.
During the hackathon: - Day 1: Designed the DelayedExecutor smart contract in Solidity for time-locked delegations, inspired by MetaMask Delegation Toolkit. - Day 2: Deployed to Monad Testnet (0x158290dA77268EE28bc16F7d3D6Dbf10C866e791) using Hardhat; integrated Ethers.js for frontend. - Day 3: Built UI in vanilla JS/HTML, added MetaMask connect with auto-switch to Monad (Chain ID 10143). Implemented create/execute orders with permissionless demo (Acc1 creates, Acc2 executes). - Challenges: Ensured WebSocket events for real-time monitoring; tested ERC20 transfers for DeFi compatibility. Total: Full MVP ready, video demo shows end-to-end flow.
Bootstrapped: Developed solo during the MetaMask x Monad Hackathon with no external funding.