Pledges Docs
  • 0xPledges
  • What are Pledges?
  • Making your first Pledge
  • Pledges & Data Ownership
  • Applications
    • Runner
    • Athlete
    • Swimmer
    • Cycler
    • Learner
    • Speaker
    • Reader
    • Writer
  • Why Pledges?
  • Technical Overview
    • Participants
    • Contracts
  • Pledges FAQ
  • Wilbur
Powered by GitBook
On this page
  1. Technical Overview

Participants

A Pledge has four different participants: deployer, funder, beneficiary, and oracle. Here, we explain the role of each.

Deployer: The Pledge deployer is the Ethereum address that creates the Pledge contract. The deployer will be the recipient of the funds in the contract sent by the funder if the Pledge result is successful. The deployer also has the ability to reclaim any funds from the Pledge contract if a result is not broadcast onchain by the oracle within a fixed period of time after the Pledge deadline.

Funder: The funder is the Ethereum address that send funds (ETH) to the Pledge contract created by the initial deployer. The Pledge funder can be the contract's deployer, or some completely separate account. A Pledge may even have multiple funders.

Beneficiary: The Pledge beneficiary is the Ethereum address that receives funds from the Pledge contract when the result of the pledge is unsuccessful. This might be an address that represents a charity or fundraiser that receives a donation when a goal is not met, but could be any Ethereum address. One could also program Pledges such that "unsuccessful" can be interpreted more flexibly. For example, a Runner Pledge might specify that the beneficiary only receives the funds if and only if the user runs less than 10 miles, effectively making it so that funds are only donated if the running goal is achieved.

Oracle: The oracle is the Ethereum address that reads data from an offchain source (like the Strava API) and transmits it to the blockchain so this data can be used to trigger events and be built into applications. The Portex oracle module is the adapter that connects offchain data to Pledge contracts onchain. If the oracle is unable to determine the result of the Pledge (say for critical data outages or some other unanticipated disruptions), the deployer has the ability to withdraw their funds from the Pledge escrow contract after a pre-specified point beyond the Pledge's final deadline. This acts as a secure failsafe.

PreviousTechnical OverviewNextContracts

Last updated 1 month ago