Trustless Work
English
English
  • Welcome
    • Why Escrows Matter
    • Who Should Use This
    • Links
  • ⚒️Core Concepts
    • 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 Guide
    • 🚀Developer Quickstart
    • Authentication
      • Request Api Key
    • Schema
    • Architecture
    • Stellar Wallets
      • Freighter Wallet
      • Albedo Wallet
      • xBull Wallet
      • Rabet Wallet
      • Lobstr Wallet
      • Hana Wallet
      • Additional Resources
      • Troubleshooting & FAQs
    • How to Get Testnet Tokens
  • API Reference
    • Introduction
    • Types
      • Basic
      • Entities
      • Payloads
      • Responses
      • Errors
    • Single Release Escrow
      • Deploy
      • Fund Escrow
      • Approve Milestone
      • Change Milestone Status
      • Release Funds
      • Dispute Escrow
      • Resolve Dispute
      • Get Escrow
      • Update Escrow
    • Multi Release Escrow
      • Deploy
      • Fund Escrow
      • Approve Milestone
      • Change Milestone Status
      • Release Milestone Funds
      • Dispute Milestone
      • Resolve Milestone Dispute
      • Update Escrow
      • Get Escrow
    • Helpers
      • Set Trustline
      • Send Transaction
      • Get Multiple Escrow Balance
    • 🚀Smart Escrow API
  • React Library
    • Getting Started
    • useSendTransaction
    • useGetEscrow
    • useGetMultipleEscrowBalances
    • useInitializeEscrow
    • useUpdateEscrow
    • useFundEscrow
    • useChangeMilestoneApprovedFlag
    • useChangeMilestoneStatus
    • useReleaseFunds
    • useStartDispute
    • useResolveDispute
  • Templates & Components
    • 🤖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
    • Integration Demo Project
      • Getting Started
      • Configuration
      • Context API
      • Wallet Setup
      • Trustlines
      • Services
      • Helpers
      • Error Handling
      • Forms
        • Initialize Escrow
        • Fund Escrow
        • Get Escrow
        • Get Multiple Escrow Balances
        • Resolve Dispute
        • Change Milestone Status
        • Change Milestone Flag
        • Change Dispute Flag
        • Release Funds
        • Update Escrow
      • UI Components
        • Pages
        • Cards
        • Tabs
        • Utils
  • Tools & Utilities
  • 🌍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
  • 🏴‍☠️Community & Contribution
    • 🌎Spotlight: Kindfi
    • 🛣️Roadmap: The Journey Ahead
    • Contributor's Guide
    • 📂Open-Source Templates & Developer Tools
  • 📢Appendix & Archive
    • Contact and Support
    • Notion for Startups
    • Meru
    • ✒️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
Powered by GitBook
LogoLogo

Links

  • Website
On this page

Was this helpful?

Export as PDF
  1. Core Concepts
  2. Escrow Lifecycle

Approval phase

PreviousComplete phaseNextRelease phase

Last updated 3 months ago

Was this helpful?

The Approval Phase is where the Milestone Approver evaluates the milestone marked as For Review by the Milestone Marker. This critical step determines whether the milestone is approved or disputed, dictating the next steps in the escrow process and transitioning the transaction toward completion or resolution.


Key Actions

1. Milestone Approver Reviews the Milestone

  • The Milestone Approver evaluates the deliverable or service associated with the milestone, referencing any supporting evidence or details provided by the Milestone Marker.

2. Decision: Approve or Dispute

  • Approve:

    • If satisfied, the Milestone Approver approves the milestone.

    • The Approved Flag is updated to True, signaling that the transaction can proceed toward the Release Phase.

  • Dispute:

    • If concerns arise, the Milestone Approver disputes the milestone.

    • The Approved Flag is updated to On Dispute, pausing the transaction and escalating it to the Dispute Resolver.

Next Steps: the approved / dispute flag determines what Next step on the excrow lifecycle is enabled.

If the milestone is approved, the Release is possible,

If a dispute is raised, the dispute resolver must set a resolution and either update the amount, or cancel the milestone.


Key Metadata

1. Milestone Status

  • For Review: Indicates the milestone is under review by the Milestone Approver.

  • On Dispute: Set when the milestone is disputed, triggering resolution by the Dispute Resolver.

2. Approved Flag

  • True: Set when the Milestone Approver approves the milestone.


Key Notes

  • Milestone Approver Authority: The Milestone Approver has sole authority to approve or dispute milestones, ensuring their satisfaction with the deliverable.

  • Platform's Role: The platform facilitates the review process by providing tools and notifications to assist the Milestone Approver.

  • On-Chain Transparency: All participants, including the Milestone Marker, Release Signer, and Platform Address, can track the milestone’s status and associated decisions on-chain.

  • Dispute Escalation: Disputes trigger the transaction to enter the Dispute Resolution Phase, ensuring fair and transparent resolution before proceeding.

⚒️