In relay-assisted cooperative communication, relay nodes help forwarding the information of a source node in case of link failure between the source and a destination. Although user cooperation improves the overall efficiency of the network, it requires incentive to stimulate potential relay nodes to assist the source by forwarding its data to the destination. Moreover, the potential relays are better informed than the source about their channel conditions to destination, which results in asymmetric information between the source and the relays. In this paper, we study the problem of lack of forwarding incentive in cooperative communication when channel state information of relays is private information and not known by the source. To tackle this problem, we apply the principle of contract theory to a cooperative wireless system. Source first designs incentive compatible and individually rational contract, consisting of a set of power-credit pairs. Then it broadcasts contract items to nearby nodes. Once the source node receives reply messages from the volunteer relays, it chooses one or more relays based on its requirements and communication starts. Simulation results show how credit assignment works in order to stimulate relays to cooperate and prevents relays from cheating behavior.