An ad hoc network is a wireless network constructed on a 'need-to-communicate' basis where the wireless nodes also have to support network infrastructure functions like routing. Since the nodes are likely to be power constrained, they will be reluctant to cooperate and use their limited power resources for forwarding packets for others. We propose an on-demand routing protocol that enforces cooperation by requiring nodes to forward so as to earn credits to pay for self transmissions. We also incorporate a forwarding rule that increases self transmissions in the cooperative environment. Simulation results show that, compared to pure AODV-like and pure reward-based on-demand routing, our proposed approach significantly extends the network's lifetime so that more data can be transmitted and carried during this period.