Here is a radically new online payment system designed to help artists make a living, to improve fundraising for historically important organizations, and to serve other purposes as well. This writeup shows how artists can sell music or other downloads through a worldwide social-network gift economy with little or no startup cost -- even if they have no computer access.
This smart-code design (for computer-controlled financial accounts that can reproduce without limit, inheriting options and services to create family trees) is currently published but not yet implemented in software. It started from accidental discovery while I was exploring better ways to sell a newsletter online in an unequal world. I have no proprietary claims for the idea, and want to put it on the table for open-source experimentation and use for public benefit. It's all on the Web at www.MicropaymentSmartCodes.com
The key innovation is that every smart code (every account) automatically has its own Web-based control center, which runs on the computer server that manages the codes. The owner of the account can use the control center to set different options, including automatic, customized services (see many examples below). But the owner can also have the code's control center reproduce any number of "children" codes, which inherit the features of the parent account by default (and in addition can be given a share of the parent's money). These children can also reproduce, through any number of generations. Therefore, end users (the account owners) can control dozens or hundreds of very different kinds of options and services that their money can perform, but may never need to actually set or change any of them -- because the services that particular user requires could have been set by someone else in an ancestor code, long before the current user's code was born.
It turns out that anyone who has a smart code can pay money to anyone else who has one. And anyone with a smart code can receive money as well, not only from other smart codes but also by credit or debit cards or other online payment, even from people who have never heard of smart codes -- a big advantage for early adoption of this system. A party receiving money through a smart code does not need computer access -- allowing musicians and other artists even in remote villages to market their work globally with this system.
And anybody who buys or otherwise receives a code (an account) iwill be immediately ready to spend the money it contains, to receive payment into the code, or to create unlimited new codes (to sell or give to others, to publish for receiving orders, or for other purposes) -- with no need for registration, logging in, or remembering user names or passwords, anywhere in the smart-code system.
Management of the codes is entirely automated through a computer server. The organization that runs the server, provides the codes, and manages the money (it might be called the "code server") has ultimate control; it could restrict or block any privileges of any codes, subject to legal and contractual requirements. But this system works best when code owners have as much control as possible over their money, without paperwork -- and also without what might be called "virtual paperwork," the widespread inconvenience today caused by businesses making customers fill out Web forms that are modeled on the paper forms and data requirements of a pre-online commercial era.
The basic problem today with commercial music, etc. downloads is that every end user is expected to pay for his or her copy -- otherwise, the artist doesn't get paid. But making everybody pay does not work well in a very unequal world.
Smart codes allow marketing both to end users who buy one copy, and also (through exactly the same actions) to friends or supporters of the artist or art movement who may buy tens, hundreds, or thousands of downloads in a single purchase, as a gift to their social networks and a gift to the artist as well. Therefore most downloads can be free, while the artist still gets paid for every one.
This payment system works through one or more "smart links" -- Web links with a smart code embedded. The artist or publisher creates the first smart links for a song or other work (these may start with a few free samples, or they may start with zero downloads), and encourages their distribution by email, blogs or other Web sites, RSS, newspapers, etc. The smart code's control center keeps track of how many paid (or promotional) downloads are available; if the link holds one or more, then anyone who clicks it will receive the song or other material (or be given a choice from a list). If the link has no downloads available, whoever clicks it will get a payment page.
Whether or not the downloads are currently free (prepaid), anybody can buy either one download -- or multiple downloads, instantly recharging all copies of the smart link, wherever they are throughout the world. Or the buyer can choose to get a new link instead of adding to the existing one, and buy it 2, 20, 500, or any number of copies (downloads), for distribution through the buyer's own social networks. Volume discounts would help encourage large purchases. Also, smart codes could allow donors to enter a personal message for anyone who used a download they paid for -- while allowing the artist to reject offensive messages, or not to provide the message option at all. And the donor could keep his or her identity private if desired.
Smart codes used in this way will support a worldwide, social-network gift economy -- but one that earns money for artists because all the copies have been paid for (although paid for in different ways). It is often easier to get one supporter to buy thousands of copies for later free distribution, than to get thousands of separate sales. The smart-code design seamlessly integrates both possibilities.
Note that the startup cost to start selling a downloadable work (music, photography, video, etc.) is essentially zero. The artist (or someone acting for the artist) could obtain a zero-value smart code from a site that offers download services appropriate to the artist's work (these codes might be given out as part of the promotion of that site). Uploading the work is entirely automated for the site, so no staff time is needed. Instead of upfront costs, which are often difficult for the artist, the site could charge a percentage of sales as its fee (and profit from actual success, instead of from artists' hopes of success).
The estimated processing cost for almost any smart-code transaction itself is less than a tenth of a cent, regardless of transaction amount, since smart codes use very little bandwidth, storage, or computation. Large downloads will cost more, especially for bandwidth, but smart codes can charge separately for each sale.
By working through social networks where people send links to others likely to be interested, artists can reach an audience and sell their work without the upfront expenses of advertising or other mass promotion -- and without knowing where their ultimate audience might be found. Because the links are usually prepaid and sent as gifts, and are usually sent without personal financial motives even when not free, this system avoids the exploitation of social networks by pyramid schemes that try to sell merchandise or "distributorships." And smart codes have an advantage over other gift economies in that the prepaid downloads are only charged when they are used; recipients decide if a gift is for them, and if not, nothing is wasted (the software might even allow a song to be cancelled without charge within the first minute or so). Therefore donors can be freer in distributing smart links -- but not too free, because they or someone in their network has paid for every download that occurs.
This system will enable artists to sell their work from day one, anywhere in the world where people are interested, and be paid immediately. And those who are interested can easily send smart links (prepaid or otherwise) to others who might be interested, among their friends and associates.
In this example, smart codes do not transfer money at all. Instead they record history, by turning donations to historically memorable organizations into objects that collectors can trade and display later -- potentially developing investment value far more than the amount donated. This turns "contributions" to an important organization into "investments" as well, assisting fundraising by creating an entirely new motive to give. Smart codes could also be given to reward volunteers.
These donation smart codes ("donation codes") could display photos, writing, videos, music, or other media in which participants explained the times, the issues, what they were doing, and how they would use the contribution. These codes given to the contributors would have to be kept private (because otherwise someone else could take control by changing the code and locking out the legitimate owner). But these donation codes could generate children codes that could be made public, and would display the material (through their control center, which for "public codes" is a Web page that shows whatever the owner of the parent code wants it to show -- and which, incidentally, can receive money on behalf of the parent, although it cannot spend money). The owner could influence the display of the original material, and successive owners could add layers of new content of their donation code, adding to its history -- without being able to permanently delete earlier material entered by the recipient organization, or by earlier owners of the donation code. The current owner could use the code to change the public display at any time (and could omit material, but not destroy it forever for future owners). And whenever the donation code is sold, perhaps to a collector, the new owner could change it to maintain exclusive possession.
Could a code really become a collectable, traded at auctions, for example, like antiques or original art? No one knows until it has been tried. But the possibility does seem likely. This is a digital age, and everyone is familiar with codes containing value. Also, a small piece of paper in the form of a postage stamp can have value to collectors far greater than the original price printed on the stamp, because of scarcity and historic relevance. Donation codes, displayed through public codes, will show history much better than stamps do, and will be dated, so they can be equally scarce. For example, if by 2007 someone implements smart codes and arranges for an archival server (a server to manage the codes, supported by endowment, backup, security, insurance, legal, and other contracts to credibly promise existence for decades or even centuries into the future), then before January 1, 2008, someone could "own" a 2007 $100 donation to an organization just by giving that amount and receiving a smart code as part of their gift acknowledgement. But after 2007, no new 2007 contributions could be made (the archival server would have to enforce this, to maintain its credibility), and the only way to get one would be to buy it at the market price. Future collectors might even bid against each other to get a complete year's series -- all existing contributions of, say, $100 and up to an organization and date range they wanted to collect. (All donation codes would be known to the server, and their owners could use the codes to receive price offers without necessarily revealing their own identity, making it easy for a potential buyer to contact all relevant owners, even without knowing who they are. Codes could also be set to automatically accept any offer over a certain amount, then email or telephone the owner when a sale occurred [the money is transferred instantly] -- and to publicly reveal that price or not, as the owner wished.)
Note that a single archival smart-code server could provide this service to thousands of organizations -- allowing them to enhance their existing fundraising very easily, simply by adding an instruction sheet with a code on it to the acknowledgements they already send out to their donors. (Incidentally, the same infrastructure could provide archival Web sites for individuals and organizations who want reasonable assurance that their material would be available to the world for decades at least after their death. In both cases, the archival organization might provide an additional service of encouraging hobbyists and others to look through the material for what is useful to current audiences, so that it will not "gather dust" but will be likely to be used when relevant.)
Note also that smart-code sales of an artist's work (see the first example, above) could also generate a unique archival code that displays the date, sequence number, and description of the sale, along with whatever material the artist may add. Codes representing early sales might also develop investment value if the artist becomes recognized as significant -- encouraging rapid sales of potentially important work, including by new artists, since whoever buys early gets the most valuable archival codes included free.
The examples above are only the beginning of the new business models that smart codes will make possible. Some may seem strange because they have never been feasible before, at least not in a mass, small-scale way. For example, buyers' and sellers' codes could negotiate with each other without any human intervention, kicking the decision upstairs to the human (usually the buyer) only if the robots cannot agree. Robot negotiation strategies could be developed and rented or sold by third parties, and the server would charge account owners for their use. Sellers' robots would have incentive to compromise for a guaranteed sale (especially since the cost of downloaded goods is near zero, so all sales add profit), while buyers' robots would compromise to avoid bothering the human about small matters.
Or smart codes could mark ownership of a kind of digital art, no matter how many perfect copies had been distributed -- by allowing the owner to incorporate his or her own photos, sounds, music, color schemes, or other elements in ways provided by the artist (imagine an image of Mount Rushmore with the owners' family instead of the presidents shown sculpted on the mountains). In this case the art would live as a program on a server; and the code itself would be the original (the object sold among collectors). The artist could also produce a limited, numbered edition, to increase revenue while reducing the cost of ownership.
Smart codes could also handle much simpler and more ordinary services, like instantly paying royalties, commissions, or taxes the moment sales are made. They will make possible an extremely flexible kind of security; for example, codes that cost money to buy but can only play one song (and cannot pay for anything else) can probably be sent "in the clear" with no encryption at all. For another example, librarians will be able to use a high-value smart code to create hundreds of new smart codes to give clients limited access to proprietary online art or databases (generating all those codes with a single command, in a minute or two) -- expanding the paid market for creative work.
An annoying inconvenience of the Web today is the need to keep re-entering demographic information demanded by various sites -- and the need to keep re-entering credit or debit card information as well. Smart codes can be pasted into a single field for payment, greatly simplifying the process. And they can automatically provide demographic information, if both parties agree. There could be different competing standards for formating the demographic or personal information (some of which reveal more than others); the codes could select a standard, provided that both parties have accepted at least one in common. The codes even could negotiate automatically, for example charging less to someone who reveals more (although whether such a tradeoff would be desirable is another issue). Smart codes could favorably recast part of the dispute over personal autonomy -- for example, by allowing their owner to approve or disapprove excessive or otherwise objectionable information requests (making sales or other transactions less likely for the offending merchant or other party), and/or by automatically registering complaints of abusive requests with third parties, where they would accumulate from the public at large, and could be published as ratings indicating who was easy or difficult to do business with. Needless to say, the ratings could be published in a format that would make them accessible both to human readers, and to smart codes acting as agents for buyers.
Smart codes will also facilitate international trade by allowing each user to work in his or her own currency and language -- adding exchange fees when necessary but otherwise managing many transactions so transparently that the buyer and seller need not even know that the other is working in a different currency and/or language. (This does not require any machine translation. A few dozen or few hundred well-chosen phrases, arranged appropriately in menus or otherwise, could go a long way in assisting online business between parties unable to communicate otherwise. And a commercial translation service could be available online if necessary -- ready to use smart codes to receive payment, and perhaps to help negotiate prices as well.)
If laws allow, account balances could be invested in different financial instruments supported by the server (such as currencies, stocks, funds, or even virtual currencies in multiplayer online games if they are exchangeable for money), just by setting an option, with almost no transaction cost. No actual trade would take place at the time a code owner invested the code's balance; instead, the account value would begin to rise or fall along with the investment chosen. The organization providing the codes (the code server) would be responsible for the value of the account -- and would occasionally buy or sell in financial markets to hedge against major cumulative movements of its customers' investments, which the server would constantly track. This will make the investment process far simpler and less expensive than today, providing educational advantages. For example, schoolchildren could invest their 25 cents or 25 dollars in gold or in Euros if they didn't like the way the dollar was being managed -- with just a click on a button, and with no account to open, no papers to sign, and no commission to pay.
Remember that all this works because smart codes allow computer processing and control to occur immediately before, during, or after a transaction, or at certain other times as well (such as the daily updates of investment balances). In practice, the only options and services available will be those programmed into the server -- many of which can be controlled by the end user (the account owner, or rather anyone who has the code), who can set options and enter data required by using the code's control center. (Most security options will have to be set or changed in the parent code's control center, so that someone who obtains a code illegitimately cannot change them.) Probably most options will be set by inheritance, and never need to be changed manually.
Smart codes are designed for payment online. But some offline uses could be helped as well. For example, payment at cash registers which are not online could be by smart cards, which could be loaded with money from smart codes or other forms of payment at machines that are online; then a swipe could pay instantly offline, with no wait for approval, as with some gift cards today (such as the Starbucks card).
Smart codes might also help in marketing art like painting or sculpture that is not deliverable online. The original could be photographed and described by third-party appraisers, and kept in escrow for the owner in a gallery or museum designed for storage as well as display at the site -- while the art would primarily be displayed worldwide through photographs, etc., using public smart codes under control of the owner's private smart code. Then the artist and other owners could sell or buy the work without transportation expense or hassle, until an owner wanted delivery -- which the storage gallery or museum would be expert in arranging.
Smart codes might even provide services to organize proportional ownership, allowing any number of people to invest any amount of money they wanted in a particular work or collection; the money would go to the artist (or other owner) immediately, and all the investors could be bought out any time for a pre-arranged profit for each of them (so that a potential owner who wanted delivery or exclusive possession could get it instantly, for a price). The entire record-keeping process could be automated, almost eliminating transaction costs except for physical delivery. Such a system might expand and diversify the market for artists' work.
Smart codes can automatically record all transactions, keep the records forever, and print a variety of reports on demand. There are no user names, passwords, or registration anywhere in this system, as the code alone gives access to the account (either for spending money, or for changing options at the control center) -- avoiding the inconvenience of user names and passwords, and also largely eliminating the possibility of identity theft, since the codes do not need to have or give out any personal information. Yet anonymous payment could be prevented if necessary, by tracking all money into and through the system -- which would also reduce the value of stolen codes, by making it difficult to get money out without identifying the recipient.
The codes themselves can be any lengths the owner wants. (Twelve digits will usually be enough, because that allows up to a million codes, with the chance of guessing any one of them less than a million to one, and no way to try arbitrarily many guesses -- but as few as 6 digits could admit an individual or group to a particular movie showing or other event). Codes can optionally require PINs or other security features if desired (including PINS entered by telephone after the server dials a pre-set phone number, for better security). Compromised codes can be cancelled immediately, either online or by telephone (call the server, enter the code, and that code is gone, with its money transferred to its parent, or other destination previously set by the owner). Money in lost codes can be retrieved either by having an expiration date (when the code will cancel itself and return any remaining money with no human intervention), or by identifying the code through the parent and canceling it.
Parent codes have a special role in security. While the server will by default allow anyone with a parent code to find and manage its children and descendents (but NOT to get the children or descendent codes themselves, as these will be "hashed" -- a standard method of computer security), the server will not allow anyone to go the other way and learn the parent of a given code. Therefore owners who buy a high-value code can keep it in a safe place, and create a child or other descendent code to carry and use, limiting the risk of loss through theft, and eliminating even temporary loss of the money in case the code is misplaced, or in case the only copy is stolen by someone who cannot use it due to undocumented built-in restrictions (often a powerful, intended security strategy). Note that security restrictions on a code (such as limiting it to certain payees) cannot be changed by the code itself, but can be changed by its parent.
The security philosophy that works for this smart-code design is to give account owners the tools to make their own tradeoffs of protection vs. convenience, and use only the security they need; of course reasonable defaults will be set or suggested. But this freedom will only work if the user takes responsibility for choosing a code that is too easy to guess (or takes responsibility for choosing not to encrypt certain transactions at all and send the code in the clear through the Internet, which could be OK for small-value or restricted codes). Insurance against theft cannot be bundled into the smart-code package, because the user has too much freedom to trade security for convenience, or to ignore it entirely -- which is fine, but only if he or she takes the risk. With credit cards in the U.S., the company issuing the cards pays for all but the first $50 of loss due to fraud. With smart codes, the user could have the same protection by not putting more than $50 into the code.
The other part of the security issue is guarding against attacks on the server, for example to steal the whole database and all the information about the codes. Every financial institution offering online service has this problem; and the security in general commercial use seems to be fairly good, since major thefts of data are rare enough to not be a large deterrent to online accounts. A major advantage is that since the codes will be hashed, even criminals who steal the entire database will not be able to get them; not even the code server will have access to the users' codes. Sophisticated criminals could use the stolen database for a brute-force attack that could not be done against the server, trying billions of codes one by one; short, convenient codes would be compromised. A way to protect against this would be to use long, random codes for accounts with serious value in them; these could produce children with much smaller values for convenient everyday use. Twelve digits would not be enough for protection against a brute-force attack, but 30 digits probably would be. And users will be able to pick any code length any time -- and change the code to a longer one if that ever becomes necessary.
Implementing smart-code software will be relatively easy. For example, each code consists of a record in a database; therefore, reproduction of children codes that inherit the parent's options and services will consist mainly of copying the parent's record (the new code itself will either be generated randomly, or optionally given by the user, who may want to specify the child code instead of accepting a random one). A code's control center will be a Web page generated "on the fly"; it will not exist at all except when a human wants to interact with it (to change its options and services -- which of course will consist only of features that the server has been programmed to offer).
A transaction engine will run all the time, handling transactions as they come in, while respecting the account options that have been set -- and also handling external events, such as a daily update that will adjust investment values, check for account expiration dates, and perform any additional daily, monthly, or other periodic maintenance. Note that most transactions will simply check for validity, move the specified amount of money from the buyer's code to the seller's code if possible, generate any success or rejection messages to the humans involved, and generate accounting records.
No client software at all will be necessary, and any browser can be used for most purposes. But optional browser plug-ins could be helpful (for example, to hold a list of codes and allow any to be easily selected for use). And most code owners will want at least occasional secure communication with the server that manages their codes, for which they would use a browser with SSL or other encryption.
Most of the server security for the database as a whole will not need to be implemented until smart codes are ready for general use; small proof-of-principle tests to see how smart codes work for commerce will not need to wait. But the security trade-offs that allow individual account owners to protect themselves (such as variable code lengths, restricted payees, or the security roles of parent codes) are largely inherent in the smart-code design. So they will usually be available automatically, requiring very little implementation if any.
There seems to be no end to the uses of smart codes that people could think up, and different servers will compete on which options and services they provide.
Note that this smart-code design avoids the usual "critical mass" barrier (of a new system not being worth using until many people are already using it) -- greatly facilitating early acceptance and use. For example, the music marketing and fundraising noted in this writeup are entirely feasible and useful even when only one organization in the world is using smart codes and no one else knows what they are.
Other early-acceptance advantages:
Another powerful force for adoption is the great need to make routine online commerce easier, especially for small payment amounts. How many times would you have made a purchase, or a donation to thank and encourage people for their work, but have not done so only because of the hassle of using credit or debit cards, and providing who-knows-what information will be demanded later in the payment process? Imagine how many more transactions would occur if one only needed to paste a code into a Web form and click Send.
The smart-code system is remarkably flexible yet easy to use. For example, to receive money, just get almost any smart code and use it to generate a button for your Web site that will pay into your code securely. Or instead of the button use a smart link -- about half of line of plain text that anyone can click, or even type into a browser from a printed copy, so you don't need a Web site (and the smart link itself can provide one if you want). Either the button or link can include any product, fundraising, or other information you want to publish, and receive payments to your account -- and people can pay not only by smart codes, but also by credit cards, debit cards, or whatever other means are supported by the server.
One of the dozens or hundreds of options and services available in each smart code would instruct the business that provides the codes to send the account balance to the owner periodically, by check or otherwise, deducting its fee for printing and mailing the check -- and also deducting and paying estimated taxes and other fees automatically if the account owner requested. Someone with no computer access could set up this payment processing system with the help of a volunteer assistant or commercial service, or by telephone, simply by selecting the options desired and provided needed information, such as a mailing address for the checks.
The account owner need never be billed, as the services that provide smart codes and downloads can easily set their fees as small percentages withheld from the transactions processed. If no sales occurred, no fees would be due. So artists far from any computer, and with no cash or access to foreign exchange, could use smart codes to reach buyers anywhere in the world through social networks, get paid for their work.
The writeups below are often not coordinated with each other, because I wrote them in part for "defensive publication," to prevent parts of this system from being patented and denied to public use. Later I may organize this information into a single paper that describes all the ideas in detail.
Micropayment for online purchasing was disappointing for years, but may be ready for a comeback. The next big commercial push may be in instant messaging (SMS, short message service), using one's phone to pay for music, tickets, games, etc. An advantage of smart codes here (in addition to all the other advantages) is that people will be able to pay for event tickets and other non-telephone items through their phone, without necessarily going through their phone company, which is likely to be far more expensive than smart codes for transferring money.
Here are some places to look for micropayment information:
If you are interested in this project, contact jjames at MicropaymentSmartCodes dot com (reformat this email address of course). My role is to start a discussion of what appears to be a fascinating and potentially important idea. I'm looking for people to work with on improving this open-source design.
If you think something stated here will not work, let me know and I will either explain it or fix it. If you know of good software for hosting an ongoing discussion of smart codes -- something very easy for new users to learn, but better than the usual blog with comments -- please let me know.
Privacy statement: we won't send advertisements or give out your email address to anyone, and you can get off our list at any time.
John S. James, jjames at MicropaymentSmartCodes dot com

This work is licensed under a Creative Commons License.