AlphaDex is a decentralized derivative market and liquidity aggregator. Here you are look at its first function, which is a bit similar to a binary option settled by contract.
If you stake in round x, you are speculating on the TWAP of round x+2 vs the TWAP of round x+1. (TWAP = time-weighted average price).
The delay is to prevent price manipulations and flash loan attacks.
If you stake in round x, you can call [Payoff] after round x+2 ends (that is, after round x+3 begins).
For example, assume current round is 09:20:00 ~ 09:30:00. In this round, you put your stakes on the difference of:
1. the TWAP between [the last trade before 09:30:00] and [the last trade before 09:40:00].
2. the TWAP between [the last trade before 09:40:00] and [the last trade before 09:50:00].
If you think 2 > 1, you are bullish. If you think 1 > 2, you are bearish. If 1 = 2, then everyone gets their stakes back.
On Payoff: AlphaDex introduces the concept of paired stakes, to limit the risk exposure when there is bull-bear imbalance in stakes.
If there are 100 bullish stakes and 10 bearish stakes, then the amount of paired stakes is 10. So the bulls are only risking 10 stakes.
In this case, if bulls win, bulls receive 1.1 stakes per stake (note 100 * 1.1 = 110 = 100 + 10).
In this case, if bears win, bulls can still receive 0.9 stake per stake, while bears receive 2 stakes per stake (note 100 * 0.9 + 10 * 2 = 110 = 100 + 10).
Hence one can feel free to put lots of stakes near the end of a round, without worrying about them taken by tiny stakes on the opposite side.
The contract reads uniswap TWAP only when [Sync contract with market] is called. This only need to happen once at the beginning of each round. Traders will call it to fix the price, if they are winning.
Therefore, the XX:X0:00 time might be delayed by a few seconds, because of the time required to [Sync] contract with market.
There shall be at least 1 trade in each round. Or you cannot [Sync] because there is no change in price. So do some trades.
In the future KittenSwap there's no need to manually sync. There are many more functions in AlphaDex, and KittenSwap will provide the best support for them.
On Contract Safety:
There are two methods to stake in AlphaDex: (1) MetaMask ==[Stake]=> AlphaDex ==[Payoff]=> MetaMask. (2) Vault ==[Stake]=> AlphaDex ==[Payoff]=> Vault.
The stake-from-vault method saves gas, because the staked tokens stay in the contract (vault) until you withdraw them, however it will also be more risky if the contract has bug (very unlikely, but still possible).
The stake-from-metamask method is safe. Even if the contract has bug, the most you can lose are your stakes in a round.