In many online exchange systems, agents provide services to satisfy others agents' demands. Typically, the provider incurs a (immediate) cost and hence, it may withhold service. As a result, the success of the exchange system requires proper incentive mechanisms to encourage service provision. This paper studies the design of such systems that are operated based on the exchange of tokens, a simple internal currency which provides indirect reciprocity among agents. The emphasis is on how the protocol designer should choose a protocol - a supply of tokens and suggested strategies - to maximize service provision, taking into account that impatient agents will comply with the protocol if and only if it is in their interests to do so. Agents' interactions are modeled as a repeated game. We prove that the these protocols have a simple threshold structure and the existences of equilibria. Then we use this structural property to design exchange strategies that maximize the system efficiency. Among all protocols with the same threshold, we find that there is a unique optimal supply of tokens that balances the token distribution in the population and achieves the optimal efficiency. Such token protocols are proven to be able to achieve full efficiency asymptotically as agents become sufficient patient or the cost becomes sufficient small.