- cross-posted to:
- monero
- cross-posted to:
- monero
Hello,
Announcing sigmanero.org, a new sports betting exchange website that uses Monero’s multi-sig wallets for each individual bet.
The use of multi-sig wallets should stop concerns about rug-pulls, exit-scams, or wallets becoming compromised by attackers.
In a betting exchange like Sigmanero, users bet against other users and the house earns a commission in each bet.
**The small innovation of sigmanero.org is that multi-sig wallets are auto-generated in the browser of each user, which hopefully significantly reduces the hassle of using multi-sigs. No need for command line interface (CLIs). **
The setup is as follows. User A places an offer for a bet in a particular event for example LA Lakers to win vs Boston Celtics. This offer will have the, side (Lakers or Celtics to win), the amount in XMR and odds that user A would like to bet.
User B can see user A’s offer and accept the offer. At this point, a new 3/4 multi-sig wallet will be created between A, B and Sigmanero.
This new multi-sig will have to funded before the start of the event by both A and B. Both A and B will also need to save their new multi-sig seed keys separately.
When the winner is known, the winning side can reclaim funds using his/her seed key to sign the transfer out of the multi-sig wallet. Important to stress that if they don’t save their seed keys, then they cannot reclaim funds, and there will be nothing Sigmanero can do about it.
At no point in time will Sigmanero have controls of funds or will any of the seed keys be shared with Sigmanero. Sigmanero will have 2 of the 3 necessary keys to sign transfers for extra security and to guarantee that it will always be a party to the transfers. Despite this, Sigmanero will always require one extra signature from one of the users.
For each bet both users will have to have at least 10% of the bet amount as a bounty deposit with Sigmanero. For example if the bet amount is 1 XMR, the user will have to have at least 0.1 XMR deposited with Sigmanero. This will be the only element of custody of funds that Sigmanero will have. However, as soon as the user funds the new bet, the 10% bounty is released which the user can withdraw back from Sigmanero.
The 10% bounty from each user will be used as an incentive for users to fund and commit to their bets with other users. If a user agrees to a new bet but does not fund the new multi-sig wallet with his/her bet amount, then that user will lose the 10% bounty, and 50% of this bounty will be given to the opposite side of the bet, provided that the opposite side has funded its side of the bet.
More details under https://sigmanero.org/info
Because the creation of multi-sig wallets needs synchronisation between users and Sigmanero, when a new bet offer is place by a user, this user cannot leave the page until the bet is accepted by another user or the user decides to cancel the new offer. This is not ideal, however the advantage for the user that makes an offer is that it can set an XMR amount and betting odd according to his/her like, as opposed to simply accepting the terms of existing offers.
To facilitate the coordination between users offering bets and users accepting bets, betting for each event starts only 6 hours before the event and closes 15min before the event start. This element of the user experience might not be ideal, but we hope that the 6 hour window is wide enough to provide flexibility for all, but also small enough to get users all in one place at the same time. The betting window closes 15min before scheduled event times to allow users to fund their multi-sigs.
Hopefully this is a good overview. Please let us know what you think. Feedback at this point is extremely appreciated.
Great stuff!
Doesn’t holding two keys in 3/4 multisig instead of one in 2/3 increases complexity? Why wouldn’t you let users settle the outcome between themselves and make Sigmanero a necessary party in the every transaction?
Would you consider sharing this work? I imagine that can help other developers less familiars with the lover-level parts of the stack to develop against Monero.
Best of luck!
Thank you!
– “Doesn’t holding two keys in 3/4 multisig instead of one in 2/3 increases complexity?” Yes, however since we launched we changed the scheme from 3/4 to 2/3 multisig. This means that users can indeed have full control of funds and settle the bet in any way they agree. In Sigmanero you can’t contact the opposite counterpart, however, we you can always create a “private bet” that can only be accepted with whomever you wish. If Sigmanero disappears and leaves funds in multisig wallets, it is also possible for users to coordinate to get the funds back since both users will know the main address of the multisig, so they could in theory ask around, “who also has this main address?” and agree between them where to transfer the funds. Hope this makes sense and its not too much detail.
– “Would you consider sharing this work?” yes, especially the front end code which relies on the outstanding monerots library. There isn’t much more to add to it besides getting coordination sequence steps right. On the back end the code is unsurprising to be honest. Again just a matter of handling the steps of the multisig generation.