Trustless Work
  • Welcome
    • Why Escrows Matter
    • 🛤️Our Journey so Far
      • 🤔The Problem: Origins of Trustless Work
      • 👾The team comes together
      • 💡The Solution: Escrows
      • 🏆Key Milestones
        • 🌠DraperU Stellar Astro Hacker House: A Pivotal Moment
        • Launching the API V1 at ETH Pura Vida Hackathon
      • 🚀Current Programs
        • 🌟DraperU Embark Program
        • 💻OD Hack Campaigns
      • 🛠️Vertical Development
      • 🔮Future Vision
  • 📌Start Here
    • ☀️About Trustless Work
      • Vision and Mission
      • Team
  • ⚒️Understanding Smart Escrows
    • 🥸Smart Escrow Design
      • What does a Smart Escrow "look like"?
      • Roles in Trustless Work
      • Escrow Lifecycle
        • Initiation Phase
        • Funding Phase
        • Complete phase
        • Approval phase
        • Release phase
        • Dispute Resolution
    • 💵USDC: The Stablecoin Powering Trustless Work
    • 🌟Stellar & Soroban: The Backbone of Trustless Work
  • 💻Developer Resources
    • 🚀Smart Escrow API
    • Quickstart
      • Integration Demo Project
        • Getting Started
        • Entities
        • Configuration
      • dApp locally
      • API Fundamental Code
    • API Reference
      • Introduction
      • Authentication
        • Request Api Key
      • Deploy
        • Initialize Escrow
      • Escrows
        • Schema
        • Fund Escrow
        • Get Escrow by Contract ID
        • Resolve Dispute
        • Change Milestone Status
        • Change Milestone Flag
        • Change Dispute Flag
        • Release Funds
        • Update escrow properties
      • Helpers
        • Set Trustline
        • Send Transaction
        • Get Multiple Escrow Balance
    • 🧰Essential Tools for Developers
      • Stellar Wallets
        • Freighter Wallet
        • Albedo Wallet
        • xBull Wallet
        • Rabet Wallet
        • Lobstr Wallet
        • Hana Wallet
        • Additional Resources
        • Troubleshooting & FAQs
      • How to Get Testnet Tokens
  • 🌍Use Cases by Industry
    • Marketplaces & E-commerce
    • Grants, Bounties, and Hackathons
    • P2P Exchanges and OTC Desks
    • Security Deposits
    • Milestone-based Freelance & Contract Work
    • Crowdfunding & Pre-orders
    • DAO Treasury & Working Group Budgets
    • Education & Online Courses
    • Subscription + Performance-based Retainers
  • 🤖Using the dApp
    • Step 1: Accessing the Trustless Work Dapp and Logging In
    • Step 2: Creating a Profile and Requesting an API Key
    • Step 3: Creating an Escrow
    • Step 4: Funding an Escrow
    • Step 5: Marking a Milestone as Done ✅
    • Step 6: Approving the Milestone
    • Step 7: Releasing the Payment
    • Resolving Disputes
  • 🏴‍☠️Community
    • 🌎Spotlight: Kindfi
    • 🛣️Roadmap: The Journey Ahead
    • Contributor's Guide
    • 📂Open-Source Templates & Developer Tools
  • ✒️Background & Theory
    • 📘Core Concepts & Escrow Glossary
    • 🎒Historical Context
      • 📜Escrow History:
        • 🗿Ancient to Colonial Era
        • 🏦Banking Era (19th - 20th Century)
        • 💻The Digital Era and Online Escrow
      • ⛓️Blockchain Era: Smart Escrows
  • Links
    • ⚒️Trustless Work dApp
    • 🌐Trustless Work Website
    • 📣Telegram Chat
    • 💎Only Dust Profile
    • 👩‍💻Swagger for API
    • 📜Github
  • 📢Appendices
    • Contact and Support
    • Notion for Startups
    • Meru
Powered by GitBook
LogoLogo

Links

  • Website
On this page
  • Roles, Parties, and Their Functions
  • Roles:

Was this helpful?

Export as PDF
  1. Understanding Smart Escrows
  2. Smart Escrow Design

Roles in Trustless Work

Before we begin designing, let's understand what each role represents!

PreviousWhat does a Smart Escrow "look like"?NextEscrow Lifecycle

Last updated 2 months ago

Was this helpful?

Roles are assigned to addresses. Anyone can deposit funds into an escrow, but the status while only changed by predetermined steps, which are initiated and signed by the corresponding roles.


Roles, Parties, and Their Functions

  • Roles: Each role has a distinct function within the escrow process, such as approving milestones or releasing payments.

  • Parties: These are the entities or individuals assigned to one or more roles, such as buyers, sellers, or platforms. They interact through a Stellar wallet for signing any interactions with the escrow. Only addresses with assigned roles can interact with the escrow.


Roles:

1. Milestone Approver

  • Function: Approves or disputes milestones marked as completed.

  • Examples:

    • Buyer in a freelance marketplace approves the deliverable marked as done by the freelancer.

    • Host in a security deposit scenario approves the checkout marked as done by the turist.

    • Platform in a crowdfunding campaign approves milestone marked as done by the company.


2. Service Provider

  • Function: Delivers the product, service, or objective set on milestine. Marks milestones as completed and ready for approval.

  • Examples:

    • Freelancer delivering a service and marking it as complete.

    • Company updating crowdfunding milestones and marking as complete.

    • Compliance department marking a withdraw complaince check as complete.

    • Real Estate inspector marks the house inispections as complete.


3. Release Signer

  • Function: Approves the release of funds for the amount set.

Release currently works as following: -All milestones need to be approved for payment to be released, since we are setting 1 amount for the whole contract. This will be changed to: Each individual milestone will have an amount, each amount can be individually released when approved.

  • Examples:

    • Airbnb (platform) releasing a deposit.

    • eBay (platform) releasing payment to a seller.

    • DAO releasing a payment to a contributor


4. Dispute Resolver

  • Function: Resolves disputes by adjusting milestone amounts, updating status, or canceling the contract.

  • Examples:

    • Platform (eBay, Airbnb) acting as arbiter for a deposit because turist broke something redirecting deposit to host.

    • Independent third-party arbitrator setting a new milestone price for an project milestone.

    • Cenceling an escrow amount and redirecting funds back to Client.


5. Platform Address

  • Function: An address designated to receive the platform fee, a percentage or fixed amount of the total funds processed through escrow. Platform can also update a milestone while it's status is still pending.

  • Examples:

    • Airbnb collecting platform fees.

    • Crowdfunding platform taking a fee from funds raised.


6. Receiver - Final Recipient

  • Function: The final recipient of funds after conditions are met or disputes are resolved.

  • Examples:

    • Freelancer receiving payment.

    • Turist receiving a security deposit.

    • Company receiving funds

⚒️
🥸
Roles are marked in black