What it does
Carpe Diem Savings is a decentralised framework that combines different types of savings accounts into one model and applies them to existing cryptocurrencies using blockchain-based smart contract technology.
On the platform, users can stake their funds to be eligible to gain rewards. They can stake any number of tokens for a certain amount of time (up to 5555 days). When a staking term has been completed and withdrawn within one week after maturing, the user’s principal is given back, as well as any rewards gained during the time that the stake was active. Penalties will be paid when the user withdraws a stake too early or too late. A percentage of these penalties will be used as a reward for the remaining stakers.
It should be noted that Carpe Diem doesn’t mint any new tokens to their active stakers. This means that the rewards solely rely on penalties paid by other stakers, making the number of rewards unknown ahead of time. Therefore, it is possible that a stake does not generate any rewards.
For each token, a separate staking smart contract could be deployed using a factory smart contract. Specific features for each staking smart contract can be set in the factory smart contract but cannot be changed once deployed. With different features for each staking contract, it is easier to embrace the featured cryptocurrency and/or adapt to the team’s wishes. It is possible to create multiple staking contracts for the same cryptocurrency.
Building upon existing ecosystems gives people the option to time-lock their cryptocurrencies, which decreases the liquid/circulating supply. The Carpe Diem contract may reward stakers when staking longer and/or bigger. Part of the revenue could be used for automated token burn.
When starting a stake, the user effectively buys shares. Rewards will be calculated for the user’s shares in proportion to the total number of shares. The number of shares received by the user for a certain number of tokens at a certain price can be increased using bonuses.
One long stake should always outperform a compounding strategy with multiple short stakes. Having the share price at a flat rate would mean that the user could buy more shares than he had when using both the principal and rewards from an ended stake, thus outperforming longer stakes (more shares yield more rewards). To solve this issue, the global share price is automatically adjusted when someone ends a stake with rewards.
The user’s contribution of purchased shares can be increased with the Longer Bonus and the Bigger Bonus.
The Longer Bonus rewards users who have locked their funds for a long time. The amount of this bonus grows linearly from 0% to the maximum Longer Bonus percent, reaching a maximum at a certain length.
The Bigger Bonus rewards users who have locked more tokens. The amount of this bonus grows linearly from zero to the maximum Bigger Bonus percent, reaching a maximum at a certain number of tokens.
Note: when deploying a contract, the maximum bonus percent can be set to 0, disabling one or both bonuses for certain token pools.
Users can deposit additional tokens into an already existing stake, effectively buying more shares for that stake at the current share price. This will increase the Bigger Bonus multiplier for that stake, which results in more shares than if the user had deposited the tokens as a separate stake. This feature encourages users to set a savings plan with the ability to deposit tokens on a regular basis.
Of course, for fair gameplay, adding more tokens to the stake will calculate the Longer Bonus from the moment the new tokens are added, making no difference compared to separate stakes. The Longer Bonus shares for the already deposited amount will remain the same.
Note: a side effect of increasing the user’s contribution will be an increase in the size of the potential penalty for early exit.
In emergency situations, users can end their stake at any time. When early ending stakes, penalties are paid for breaking the staking agreement. The number of penalties to be paid starts at 100% of the principal and rewards combined and ends at 0% when the stake is completed.
The protocol provides an additional penalty for those who do not withdraw within the first week after the end of the stake. After the first week has passed, the user’s rewards begin to be penalized, and the penalty increases by 2% each following week. After 50 weeks, only the user’s principal will be left.
The penalties will be distributed among different pools and wallets:
Stakers (rewards) A big part of the revenue will be distributed back into the staking pool, rewarding active stakers.
Token burn A function that could be enabled that will send a percentage of the penalties to a blackhole account. This will burn those tokens forever and helps ecosystems to increase deflation.
Community fund To help ecosystems get more use cases, a community fund address might be set. Carpe Diem will hand this wallet over to a premium part of the community, who can decide which projects they want to embrace with a little financial help.
Charity fund Part of the revenue will be sent to a separate address. The charity will be chosen to fit within the ecosystem and will be discussed with its community.
Developer revenue A minimum of 10% from the revenue will be given to Carpe Diem. This address is not necessary the deployer address
Please also visit our page in the TRONDAO forum for more information and documents (pitch-deck & whitepaper).
Since I discovered HEX, I found it an inspiring model. In the beginning, there were a lot of general concerns, one of them being: “HEX pays the rewards using inflation, so the total supply will grow, and the market price will go down”. Such statements were not at all true, but they made me think: would it be possible to create a similar model for other cryptocurrencies? I have multiple coins and I would like to stake them in a CD, however, as I want to HODL these, I don’t want to sell them and buy HEX just to participate in a CD.
For me, my vision and principals are very important. They are more important than money. As I knew creating such project, I had in mind wasn’t the easiest to make it profitable, I knew nobody would build something like this, but me. I wanted to have this platform for my own coins, so in the first place, I created the project for myself.
There are plenty of valuable cryptocurrencies out there and it didn’t make sense to me creating a new cryptocurrency with no use cases and which is just a copy of something that already exists. I think, building on other cryptocurrencies makes more sense, I hope to contribute by providing more use cases and adoption, while at the same time having one of the best financial models integrated in our platform.
Most projects deploy their own token, as that is the easiest way to gain a lot of money quickly. In many cases, I find it really disturbing to see all these coins, who generate a ton of money, while not being unique, then scamming their users. For me, I win when my users win (the revenue for us is linked to the revenue for stakers). I hope I can inspire others to build upon existing cryptocurrencies. That is also a reason why I introduced the community fund: a fund to stimulate others to build upon the given cryptocurrency.
How we built it
In the first months, I started writing down the idea. At the same time brainstorming about functions, strategies, and what not.
When I felt ready, I started looking for freelance developers. This was a painful process as I have been working with several developers which were not doing what I wanted them to do. So, I had to start over multiple times.
Eventually, I found a company called SFXDX who have a lot of experience, an amazing all-round team, and exceptional communications. I am happy that I found them.
We started on the smart contracts. Then, when they were nearly done, we’ve done two independent smart contract security audits. From then, we started on the interface and databases, and are still working on that.
We will be launching on several blockchains, starting with TRON and BSC. Currently, most of our partners are on TRON.
Challenges we ran into
Our idea was to build in secret and have a surprise launch. While it is not only very difficult to not talk about something you are really excited about, we also missed some opportunities to get additional funding. We hoped to have everything ready before the deadline of the hackathon, but we need a bit more time to finish everything up. Still, we are applying to the hackathon, and with that revealing our project for the first time.
Already talked about this a lot, but one of our challenges was time. While not having announced a launch date, we have been delayed to our own roadmap multiple times. Especially the stake upgrading function was tricky and took a lot of time.
Another challenge was finding pre-launch partners. 99% of the tokens are worthless, and then from the other 1%, it was hard to connect with them. We still don’t have the number of partners we hoped to have before launch.
Accomplishments that we're proud of
- Creating a new model for calculating rewards, reducing the network fees significantly for long stakes
- Creating a stake upgrading function (which was a lot of effort)
- Having done two security audits
- Having an amazing visual appearance
- In the meantime, our main admin Willem created Discord price bots, which we are hosting for some projects
What I learnt
I have learnt that development takes a lot of time. When something is wrong, it might cost months to redo everything.
Being the leader of a projects comes with a lot of responsibilities. I couldn’t imagine this when I started the project. I will take great care for Carpe Diem and hope to be and remain an amazing leader.
What's next for Carpe Diem Savings
- Testing the platform with the team (in progress)
- Launching on TRON with at least 3 partnered tokens, expanding over time - connecting many projects within the TRON ecosystem.
Further in the future:
- Optional: reviewing and changing the entire backend to enhance the user’s experience. Now the database is updated on a time clock. It would be nice if it updates directly after a user has staked, so it appears immediately
- Optional: launching on BTTC (need to be sure that a token + the network will exist for at least 15 years, without centralization issues)