Summary: Several times now, systems for micropayments tried and failed to capture the market because of steep fees or impractical digital currencies. However, with the advent of blockchain and improved digital payments architecture, micropayments in real currencies are now possible. This post explains how modern payment rails enable micropayments that work in today’s world.
For over two decades, companies attempted and failed to make small sum transactions, or micropayments, a reality.
First generation micropayments
Starting in the mid-to-late 1990s, a number of micropayment systems backed by technology giants like IBM, Compaq and DEC were proposed and developed. At one point, the World Wide Web Consortium (W3C) even worked on establishing standards to incorporate micropayments into HTML Yet, despite the deep pockets and intellectual capital, it was too early for online commerce and work stopped.
Of course, online commerce eventually took off. However, payment processors pushed merchants away from micropayments with sizeable minimum transaction fees. Payment processors need these fees to cover the expenses of fraud detection, support and other associated services. Typically these fees are 2.9%, plus a $.30 transaction fee.
|Amazon Pay||2.9% + $0.30 per transaction|
|PayPal||2.9% + $0.30 per transaction|
|PayPal Micropayments (under $12)||5% + $0.05 per transaction|
|Stripe||2.9% + $0.30 per transaction|
|Venmo||2.9% + $0.30 per transaction|
|Payment Tech||3.76% + $0.25 per transaction|
|Authorize.net (Visa)||$25 fee per month; 2.9% + $0.30 per transaction|
Second generation micropayments
A second generation of micropayment systems emerged in the 2010s, which bypassed payment processors, and attached the micropayments to other bills like your telephone or internet provider bill, or used funded wallets outside of banks. Yet, transactions costs still remained relatively high. Even PayPal, which became popular for supporting free peer-to-peer payments for consumers, forces merchants to pay steep prices. Their micropayment pricing for items under $12, lowers the transaction fee to $.05 but raises the flat-rate percentage to 5%. For most merchants, these prices make it impractical to sell anything under $5.
Blockchain begins addressing payments
Eventually, blockchain companies entered the mix using cryptocurrencies to eliminate bank fees typically imposed on moving fiat currencies. However, blockchains like Bitcoin and Ethereum suffered from their own miner fees, which often exceeded bank fees. Additionally, consensus took time to commit the transaction so funds could take days to become liquid. Regulatory uncertainty also contributed to market apprehension, slowing adoption by businesses.
Over time, the industry worked to lower fees and speed up transaction finality, while regulatory concerns stabilized. However, fees are still not consistently competitive with bank fees on the most widely adopted cryptocurrencies. And with relatively low adoption, cryptocurrency itself is not practical enough for businesses to spend—so working capital remains in fiat currencies.
However, efforts to improve blockchain scalability and utility are paying off.
Sidechains introduced a concept of locking a unit of cryptocurrency, moving it to a separate chain using a two-way peg, and then trading it there. Once locked, it was not tradeable outside of the sidechain.
Sidechains, sometimes also called childchains, typically move a mainstream cryptocurrency like Bitcoin to another lower volume coin like Lightning (LTC) or Stellar Lumens (XLM). While these sidechains speed up the transactions to the near instant finality, and drop fees generally to near zero, the currencies themselves suffer from low adoption throughout the world. So, again, these types of payments remain impractical.
State channels differ from sidechains by moving transactions off-chain, but remain pegged to the mainnet similarly to sidechains. Any type of transaction that could be broadcast to the Bitcoin or Ethereum mainnet could instead happen in a state channel off-chain. Usually, these state channels are governed by a multi-signature wallet. Each channel enforces its own rules requiring some (or all) participants to agree on the current state to close the state channel. A transaction may or may not be broadcast to the blockchain when a channel is closed.
- Part of the blockchain state is locked via multisignature or some sort of smart contract, so that a specific set of participants must completely agree with each other to update it. Typically this is achieved by way of deposit.
- Participants update state amongst themselves by constructing and signing transactions that could be submitted to the blockchain, but instead are merely held onto for now. Each new update supersedes previous updates.
- Finally, participants submit the outcome of the channel back to the blockchain, which closes the state channel and releases any locked deposits.
This means that vendors in a network could transact instantly and with no costs by taking their transactions to a private channel. It also means that the participants in the state channel need to find mechanisms to ensure consensus is kept themselves.
Example of payment channel risk
To illustrate the risk, let’s think of a payment channel opening where Alice starts with 100 ETH, and Bob starts with 50 ETH. They first sign an update that transfers 10 ETH from Alice to Bob—now Alice has 90 and Bob has 60. Later, they sign an update that transfers 50 ETH back to Alice, changing the balance to Alice having 140 and Bob down to 10. If Alice goes offline, Bob could pretend the latest update never happened, close the channel and effectively steal 50 ETH from Alice.
This is why it’s better to have multi-signature wallets where a trusted 3rd party stays online with a copy of the most recent transactions. If Alice and Bob do not agree, they agree to let the 3rd party arbitrate. Similar to how blockchain nodes work, you could also send a copy of the state channel to many 3rd parties who agree via smart contract to publish and close the channel if needed.
State channels are interesting because they can manage state for anything. The state does not have to be the ownership of BTC or ETH. It could be fiat currencies like USD, GBP or YEN. Or, assets like cars, gems or goods in a supply chain. It could even be ownership of a domain name. The opportunities are endless.
How blockchain powers micropayments today
Blockchain offer the first viable micropayment solution for ultra low (or zero) costs and near instant speeds. Organized networks can create trusted systems that support free flowing commerce for very little cost.
This effectively lowers the barriers to allow micropayments to flow—and they already are. At EthDenver this year, we saw the creation of the BuffiDai, a conference coin built on MakerDAO’s Dai stablecoin. This localcoin digital asset ran on an Ethereum xDai sidechain to purchase food, beverage, and swag all weekend. With transaction volumes almost exclusively below $10, the entire experiment consisted of micropayments. From the food trucks alone, vendors doled out 4,405 meals for a total of $38,432.56. The cost to process all of these transactions amounted to only $0.20. To put it in perspective, if those vendors accepted credit cards, the cost would have been around $2400.
Nearly $40K of xDAI was spent across 4405 transactions for a total cost of $0.20.
— Provide (@provideplatform) March 5, 2019
Now, this solution did use a sidechain with a custom coin. Alt-coins work great for conferences and events where you have big groups of people organized. But it depended on the group to use a custom currency that was not usable elsewhere. This is perfect for venues that support their own vendors, but impractical for business in today’s open market.
|For more info on this project, check out the announcement of the POA Network and MakerDAO partnership to create the first burner wallet based on a USD stable coin. Additional details on the construction of the project can be found on the POA Network forum, or you can check the project out itself on GitHub.|
Building micropayment networks with blockchain using generalized state channels
For the sidechain BuffiDai solution, many of the components existed in some accessible form already—the team just needed to put them together. Not a non-trivial task, but also much of the heavy lifting was ready to help them complete this task in just a few months.
The same is true for building a similar blockchain based system that works with fiat payments.
Provide is building a payment rails solution using the Connext Network state channels to create Payment Channels. We govern the Payment Channels using generalized state channels with counterfactual smart contracts. This is an important differentiator. For more detail, Coinmonks did a great banana paper on understanding counterfactual and generalized state channels.
Generalized state channels benefits
To summarize why this is important, generalize state channels allow you to put any state of any application on a single channel. This means many vendors can operate in the same channel, and place different states on the channel including payments, as well as corresponding event dependencies including IoT device statuses, signatures, and more. It also allows you to move funds within your app, rather than everyone needing to wait and close the channel to finalize settlement.
Counterfactual smart contracts benefits
Counterfactual smart contracts afford a lot of technical benefits. However, the primary advantages are that it allows contracts to be added to an open channel—so individuals trading partners can open and close their own private contracts for trade between each other without closing the channel. Additionally, it allows for a trusted third party to be inserted for arbitrage, if needed.
|Payment Hubs and Payment Channels are available to try out instantly on the Provide Platform. Provide Payments is also built on the Provide Platform and these services.|
Connecting payment channels to fiat currency
The payment channels may tokenize the fiat currency transactions with a stablecoin or another custom alt-coin within the channel. Ultimately, to settle individual contracts in a useful manner for business, a transfer of fiat currency must happen. This can work by integrating with services that make it easy to buy and sell currency pairs, such as Bitpay, Coinbase, or Uphold. These services usually support next day ACH deposits and most can do real-time foreign exchange.
Cost of using fiat currencies for micropayments on blockchain
Of course, fiat money still comes with a price, but a much lower one than traditional banks. Each of these broker services charge differently. At the time of writing, the services mentioned above charge the following:
- Bitpay charges a straight 1% transaction fee. No foreign exchange is allowed.
- Coinbase employs a fee schedule that ranges from $0.99 for $10 or smaller transactions to $2.99 for transactions under $200. Over $200, transactions are subject to 1.49%. If you use a credit card to fund the transaction, the fee goes up to 3.99%, plus the credit cards often charge additional fees. Coinbase charges a spread margin of up to two percent (2.00%) for Digital Currency Conversions. Coinbase Pro accounts (Coinbase as an exchange, not broker) uses a maker-taker model that reduces the prices from a max of 0.50% to 0% for makers.
- Uphold allows most transactions that are between wallets on these services are completely free. If you use a credit card to fund the transactions, there is a fee of 3.99%. There is a $3.99 settlement fee to move funds from the platform wallets to bank accounts. Fx transactions have a spread of less than 0.75%.
For large payments over $50K, Coinbase Pro will be the most attractive option.
For micropayments, Bitpay or Uphold are likely your best options to move the money off-chain and into traditional bank accounts. While there are costs associated with them, there are ways to minimize these costs by aggregating or gating the timing of settlements to banks.
Bidirectional trade micropayments
If trade is bidirectional, is is possible to accrue trades in the channel and set a settlement date. For example, within a microgrid, where neighbors are producing solar energy and selling it in a localized market, micropayments between neighbors can accrue and settle monthly. If one neighbor earns $100 in revenue from selling solar energy—using Bitpay since there are no foreign exchange fees needed—they would earn $99, versus $97.01 for a traditional payment method.
Accruing micropayments in a payment channel
The same methodology could apply to merchants accepting many payments. Simply collect the payments and sweep the account to a bank account periodically. Incoming and outgoing payments from the intermediary wallet could happen for free on Uphold, but sweeps would incur the $3.99 settlement fee. For balances over $138, this becomes more economical than traditional payment processors.
It also has the opportunity to disrupt subscription pricing, and instead meter pricing based on actual usage. Metered charges accrue in a payment channel, and release by volume, time or other triggering events.
Much of the knowledge shared in this article roots in Provide’s experience of building our modern payment rails service, Provide Payments. Available today, Provide Payments utilizes generalized state channels, and comes connected to the backend broker services, with sample counterfactual smart contracts to configure. It also provides a KYC service, to validate members in your payment network which costs $0.50 per entity—a one time setup fee. The contracts can be configured to sweep your accounts at regular intervals, for a straight 1% fee for all transactions. If you’d like to try Provide Payments, contact us and we will help get you started!