In 2020, one of the interesting topics being discussed in parallel to central bank digital currency (CBDC) is programmable money (PM). Like CBDC, programmable money does not appear to have a clear definition. In this post we will discuss our understanding of programmable money, its potential usefulness and possible obstacles to future use.
What is programmable money?
Programmable money is money with constraints. It seems to be based on the notion that since money is already digital and exists as records on computers at commercial and/or at central banks, then it is programmable. Under conventional banking systems, decision about money are made by individuals giving instructions to computers. These instructions allow the computers to move money, determine how much to move and whether conditions required for its movement have been met, e.g., sufficient funds are available to pay a standing order.
Programmable money is money where the instructions and decision rules are coded or encrypted in the instrument. There seem to be two driving forces behind the idea of programmability as a potential feature of digital money. One is the growing interest in CBDC and the possible use of smart contracts. Conceivably, a CBDC may be designed to allow for programmability, such as smart contracts, as part of the core platform could enable automated execution of certain operations, such as payment of interest. These contracts perform any number of actions depending on the platform’s software protocol and may be designed to have certain constraints coded in for automatic execution, such as time-based payments.
The other factor seems to be the use of open application programming interfaces (APIs). While current real-time gross settlement (RTGS) systems do not have the same level of programmability built into their platforms that some distributed ledger technologies (DLTs) have, RTGS systems could achieve similar results through APIs. This design pattern requires the RTGS system operator to expose an API to external participants, who may themselves build additional API functionality for their own services. RTGS+ systems could also build partner APIs for customers.
Under the current two-tiered banking system, central banks and monetary authorities currently issue digital central bank money to an exclusive group of counterparties (typically, registered financial institutions). Central banks do not typically make commitments to an individual to make a payment on his or her behalf or to return any pro-rated share of their balance sheet. In 2018, TransferWise in the UK became the first non-bank entity to be given access to the Bank of England’s RTGS system as part of a wide-ranging effort to inject more competition and innovation into the UK’s payments systems.
Households and firms rely on privately issued money for their electronic payments. In the case of your commercial bank, the promise is that it will (usually) pay, upon your instruction, into the accounts of beneficiaries you specify – whether that’s the local supermarket or your supplier in a foreign land.
The government, by designating some of these instruments as legal tender, has made these instruments useful for paying debts, including tax. The instrument of money is hence characterised by the issuer and its promise. And the value of that asset is influenced by the issuer’s credit rating and users’ confidence in the issuer.
According to Antony Lewis of Temasek, programmability is based on the idea that we can separate the instrument from the medium of record. Programmable money therefore is money that can be wrapped in rules that constrain general purpose money in certain ways – whether that’s only allowing it to be sent to a limited set of recipients, or perhaps holding it in escrow until a certain time has elapsed or a certain condition has been met. Programmable money is dependent on the medium of record, not on the issuer.
In a virtual asset world based on tokenisation, blockchain as a medium of record makes programmability possible. It is possible for funds to be held by people, organisations or computer programs. Martin Walker from the Center for Evidence-Based Management noted in a blog post titled “Do we need programmable money?” that depending on the type of blockchain, a computer program (usually referred to as a smart contract) can make decisions about what to do with funds or how to respond to requests from others relating to the funds. In general, in blockchain platforms such as Ethereum, two things make it possible for smart contracts to have complete control over the funds. One is that the most common ’public‘ blockchains are “de-centralised”. No single party (and definitely no regulator) has control over transaction processing, operation of the system or the code that is run on the system. With no outside party able to control the system, no one can stop or reverse transactions generated by a smart contract.
Another factor is that cryptocurrencies are not like conventional digital money such as funds deposited in banks (commercial bank money) or by banks at central banks (central bank reserves). Conventional digital money is based on the concept of double entry accounting. There is no discrete pile of digital banknotes assigned to each customer. Funds deposited represent a liability (funds owed) by the bank that are balanced by the bank’s assets, i.e., claims on others such as loans made and bonds owned. Cryptocurrencies lack a connection to any asset of value. This means that cryptocurrencies can literally be “locked up” for prolonged periods with no real impact on the real world. Real-world money cannot genuinely be locked up by banks. For funds in a bank to be accessible to customers, banks have to constantly work to make sure assets are worth more than liabilities (i.e., they are solvent) and that they have sufficient assets such as central bank reserves that are acceptable to fulfill obligations to other banks (i.e., they are sufficiently liquid).
However, programmability of digital money was possible even before blockchain. As explained above, digital money exist on computers in banks, and computers can be programmed with instructions and decision-making rules from individuals. A time deposit is an example of programmable money, as the constraints allow you to spend it only after the term (e.g., six months) is over. But prior to the blockchain, the existing technology had limited users to schemes created unilaterally by individual banks, on their own terms. This has hampered the pace of financial innovation – or the pace at which money can be made more useful for the users. Blockchains can allow for a wider range of parties to program money, which can unlock further innovation.
The medium of record is what determines the programmability of the money – irrespective of the issuer or instrument. You can have programmable central bank money, programmable commercial bank money, programmable e-money (sometimes called stablecoins) and programmable any-type-of-money.
How is/might programmable money be useful?
COVID-19 and the ensuing unprecedented economic stimulus seem to have created a mini force towards programmable money. As noted above, programmable money is money with constraints. An analogy is food stamps, where recipients are given coupons, the equivalent of money, which can be spent only on food ‒ not on alcohol, betting on horses, lottery tickets or anything else. In modern guise, these ‘food stamps’ are digitised tokens transacted on a blockchain platform with smart contracts. In the U.S., it would have been helpful for the government’s distribution of its stimulus checks, the so-called helicopter payments made this spring to every tax-paying U.S. citizen, if programmable money had been an option. The payments could have been done in a few seconds and at no cost (distribution-wise).
Sandner et al. (2020) conducted a survey that assessed the main benefits of the digital programmable euro in general as well as Facebook’s Libra and CBDCs in particular. The experts were asked to quantify the importance of key benefits of the digital programmable euro on a scale from 1 to 5, where 1 indicated not important at all and 5 indicated very important. In the survey, automation is regarded as the most important benefit of the digital programmable euro with a mean value of 4.34. Higher efficiency in cross-border payments and near real-time settlement with other assets, rights or goods are rated with a mean value of 3.90 and 3.91 respectively. Other benefits of a digital programmable euro were higher interoperability, convenience and financial integrity by simplifying anti-money laundering procedures.
Other possible benefits of programmable money were:
- Governments could use programmable tokens to enforce economic embargoes.
- It holds huge potential in development and aid to the poor. For example: Delivering humanitarian aid is one projected programmable money use case cited again and again in interviews. Poor people do not have access to banks, but many have cell phones. Without too much trouble they could receive digital currency on their phones and bypass the banking system entirely.
- A programmable token could strengthen controls around aid payments, tracking and tracing flows on a national level, using link analysis to uncover fraud and corruption. Where are payments going? Why is so much flowing to one place?
- The real promise of programmable money is that it could root out the institutional corruption that keeps poor people poor.
- Programmable money could enable global financial transactions that preserve compliance with local laws and regulations.
Obstacles remain to programmable money
What hurdles still have to be overcome before programmable money becomes an everyday reality?
- People need to become better educated in the handling of digital currencies and their usefulness as alternatives to fiat currencies. It may be helpful to put things in everyday terms like coupons and loyalty points to help them grasp the concepts.
- There is still a general lack of understanding about the potential benefits of programmable tokens, as well as insufficient collaboration between public institutions ‒ e.g., central banks and governments ‒ and the industrial sector that will be a main user of programmable tokens. Continued regulatory uncertainty does not help either.
- Any digital payments solution will surely have to perform basic know your customer (KYC) checks and develop trusted governance protocols. The moment digital payments start flowing through different pipes, they become a challenge to regulators.
- Privacy and anonymity concerns must be taken into account if programmable money is to take hold. In contrast to Bitcoin, which offers a relatively high degree of privacy ‒ users cannot be easily kept under surveillance ‒ programmable tokens are designed for traceability. There are ways to engineer privacy into the token, using zero knowledge proofs, for instance, that can confirm an individual really has the assets claimed without revealing who that individual’s actually identity. A society may tolerate only so much traceability. Not everyone wants the government tracing everything they do. So it is important to consider when to apply traceability and when not to. There could be thresholds like below $1,000, a transaction would not be traced, for instance. Better traceability would allow nations to curb criminal activities, tax evasion and drug trafficking
Most CBDC models have not really addressed the possibilities of programmable digital currency. The CBDC projects under development today are only programmable by the issuer ‒ the central bank decides monetary supply, functionality, privacy and other characteristics. The end users will not be able to write code attached directly to their money or dictate its behaviour and movements. While the vision of fully programmable money is closer to reality than ever before, it will still be some time before governments and central banks go all the way that the private sector has, with digital currencies and decentralised finance (DeFi).