A 'Market' account is initialized as a distinct smart-contract instance.
This on-chain account describes the underlying event as well as the specifications of the market - for example:
Markets are resolved through a decentralized process known as 'oracle consensus'.
When the market is initialized the process for resolution will be specified programmatically. This typically involves querying multiple independent, public source APIs.
Once the event has completed, a number of 'oracles' (computers) are selected from the network and asked to attempt to fetch the result of the event from these sources. The results are aggregated and fed through a consensus process.
Honest oracles are rewarded for carrying out this activity, and oracles attempting to defraud the network are penalised in a process known as 'slashing'.
Aver markets are trustless and remain 100% collateralized at all times.
Each market has it's own 'vault' - a smart-contract governed 'escrow' account, which holds the funds backing open orders and matched bets from all participants in the market.
No individual or organization (including Aver) has the ability to access these funds, and they are only released as a result of the protocol executing it's predefined logic. For example, returning unused funds to a participant's wallets or paying out winnings.
The protocol facilitates exchange using a set of 'stacked' on-chain central limit order books (CLOBs) - one for each outcome in the market.
The 'bids' and 'asks' (offers to buy and sell) predictions are stored in accounts within the blockchain, and updated when participants place, cancel or update their orders.
When an order comes through to buy a particular outcome at a price which is greater than the best (cheapest) available 'ask', or vice-versa, a trade will be matched.
Participant specific interactions with a given market are stored at a unique account on the blockchain.
This account is controlled by the participant's wallet, and they must sign transactions which would affect their positions or orders represented in this account. For example, placing or canceling orders.
The data contained includes a record of their live exposure/bets on each of the outcomes in the market, the details of any unmatched orders, and references to other related accounts (like the user's wallet, market, token accounts).
When the marker resolves, the payout a user is entitled to receive is determined with referene to the exposures/bets stored on this account at the time of market resolution.
Once the market has been settled, and the participant paid-out any proceeds, this account can be closed and the SOL 'rent' (paid as a deposit to store the data on-chain) is automatically returned to the participant's wallet.
Blockchains have no concept of 'scheduling', so it is necessary to ensure that the smart-contracts can be 'nudged' to carry out the necessary steps.
While the logic is deterministic, and the failure of a crank to run in a timely manner would never lead to loss of funds or the potential to defraud the protocol, a fast and efficient cranking network is important for user-experience.
Crankers observe the blockchain and identify when particular actions need to be carried out - they then send a notice to the protocol to carry out this step - 'cranking' the handle.
Extended developer documentation is underway alongside release of the SDKs and integration documentation.
Please monitor Aver social channels and the developer page for more information and updates.
Aver is not available to Participants in the USA and any other jurisdiction where Laws prohibit Participation in or require licensing or registration of the Aver DEX in order for Participation to take place or which is embargoed by the United States of America, the European Union or the United Kingdom. Use of the Aver DEX is conditional on acceptance of the Rules.