This project allows users to create a non-custodial on-chain will that transfers the user's assets to any number of beneficiaries in the unfortunate event of death. It uses a check-in system to verify that a user is alive. the user can set any cadence to check-in and if they miss it their assets will be transferred. The user will receive email notifications reminding them to check-in. For the beneficiaries, we don't assume any technical proficiency, so we allow them to create a wallet using email/pass that they're used to or connect an existing wallet. On top of this, we have added a feature to create a living trust that allows the estate holder to stream DAI to a beneficiary, this is enabled by superfluid and ethereum, whereas in traditional trusts you'd have to issue lump sums.

Hapi Finance showcase

How it's made

We used Reach + Next.js + ethers.js for the frontend. We used OpenZeppelin, Hardhat, and Alchemy to help test and deploy the smart contracts. All of the user wills are stored on a single smart contract for efficiency. We decided to implement a check-in system like a dead man's switch so that we could prove a user is alive, on-chain, without relying on oracles or any centralized systems. For now we can only transfer ERC-20 tokens, so users would have to hold WETH rather than ETH for it to be added to the will. We decided to accept this limitation because the only way to work around would require us to either be custodial in some way or create a smart contract wallet AND an interface for said wallet AND require our users use our wallet as a daily driver. We wanted to design a safety net for ALL wallet holders so we are happy to only support ERC20 tokens for now and eventually NFTs and LP tokens. We knew beneficiaries may not be technical so we used Magic.Link so they could sign up with simply a password and email and still be part of an on-chain will. And as a stretch goal we implemented a living trust that streams payments to a beneficiary so that they recieve a drip of a stablecoin rather than a lump sum. This was enabled by Superfluid and DAI.