This is a personal problem I've encountered countless times with my friends. Two people make a bet, whether it's on an election result, stock prediction, a free throw shot, if our friend will finally propose this year, etc., and no matter what happens, each side inevitably starts arguing why they actually won. Often, bets get forgotten over time or complained away without any meaningful enforcement, which is no fun for the group.
Bets With Friends fixes this by turning these friendly wagers into an on-chain game. Each wager is a smart contract with two bettors and a decider. The bet is locked when each bettor pays the wager until a result is determined. This app uses a "Dictatorial Oracle" where reality is whatever the decider of the bet chooses. They pick either a winner to receive the entire wager or invalidate the bet and refund both parties. Depending on the dynamics of the group, this can guarantee accuracy, prevent collusion, or spark an "Apples to Apples" style debate to sway the will of the decider.
This is a substantial improvement over ad hoc betting by providing not only a user-friendly on-chain tool but also a fun way to gamify betting with your friends. With this app, everyone can now track and show which friend wins more, who's losing the most money, and who is the most trusted to mediate. Much like a well-seasoned fantasy football league, one of the best parts of sticking with a group over the years is competing and trying to rank higher than your best friends over time in all the metrics.
I have always struggled with the whole smart contract tool chain. While the Solidity file is easy enough, going from Remix to Hardhat, making tests, deploying, finding the API, and referencing it on the front end was a nightmarish web to me. For this contest, I chose to build from the ground up with Thirdweb. That made going through the process far easier. Using their framework, I was able to deploy, test, and iterate far faster than I ever had before!
Tracks Applied (2)
GAMING with thirdweb
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
Discussion