Protocol Flow

Please refer to the NIP for technical details. Here we'll look at the general flow from a higher level with some details elided.

The Happy Path

I hope you like flowcharts!

In the following diagram, you'll see this timeline:

  1. Two Arbiters announce their escrow and judgement services
    • Arbiter A is offering to adjudicate React.js Web Development projects. For a fee of 2% of the project rate.
    • Arbiter B is offering similar services, but she's doing it for 1%.
  2. These actions are represented as Nostr events on one or more relays (Kind 3400) posted by the Arbiter.
  3. A Patron has task for some React work. He posts it as a Nostr event (Kind 3401). This event should reference the original 3400 Arbiter announcement event.
  4. Out of band (in Nostr DMs, Signal, in person, smoke signals, whatever), The Patron and Arbiter coordinate and the Arbiter agrees to take the task on.
  5. The Patron sends the full project funds to the Arbiter in order to "fund the escrow" and references this payment receipt in the 3401 event.
  6. The Patron and a Free Agent coordinate (also out of band) and agree this Free Agent will work this task.
  7. Upon completion, the Free Agent submits his work to the Arbiter, who assess the suitability of the work with regard to the original request.
  8. If deemed acceptable, the Arbiter pays out the Free Agent, less the 1% fee which she keeps for her trouble.
  9. The Arbiter publishes a final event (Kind 3402) attesting to the completion of the project, referencing the 3401 Task event as well as the final payment receipt.

In the end, the Patron gets their task completed, the Free Agent gets paid, the Arbiter gets a fee, and everyone earns some positive reputation with the results of the project memorialized in signed Nostr events for anyone with access to this relay to inspect and verify.

The Unhappy Path

Things don't always go well. If the Free Agent submitted crappy work or didn't deliver at all, the Arbiter would instead refund the project rate (less her fee, of course) to the Patron. The Patron gets their money back and the Arbiter gets their cut for having tracked and attested to the conclusion.

In this case, the final 3402 event would indicate that the task was not completed by the Free Agent, who would suffer reputational damage. Any Patrons considering this worker in the future would see their history of failure.
Note: this is still a reputationally-positive outcome for the Arbiter and the Patron, as they were doing their part to participate in the protocol pro-socially.

Friedrich Hayek derived the word catallax from the Greek verb katallasso (καταλλάσσω) which meant not only "to exchange" but also "to admit in the community" and "to change from enemy into friend"