Propose NIP for bounties backed by zap-native, trusted escrow agents #1714
+203
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is to propose a new set of Kinds for supporting bounties backed by trusted escrow agents over nostr and Lightning. I've referred to it as NIP-3400 because I'm not sure how to propose new NIPs.
See
3400.md
for a full write-up.Also see https://github.com/vcavallo/khatru/blob/escrow/nip3400.md for an initial implementation in Khatru with a bare-bones client simulated in
nak
.Below is an overview of the NIP for anyone too lazy to open the
3400.md
file.Note on Cashu/ecash: As I neared the end of this proposal I became more and more convinced that handling escrow via Cashu mints is far superior, but I'll leave that for the discussion rather than re-think everything now.
Please let me know if I'm constructing this proposal in the wrong fashion! I'm happy to revise it.
Thanks for reading.
Lightning Network Bounties/Escrow
draft
optional
This NIP defines event kinds and structure for facilitating Lightning Network escrow services and bounties on nostr. It enables escrow agents to register their services and users to create, accept, and resolve bounty tasks using Lightning Network payments through nostr zaps.
Events
Event Kinds
3400
: Escrow Agent Registration3401
: Task Proposal3402
: Agent Task Acceptance3403
: Task Finalization3404
: Worker Application3405
: Worker Assignment3406
: Work Submission3407
: Task ResolutionEscrow Agent Registration (3400)
Used by escrow agents to advertise their services and terms.
Task Proposal (3401)
Used to propose an escrow task with specified terms and requirements.
Agent Task Acceptance (3402)
Used by escrow agents to accept task proposals. Only the agent specified in the task proposal can accept it.
Task Finalization (3403)
Created after the task creator zaps the agent's acceptance event. This event makes the task live and available for worker applications.
Worker Application (3404)
Used by workers to apply for a finalized task.
Worker Assignment (3405)
Used by task creator to assign the task to a specific worker.
Work Submission (3406)
Used by assigned worker to submit completed work.
Task Resolution (3407)
Used by agent to resolve the task and provide proof of payment.