PPLive is a popular P2P video system used daily by millions of people worldwide. Achieving this level of scalability depends on users making contributions to the system, but currently, these contributions are neither verified nor rewarded. In this paper, we describe the design and implementation of Contracts, a new, practical approach to providing contribution incentives in P2P live streaming systems. Using measurements of tens of thousands of PPLive users, we show that widely-used bilateral incentive strategies cannot be effectively applied to the live streaming environment. Contracts adopts a different approach: rewarding globally effective contribution with improved robustness. Using a modified PPLive client, we show that Contracts both improves performance and strengthens contribution incentives. For example, in our experiments, the fraction of PPLive clients using Contracts experiencing loss-free playback is more than 4 times that of native PPLive.