Supply contracts are used to coordinate the activities of the supply chain partners. In many industries, service level-based supply contracts are commonly used. Under such a contract, a company agrees to achieve a certain service level and to pay a financial penalty if it misses it. The service level used in our study refers to the fraction of a manufacturer's demand filled by the supplier. We analyze two types of service level-based supply contracts that are designed by a manufacturer and offered to a supplier. The first type of contract is a flat penalty contract, under which the supplier pays a fixed penalty to the manufacturer in each period in which the contract service level is not achieved. The second type of contract is a unit penalty contract, under which a penalty is due for each unit delivered fewer than specified by the parameters of the contract. We show how the supplier responds to the contracts and how the contract parameters can be chosen, such that the supply chain is coordinated. We also derive structural results about optimal values of the contract parameters, provide numerical results, and connect our service level measures to traditional service level measures. The results of our analyses can be used by decision makers to design optimal service level contracts and to provide them with a solid foundation for contract negotiations.