We analyze environmental agreements in contexts with asymmetric information, voluntary participation by sovereign countries and possibly limited enforcement. Taking a mechanism design perspective, we study how countries can agree on effort levels and compensations to take into account multilateral externalities. We delineate conditions for efficient agreements and trace out possible inefficiencies to the conjectures that countries hold following disagreement. We show how optimal mechanisms admit simple approximations with attractive implementation properties. Finally, we also highlight how limits on commitment strongly hinder performances of optimal mechanisms.