Social commitments are developed for multi-agent systems according to the current practice in law regarding contract formation and breach. Deafeasible commitments are used to provide a useful link between multi-agent systems and legal doctrines. The proposed model makes the commitments more expressive relative to contract law, improving the model for the life cycle of the commitments. As a consequence, the broader semantics helps in modelling different types of contracts: gratuitous promises, unilateral contracts, bilateral contracts, and forward contracts. The semantics of higher-order commitments is useful in deciding whether to sign an agreement or not, due to a larger variety of protocols and contracts.