We’ve proven that the Burner wallet works well at small events like the Cypherpunk Speakeasy: Participants receive a paper wallet with a private key on the inside. After scanning it with their phone’s camera they have a wallet loaded with tokens. No app download. No seed phrases. They scan another QR code at the bar to buy a beer. Chug. Rad. 🚀
But, how does this scale? Can we run this same UX for 2000 people?
At ETHDenver we did just that and it worked pretty well. The following is an explanation of how to do the same thing and what to watch out for.
Point of Sale System
The first thing you should do if you want to create a pop-up local economy is have a phone, tablet, or laptop open to https://xdai.io. You will start with an empty wallet:
If you would like to create a QR code to accept funds for a specific item or group of items, hit the “Request” button. Type in the item name and the amount you want to charge. Then, this will generate a QR code to display:
Now you are ready to start accepting payments for “Avocado Toast” for $0.25 each. As payments come in they will be displayed in the history at the bottom.
One trick is to copy the private key or use the same seed phrase for your POS as you do on your laptop so it is easier to print these QR codes. Do this magic and more in the “Advanced” section of the Burner.
Super easy onboarding: A participant scans a QR code with their camera and they have a wallet preloaded with tokens and gas:
The participant’s phone is loaded up with tokens and they are ready to purchase something!
Note that in the image above, the wallet is running on a token but an event can also run directly on xDai too. Deploying a custom token and white labeled wallet is great for large events with a budget but might not fit well with small meetups. In the next section we’ll see how a wallet running directly on xDai can purchase from a pop-up point of sale system:
A participant approaches a pop-up point of sale system and scans the QR code to purchase an item:
After scanning they are prompted with all of the information of the purchase:
The point of sale system can see their balance increase and a new item added to their transaction history. A quick glance at the tablet and the participant’s receipt can also help with visual validation.
Anyone can use the “Exchange” button in the Burner to move xDai to DAI and DAI to ETH. But, we can also make an easy mode where they burn tokens and you send DAI to their Wyre account.
Simple Live Demo
I think the best demo of the Burner being used as a pop-up POS system is me seeding a wallet, buying a beer, and chugging it in 52 seconds. But maybe you want to do something a little more professional for your group? Good call.
The fastest way to demo the Burner is usually goes like this: You tell someone to visit xdai.io on their phone. Then, you ask them to hit “Receive” and you send them a couple bucks to play around with.
I think there is a slightly better way to demo and that’s using the “Link” button to share a QR or link with funds:
For a small, informal demo, you can share a link from an existing Burner wallet. Click “Link”, type in an amount to send, and then share that QR code or link url with the participant. Many new phones can scan QR codes with the native camera and it will just bring up a wallet with funds.
Not all Android phones have a native QR code scanner for the camera. With some phones you have to just type in “xdai.io” and use the Burner wallet scanner.
When this QR code is scanned or the link is visited on another phone, the funds are claimed to a new or existing wallet:
Gotchas! Heads up! Hosting a Burner event is hard!!!
There are a lot of edge cases with old phones and people confused by QR codes. We are tracking issues on Github and would appreciate feedback there.
You will need plenty of people on the ground to make sure things go smoothly. They should have thorough experience with the wallet.
It’s extremely important that when a participant gets their private key, they understand what it is. It can be used at any time to recover an account so keep it secret, keep it safe. It is not a one-time scan, it is a private key!
Again, educating participants during onboarding is paramount.
Another concern is making sure you have good internet everywhere: The Burner requires a blockchain and always-on internet.
We noticed at ETHDenver that participants without data plans had a hard time at the food trucks at the end of the line where we didn’t have WIFI.
Your wifi nodes and routers will need to be secure to avoid DNS attacks. We are still exploring this attack vector but it’s important to keep your network infrastructure locked down. If you are interested it other attack vectors, be sure to read Demystifying Burner Wallet Hacks.
Some older phones will default to a “fallback scanner”. This still works but it’s an order of magnitude harder to use. We are trying to improve this and get support for older phones, but there are situations where Apple just won’t let other browsers use the camera.
It’s extremely important to guide users to Safari on iOS and Chrome on Android when you onboard them to avoid bespoke browsers and edge case issues. We still try to support them, it’s just way easier when the camera is accessible to the wallet and the browser isn’t all *shields up*.
It’s really best to run a small event where you print out paper wallets and experience a group of people using the wallet to buy goods. You will get to see firsthand the excitement the Burner elicits, but also learn how to deal with edge cases you might find at a higher scale.
If you are interested in printing out your own paper wallets to host a meetup, the repository is here. You can edit a template to generate wallets with a custom design or just plain text:
The Burner can be used a few different ways and we can find the best fit for your gathering. Run through the demos in this article and if you think the wallet might be a good fit, try it out at a small meetup first. We are also available to help with larger events where you might want a custom token deployed that runs on a white labeled wallet.
Reach out to me directly on Twitter/Telegram if you have questions: @austingriffith