Soul is here to help Local Exchange Trading System, which are organizations that enable the exchange of goods and services between people within a group.
Each group can create its own exchange unit, and so, within a local community, you can have a means of exchanging goods and services. We enable each community to create its own token.
The problem today is that often, everything is managed on paper for accounts, and each member receives a magazine with offers and requests, so there's a lot of delay and a lot of friction in exchanges.
The principle of these groups is to create solidarity and seek to create a social bond, so token trading is prevented to avoid any form of speculation outside the community. In addition, we've implemented two features to make trading more dynamic, which we'll explain in more detail below.
To solve the problem of spreading offers and needs for goods and services, we've developed an interactive map, enabling users to consult, add or pay offers.
As tokenomics is very important for a project of this kind, we're proposing a mathematical model we've developed, which incentivizes users to be regularly active on the platform with an inactivity fee, which increases progressively according to the length of user inactivity (the user will lose 5% of their tokens after a week of inactivity and 50% after a month, but it can be changed).
There's also a mechanism that boosts the first transaction with a person in a month, by allowing both participants in the exchange to benefit from a certain percentage of extra tokens (or fewer tokens to pay). This mechanism creates money, and mitigates the effect of the inactivity tax, while still encouraging users to spend their tokens, as each interaction of this type, as it creates money, decreases the value of what the other participants own (very slightly). Another advantage is to avoid the creation of closed circles by encouraging all members to interact with members with whom they have never interacted.
The project has a strong frontend dimension, with rather complex techniques employed (dropping an element onto a map and getting a pleasing UX/UI isn't that simple), so we learned to use the necessary tools (lots of React states) to succeed in getting the rendering we wanted.
There's also the smart-contract part, with a modification to ERC20 and the addition of our boosted transactions and inactivity tax system. Added to this was the functionality to prevent swapping. After several attempts, we succeeded in developing what we wanted.
We used The Graph, which we'd never used before, and had to learn how to use it, as well as, to a lesser extent, IPFS storage.