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
      • Milestone Update 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
    • Types
      • Basic
      • Entities
      • Payloads
      • Responses
      • Errors
  • API Reference
    • Introduction
    • Single Release Escrow
      • Deploy
      • Fund Escrow
      • Approve Milestone
      • Change Milestone Status
      • Release Funds
      • Dispute Escrow
      • Resolve Dispute
      • Get Escrow
      • Update Escrow
      • Get Multiple Escrow Balance
    • Multi Release Escrow
      • Deploy
      • Fund Escrow
      • Approve Milestone
      • Change Milestone Status
      • Release Milestone Funds
      • Dispute Milestone
      • Resolve Milestone Dispute
      • Update Escrow
      • Get Escrow
      • Get Multiple Escrow Balance
    • Helpers
      • Set Trustline
      • Send Transaction
      • Get Multiple Escrow Balance
    • 🚀Smart Escrow API
  • 📚React Library
    • Getting Started
    • useSendTransaction
    • useGetEscrow
    • useGetMultipleEscrowBalances
    • useInitializeEscrow
    • useUpdateEscrow
    • useFundEscrow
    • useApproveMilestone
    • useChangeMilestoneStatus
    • useReleaseFunds
    • useStartDispute
    • useResolveDispute
  • 🕍Open Source Templates
    • 🤖dApp Overview
      • 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
    • demo Overview
      • 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
    • 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
  • 🏴‍☠️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
  • Single Release Escrow Schema
  • Single Release Escrow Flow:
  • Multi Release Escrow Schema
  • Multi Release Escrow Flow:

Was this helpful?

Export as PDF
  1. Developer Guide

Schema

In this section you will be able to see the outline of the types of escrow's that Trustless Work offers. With these diagrams you will be able to know the structure and properties of an escrow both in its Single-Release and Multi-Release versions.

Single Release Escrow Schema

Escrow body:

Key
Type
Description

engagementId

string

Unique identifier for the escrow

title

string

Name of the escrow

roles

Roles Object

Roles that make up the escrow structure

description

string

Text describing the function of the escrow

amount

string

Amount to be transferred upon completion of escrow milestones

plataformFee

string

Commission that the platform will receive when the escrow is completed

milestones

Milestone<Array>

Objectives to be completed to define the escrow as completed

flags

Flags Object

Flags validating certain escrow life states

trustline

Trustline Object

Information on the trustline that will manage the movement of funds in escrow

receiverMemo

number (optional)

Field used to identify the recipient's address in transactions through an intermediary account. This value is included as a memo in the transaction and allows the funds to be correctly routed to the wallet of the specified recipient

Roles:

Name
Type
Description

approver

string

Address of the entity requiring the service.

serviceProvider

string

Address of the entity providing the service.

plataformAddress

string

Address of the entity that owns the escrow

releaseSigner

string

Address of the user in charge of releasing the escrow funds to the service provider.

disputeResolver

string

Address in charge of resolving disputes within the escrow.

receiver

string

Address where escrow proceeds will be sent to

Milestone:

Name
Type
Description

description

string

Text describing the function of the milestone.

status

string

Milestone status. Ex: Approved, In dispute, etc...

evidence

string (optional)

Evidence of work performed by the service provider.

approvedFlag

boolean

Flag indicating whether a milestone has been approved by the approver.

Flags:

Name
Type
Description

disputed

boolean

Flag indicating that an escrow is in dispute.

released

boolean

Flag indicating that escrow funds have already been released.

resolved

boolean

Flag indicating that a disputed escrow has already been resolved.

Trustline:

Name
Type
Description

address

string

Public address establishing permission to accept and use a specific token.

decimals

number

Number of decimals into which the token is divided.

Single Release Escrow Flow:

Multi Release Escrow Schema

Key
Type
Description

engagementId

string

Unique identifier for the escrow

title

string

Name of the escrow

description

string

Text describing the function of the escrow

roles

Roles Object

Roles that make up the escrow structure

plataformFee

string

Commission that the platform will receive when the escrow is completed

milestones

Milestone<Array>

Objectives to be completed to define the escrow as completed

trustline

Trustline Object

Information on the trustline that will manage the movement of funds in escrow

receiverMemo

number (optional)

Field used to identify the recipient's address in transactions through an intermediary account. This value is included as a memo in the transaction and allows the funds to be correctly routed to the wallet of the specified recipient

Roles:

Name
Type
Description

approver

string

Address of the entity requiring the service.

serviceProvider

string

Address of the entity providing the service.

plataformAddress

string

Address of the entity that owns the escrow

releaseSigner

string

Address of the user in charge of releasing the escrow funds to the service provider.

disputeResolver

string

Address in charge of resolving disputes within the escrow.

receiver

string

Address where escrow proceeds will be sent to

Milestone:

Name
Type
Description

description

string

Text describing the function of the milestone.

status

string

Milestone status. Ex: Approved, In dispute, etc...

flags

Flags Object

Flags validating certain escrow life states.

evidence

string (optional)

Evidence of work performed by the service provider.

amount

string

Amount to be transferred upon completion of escrow milestones.

Flags:

Name
Type
Description

disputed

boolean

Flag indicating that an escrow is in dispute.

released

boolean

Flag indicating that escrow funds have already been released.

resolved

boolean

Flag indicating that a disputed escrow has already been resolved.

approved

boolean

Flag indicating whether a milestone has been approved by the approver.

Trustline:

Name
Type
Description

address

string

Public address establishing permission to accept and use a specific token.

decimals

number

Number of decimals into which the token is divided.

Multi Release Escrow Flow:

PreviousRequest Api KeyNextArchitecture

Last updated 12 days ago

Was this helpful?

💻