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!