Roles in Trustless Work
Before we begin designing, let's understand what each role represents!
Last updated
Was this helpful?
Before we begin designing, let's understand what each role represents!
Last updated
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: 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.
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