March 17, 2012 will

Making Money with Python

A while back a friend told me about something called community currency, also know as Local Exchange Trading System. The basic idea of which is that people within a geographical area can exchange goods and services with bespoke unit of exchange rather that traditional cash. So, for instance, you could mow a few lawns in exchange for guitar lessons – even if it isn't the guitar teacher's lawn you are mowing. There's no physical currency as such, members of the community currency rely on volunteers to keep track of how much currency they own. I think this is a marvellous idea. It promotes healthy exchanges without the need to muddy things with something as vulgar as cash. But what struck me after a bit of research is how the whole system is in dire need of mechanisation! There's no centralised place to view your ‘account’ or way to do transactions online, and I figured there should be. So that has been my hobby project for the last few months, I've been building such a site which has recently come together to a point where I'd like to gauge how much interest is out there. I haven't even come up with a name yet, so I've been calling it by the rather uninspired moniker of ‘Currency Site’.

Apologies for the misleading title of this post. I am without shame.

Users of Currency Site can create a currency which they can use to keep track of any kind of debt. The currency creator (or provider) sets the policy on how new money is created and managed. Once created, money can be sent to other users (directly to a username or indirectly via an email address), and users can mange their funds by creating various accounts. Once funds have been sent to a user, the provider has no more control, as any user is free to store their funds or send them to others. For all intents and purposes, Currency Site is like online banking, although with a far nicer user interface than any online banking system I have ever used (which tend to be a usability minefield). Users are also able to see how much money has been minted and how much is currently in circulation (i.e. not stored by the provider), which helps to maintain trust in the system.

You may be thinking this sounds familiar if you have ever come across the Bitcoin project, but there are a few significant differences. The biggest difference is that Currency Site still requires trust in the individual or organisation that is managing the currency (i.e. the provider), and there is no enforced scarcity of new currency; providers can mint new money as they see fit. There is a little overlap, but the use cases for Currency Site are potentially broader (albeit limited in scale) compared to Bitcoin. Community currency projects are what I had in mind when working on this, but it is equally applicable for a variety of other uses. For example, lets say a family (we'll call them the the Smiths) have a few kids that don't like doing their chores, so the parents create a currency called ‘Smith Dollars’. When little Bobby Smith does his homework or cleans up his room, his parents send him 10 Smith Dollars. When Bobby has 100 Smith Dollars, he can cash them in for a new video game or spend 15 to stay up an extra hour. But if he wanted to, he could also send his sister 5 Smith Dollars in return for a loan of her laptop. Other uses could be employees keeping track of who goes for the doughnuts or a couple exchanging favours (use your imagination for that one).

Currency Site is built with Django and I've used the excellent Bootstrap library for the theme. The site is usable at the moment, but there are still a few things I want to do to it before I push it live anywhere. Just to prove it's not vaporware, here are a few screenshots:

Screenshot of currency site

Screenshot 1

Screenshot of currency site

Screenshot 2

Screenshot of currency site

Screenshot 3

I will be looking for a few brave souls to help me test this. I plan to do a private beta where the database will be completely wiped before it goes live for a while. This will give me the opportunity to really iron out the kinks, without having to worry about making a mess of the DB. If you are interested in helping out please get in touch, or +1 this if you are reading on Google+. I'd also be interested in suggestions for a good name for this project! It seems that any domain with any kind of reference to money or currency is taken (not surprising I suppose).

Use Markdown for formatting
*Italic* **Bold** `inline code` Links to [Google]( > This is a quote > ```python import this ```
your comment will be previewed here
Jean Paldan
I'm up for helping test. :) Love this idea. x
Arne Babenhauserheide
Did you have a look at ripple for a way to make this scale?

There, the amount of money you have is given by the allowance others give you, and if you want to trade with someone who did not give you an allowance, the system tries to find a way to shift the money over other people so both of you have some allowance at the end of that chain.
hi, is the source code available to read?
Will McGugan
Arek, sorry, it's closed source until I decide what to do with it…
Vishan Persaud
Count me in
Simon Woolf
Looks interesting, I would love to be involved in the beta.

Have you checked out ? Probably the most mature example of this kind of software at the moment - but there is a real need for something more lightweight and user friendly.
Will McGugan
Simon, I hadn't seen that. I'm guessing from a quick look that its for ‘real’ money rather than virtual currency?
Michael John Burgess
Would be happy to help take part.

As for a name, something which plays off Community/Society and Treasury ? is available:

Nice, looks like a very interesting idea.
Hope you are not thinking on getting (conventional) money with it. That would not be proper :-)
Sir Foot
A quick reading of the project cyclos website reveals that it allows for the creation of your own currency with the feature that you may choose to back it with legal currency. So yes, it follows that it isn't required to be backed with legal currency.
Will McGugan
Please join this group if you are interested in helping out with the testing…
John Rogers
Hi Will and all

@Will “There's no centralised place to view your ‘account’ or way to do transactions online, and I figured there should be.”

You are a little out of date on this. The South African based Community Exchange System (CES) started as one Local Exchange Trading System in 2003 and has grown to a global network of over 300 systems in 36 countries, all using a (proprietary) interface:

CES is now talking to others to go open source:

Others you should check out if you don't already know:
Art Brock and colleagues:



Last, but not least, you might want to check out our new book “People Money - the Promise of Regional Currencies” for a broad look at the global movement of local currencies:

Best wishes with your efforts!