Permissionless ticket payment

Rant

Experience attempting to purchase a Devcon ticket:

While I seemed to able to snag a ticket in the last wave, I am unable to pay it using crypto (ETH) using any self-hosted local wallet. Local signatures using a hardware wallet, but could fall back to using a “normal” private-key-back using MetaMask extension or other open-source wallet possible to self-host on Linux (CLI, desktop, or in-browser).

When attempting crypto payments, the provider 3cities.xyz offers three options:

  • Browser wallet
  • Coinbase wallet (requires Coinbase wallet app)
  • WalletConnect

Coinbase wallet is only relevant for Coinbase customers.
“Browser wallet” and “WalletConnect” are basically the same thing: A QR-code encoding a WalletConnect URI.

First UX hurdle: I am on a desktop and do not have a smartphone with a camera. The QR code is an SVG. Was able to decode the URL from the QR code under “Browser wallet” after screenshotting the page and using zbarimg.
After which I realise that the resulting URL is the same as for “WalletConnect”.

Fail to find a compatible usable wallet.
Try to reverse-engineer the process by looking at WalletConnect docs and source code in hope of figuring out how to get at an address to send ETH to.
Start building a small Node.js app using @walletconnect SDKs. Figuring I need a projectId (aka API key) and register as a “wallet”. Register a new throwaway e-mail address to be able to register at walletconnect.com and get the projectId.
Attempt to implement with the WalletConnect API in a Node.js app by using the WalletConnect URI from the QR code. Cause the 3cities.xyz session to become inconsistent and block indefinitely. Clear browser session to unfuck, reinitiate payment process. Retry and fail this a few times. Start giving up on hope of attending Devcon this year and go write this forum post.


Proposal

In past years, there was the option of getting an address to send ETH as part of the check-out process (either by e-mail or in the webshop). It was easy peasy, no integration with permissioned and complicated centralized SaaS providers necessary. Proposing to reintroduce the option to pay for attendance permissionlessly again? Would make life so much easier for those of us not able or willing to use WalletConnect for payments :pray:

1 Like