Circles - universal basic income

“Circles” will be a currency created from basic incomes only. In the system outlined in the following, new money is constantly distributed to every account participating in the system. The money in every individual account are uniquely identifiable and only gain in value if the account connects to other accounts and joins groups. This incentivizes every user to limit themselves to one account.

  1. Everyone can create a new account
  2. An account will constantly generate an income (1000 units per week
  3. The rate at which the income is generated will increase by g=2% per year
  4. A new account starts with the income that will be generated in the next 3 months.
  5. One month of income is for the account owner - the other two are reserved for people who trust this account, it is called the trustee reward.
  6. Accounts can trust one another. This will allow both accounts holders to exchange their coins 1:1.
  7. Trust can be revoked by both parties.
  8. If an account trusts another account it is credited with half of the remaining trustee reward.
  9. Arbitrary groups can be created.
  10. Groups can verify accounts as members.
  11. Groups can exclude accounts as members.
  12. All members can convert their private money into group money (1:1 exchange rate). This exchange is irreversible.

Design rationale
The main purpose of this project is to establish a world wide basic income.
Requirements are:
a. Decentralization
A world wide basic income is something so powerful that no single entity in the world should have control over it in order to preclude manipulation. Particularly, there should be no central authority that decides which person can get a basic income and which person cannot.

b. Smooth growth
The solution should support a smooth growth. If the only two equilibria are “no one participates” or “all people participate” then it is nearly impossible to change to the “all” equilibrium, especially if no central entity is involved. In the approach presented here, groups can grow locally, even starting at a single family level. However, there are no constraints on subsystem growth. All subsystems can merge into a global system at any time.

c. Resilience
The system can support something like a world currency. However - if this currency fails at some point, it is not the whole system that would collapse. Instead, the system would fall back on the group level underneath, for instance a country group. Even if the group currencies should fail at one point (because they accepted too many members that just consume their income and don’t provide any goods or services for their income) it can still fall back on the personal level where the value of a currency is closely related to the personal relationship with the other person.

d. Incentives for organic growth
The trust reward should help to give a strong incentive to bring new people to the system. Adding new accounts to your circle is to some degree a risk. To balance the incentives and enable growth we introduced the trust reward. It creates common incentives for both the newcomer and the people already established in the network: Through the acknowledgment of the trust relationship, the newcomer gains network credibility and the first people to place their trust in the newcomer benefit financially. The risk inherent to trusting a newcomer are only out-weight by the benefits if the newcomer is be-known to the people who place their trust in them. If the newcomer does not turn into a viable member of the network the trust placed in the newcomer was misguided and the trust results in a financial loss.

e. Universality
Some people argue that Bitcoin was a one time shot. A currency has to be scarce to some degree to function as such. A single digital currency can have features that ensures the scarcity of this currency - however, if other digital currencies become successful, scarcity as a characteristic of digital currencies overall becomes questionable. This is especially true for a basic income. We strongly believe that a basic income currency can only be successful if it is the only one that is commonly used. This is why we keep this proposal as general as possible. The only free parameter crucial to the system is the growth rate g and needs to be discussed carefully. The trust reward is not strictly necessary, however, it does not affect the long term equilibria of this approach.

Detailed discussion.

Transitive Transactions
If A and B trust each other, and B and C trust each other, then A and C can pay each other as long as B is liquid. If A is a customer and C is a merchant, A could send money to C. The network will automatically send a-coins from A to B and b-coins in exchange for the a-coins from B to C.

The growth rate g = 2%.
The growth rate g determines the ratio between the total coin supply and the income per month. This number is subject to discussion. It should be chosen to maximize the value of the income.
Note that a high growth rate (inflation rate) destroys the capability of the currency as a store of value. Consequently, the potential dollar market cap is a function of the growth rate: market cap = f(g). (The market cap of the currency is a function of g that most likely will decrease sharply for bigger g like 5% or 10%). g should be chosen to maximize g*f(g).

The growth rate can be seen as a capital tax that finances the basic income. People with exactly the average wealth would pay the same amount of money in fees as they would get from their UBI.

Groups are necessary to bring more stability into the system. Holding coins of a specific person always carries a certain risk. In some sense, the value of theses coins is always backed by the person. If the person dies or more broadly speaking the trust in this person sinks, these coins may become worthless. However, as long as a person is member of a group, the money can be converted irreversibly into group money. It is in the responsibility of the groups themselves to keep them tight on the one hand to not dilute the value, but on the other hand have a positive network effect. This makes it interesting for merchants to accept such group money.

Q: Can I create 100 fake accounts that all trust each other and abuse the system?
A: You can create them but this will not create value. As long as nobody else trusts these accounts they can only exchange money with each other, rendering all the money worthless.

Q: Why should I add someone else to my trust network?

A. Your trust network is what gives your personal currency value beyond what you are willing to provide for this currency. Lets say 100 people are in your trust network, that means that 100 people are accepting your currency. Even for those who do not accept your currency directly, may accept it indirectly since they know they can use it to get goods or services from 100 people. Accepting money is all about network effects.
However, on the other hand accepting a new person bears some risk. If this person turns out to be a fake account you will end up having his worthless money and the scammer can spend your money. To make the incentive higher to be among the first to accept an new account nevertheless, the trustee reward was introduced. However, accepting a completely new account will and should be backed by a personal relationship of the two participants that ensures that the new person participates honestly in the system. If they don’t the only person who loses money is the person who wrongly trusted them.

Q: What is the money of an account worth?
A: In theory it should be max(value(group1), value(group2), value(group3), … , value(connection1), value(connection2), …). Note that only connections to liquid people count. As long as the memberships in the groups and the connections are stable (or expected to be stable) there should be no incentive to convert money into group money.
This concludes in the assumption that it is not necessary to convert your money into group money or to exchange money with one of your trusted connections. Just having the ability to do so makes your money at least as worthy. This could stabilize the system and allow user A to connect to user B despite the fact that user B’s coins are worth less. This connection could raise the value of user B’s coins without changing the value of A’s coins. However, this stops if B tries to abuse this connection, but in this case, A can cancel the trust relationship.
From time to time users could lose their connections because they create panic. This is the unlikelier the better the user is connected. This strengthens the incentive to concentrate all your social connections/ reputation into one account.

Q: How much of the group money is yours?
A: The amount that you’ve converted. Only difference is that now it’s no longer tied to you as an individual. This means that if you do something bad, the group cannot do anything to revoke your group money. However, they can kick you out of the group.

With groups exchanges are mono directional with individuals. Only individual => group, NOT group => individual. However, exchanges are is bi-directional between groups. So Berlin <=> SF is OK.

The easiest way to implement Circles would be as contracts on Ethereum.
The contracts would look similar to this:

//data structure

Dictionary -> tuple
accounts[owner] = (time_created, money_spent, trustee_reward)
Dictionary -> Set
groups[owner] = [member1, member2 ,…]
Dictionary -> Set
trustees[account] = [account1, account2, …] // each relationship need only be saved once
Dictionary - > Dictionary -> int
balance[owner][foreign_account] = amount
years = 0
//pseudo code
trustee_reward = (1000*12) * 1.02 ** years
accounts[message.sender] = (block.time - 1month, 0, trustee_reward)

add_account(account1, account2):
//somehow check that both accounts signed the message
if int(account1) > int(acount2):
//credit and update the trustee reward
balance[account1][account2] = accounts[account2][3] / 2
balance[account2][account1] = accounts[account1][3] / 2
accounts[account2][3] /= 2
accounts[account1][3] /= 2

if int(message.sender) > account:
send_money(amount, currency, receiver):
if balance[message.sender][currency] >= amount:
balance[message.sender][currency] -= amount
balance[receiver][currency] += amount
send_new_income(receiver, amount):
//todo factor in 2% growth rate
income_generated = (block.time - accounts[message.sender][0])/ weeks * 1000
if income_generated - money_spent > amount:
money_spent += amount
balance[receiver][currency] += amount
exchange_money(account1, account2, amount)
if message.sender == account1 or message.sender == account2:
if account2 in trustees[account1]:
if balance[account1][account1] >= amount:
if balance[account2][account2] >= amount:
balance[account1][account1] -= amount
balance[account2][account2] -= amount
balance[account1][account2] += amount
balance[account2][account1] += amount

groups[message.sender] = Set()



convert_into_group_money(group, amount)
if message.sender in groups[group]:
if amounts[message.sender][message.sender] >= amount:
amounts[message.sender][message.sender] -= amount
amounts[message.sender][group] += amount

1 Like

How does Ethereum/Circles differ from uCoin/(e.g. Florins)?

First the technical difference is that Circles runs on top of the ethereum blockchain and the Ucoin coins are its own blockchains.

On a conceptual level there are a few differences: With uCoin you can belong to a group or not. To get into a group you need signatures of some members. As soon as you are a member you can sign for others and let them in. In my opinion this is a little bit more vulnerable to Sybil attacks because signing for a new member dosen’t come with a personal responsibility. With Circles more flexibel rules are possible.
First of all you are more committed if you sign for someone (I call it “trust” someone) because from now on this new person can exchange its personal money with your personal money 1:1. Groups now can have different kind of rules and only let in people that are already trusted buy several group members. (And in contrast to UCoin this trust/signing already means something and is already a “risk” for the trustees)

Another important difference is: that in UCoin you can become member of lots of UCoin Currencies and they are all separated. You total income would be sum(group1, group2, …) In Circles the idea is that you use only one account and become member of different groups. So it is one System where everything is connected. The value of your newly generated coins is now max(group1, group2, …) You can think of the coins as a 10€ coin with a lot of silver in it. This coin would be member of the group Silver and €. If € brakes down it would still habe the silver value. If € is strong the 10€ would maybe more important than the silver.
By this design Circles should be more resilient and stable. (Read point c.)


I just read your description of Circles. (Introducing Circles – Universal Basic Income | circles)

Congratulations to the great idea to combine ripple (Fuggers version) with UBI. It is pretty complex as it adds even more dynamics to both concepts as they have already on their own.
Have you thought to get in contact with some economists like Yanis Varoufakis, Bernard Lietaer or Nick Szabo (not sure if he would support that idea)? I think they might be interested to give input of help develop it? Varoufakis wrote about Bitcoin and an alternative idea on his blog (

I just published a blog post which covers UBI as well (next to other important developments).

I would like to discuss a few part of your project:

“A single digital currency can have features that ensures the scarcity of this currency – however, if other digital currencies become successful, scarcity as a characteristic of digital currencies overall becomes questionable. This is especially true for a basic income. We strongly believe that a basic income currency can only be successful if it is the only one that is commonly used.”

  • I don’t see why that must be the case. If there are several BI currencies and there is a liquid exchange why should that be a problem?
    I don’t believe in the Bitcoin maximalists arguments that a currency need to have max. network effect to work. It’s more a question about liquid and near frictionless exchange.
    Would be as one says every data need to be transmitted as json to be able to interact between diff. systems.
    Not to mention the risk of a single world currency when it fails or get under control of a single entity (like USD).

Regarding the growth rate:
I think a flexible solution, determined by voting (stake) or another automated system (will be hard to find quantifiable input data) would be better then a fixed number. Like Monero use a flexible blocksize and therefore avoided any dangerous conflicts as Bitcoin is facing at the moment.

“People with exactly the average wealth would pay the same amount of money in fees as they would get from their UBI.”:
I am not sure if I understand that right. Fees means tax/inflation/growth rate? So the devaluation of wealth by 2% would be a kind of fee to the system. As each BI is kind of private money which gets only real value due social contacts terms like wealth are hard to apply. My wealth grows much more due extension of social network and reputation in my network then with quantitative measurements like inflation or currency issuance.

I don’t see whygroups are needed and wondering if that does not lead to a fragmentation and unnecessary complexity. Why are the trust lines in the network graph not enough for a merchant to accept money from a UIB member? As long as one member in my social graph has a trust line to the merchant it would work (at 4 or 5 layers we are connected with all the world)?
Is there no way to get the group money into personal money again? If so, that means that it would collecting more and more money over time. Groups might fade out but will have no chance to convert its wealth to its members.

“…what you are willing to provide for this currency”:
That is not much discussed in the text. How would be the money connected to trade, production, etc.? If the basic income only gets value if others will consume some produced artifacts or services, it would be not so much different to our current system. The “unconditional” part of UBI would be missing then. What if I spend my time on stuff nobody is interested in, does my UBI then be worthless?
If the social connectivity is the main factor it would lead to a focus to accumulate social connections (facebook friends count desease), like your politicians try to get into the political networks early in high school to get better capital later.

“Accepting money is all about network effects.”: I know many people say that, but I think that is only the case if the friction of conversion is as high as it it with our today’s money (see above).

Anyway. I think that is a great project and I hope you get more support to develop it.
UBI is one of my favorite topics, in fact when I first heard about Bitcoin I was sketching a concept with UBI but failed on the problem to avoid multiple accounts without central registry (and economics as well).

Hey Manfred - thanks for all the questions and a very warm welcome to this little forum!

I would love to. However, I think the likelihood that they response get higher if at least a demo and a small community would exist. If you think different or if you have contacted one of them before I would love to get their input as soon as possible.

You might be right. And it is important to mention that “circles” is not a single currency solution. It is just the opposite - it starts with one currency per person. And only if people connect or join groups they build “larger” currencies. Of course you can argue that even more than one currency per person would be possible but I have the feeling that this would weaken the value of a persons currency if he or she would just decide to issue a new one. So maybe one per person is a somehow natural upper bound.

Indeed, might be better, but I did not had yet the right idea for it.

Sorry, this is confusing. In a earlier version of the concept I suggested a 2% (yearly) demurrage fee instead of the 2% growth of the BI. In my opinion mathematically this is the same. But psychological the growth solution might be superior. So with a 2% fee you have finally a stable money supply (if all the BI create as much money as destroyed by the fee) People with average wealth would loose the same amount of money due to the fees as they get new BI.

So the general idea behind groups is to provide more stability. If no groups would exists you would always only hold a buch of personal money. Every single currency would more or less only be backed by one person (and its direct network). However - if a person for example dies I am not sure if people would still see its money as something valuable.

So it seems way more likely for people to “fade out” instead of a group like: “citizens of Berlin”. On personal hope of me is that groups are the way to integrate less socially connected people into the system (like homeless).

Again - this is why groups might help.

It seems like you’re trying to build ripple and a web-of-trust backed currency to use as an ID system. It’s a brilliant idea. Will you combine it with a trust-line system and a path finding algorithm ?

See this comment about building web of trust currencies on ethereum,

And look at Ryan Fugger’s work,

Ryan Fugger’s original whitepaper,

1 Like

Hey, welcome to this forum!

Thanks for you links - it is always good to find people that had similar thoughts. Maybe we can connect to them.

Ripple is a money system, invented in 2003. The latest implementation,, is a $30 million dollar venture. has been controversial since it strays from the original vision of Ryan Fugger, but it has value as a transitional technology.

Ripple uses trust-lines and is exactly what you’ve described that your Circles will do. I’d recommend that you used existing Ripple-implementations. Ripple, as it exists today, can already do 6-12 in your list:

1-5 in your list could easily be added on existing ripple-implementations.

Best might be to first build Ripple on ethereum, adding smart-contract capabilities to it and also decentralizing the public ledger, and to then add a basic income payout of 1000 units per week.

I second what @manfred_karrer wrote,

Circle is a very good name for it. I’d recommend that you use existing Ripple narratives and that you connect with the community that already exists around Ripple.

Like @manfred_karrer wrote, Circles = Ripple + UBI

This may be a dumb question: Is this a forum to discuss ideas for Circles or is there a real project going on to implement Circles in real life on ethereum?

This is really an amazing idea and I’m really looking forward to learning more.

Welcome @kennyrowe and thanks for the nice words!
Absolutely both! I have already written some solidity code - I guess I should just publish it even if it is not complete yet.

Thankfully Ethereum makes it so much easier to implement ideas like Circles.