A contract is an agreement. An agreement arises out of the acceptance of a proposal or offer. Thus, an agreement is a promise or a set of reciprocal promises. It necessarily involves a minimum of two persons, although a greater number may be involved. Although all contracts are agreements, the converse is not true. All agreements are not contracts. Section 2(h) of the Indian Contract Act defines a contract as an agreement enforceable by law. Section 10 of the Indian Contract Act sets out the essential features of a valid contract. The Government of India contracts fall into two categories: Non-Statutory and Statutory Contracts. The Indian Contract Act provides for the effect of a mistake on the validity of a contract in Sections 20, 21 and 22. Section 2(g) of the Indian Contract Act defines void agreement, thus an agreement not enforceable by law is said to be void.