Description

A "killswitch" for a stolen wallet. Creates a non transferable token as a way of marking a wallet as hacked that the hacker cannot remove. We then provide APIs so other dApps can easily check if a wallet has been hacked. The goal is to be THE one source of reporting your wallet, making it possible for all connected dApps to properly handle the hacked wallet -- DAOs can cancel voting rights, web3 wallets can prevent payments from being sent to the burnt wallet, social networks can show the account is hacked to prevent impersonation, and smart contracts can prevent interactions with this wallet.

Burn My Wallet showcase

How it's made

Project creates an ERC721 token where the _beforeTransfer and _burn functions have been overridden to prevent transfers beyond minting. This contract is deployed on both Rinkeby and Polygon Mumbai. The frontend is built on the NextJS framework, and uses wagmi utils with WalletConnect support. We demonstrate how a live feed of hacked addresses might appear with web sockets when one lands on the search page. We use Alchemy nodes to deploy the smart contracts, and Moralis for our API to create a quick way to check if a wallet has been hacked. We also created a Graph Protocol Subgraph to make it easier to make advanced queries on hacked wallets using GraphQL. We also made a sample integration with XMTP to show how this Burn Contract can be used by other third parties, by adjusting the existing XMTP demo client to mark users that have been hacked with a warning to prevent impersonation.