# Mainstream programmable cash

By [moru](https://paragraph.com/@moruu) · 2023-07-07

---

The web evolved from static pages with text and images to dynamic content, allowing further changes after the page has been loaded in the browser. It is common nowadays to interact with other users online, publish original content or play games directly in a browser tab. Javascript, a popular scripting language, is the main technology that enabled this change. It allowed the web to go beyond static HTML/CSS and to become interactive and responsive.

Similar to the web, money took different forms throughout history, notably since the age of the internet. With digital money, customers pay online for goods and services. With the advent of blockchain technology, digital cash can now exist on public decentralized networks. Blockchain is also a less popular but viable alternative for private corporate applications, NFTs, tokenized stocks or central bank digital currencies (CBDCs).

Money had to reshape itself to evolve with technology but its usage stayed roughly the same. A (digital) cash transaction involves sending value to a third party and receive something in exchange. This transaction has to be processed by a large number of entities, whether it involves centralized currencies or cryptocurrencies.

This is a static use, reminiscent of the old web. But could we envision a future with dynamic, programmable money?

While money is not programmable by itself, most people are familiar with some forms of programmability, supported by web services and APIs. For instance, automatic cash transfers. Scheduling a transfer every month to a savings account is a form of programmable money. Or paying for a subscription service. In those two scenarios, a third party script has the permission to spend users’ money on their behalf.

Cryptocurrency is by and large used for trading, speculation and savings (_hodling_), but not really for payments. Nonetheless, Bitcoin is a thought provoking experiment that enabled many engineers to rethink about new forms money for the digital world.

In the physical world, paying with cash is second nature. In the digital world, payments require users to create accounts (or wallets), use login credentials securely and deal with KYC, 2FA authentication and more. A lot of important steps for good reasons, but quite cumbersome for low value transactions.

Programmable money is defined by two main elements: a transaction value and how it should be spent. For example, a digital bank note, signed, and issued by anybody holding a wallet. Attaching a script to money opens up many design possibilities.

*   With such a system, reimbursing $10 to another party is simple: create a digital bank note that can be spent only by this person, copy and send it to them over a text message.
    
*   Want to use a paywalled API? Without creating an account, send a digital cash note to a “subscribe” API REST end point to receive an API key.
    
*   Monthly subscriptions could be _pushed_ from a wallet instead of _pulled_ from a bank account.
    

These theoretical use cases can be implemented with public blockchains and centralized finance as well, as long as an open standard for APIs and wallets exists. CBDCs (_governments stablecoins_) might be that new open standard for traditional finance. The multiplication of “light” banking apps in the last few years shows that this is a space with large growth potential and a need for innovation.

---

*Originally published on [moru](https://paragraph.com/@moruu/mainstream-programmable-cash)*
