Bringing the Burner Wallet to ETHBerlin’s escape room

At ETHDenver 2019, Austin Griffin introduced the Burner Wallet: a lightweight, simple browser app for using cryptocurrencies. Since then, a number of teams have taken this idea and developed their own, unique wallets and applications. Austin has pushed the boundaries of what a burner wallet can do by building an emoji exchange and integrating Gnosis Safe, while the team at LeapDAO has facilitated the use of Plasma with their own wallet. As the community around this project has grown, the Burner Wallet Collective Telegram Group has reached over 100 members!

Building off this project’s momentum, I’ve been working on the development of the burner-core and burner-wallet-2 projects. These collections of packages allow developers to easily construct, customize and extend their own burner wallet. These libraries also power the popular Burner Factory, a tool for quickly deploying new burner wallets.

So I was excited when Griffin Ichiba Hotchkis reached out with a unique use case for the wallet: Griffin was putting together an escape room game for ETHBerlin, and wanted to use the Burner Wallet for staking and solving clues.

Before I knew it, I was on a flight to Berlin!

Staking & Signing

In keeping with the game’s title “The Spy who Staked Me”, each team would have to stake some Dai to enter the room. While solving puzzles, they could donate some of their Dai to pay for clues, and receive their stake back after completing all puzzles. The puzzles themselves would be unlocked by entering seed phrases or scanning QR codes found in the room.

To create a burner wallet that would implement these features, we put together a Burner Wallet Plugin. The Burner Wallet 2 has a robust plugin system that lets any plugin access assets, sign transactions and add components to the wallet interface. Our plugin (named Daedalus Plugin after our fictional Daedalus Industries corporation) added new pages and elements to the wallet, and facilitated communication between the wallet and our on-chain contract.

The plugin would prompt new users to stake 16 Dai to start their game, which would lock those funds in our smart contract. The user would then complete puzzles within the room, all of which would reveal a seed phrase. Users would enter the seed phrase into the wallet, which would validate that it represented one of the “keys” needed to complete the game. Once the user unlocked all keys, the wallet would sign a message with each key and send all the signatures to the game contract. This would let them unlock their stake (or optionally donate it towards the operation costs 😃).

And finally, we wanted the wallet to visually match the theme of our fictional company, Daedalus Industries. Working with our talented designer Renee Granillo, we built a theming system into the Burner Wallet. This let us customize fonts and colors, and create this mysterious, dark interface.

Challenges

While burner wallets are often far easier to use than other crypto projects, there are still lots of challenges with onboarding users. Moving funds between traditional wallets and burner wallets is still a pain point, I often had to guide players through their onboarding process. In the future, projects like Wallet Connect and Kirby can help make this process easier.

While our staking mechanism only required Dai, users still had to load small amounts of ETH to their wallet to pay for gas. The solution to this problem would be to use MetaTransactions powered by the Gas Station Network. However, MetaTransactions is still an actively changing space, GSN only launched on mainnet 2 weeks ago! We didn’t have sufficent time to implement and test MetaTransactions, but hopefully additional developer tools will make this process easier in the future.

Despite these hurdles, the escape room was still a success! Keep an eye out for more exciting Burner Wallet events in the future!

Interested in building your own Burner Wallet Plugin? Check out the Burner Wallet 2 code on GitHub, and join the Burner Wallet Collective community on Telegram!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store