The Bermudian government wants to provide financial stimulus to those citizens affected by COVID-19 and ensure that citizens spend that stimulus within the local economy. However, traditional solutions had severe drawbacks.
- The physical distribution of debit cards is slow and expensive.
- Stimulus funds cannot be targeted toward local businesses to benefit the local economy with direct payments or debit cards.
Using Blockstream AMP, Stablehouse worked with the Bermudian government to develop a testing program to demonstrate the feasibility of a digital token-based stimulus program.
Testers downloaded Blockstream Green to their smartphone and registered a wallet with Stablehouse. Stablehouse enabled a digital test token that was distributed to the testers. The token was only transferable to a limited amount of other testers, ensuring that the stimulus remained within the local economy and a whitelisted group of users.
Stablehouse worked with a test group of merchants to provide a point-of-sale solution to accept payment of these tokens. Stablehouse provided each merchant with an inexpensive device capable of generating an invoice for their customer for each transaction. Customers used their smartphones to scan the QR code and complete their payment with the token. The system could be designed so that the government could reimburse each merchant for the tokens received.
- Accessible to anyone with an Android or iOS device.
- Easy setup for merchants.
- Recurring payments can be made at a low cost.
- Ability to ensure benefits remain within the local economy.
How it Works
Selecting an Asset Type
Two types of assets can be issued in Blockstream AMP: transfer-restricted assets and issuer-tracked assets. Stablehouse — as the pilot issuer in this case — used transfer-restricted assets to ensure that citizens could only spend the stimulus tokens at approved merchants.
Issuing the Asset
Using Blockstream AMP, Stablehouse first created and registered the tokens using Blockstream AMP. The tokens were then sent to Stablehouse’s treasury wallet. The treasury wallet can issue more of the token (“reissuance”) when required.
At issuance, Stablehouse chose a ticker, name, icon, and associated domain. Stimulus recipients can use this data to verify that the tokens they receive are genuine.
Configuring the Transfer Rules
Out of the box, Blockstream AMP supports restrictions based on categories (each user can be assigned one or more categories when they register their account). However, in this instance, a more sophisticated scheme was required to ensure transactions could only occur in one direction — from testers to merchants.
To accomplish this, Stablehouse used the authorization override feature of Blockstream AMP to approve or deny transfers based on their own system’s logic. If the intended recipient of the transfer was one of the approved merchants, it was allowed; otherwise, it was denied.
Transfer-restricted asset approval process (using issuer API override)
Building the Point-of-Sale
The technology provider built the point-of-sale (POS) on the low-cost, open-source M5 stack device. Each merchant’s POS connects to a remote server that generates the invoice and notifies the device when a transaction is complete.
The technology provider implemented the server using BTCPay Server, which supports Liquid assets. Whenever BTCPay Server generates an invoice, the merchant requesting the invoice is tagged on the transaction so that reconciliation can occur.
Each address that is generated by the BTCPay Server invoice is automatically whitelisted and used to approve transactions through the Blockstream AMP callback function. Blockstream AMP uses this whitelist to approve transactions through the callback function.
Distributing the Stimulus Token
Stablehouse distributed the stimulus token to each of the registered users in the system. A small amount of L-BTC was also sent to each user to ensure they can cover network fees (currently 0.1 sats / vbyte). Future versions of the program could include customized wallets built on top of the Green Development Kit (GDK) that allow for a completely customized experience.