Roles in Trustless Work
Before we begin designing, let's understand what each role represents!
By having a clear understanding of the roles and their function throughout the escrow lifecycle, it will be way easier to adapt the flow to your use case.
Only addresses who have a role assigned to them will be able to write and update to escrow.
Reading the escrow configuration, status, and transaction history does not require an assigned role.
Roles, Parties, and Fees in Trustless Work
Roles: Each role pays a clear functions or action within the escrow flow. (e.g., approving milestones, releasing payments).
Parties: Parties are entities or individuals assigned to one or more roles (e.g., buyer, seller, platform). The parties interact through a stellar wallet, from which they will sign any interactions they have with the escrow.
Platform: you can also set a platform addresss, which is the address that will receive the platform fee. This fee is configured in the contract and calculated at each payment release. This is an optional additional fee collected by a platform, distinct from the Trustless Work fee which is not optional (for now).
Roles:
1. Milestone Approver
Function: Approves or disputes milestones marked as completed by the milestone marker.
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. Milestone Marker
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 done.
Company updating crowdfunding milestones and marking as done.
Compliance department marking a withdraw complaince check as done.
Real Estate inspector maks the house inispections as done.
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. Receiver
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
6. Platform Address
Function: An address designated to receive the platform fee, a percentage or fixed amount of the total funds processed through escrow.
Examples:
Airbnb collecting platform fees.
Crowdfunding platform taking a fee from funds raised.
Trustline The contract address of the token being used on the escrow. Can be any asset issued on Stellar network.
Last updated