synaroll - The unusually simple wagering protocol
synaroll is for people who don't need a slot machine dressed up as an adventure game or simply don't want bullshit and childish addiction fueling animations.
You don't need to fill out any registration form. Just connect your wallet and start!
There's more information about the game logic here.
You can fully audit the contract source code here.
We're making use of Chainlink VRF 2.5 for provably fair and reliable randomness.
After consideration, we realized that Chainlink's VRF 2.5 has a setCoordinator function that can be maliciously used by the contract owner to exploit players and possibly introduce synthesized random numbers in settlements. To mitigate this we modified the VRF Consumer Base contract and overwrote this function so that the VRF coordinator can't be changed post deployment. See SynarollVRFConsumerBase.sol and s_vrfCoordinator.
The owner also has no permission to withdraw funds that are committed to the games by players. You can verify this by reading the withdraw() and withdrawERC20() function where the contract only allows the owner to withdraw balance - reservedFunds[asset], making it impossible for the owner to maliciously steal funds from yet unsettled games.
You might notice we have a setHouseEdge() function which you might say can be used to steal from players (by setting it to insane amounts). However, this is mitigated by the MAX_HOUSE_EDGE variable which is set to 1000 in basis points (accounts to 10%). Even if the owner decided to change the house edge mid game, we save the houseEdge which the game was started with in the Game struct. For instance if the houseEdge was set to 2% when you started your game, that 2% value saved in the Game struct will be used in settlement regardless of the current houseEdge variable.
In the rare case of an event where the VRF coordinator doesn't callback to our function leading to your game getting stuck in the Rolling state, it can be cancelled after 21600 blocks passed giving everyone participated in the game a full refund.
If you have any other inquiries about the safety precautions we took, please let us know!
We're looking forward to get contract security audited in the near future. If you're a credible auditor please reach out to us!
Heads up: this is beta. Contract side is pretty solid and deployed on Base. but we're still working on polishing the UX. Please let us hear about your suggestions in our Discord which can be found on the website!
DISCLAIMER: synaroll is a luck games platform and should be approached with precaution. Even though we try not to have excessive addiction stimulating content unlike other sites, addiction is no joke and it's highly not recommended for you to use the platform if you have such problem. Consult a professional.
Try it: https://synaroll.io/