Inspiration
Rumble was created with the idea of community and rewards in mind. In essence, Rumble will enable anyone in Evmos, whether it is from a community or directly from a project, to further engage with their community in a fun and entertaining way.
Rumble is a fully decentralized and provable raffle system right in the Evmos chain. This means that anyone can come and create or buy into a raffle and have a chance to win or give out amazing prizes in a decentralized way!
As our submission for the Momentum Hackathon, we decided to release this project following the NFT and Game-Fi track. At its core, Rumble was built as a raffle system, but its verifiable randomness technology opens up a realm of possibilities that extend to what can be done with a traditional raffle platform.
What it does
Rumble raffles work by having users mint an NFT ticket, which works as their entry to the raffle, and gives them a claim to the prize if they are selected as a winner
To create a raffle:
-The user selects what type of raffle they want (ERC-20 or ERC-721) -A prize needs to be chosen and deposited into the Rumble contract -The user chooses the supply of NFT tickets and their price -A duration and conditions are set for the raffle -Raffle is deployed!
To participate in a raffle:
-User can browse all active raffles by category -Once one is chosen, the user can select how many tickets to mint -Once minted, the user waits until the raffle is over -After the raffle ends, the user can simply click on the raffle can claim the prize! -Prize is sent automatically from the Rumble contract to the user’s wallet. No intervention from the team needed.
With Rumble, the OA team seeks to change how projects and influencers in the space interact with their communities, and how communities interact with each other. Rumble eliminates problems with giveaways and events that require random results, and provides this key infrastructure to the open public. We’re excited to see what this brings and what types of Raffles you create! The possibilities are endless.
And the best part is Orbital Ape holders will receive 20% from all profits generated by the platform!
Use Cases
We believe randomness and on chain verifiability raise the bar for Rumble and have planted several use cases where this technology can bring something of value to the table.
Use Case 1: Sale of High Value NFTs
Many users look for the rarest NFTs available as they love them for their value, and the ability for these to fetch high prices with the development of a project. When trying to sell one of these, the owner may face complications as they need to find a single buyer that is willing to pay what the NFT is worth according to the market. This could result in the owner not being able to sell the NFT fast, or not being able to fetch the true value of the NFT in the sale.
Rumble allows for greater access to users that enables high ticket sales to happen with ease. In a hypothetical scenario, a user could create a raffle with 1000 tickets to be sold, at 5 Evmos each, to fetch a total of 5K Evmos for the NFT. This goes in contrast with finding just a single buyer for the 5K NFT, thus significantly improving the chances for users to move and trade assets of high value. Not only this, but the winner could potentially get this extremely rare NFT paying the price of just 5 Evmos, further adding to the thrill of this use case.
Use Case 2: Giveaways and Promotions
Twitter has become the platform of choice for giveaways, and bots like Twitter Picker serve as the tool to select a winner in a “transparent” way to the user. While this is certainly effective and simple, these giveaways are still plagued with complaints of unfairness as the true randomness of the giveaway method can’t be fully verified. In this scenario, Rumble would act as the definitive solution to verifiably random results, as winners are picked on-chain and in a transparent manner so there is no way of intervening with the choice and users can verify for themselves by following on-chain activity. This method provides the best tool for giveaways and will greatly increase engagement a project or influencer can have with their audience. To further boost this link, we will verify projects and influencers to display their names in their profiles and give them the ability to create verified raffles. Users will always know what their favorite project is doing!
Use Case 3: Showdown
A little bit of betting is always fun and crypto users love it. So, why not set up a small raffle where you can face off someone else. For example, a user can create a raffle for 100 Evmos and sell two tickets to the raffle for 60 Evmos each. With this, a user that buys one of the tickets gets the chance to get the pot of 100 Evmos and gets to have a thrilling experience.
The Raffle creator has an edge when playing as the house, and the raffle participants can potentially take home the grand prize! A little risk for some fun!
How we built it
Rumble uses solidity smart contracts to allow users to create decentralized raffles for Evmos tokens, ERC20 tokens, and NFTs. When a raffle is created a new ERC-721 contract is automatically deployed, tickets purchased for this raffle are ERC-721 tokens from this new contract and the prize is locked into the smart contract. Once a raffle has passed its end time or sold out a winner can be selected.
Winners are selected using the DIA oracle which provides random results to evmos. First a transaction is submitted to lock in a future randomness round from the DIA Oracle, once the DIA Oracle has reached the future round, another transaction is submitted to get the random result from the round and this result is then used to select a winner from the raffle sale using the the ID of the ERC-721 tickets. Winners are automatically sent their prizes (token/NFT) in this process.
Any user can submit transactions to result pools and future results are unknown until the process has completed allowing the selection of winners to be completely trustless.
We host our own graph protocol to index the events of our smart contract and sync the database to the current state of Rumble.
The frontend queries our graph to allow users to view current raffles, purchase tickets to raffles, create new raffle pools, and view past raffles.
Challenges we ran into
No Randomness Oracle on Evmos
At the start of the hackathon there was no randomness Oracle on Evmos. To create the protocol in a trustless manner an oracle was needed for Rumble. To solve this our team spoke to multiple oracle providers to try to convince them to launch on evmos and eventually created a proposal on evmos to help support the launch of DIA on evmos which is used as a source of randomness for Rumble.
https://commonwealth.im/evmos/discussion/6662-passed-fund-dia-randomness-orcale-gas-fees-for-1-year
Accomplishments that we're proud of
One of the major things we achieved was to help the DIA team bring their Randomness Oracle technology into the chain. The process is explained above, but it was a good learning experience to go through the evmos governance process and successfully raise funds for a project. We believe this is very valuable in evmos, as not only us but anyone else can submit a logic proposal with a foundation as to why it provides value and use the help of the community to fund a project or bring any type of new technology into the chain. Having this proposal pass on-chain was a big success for us.
We're also proud of having built a fully decentralized raffle system, as this creates an opening for the community to interact with it. Everything done in Rumble is permissionless
What we learned
When working on this new project, we found out that the technology we are building had way more uses than we originally imagined. A decentralized raffle system is certainly innovative in our eyes, but having a Randomness Oracle powering our platform enables us to increase this usage to various other applications and we intend to apply them to Rumble in the future. The lesson we have now is that if we build a strong foundation, we'll be able to build significantly more on top.
What's next for Rumble by Orbital Apes
Future upgrades
Rumble smart contracts are built in a modular way to allow easy upgrades and new types of raffles to be added in the future.
Some of the new types of raffles we plan to work on in the future are:
Whitelist based (private) raffles In this type of raffle, owners will be able to upload a list of EVM addresses to be whitelisted to mint/purchase raffle tickets. Addresses that are not in the whitelist will not be able to purchase raffle tickets. An interesting integration would be adding the possibility to whitelist addresses from a typical twitter giveaway. Raffle owners will be able to input a link to a twitter post and Rumble will automatically gather the EVM addresses in the twitter post comments.
Auto funded raffles These will be ERC20 prize raffles where the prize of the raffle is the sum of all the tickets purchased.
Lossless raffles
Note: For these raffles we need EVMOS upgrade to enable delegating from smart contracts
In this type of raffle the EVMOS tokens used to purchase tickets will be staked by the raffle smart contract. The contract will then claim the staking rewards on a periodic basis (every two weeks for example) and send the claimed rewards to a randomly chosen winner.
Once raffle participants no longer wish to be part of the lossless raffle they will be able to submit an undelegation request and recover the EVMOS used to purchase tickets after 14 days.
Log in or sign up for Devpost to join the conversation.