Skip to content


Freecoin-lib - library to facilitate blockchain functions

The freecoin lib is the basic component of the social wallet toolkit. It contains implementations to an interface based on blockchain interactions. It is backed up by mongoDB and it contains one to one interactions, higher level interactions and metadata.

Social wallet (aka Freecoin) is a toolkit to build participatory budget management wallets on top of multiple crypto-currency backends. It is open source and written in Clojure. Freecoin's main use-case is that of developing "social wallets" where balances and transactions are trasparent to entire groups of people to help participatory budgeting activities and organisational awareness.

software by

Getting started | Prerequisites | Running | Running the tests | Deployment | Todos | Acknowledgements | Licence | change log

Build Status Clojars Project License: AGPL v3

This library is the base component for the social wallet (previously called Freecoin):

Getting started

The Freecoin-lib is written in Clojure and is fully cross-platform: one can run it locally on a GNU/Linux machine, as well on Apple/OSX and MS/Windows.


Install all necessary dependencies, for instance using the following packages found on APT based systems:

openjdk version > 7,  mongodb, libversioneer-clojure, haveged, mongodb-server

then install Leiningen which will take care of all Clojure dependencies

mkdir ~/bin
wget -O ~/bin/lein
chmod +x ~/bin/lein

then start the MongoDB server in which Freecoin will store its data:

sudo service mongod start


From inside the Freecoin source, start it with

lein repl

This is useful for development. For production we have wrapped the base lib in a Swagger API which, the social wallet API.

Running the tests

To run all tests one need to run lein midje on the project dir


Look at the social wallet API


  • Implement interfacing with more blockchain endpoints like other than the Bitcoin and its forks.
  • Implement interfacing with more DBs like GraphDB.


Freecoin-lib development is lead by Aspasia Beneti

Freecoin-lib co-design is lead by Denis Roio and Marco Sachy

With expert contributions by Carlo Sciolla, Duncan Mortimer, Arjan Scherpenisse, Amy Welch, Gareth Rogers, Joonas Pekkanen, Thomas König and Enric Duran.

The Freecoin-lib is Free and Open Source research and development activity funded by the European Commission in the context of the Collective Awareness Platforms for Sustainability and Social Innovation (CAPSSI) program. It is used as the underlying blockchain implementation library and adopted as a component of the social wallet toolkit being developed for the Commonfare project (grant nr. 687922) .


This project is licensed under the AGPL 3 License - see the LICENCE file for details

Additional permission under GNU AGPL version 3 section 7.

If you modify Freecoin-lib, or any covered work, by linking or combining it with any library (or a modified version of that library), containing parts covered by the terms of EPL v 1.0, the licensors of this Program grant you additional permission to convey the resulting work. Your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. Corresponding Source for a non-source form of such a combination shall include the source code for the parts of the libraries (dependencies) covered by the terms of EPL v 1.0 used as well as that of the covered work.