Skip to main content

Type a word from a question or an article title.

2 · Practice

The deal lifecycle - from offer to payout, step by step

A full walkthrough of a Coin-Trust deal: offer, acceptance, performance, completion, cancellation, expiry and dispute. Who can do what and how much they get.

5 min readUpdated:
In this article

This article is a "map of the territory" for the whole service. We will walk through a deal's entire life from the first click to the last payout and show at each step who can do what and what happens to the money. If you are a beginner, start with the article what escrow is and then come back here.

The three sides of a deal

  • The buyer - the one who pays and confirms receipt.
  • The seller - the one who performs the obligation (goods, work, service).
  • The guarantor (arbiter) - an independent party who steps in only in a dispute (how it is designed).

The money sits in a smart contract the whole time, not with any of the participants. The contract is identical on all networks; more in the article on choosing a network.

Step 1. Creating the offer

Either side - the buyer or the seller - can start a deal. The creator sets the terms: who the counterparty is, who the guarantor is, the token and amount, the performance period and the guarantor's rates. Optionally the written terms can be attached: only their hash is fixed in the contract (why that matters).

What happens to the money:

  • If the buyer creates the offer, the money is debited at once and goes into the contract.
  • If the seller creates it, nobody deposits money yet, and the offer waits for a buyer.

The deal's state is Offered. An offer has a lifetime of 7 days. If nobody accepts it in that time, the offer can be withdrawn and the money returns in full.

Step 2. Accepting the offer

The other side opens the offer and accepts it. If terms were recorded, the call carries the terms hash they saw: if it does not match the one stored in the contract, the transaction is rejected. This prevents the terms from being swapped between viewing and confirming.

  • If the seller created the offer, the buyer deposits the money upon acceptance.
  • If the buyer created it, the money is already in, and the seller simply agrees.

At the moment of acceptance the performance period starts: the chosen preset (1, 7, 30 or 90 days) counts from acceptance. The state is Active.

Step 3. Performance

The seller performs the obligation off-chain: ships the goods, does the work, hands over access. The service cannot verify this itself - the parties watch it and, if needed, the guarantor. Good deal terms are described in the article how to write terms.

In the Active state four developments are possible.

Step 4a. Success: the buyer confirms receipt

The buyer presses "Confirm receipt". The contract pays the seller the amount minus fees.

Example. A deal for 1,000 USDC, service fee 1%, guarantor rate 2%:

RecipientCalculationAmount
Service1% of 1,00010 USDC
Guarantor2% of 99019.80 USDC
Sellerthe remainder970.20 USDC

The guarantor's rate is calculated on the amount after the service fee. Details in the article fees by example.

Step 4b. Quiet outcomes: cancellation by agreement and expiry

Cancellation by agreement. Each side can set a "consent mark" to cancel and withdraw it. When both sides have marked, the deal closes and the buyer gets the money back minus fees. This is handy if the parties themselves agree the deal will not happen.

Expiry. If the performance period has run out and the deal is not closed, either side can close it with a refund to the buyer (minus fees). The seller is protected because before the deadline they can open a dispute.

Step 4c. Dispute

If the parties cannot agree, either may open a dispute while the deal is Active. The state changes to Disputed, and the guarantor decides.

The guarantor rules on what share the buyer gets - from 0% to 100%. The remainder goes to the seller. Possible rulings:

  • a full refund to the buyer (100%);
  • full payment to the seller (0%);
  • a partial ruling (for example 30/70 for partial performance).

The guarantor's dispute rate (never below the base rate) is deducted from the amount before the split, so both sides share the cost proportionally.

Example. Amount 1,000 USDC, guarantor dispute rate 10%, ruling 50/50:

RecipientCalculationAmount
Service1% of 1,00010 USDC
Guarantor10% of 99099 USDC
Buyer50% of 891445.50 USDC
Sellerthe remainder445.50 USDC

If the guarantor is silent. If there is no ruling within 30 days of the dispute opening, either side can invoke the emergency exit: the money is split 50/50 and the guarantor gets nothing. Why exactly this - in the article on arbitration design.

Can the parties agree during a dispute? Yes: the cancellation marks work in a dispute too. If both sides agree, the guarantor is not needed and only earns the base rate.

If a payout fails

Sometimes a recipient cannot accept a transfer - for instance, the address is blocked by a stablecoin issuer (about this). The contract does not freeze in that case: the amount is recorded for the recipient as a "credit" and the deal closes. The credit can be claimed later with a separate action. This way one problematic recipient does not block payouts to the others.

The summary table

StateWhat can be doneWho
Offeredaccept the offerthe counterparty
Offeredwithdraw the offereither side; after 7 days - anyone
Activeconfirm receiptthe buyer
Activemark cancellationeither side
Activeopen a disputeeither side
Activeclose on expiryeither side, after the deadline
Disputedrulethe guarantor
Disputedemergency exit 50/50either side, after 30 days
Settledthe deal is closed-

Every action is a transaction with an event you can see in a block explorer.

Learn how to describe terms properly so there are fewer disputes: how to write deal terms. And for those curious about the implementation - the state machine in Solidity.

Mentioned in

Ready to try it?

Create your first deal in a couple of minutes. The money is locked in a smart contract and paid out by rules you can see in advance.