This chapter shows that material makes use of decode-and-forward, in which the relay decodes the source's message entirely and retransmits it to the destination. It examines cooperation from an energy-efficiency perspective, in which we considered the energy cost to individual users for employing cooperative techniques. The chapter looks at several layers of the network stack. It describes techniques that operate at multiple layers in order to facilitate and manage cooperation between users. The chapter introduces the relay channel, which forms the atomic unit of the techniques described. It analyses the information-theoretic techniques, focuses on the decode-and-forward rates that are achievable via block Markov encoding. The chapter also describes an approach to fair, efficient energy sharing between users in a small cellular scenario. It presents a method for efficiently finding the power allocations that satisfy the Nash bargaining solution, efficient solution on the boundary of the achievable region.