ERC-948: Subscription Services on the Ethereum Blockchain
Despite the popularity of a subscription-model economy, it’s challenging for companies to adopt a subscription-based model on the Ethereum blockchain due to Ether’s highly incompatible properties. To receive a product or service on a monthly basis, individuals would need to sign with their private keys every single time.
Building on top of ERC-20
According to ConsenSys’s medium blog, a potential future token called ERC-948 may be built specifically to facilitate subscription-based transactions. Kevin Owocki, the founder of Gitcoin.co, initiated the ERC-948 proposal on GitHub.
Owocki proposed the new ERC-948 protocol for subscription-based transactions over the existing ERC-20 protocol because of ERC-20’s technical problems when it comes to scaling a subscription type of payment.
With more businesses adopting blockchain technology, it makes sense for developers and supporters to ensure that the emerging technology can support subscription-models. Furthermore, creating a subscription-model economy on the blockchain could also attract more businesses to the innovation underpinning cryptocurrencies like bitcoin.
The Subscription Economy and ERC-20 Obstacles
After the 2008 financial crisis, consumers’ opted for the “financial consistency of purchasing a small amount over a longer period of time.” Subscription-model companies emerged, and B2C subscription businesses attracted more than 11 million customers in 2017.
A McKinsey study in early 2018 also noted that 15 percent of online shoppers had subscribed to an e-commerce subscription in 2017. It appears as though the subscription-model economy remains very popular with consumers. Despite this, there isn’t a token compatible with the economic model on the Ethereum blockchain network.
While it’s currently possible to lance a subscription-model with ether, the consumer would need to establish and control a prepaid subscription with ether, hold it in escrow and add to the escrow if he or she wanted to extend the subscription. The idea of an escrow, however, places more stress on the consumer and is not very scalable for businesses.
Alternatively, for a true time-based subscription model, the service would have to send an email or notification every month to confirm. An opt-in process, however, contradicts the psychological tenet of a subscription model and creates friction for the consumer.
The Viability of the ERC-948 Protocol Proposal
For a subscription-based model on the Ethereum blockchain, Owocki suggested an opt-out method instead. He believes that it would be most successful from an economic perspective and would align with consumer incentives.
According to the blog, an opt-out smart contract for a subscription service built on ERC-948 could look like:
“Service deploys a smart contract that can withdraw tokens from users. User approves the contract for an unlimited allowance and an unlimited amount of time. User calls createSubscription() function to the contract, permitting ‘x’ tokens to be withdrawn from his/her wallet every ‘y’ time period by ‘z’ Service until User cancels. Every ‘y’ time period, the Service calls withdrawSubscription(), which uses transferFrom() to collect the ‘x’ tokens that have been authorized for that payment period, dependent on funds being available and User consent being active.”
For the protocol to work, it should be built to support a shared contract or a contract-per-subscription. Although price volatility may be a problem, a short-term solution is to anchor the subscription cost in fiat currency and charge consumers the equivalent transaction rate.
The ERC-948 protocol proposal is, therefore, an excellent opportunity for developers looking to build a platform where companies can leverage a proven, existing economic model.