Architecture

Overview

Our mission is to build the most efficient, reliable, and accessible prediction market available. To that end, nearly every component of our software is on-chain, and all markets are resolved by a lightning-fast multi-sig Oracle.

SageBet has 5 principle components: a market factory, individual market contracts, conditional tokens, collateral tokens, and an oracle. See below for details.

Market Factory

First, the market factory: https://arbiscan.io/address/0x893A890ac35F337f38dF271b18B05bb2722d14F0

This contract produces Individual Market Contracts via a multi-sig. The individual markets are what users see on https://sage.bet/ and are where all the action happens. Please see sections below for more details.

Individual Market Contracts

Each market is created by a multi-sig transaction that calls #the-market-factory. Each market contract has several configurable parameters: a JSON string that contains the market tile, market subtitle, outcomes names (e.g. "Yes/No" or "Team Canada/Team Mexico"); minimum trade size (usually $1); the fee amount (see Fees); and the fee recipient.

All markets are built on top of an on-chain orderbook that contains open orders waiting to be filled. Take a look at the example below:

See Market and trading basicsfor more information on the orderbook and how to trade.

Conditional Tokens

All SageBet markets are built with Gnosis Conditional Tokens. This is an open-source, thoroughly-audited token class (ERC-1155) that SageBet uses to represent market shares. When a market is resolved by the Oracle, holders of the winning set of conditional tokens can claim their pro-rata share of the market pot.

See Market and trading basicsfor more information on placing bets and claiming shares.

Collateral Tokens

Currently, all SageBet markets are traded and settled with USDC. Technically, any ERC20 token can be set as the collateral token for a given market, as it is a configurable parameter. Until further notice, SageBet will exclusively use USDC.

If you don't have any USDC, you can swap for some on Uniswap, 1inch, Paraswap, or any other DEX of your choice. If you have any questions, please come find us via the links in Community/Social.

Oracle

SageBet settles all of its markets via a multi-sig, using the resolveAndCloseMarket() function on the Market Factorycontract. Real-world events such as sports games and political races are monitored in real-time and resolved as soon as their outcome is public of the market' specified resolution time has passed.

There have been many oracle designs proposed and tried for on-chain prediction markets, each with their own advantages and limitations. It is a classic case of the "blockchain trilemma" as illisutrated below:

SageBet decided to prioritize Security and Speed by opting for a multi-sig oracle that settles the outcome for each market. This diminishes the decentralization of the system, but the benefits of a fast and secure oracle were preferred. Inevitably there are trust risks with semi-centralized solutions — the only means to ameliorate these risks for users is transparency, communication, and establishing a strong, spotless record of properly resolving markets quickly and fairly.

We will be adding more documentation soon.

This is the current home of the multi-sig Gnosis Safe: 0x35475f6661a911c1448048344B3597bA6B13f28A

Last updated