Pledges Overview
Last updated
Last updated
Pledges combine onchain primitives and real-world data to create new and compelling onchain applications. At its core, a Pledge is a smart contract that holds funds in an onchain escrow and determines how those funds can be distributed using offchain data and pre-defined event triggers.
The diagram below shows the full life cycle of a Pledge.
For a more concrete example, let's explore Runner Pledges, which connect fitness data sourced from the Strava API to real monetary incentives.
For example, our first Pledge application, called Runner, allows users to set running distance goals and hold themselves accountable to these goals by sending money to an escrow that only returns the funds if -- and only if -- that goal is met. For example, a user might create a Pledge to run at least 10 miles one week from today and commit $100 down on this goal. That user then deploys a Pledge smart contract and sends $100 worth of ETH to this contract. Importantly, this contract is non-custodial, and funds are locked until the end of the Pledge.
Then, integrating with a blockchain charity provider like Endaoment, users choose a charity and its associated onchain address for a cause that matters to them. If the goal to run 10 miles is not met, this charity will receive the user’s funds as a donation. If it is met (the user runs at least 10 miles that week), then the funds are returned to the user. This is all triggered automatically by self-executing smart contract code (see pledge.sol) after the outcome of the goal is relayed onchain by an oracle.
This section walks through the different types of Pledge applications, Pledge participants, Pledge smart contracts, and frequently asked questions related to Pledges.
Pledges are a beta product. Users should be comfortable with some risks noted here.