The limited availability of open source staking platforms in the Cardano ecosystem. This restricts users' choices and hinders the growth and decentralization of the network.
We will enhance and open source Rats DAO Staking Smart Contracts to provide more open source staking options in the Cardano ecosystem, addressing the limited availability problem.
This is the total amount allocated to RatsDAO I Staking Platform Improvement.
Agustín Franchella. Rats DAO Co-Founder.
Manuel Padilla. Full-time Haskell & Plutus developer.
Diego Torres. Rats DAO Co-Founder.
Federico Ledesma. 1MATE SPO. Rats DAO Team.
NFTY Rabbit. Rats DAO community lead
JRat. Rats DAO community lead
No dependencies.
Project will be fully open source.
Rats DAO staking portal is currently being used by Rats DAO, Onesies NFT project and ALDEA DAO and potentially for many other projects. The platform has some limitations that we want to improve by:
This will be open sourced and will be a public good for Cardano Blockchain, other projects will be able to use our front end and our staking platform.
Upgrades for V 2.0
Creation of the RATS Staking Protocol
In the current version, the pool contracts are independent and there is no way to set parameters that govern them all. However, when creating a protocol, it is possible to establish an administration context where all pools are included.
Within this context, it is possible to set general recommended parameters and limits for some of the fields required to create a pool. These parameters can serve as guidelines and recommendations for users when creating new pools, helping to maintain a certain coherence and cohesion in the protocol.
Creating Staking Pools
In the current system, there is a significant barrier to entry for users or DAOs who want to create their own staking pools. This complexity discourages many potential pool creators and limits the growth and diversity of the ecosystem.
Our project aims to simplify this process by creating a user-friendly interface for staking pool creation through a REST API. This API will abstract away the complexities of smart contract programming and protocol interaction, providing users and DAOs with a simple, straightforward method for creating their own staking pools.
The API will provide endpoints that allow the client to define parameters for a new staking pool, such as the staking token, reward token, and pool parameters. The user or DAO would make an HTTP request to these endpoints, providing the necessary parameters. The API would then handle the rest, generating the required smart contracts and deploying them to the Cardano blockchain.
This process significantly lowers the barrier to entry, allowing more users and DAOs to participate in the staking ecosystem, and fosters greater diversity in the types of staking pools available. Moreover, it democratizes access to blockchain technologies, enabling a broader user base to leverage the advantages of decentralized finance
Interacting with the Staking smart contracts
Currently, the interaction with the staking smart contracts is largely limited to our platform. This is due to the technical complexity and specialized knowledge required to manually interact with these contracts, including understanding the contract's functions, handling transaction signatures, and dealing with blockchain confirmations. This not only limits the accessibility of our platform but also prevents integration with other services or applications that may want to leverage our staking infrastructure.
With the introduction of the REST API, we aim to simplify and standardize interactions with our staking smart contracts. The API provides a clear and structured way to interact with the contracts, regardless of the client platform or programming language.
By providing clearly defined API endpoints, users can easily interact with the staking pools. For example, endpoints can be used to query pool data, make deposits, withdraw funds, reinvest earnings, and more. These requests are made using standard HTTP protocols, making them accessible from any application capable of making HTTP requests.
Through this enhancement, we aim to ensure that our staking platform is not only more accessible and user-friendly but also primed for integration with the broader blockchain and DeFi ecosystem.
Commission system for the Protocol
In the existing version of the protocol, the financial responsibility lies with Protocols and DAOs that aim to implement a new pool. They are the ones who contribute payment to the Protocol. However, in the upcoming version, we are shifting this payment obligation from the pool creators to the end-users who utilize these pools.
This change opens up new opportunities for staking pool creators. In the new system, not only will they be able to create and maintain their pools but they'll also have the chance to earn commissions from the usage of their pools.
In this updated system, fees will be levied on users' transactions such as deposits, harvests, and withdrawals. The management of these commissions will be delegated to a commission contract. The revenue generated from these commissions will then be distributed amongst the protocol's core team as well as the creators of the staking pools.
The protocol's commission serves multiple purposes. Primarily, it provides the necessary funds to maintain the protocol service and cover fixed expenses. Additionally, it provides the resources to staff a team dedicated to handling user queries. It also paves the way for the development and implementation of both protocol improvements and website upgrades, as well as other activities related to enhancing the user experience and functionality.
To ensure full transparency in the collection and distribution of these fees, all transactions will be recorded through a smart contract. This will give clear visibility of the commission process, reinforcing trust and reliability in the protocol.
Receiving rewards in more than one token
Pools will be able to be configured to deliver more than one token in the form of rewards. In the current version each pool has one investment unit and one reward unit. We want to enrich their functionality by allowing pools to deliver more than one token per deposit, i.e. to have several harvest units, each with its payout coefficient depending on the deposit.
Example: deposit rats and receive Min, Rat and NMKR.
Re-investing rewards
In the current version, when a user wishes to re-invest his rewards in funds he must cash his rewards and create a new deposit with those tokens. However, by doing so, he loses the benefit of the seniority accumulated in his first deposit, since they are considered as new deposits.
The proposed solution consists of modifying the amount of the first investment by adding the tokens without modifying the harvest date, taking full advantage of the seniority of the existing deposits. In this way, the loss of the accumulated seniority is avoided and its effect on the deposits is maximized.
In addition, this solution allows the entire reinvestment process to be performed in a single transaction instead of requiring two separate transactions.
On-chain metadata
We can achieve this by:
1- Backend signing with a special wallet the metadata in question. This signature is sent together with all these fields in the redeemer and the public key of the wallet used to sign. The contract performs a verification of this signature. If they match you can be sure that the metadata sent in the redeemer is valid.
2- Backend that generates an on-chain datum that the smart contract can then review. It has the complexity of requiring two transactions. One that generates the on-chain datum and the deposit transaction itself. The user must also pay in advance the fee for the transaction to be performed by the backend.
In both cases the backend must have the necessary security to work on its own and sign with a special wallet.
Set the name of the UD token when creating the pool
We seek to improve the experience by allowing the pool creator to set the name of the token that will be granted as proof of deposit, instead of having a fixed name set in the code as in the current version where we have the so-called User Deposit Tokens (UD). This will allow for greater customization and tailoring of the token to each specific Pool, providing a more unique and personalized experience for users.
Contract bridging between many tokens to a single token
There are currently limits on the number of tokens with the same token but different name that can be added to each deposit. The current limit for our contracts is 20 tokens per transaction and is based on the amount of resources needed to process the transaction, as transactions with a larger number of tokens require more resources.
We propose to implement an alternative token blocking and minting contract. In this contract, the original tokens will be blocked and, in exchange, new tokens with a unique name will be minted. These new tokens will be the ones used for staking, while the original tokens will remain locked and can be retrieved by the original owner in exchange for the tokens received.
Site admin wallet management
There are many functionalities on the site that are restricted to certain wallets and these are currently set in server environment variables. To improve the management of wallets and functionality restrictions on the site, it is proposed to create a database to manage these wallets more efficiently. In this database, it will be possible to visualize and modify the configurations related to wallets and functionality access restrictions.
REST API
To bolster the seamless interaction of users and developers with our platform, we are rolling out an advanced REST API for the staking protocol. This API isn't just an ordinary interface; it is a gateway designed to be leveraged by DAOs to create their own staking smart contracts with increased ease and convenience.
With this REST API, developers and DAOs will have the ability to readily access and retrieve vital data from their staking pools and associated deposits. This includes real-time status, transaction history, and other crucial data that can aid in efficient decision-making. This feature allows DAOs to obtain specific pool details and display them in a manner that suits their platform, contributing to enhanced transparency.
However, the REST API isn't just for fetching data, it's also an enabling tool for meaningful interaction with pools and deposits. Users can perform a variety of actions such as creating new deposits, withdrawing existing ones, or executing various other interactions. Upon processing these requests, the API generates the appropriate transactions and communicates them back to the frontend initiating the API call.
The REST API offers a standardised and universally accessible interface for interacting with our protocol contracts. It's versatile and platform-agnostic, making it easy for developers and DAOs to incorporate the protocol's functionality into their own platforms or applications. Whether it's a web application, a mobile app, or any other client that can communicate with the API, users can initiate API calls from anywhere.
To further streamline the integration process, we are providing pre-built React button components. These encapsulate all the necessary functionality for invoking the REST API. With these components, developers can embed buttons in their user interfaces, initiating the corresponding API calls with a simple click. This simplifies the effort required to interact with our protocol's contracts and enhances the user experience.
Moreover, the REST API also allows DAOs to showcase their pools on any platform they prefer. They can customize the display and interaction with their staking pools based on their unique needs, leading to a more tailored experience for their users.
Testing and QA
We will perform a comprehensive internal testing using Plutus Simple Model and Tasty. This will allow us to perform unit and per-property tests on each of the contracts and redeemers present in our system. We will also be able to simulate real protocol transactions, using multiple contracts in a single transaction. Our approach focuses on defining unit cases and properties to ensure complete coverage, as well as identifying and addressing more complex interactions that can be performed using the protocol. Through these comprehensive tests, we seek to ensure the robustness and security of our protocol.
During the audit process, we will be on the lookout for any vulnerabilities or weaknesses in the design and implementation of contracts and redeemers. Should we find any flaws, we will take the necessary steps to correct them and improve the security of the system. Our ultimate goal is to build confidence in our users and ensure the integrity of our protocol.
Our proposed solution to enhance and open source Rats DAO Staking Smart Contracts addresses the challenge of limited availability of open source staking platforms in the Cardano ecosystem. By doing so, it brings several benefits to the Cardano ecosystem:
Measuring the success of our project is multi-faceted, and it involves understanding the direct and indirect benefits that we bring to the Cardano ecosystem. Here is our approach to this task:
Quantitative Metrics:
Qualitative Metrics:
In the short term, our project aims to drive innovation within the Cardano ecosystem, boost its productivity through collaboration, and enhance the security and versatility of staking smart contracts. Our REST API and smart contracts are designed to streamline and secure the staking process, encouraging participation from both users and developers.
Over the long term, we expect to see growth in the number of users and DAOs participating in staking, thereby increasing network decentralization. The ease of creating and managing staking smart contracts through our REST API should attract new entrants, strengthening the Cardano network's resilience and growth.
Although every metric may not be quantifiable, the combination of data from usage, community engagement, user feedback, and decentralization trends will give us a holistic understanding of our project's impact on the Cardano ecosystem. We believe these measures are realistic and give us an accurate assessment of both our project's and Cardano's growth trajectories.
To share the outputs and results of our project, we have the following plans:
Rats DAO is one of the first DAOs in Cardano, with a large community. 10,000 minted NFTs and 3,902 holders, a Discord with 6130 members and 10500 followers on Twitter. We currently have a decentralized multi-signature treasury with about 1.5M ADA in assets including some of the most important NFTs of the Cardano ecosystem, such as Clay Nation, SpaceBudz and others, that can be visualized in $RATSDAO AdaHandle (https://pool.pm/$ratsdao).
Our team possesses the necessary capabilities and experience to deliver the project with high levels of trust and accountability. Here are the factors that demonstrate our suitability:
Our project's primary goals revolve around enhancing and popularizing the usage of ours Staking Smart Contracts within the Cardano ecosystem. Here are our specific objectives and the strategies to validate their achievement:
Validation Approach: The proof of our success lies in the successful deployment and operation of these enhanced smart contracts. This will be demonstrated by the seamless execution of staking operations, as observed through our tracking metrics, and the absence of any critical security or functional issues.
Validation Approach: The open sourcing of our smart contracts will be validated by their public availability on a well-recognized open-source platform like GitHub. The validation will further be confirmed by the degree of community participation in terms of contributions to the code, forks of the repository, and other feedback mechanisms available on the platform.
Validation Approach: We'll validate this goal by tracking the usage of the API endpoints. Higher usage indicates increased adoption and a successful implementation.
Validation Approach: Success in this aspect will be gauged through various methods including user surveys, feedback sessions, and direct community engagement. We'll monitor the rate of user adoption, gather qualitative feedback on user experiences, and keep track of the level of community engagement.
These goals align closely with the demands of our use-case and project, and while some of them may not be quantifiable numerically, we believe that they offer a comprehensive assessment of the project's success. By continuously monitoring these indicators, we can ensure that our approach is yielding the desired outcomes.
Milestone 1: Planning and Design (1 Month)
Acceptance Criteria: A detailed project plan with identified requirements, finalized architecture designs for smart contracts, and a well-defined feature set for the REST API and the database system.
Milestone 2: Smart Contracts Development - Part 1 (1 Month)
Acceptance Criteria: Successful development and initial testing of the first set of new features for the staking protocol, with all features functioning as per design.
Milestone 3: Smart Contracts Development - Part 2 (1 Month)
Acceptance Criteria: Completion of all remaining features with no critical issues discovered during internal audits.
Milestone 4: REST API and Database Development & Initial User Feedback (2 Month)
Acceptance Criteria: Successful deployment of the REST API and the database system on the testnet with positive initial user feedback. Any identified issues or areas of improvement must be manageable within the project scope and timeline.
Milestone 5: Refinement and Preparation for Mainnet Launch (1 Month)
Acceptance Criteria: All user feedback addressed, guides for custom frontend implementation completed, and system ready for mainnet launch, with all final tests and audits passing.
Milestone 6: Final Deployment and Marketing (1 Month)
Acceptance Criteria: Successful mainnet deployment with all final tests passing, successful marketing initiatives with positive user and DAO feedback, and prompt resolution of any identified issues post-deployment.
Milestone 1: Planning and Design
Milestone 2: Smart Contracts Development - Part 1
Milestone 3: Smart Contracts Development - Part 2
Milestone 4: REST API and Database Development & Initial User Feedback
Milestone 5: Refinement and Preparation for Mainnet Launch
Milestone 6: Final Deployment and Marketing
Measuring Project Progress:
These measures will provide insights into the progress and impact of the project, ensuring that the goals and objectives are being achieved effectively.
This are the roles we need:
The project manager will oversee the entire project, ensuring that the team meets deadlines and stays within budget. He will also be responsible for coordinating the team and managing any risks or issues that arise during the project.
Designs and oversees the technical aspects of software projects, including system architecture, technology selection, and performance optimization. He provide technical guidance, integrate system components, and ensure alignment between business requirements and technical solutions.
This person will be responsible for designing and developing the smart contracts and Staking Protocol. He will also be responsible for addressing any issues that arise during testing and deployment.
The Web Developer will have both front and back end responsibilities. He will create the REST API and the database system. Also, He will work on integrating the new smart contracts into the staking platform, ensuring a seamless user experience.
Handles the deployment, automation, and maintenance of the project infrastructure. He sets up and manages development environments and ensures smooth deployment and integration of the project components.
The QA Tester will conduct comprehensive testing throughout the project to identify any issues or bugs in the protocol, the smart contracts, REST API and the web. He will work closely with the developers to ensure that the developed systems function as expected. He will identify potential vulnerabilities and recommend fixes.
This person will plan and execute the pre-launch and post-launch communication and marketing efforts. They will also be responsible for reaching out to other DAOs to encourage them to use the platform.
Milestone 1: Planning and Design
Project Manager: 40 hours * 100 ADA per hour = 4,000 ADA
Blockchain Developer: 40 hours * 200 ADA per hour = 8,000 ADA
Technical Architect: 60 hours * 133 ADA per hour = 8,000 ADA
Web Developer: 20 hours * 200 ADA per hour = 4,000 ADA
Subtotal: 24,000 ADA
Milestone 2: Smart Contracts Development - Part 1
Project Manager: 10 hours * 100 ADA per hour = 1,000 ADA
Blockchain Developer: 120 hours * 200 ADA per hour = 24,000 ADA
QA Tester: 40 hours * 133 ADA per hour = 5,333 ADA
Subtotal: 30,333 ADA
Milestone 3: Smart Contracts Development - Part 2
Project Manager: 10 hours * 100 ADA per hour = 1,000 ADA
Blockchain Developer: 120 hours * 200 ADA per hour = 24,000 ADA
QA Tester: 40 hours * 133 ADA per hour = 5,333 ADA
Subtotal: 30,333 ADA
Milestone 4: REST API and Database Development & Initial User Feedback
Project Manager: 20 hours * 100 ADA per hour = 2,000 ADA
Web Developer: 100 hours * 200 ADA per hour = 20,000 ADA
QA Tester: 40 hours * 133 ADA per hour = 5,333 ADA
DevOps: 40 hours * 133 ADA per hour = 5,333 ADA
Subtotal: 32,667 ADA
Milestone 5: Refinement and Preparation for Mainnet Launch
Project Manager: 30 hours * 100 ADA per hour = 3,000 ADA
Blockchain Developer: 50 hours * 200 ADA per hour = 10,000 ADA
Web Developer: 50 hours * 200 ADA per hour = 10,000 ADA
QA Tester: 20 hours * 133 ADA per hour = 2,667 ADA
DevOps: 30 hours * 133 ADA per hour = 4,000 ADA
Subtotal: 25,667 ADA
Milestone 6: Final Deployment and Marketing
Project Manager: 30 hours * 100 ADA per hour = 3,000 ADA
Marketing and Communications Specialist: 40 hours * 67 ADA per hour = 2,667 ADA
QA Tester: 25 hours * 133 ADA per hour = 3,333 ADA
DevOps: 30 hours * 133 ADA per hour = 4,000 ADA
Subtotal: 13,000 ADA
The cost of the project represents value for money for the Cardano ecosystem due to several factors:
Overall, the project's cost represents value for money by leveraging the team's expertise, allocating resources appropriately, contributing to the open-source community, and driving community engagement within the Cardano ecosystem.
Project Manager
Team Leader, Financial & Legal Advisor:
Technical Architect:
Marketing and Community Manager:
Partnerships & community growth:
Technical communications:
Full Stack Developers:
Smart Contract Developers:
DevOps Engineers:
Quality Assurance Specialist:
UI/UX Designer:
Agustín Franchella, Project manager
Agustín has been involved in the Cardano community for several years and has contributed to various open-source projects. Deep understanding of blockchain technology and extensive experience in project management. Python enthusiast.
Experience in Cardano:
Links:
Diego Torres, Corporate Financial Expert
He is a corporate financial expert with years of experience in the private sector and the academic environment. He provides overall strategic direction and leadership for the project. He ensures the project aligns with the team's vision and goals and manages stakeholder relationships.
Experience in Cardano:
Links:
Federico Ledesma, Business Developer
Stake Pool Operator [1MATE]. Business Manager with expertise in multiple environments and over ten years in the blockchain. Blockchain enthusiast since 2013 plan.
Experience in Cardano:
Links:
Luis Restrepo, Blockchain Developer & Technology advisor and Educator
Luis Restrepo brings 20 years of experience working in multi-cultural environments and in several initiatives in technology and in Cardano Blockchain. Starting as a Stake Pool Operator (Ticker: Moxie), his journey in Cardano has been full of initiatives and projects, from DeFi protocols to educational platforms focused on the Latin American community.
Experience in Cardano:
• Cardano Developer Professional instructor at Emurgo Academy. Instructor of the Cardano deep dive concepts and Plutus Smart Contracts development.
• EdTech platform for Latam - Ayllu Academy developer. Integrating Cardano blockchain and Smart Contract developer with the platform.
• Python Library, React interface, and AWS IOT Architecture to communicate and interact with the blockchain
• Member founder of a startup company for tree tokenization project in Colombia, South America, and CO2 retention incentives.
• SPO in Cardano Blockchain. Ticker: MOXIE.
• Known programming languages: SQL, Python, JavaScript, TypeScript, Haskell, Plutus.
Links:
Mariano Molina, Golang Developer, Quality Assurance & Testing
Experienced Senior Golang Developer with over 16 years of experience in software development. Strong background in Go programming language and a passion for staying current with the latest technology trends. Proven ability to lead and mentor development teams to deliver high-quality software on time and within budget.
Links:
Manuel Padilla, Lead Software Engineer & Blockchain Specialist
Versatile system engineer with a Bachelor's degree in Technology from the National Technological University. Having a plethora of programming languages under their belt, including but not limited to SQL, Basic, C, C++, VB, .NET, Java, JavaScript, TypeScript, Python, and Haskell, He brings over 13 years of experience in web development and software engineering.
Experience in Cardano:
dApps:
Links
Alfred Vilsmeier
He is a highly skilled tech enthusiast with over 22 years of experience in the IT field. Alfred is well-versed in various areas, including scripting, Database Administration, Networking, Security, and Cardano node management. With his extensive experience, proficiency in various domains, and a keen interest in blockchain development, Alfred is well-equipped to tackle complex challenges and contribute to the advancement of technology in the ever-evolving landscape of the IT industry.
Experience in Cardano:
Links:
Elio Esis, Web Developer
Web developer with experience in vanilla JS, REACT, Angular, NextJs, and TypeScript. Knowledge of Node ExpressJS and Java Spring backend. Development of static and dynamic responsive pages. Web developer experience in Cardano Blockchain using Lucid-Cardano, interaction with the wallet, and assembly of transactions.
Links:
JRat - Rats DAO Community Manager
jRat is a motivated RatsDAO Community Manager and a local business owner. Jay has a strong background in technical writing and content creation. He knows how important Cardano is for gaining more adoption across the crypto space and to non-crypto users.
Role: Creating comprehensive documentation and user guides and managing community engagement activities.