All three statements correctly distinguish contingent contracts from wagering agreements. Wagering agreements have reciprocal promises and the uncertain event is the sole determining factor, making them void under Section 30. Contingent contracts may or may not have reciprocal promises, and the uncertain event is only collateral to the main purpose, making them valid.