We created a tool that mines cryptocurrency collectively on third party websites and provide people in need with a basic income

The problem

At least 80% of the global population lives on under $10 dollars a day and almost half of the total actually live on less than $2.50 a day.

Poverty is a huge issue that we as a species simply cannot ignore.

There is a large amount of evidence that indicates that not being able to cover your most basic human needs leads to a vast array of depression and stress-related mental health problems, and prevents you from developing as a person and following your passions and dreams.

When you look at the data, you cannot ignore the incredibly big gap between the rich and the poor.

Wealth distribution in America

This is a graph that represents wealth distribution in America.

What is more worrying about this graph is not that the 1% of people at the lucky end needs several columns to be able to represent their amount of wealth, but that more than 5% of the unlucky end don't have enough money to even have any of it represented on the chart.

This is a big problem, specially in the wake of the AI and industrial automation revolution that is rendering hundreds of jobs obsolete. People are becoming redundant in the job market but our current socioeconomic system is not adapting to these changes.

The solution

There is a surprisingly simple (and counter-intuitive) solution to this problem:

Give money directly to people.

While more and more people are becoming familiar with this approach, most might still find it very surprising, and that's very understandable. This is not a new concept and it's been proven to be very effective multiple times.

The idea of a basic income has been around for more than five centuries now. This radical idea has been popping everywhere on the political and philosophical spectrum. Some of my personal favorite historic figures like Bertrand Russell or Martin Luther King have been openly supportive of the idea in the past.

However, we are just now starting to experience the extreme consequences of the exponential transition towards a post-scarcity economy where we are finally capable of producing in abundance through the automation of repetitive and often dangerous and not fulfilling work tasks.

Now it's more important than ever that no one is left behind. Because we are on the same boat.

If we sink, we all sink together.

If we thrive, we all thrive together.

Basic Income

The solution: part two

At this point you might be wondering:

This sounds great but... where will the money come from?

That is a very reasonable question. While I'm not gonna make a case for a Universal Basic Income -it is a pretty complex (and interesting) topic- we came up with a formula that could help provide a limited number of people with a monthly income, a basic income.

With the rise of cryptocurrencies and the blockchain, there has been a large amount of interesting developments around these concepts. One key concept for our solution is the mining process.

Mining a cryptocurrency means performing a series of cryptographic operations that keep the underlying blockchain network secure. This usually takes advantage of the GPU power of a machine.

In exchange for helping maintain security on the network, mining nodes are rewarded with coins. However, it is usually really expensive to get set up in order to actually get a good ROI. You need to buy expensive dedicated gear in order to get a good mining system going.

There are some workarounds for this, fortunately. Some cryptocurrencies like Monero or Zcash allow for CPU mining, making it more accessible. Also, the possibility of distributing these cryptographic operations between many computers in a network (a mining pool) offers a very interesting opportunity that we wish to take advantage of:

We want to run a mining pool on third party websites with a big user base, sell all of the rewarded coins and directly give them to people in need on a monthly basis, in the form of a basic income.

Crypto mining

The solution: part three

Let's do a quick recap:

  • We identified one of the biggest problems of human society: poverty, or the lack of money.
  • We found a radical solution to the problem, namely the universal basic income.
  • We came up with a small-scale way to implement a limited conditional basic income.

But, how did we actually built this? We are proud to introduce you to:

ALTRUI.ST is a plugin that any website administrator can incorporate with a single line of code. The software will handle everything automatically in a friction-less and transparent way.

Plugin usage

  1. When the user opens a website running for the first time, they will be prompted with a dialog that will inform them about the mining software.
  2. The user can optionally opt-out, but the dialog is just for acknowledgement purposes. We presume that only users that really really need all of the computing power (for example for rendering purposes) will opt-out. The dialog will only be displayed once and we will save the configuration as a cookie for cross-site compatibility.
  3. The miner will start running on the background, with a visible indicator. It will connect to the main mining backend and start generating Monero tokens.

Mining indicator

Back-end infrastructure

  1. We store the generated tokens on a wallet.
  2. We automatically sell the coins in batches on an exchange. This allows us to convert the crypto currency into a fiat currency. Fiat money is USD or USD-backed money, such as EUR or GBP.
  3. We make a monthly payment to all of the accepted applicants.

Obviously the back-end also hold the code that coordinates the collective mining.

Application process

  1. The applicant heads to the application portal and clicks the 'Apply with Deutsche Bank' button.
  2. Then they introduce their personal data to login on Deutsche Bank.
  3. We pull the data from DBapi.
  4. We pull demographic data from Esri based on the DBapi provided address.
  5. We calculate a score and save the user data on a database.

Application process

Accepting new basic income receivers

  1. On a monthly basis, based on the current amount of money and mining power available, we calculate how many new users we can introduce into the system. It's important that there is not more people than necessary to be able to provide a consistent paycheck every month.
  2. We order the users by score and accept the top n users, n being the number calculated in the former step.

The scoring algorithm

As mentioned before, we calculate a score that tells us how much priority we should give someone based on the data that we have about them. We would like to provide everyone with a basic income but that is just not possible, so prioritization is inevitable.

This is how we calculate such score:

# verified: from Deutsche Bank, indicates if the applicant has gone through the verification process
# amountOnBankAccount: from Deutsche Bank, amount that the applicant has saved in their bank account
# yearlyIncomeOnBankAccount: from Deutsche Bank, average yearly amount that the applicant has earned in the last 3 years
# avgYearlyNeighborhoodIncome: from esri, average yearly earning in the last years in the neighborhood where the applicant lives (demographic data)

if (verified == true) {
    score = 10000 / (amountOnBankAccount + yearlyIncomeOnBankAccount + avgYearlyNeighborhoodIncome * 0.1)
} else {
    score = 0 # if the user is not verified, then we unfortunately cannot consider them

Here's one example of this would work. Imagine that we have only one free spot.

Person A:
Amount on bank account:                   576
Yearly income on bank account:            24142
Average yearly income:                    22650

10000 / (576 + 24142 + 22650 * 0.1) =     0.37060371344

Person B:
Amount on bank account:                   59
Yearly income on bank account:            15671
Average yearly income:                    19643
10000 / (59 + 15671 + 19643 * 0.1) =      0.56515375007

Person C:
Amount on bank account:                   -345
Yearly income on bank account:            17076
Average yearly income:                    13365
10000 / (-345 + 17076 + 13365 * 0.1) =    0.55348000553

In this case, person B would get accepted and person A and C would remain on the waitlist.


  • Some images in this post have been sourced from public sources on the internet for illustration purposes. No copyright infringement intended.
  • We registered the domain (just look at the whois date of registration!). We paid 40 euro for a full year plus whois information protection. However, we never received the confirmation email with the login details and we were never able to set this up. They also didn't answer our support ticket yet. We strongly recommend against using the domain provider.

Basic income

Original work by me (Dani Guardiola). CC0 1.0 - public domain license. Modified from an [old social security ad]

Built With

+ 4 more
Share this project: