CircleCity | ETHPrague 2022


Today, large cities face many challenges, both ecological and societal. In recent years, particularly in France, we have seen the introduction of an ecological transition policy in cities. Many big cities are trying to solve major problems such as pollution, traffic jams, improving the living environment or promoting the local economy. Very often the decisions taken by the municipalities or the state do not satisfy the inhabitants and are often restrictive (speed limits in town, increase in the price of parking spaces, ecological taxes on cars, etc.). None of these measures directly involves and encourages the participation of the inhabitants of the city. In addition, the budget allocated for the ecological transition can be colossal for a European capital, in Paris this budget was 750 million in 2022.

Why, despite substantial budgets and measures taken, do the problems persist, and above all why do city dwellers not feel more involved?

It's quite simple: they do not feel rewarded and are not encouraged to be.

From this observation and the flourishing concept of DeSoc was born the CircleCity project.

We will offer municipalities a tool for managing and monitoring the eco-friendly activities of their inhabitants as well as tools to reward them.


To do this, each inhabitant will have a personal account via our application which will represent their transport/consumption ecological pass and will allow them to receive rewards.

The ecological actions eligible for token rewards are the purchase of public transport tickets as well as the purchase of local products. These tokens will allow access to offers/products in certain businesses or services (market gardeners, bike shops, local economy, etc.) to reward users of ecological modes of transport and consumption. CircleCityToken logo :

City Circle helps municipalities in their ecological transition by encouraging residents, who often see the ecological measures taken as constraints.

The creation and establishment of a local and ecological crypto economy have a double action:

  • encouraging the inhabitants to take part in the ecological transition of the city

  • support the local economy

What it does

We position ourselves as a service provider by proposing and configuring the entire project with the municipalities.

Our project consists of the following elements :

- For the inhabitant (user) :

A mobile-first DApp accessible for pre-registered users with classic credentials (id, pwd). This application will allow users (city residents) to access their CircleCity_token wallets to pay and receive funds.

The application will also offer a service for viewing C02 emission savings (carbon footprint) by the user.

The user will also find the offers and services for which he is eligible thanks to these CircleCity_tokens as well as the savings he will have made by choosing this method of payment at his local merchants.

Finally, it will be possible to view the entire transaction history, and the rewards soon are available if the resident continues his efforts.

- For the municipality (admin) :

We will offer municipalities an interface for managing the local crypto-economy of their cities. They will be able to view all of the local crypto activity, and the CO2 emissions emitted and saved by users, but also manage tokenomics according to the city's environmental budget. The city will also be able to manage the offers present for users (residents) at local merchants.

First of all, we will configure a centralized database containing all the residents with the information essential to the operation of the application and associate them with an ERC20 address.

For merchants, only those offering local products or being considered ecological will be integrated into the service in the same way as residents with certain additional attributes. This decision will be up to the municipalities.

Once the centralized database has been created, it will be linked to the smart contract using The Graph technology. The smart contract will deploy the city's ERC20 CircleCity_token and define all the actions that it will or will not be possible to perform. These possible limitations will be at the choice of the municipalities.

- For the merchants (user) :

Merchants registered as partners and eligible for the city's ecological transition program will offer specific offers to customers such as discounts on certain products when customers pay with their CircleCity_token.

For example, a product costing $10 may be priced at an equivalent of $8 in CircleCity_token, i.e. a reduction of 20% for the customer, and the municipality will be responsible for covering this difference of $2 and remunerating it to the merchant directly in CircleCityToken.

This economic model that we will detail later in this document makes it possible to incentivize users by offering them cheaper local products if they are paid in CircleCity_token while guaranteeing the merchant the same margin on their products because the municipality undertakes to cover the differences with their budget allocated to the ecological transition and the CircleCity project.

Our solution aims to be as user-friendly, scalable, and implementable as possible. This is why we have chosen to centralize the CircleCity wallet (custodial ERC20 wallet) and data on a database centralized by the municipality.

Here are the visuals of the mobile user application: It contains all the essential information for the user as well as its latest statistics.

Business plan and tokenomics

Firstly, we have to keep in mind that’s a local economy based on city budget and there is no (we want to avoid) speculation on the token. Only the municipality will be able to swap FIAT/CircleCityToken.

Our goal is to find the best balance between CircleCityToken in circulation and CircleCityToken in reserve (held by the municipality).

At the beginning of the year, the municipality will handle the total amount of tokens and then will reward the user with a part of it every time a user will take green transport.

Asset Valuation :

CircleCityToken is PEG to FIAT (euro for example) and backed by the municipality FIAT budget in euro.

As the CircleCityToken supply represents the total allowed budget, it has to get used only one time for a purchase. When the shop that accepts the token decides to withdraw (swap) their CircleCityToken treasury for FIAT, the CircleCityToken will be burnt. So the more token purchase transactions there are, the more the supply decreases until the end of the year before the new budget allocation and therefore the new CircleCity supply.

Then every year when a new city budget is voted, new CircleCityToken will be minted and sent to users.

CircleCityToken Tokenomic formulas :

  • Numbers of coins for 1€ = 100 CircleCityToken
  • We decided to fix this rate arbitrary to make it easier for the user (no little number such as 0.005)
  • Max supply = Budget of the city * Numbers of coins for 1€
  • Market Cap = Circulating supply * Coin price

Part 1 :

  • The average ride a day would be given by the city in function of its size
    • The number of users would be from 5% to 15% of the city population regarding if it’s a student city or not.
  • The number of eligible shop would be given by the city and determined if it’s part of the local economy.

Part 2:

  • Average ride a year = Average ride a day * 365
  • Budget allowed for each user = Budget of the city / Number of user
    • Budget allowed for each shop = Budget of the city / Number of shops
    • Number of token per User = Numbers of coins for 1€ * Budget allowed for each user
    • Token given for 1 ride = Number of coin per User / Number of ride
    • Total of coin = Budget of the city * Numbers of coins for 1€

Part 3 :

  • Average cost of a transport ticket in € is given by the city
  • Percentage of new users of green transport is an estimation
  • Percentage of benefit on the generated amount of money regarding the maintenance fees and worker’s payment we can plan to take 10%
  • Average money spent in transport by user over a year = Average cost of a transport ticket in € * Average ride a year * Number of users
  • New User = Percentage of new users * (Number of users/100)
  • Amount of money generated by new users in a year = New user * Average cost of a transport ticket in € * Average ride a year
  • Potential return on investment for transport = Percentage of benefit on the generated amount * (Amount of money generated by new users in a year/100)

Concrete example :

Let’s take the example of Paris. It’s a city that is facing some ecological issues and massive traffic jams, whereas the dedicated budget to ecology is consequent.

This is Paris 2022 budget’s allowed for the environment without employment taxes :

Our project could fit in different categories like “Air, energy”, “Transversal action”, and “Joint service” which represent 16% of the total budget which leads to 57.216 M€ of 357.6 M€. Let suppose the municipality can invest 17.5% (10M€) of 57.216 M€ budget in CircleCity project, we can set the CircleCityToken limit at the value of 100€ per user per year on a base of 100 000 users i.e. 5% of the Parisian population.

Let's study the simulation on the city of Paris based on the city's data :

Part 1 : Then we can determine the budget of shops and users :

Part 2 : Indeed, a budget of 10M€ for a 100 000 users base is equivalent to €100 per user based on an average of 1095 rides a year per user. This will grant more clients for local shops and for green transport. This budget will be utilized as a reward for the user to take the habit of using green transport and consuming locally. We want the rewards per trip to be proportional to the CO2 emissions saved compared to the use of the car. However, this solution requires precise access to the data for each trip, which we currently cannot have. This is why in our study we arbitrarily define the rewards for a public transport trip in a city.

Part 3 : Furthermore, we can plan on a return of 1M€ a year on an investment of 10 M€ a year thanks to new users for the municipality. If there is 10% of new users of public transport thanks to our solution, the city can plan on a return of 10 M€. Regarding the maintenance fees and worker’s payment we can plan to take 10% of this benefit which represent 1 M€. Finally, it will boost the local economy because more people will be using local transport and more people will buy in a local shop. A circular local economy will appear.

To recap the most important information about our implementation in Paris :

Finally, the number of token held by the municipality will decrease in the year and will stop when the total of coins will be fully dispatched. Each year will serve to adjust our model in terms of users and the way of dispatching tokens.


Our business plan is designed for our target audience, which is municipalities. Every city has different goals and expectations, which is why our Tokenomics and our overall solution must be flexible and adjustable. Municipalities have every interest in integrating such a project into their ecological transition plan because it can only be beneficial for them. It will finally push more people to use local transport and more people will buy in a local shop and there would be fewer cars in cities. Then it’s a long-term investment for the ecology and the economy of the city. It will create a circular economy and a part of the budget invested by the city will return to them and profit local shops.

Methode to calculate the carbon footprint

The distances traveled are calculated according to the model used:

  • by bus : distances as the crow flies,

  • by train/RER : distances as the crow flies,

  • by private car : distances as the crow flies corrected by a multiplier factor of 1.2.

Each section of the ride is treated individually, the emissions are then added together. Because it avoids the 0 distance traveled for a round trip. And it reduces the error of cumulative rides.

Emission by a car :

greenhouse gas emissions by car = total distance traveled x average urban emission factor

Emission by a public mode of transport :

Greenhouse gas emissions by public transport = distance traveled by transport x average transport emission factor + distance traveled by transport x average transport emission factor.

Saved carbon footprint :

saved carbon footprint = greenhouse gas emissions by car - Greenhouse gas emissions by public transport

Total :

We will calculate the saved carbon footprint of a user by adding the saved carbon footprint for each ride compared to a car. Total saved carbon footprint = Σ saved carbon footprint


Choosing public transport is choosing to consume an average of five times less energy and emit between 2 and 50 times fewer greenhouse gases than if you were using your car.

How we built it

First, we built a solidity smart contract using the ERC20 library that allows us to create the CircleCityToken template and define the rules associated with our economy. Namely, the transfer rules as well as the refund system: when a customer pays to a merchant, a reduction applies and the municipality (admin) is responsible for sending the compensation directly and automatically to the merchant. Then we deployed the smart contract on the Rinkeby network for tests. Subsequently, we set up a Graph via The Graph which allows us to retrieve off-chain user data stored in the municipality's centralized database. This allows us to avoid any synchronicity issues between data stored off and onchain. The centralized database makes it possible to store the same data as those on chain but by associating more details on the users, namely the name, first name, address... everything that is essential to a municipality. Finally, we created a frontend application (React) to connect the back and allow user login and token receive/send via the smart contract.

You will find more details on our GitHub repository.

Challenges we ran into

Our biggest challenge in the conception and realization of this project was to define the appropriate models to incentivize the inhabitants of a city using public transport while being in line with the expectations of ecological transition.

In addition, we had to analyze and understand the budgets allocated to municipalities to propose an economic model that is as relevant and adaptable as possible.

Our public target being the municipalities and therefore linked to the government, we had to think of a solution that was simple to understand and implement. Our choice of centralized access to the application makes it easier to manage the accounts of city residents and merchants. The same goes for the user interface. We do not want our application to be restrictive in use due to the technological barrier that Web3 can represent, which is why we use a custodial wallet and a classic login.

We had some technical difficulties, notably related to the Rinkeby test network and the reception of data via The Graph. We think that for future tests it will be wise to change the network.

Accomplishments that we're proud of

We are proud to be able to present such a complete prototype. Indeed, we were able to achieve a functional smart contract, a mobile-first DApp, and an economic model as complete as possible. In addition, we already have ideas for improvement and future development.


Our direct and only concurrent is ROB-app : It’s a Web2 application that rewards people who take common transport with coupons. Each kilometer is rewarded, and your account is linked with your credit card to list all your actions. It’s only installed in France in Paris for the moment but will expand in 3 other cities.

What's next for Circle City

From an economic point of view, we want to further develop the economic model and the possibilities of the local crypto economy to offer more services to users.

From a technical point of view, we would like above all to offer a mobile application to facilitate its use. For off-chain data retrieval, we would like to look at EIP-3668 to offer a recent and reliable technical solution.

We would also like to propose a multisig solution to increase the security of the protocol by using cold wallet Ledger and the technical solutions of gnosis-safe.

We also want to increase the accuracy of monitoring the ecological footprint of public transport users in order to reward them even more. To do this, we will need to have access to the data of the different journeys made by registered users and this will go through an API.

Finally, we would like to consider decentralizing our services as much as possible without reducing accessibility by, for example, proposing a DAO allowing the inhabitants of the city to vote for improvements in the living environment. To go further and join the DeSoc concept, we could consider adapting our technical solution to the model of “soulbound” tokens (SBTs).

We believe that Ethereum is the solution to build the societies of tomorrow (maybe DeSoc) and that we must continue to develop for a better future.

What we learned

We learned a lot of things in 48 hours! We are a small team composed of 4 French students and this hackathon was a real challenge for us.

We had to come up with a concept as quickly as possible when we arrived at the hackathon and then coordinate to produce the most complete and functional prototype possible.

We learned to conceptualize and describe in record time a viable economic model while proposing an interesting solution of use for each part of our solution.

The tools we used and some discovered are: The Graph, Next.js, Supabase, Notion, Github, Solidity, JS, and TS.


We used some resources to determine which tools to use to develop on Ethereum and EVM but also data to understand and target the issues facing municipalities today, particularly in the context of ecological transition.

  • Offchain data :

  • Municipality data :

  • Tokenomics :

  • DeSoc :

  • Other :



Built With

+ 40 more
Share this project: