Ad-hoc network contains a network area with nodes. Each node has to rely on others to relay its data packets. Nodes may participate in route discovery and maintenance process but refuse to forward data packets. These nodes are called non cooperative or selfish nodes. In wireless ad-hoc networks, nodes communicate with far off destinations using intermediate nodes as relay. Since wireless nodes are energy constrained, it may not be in the best interest of a node to always accept relay requests. On the other hand, if all nodes decide not to expend energy in relaying, then network throughput will drop dramatically detecting these nodes is essential for network performance.