I just propsed my first #nostr #nip , I hope I didn't commit any mortal sins in my approach. I'm very much looking forward to discussing it!

https://github.com/nostr-protocol/nips/pull/1714

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 Registration

- `3401`: Task Proposal

- `3402`: Agent Task Acceptance

- `3403`: Task Finalization

- `3404`: Worker Application

- `3405`: Worker Assignment

- `3406`: Work Submission

- `3407`: Task Resolution

### Escrow Agent Registration (3400)

Used by escrow agents to advertise their services and terms.

```json

{

"kind": 3400,

"content": {

"name": "",

"about": "",

"fee_rate": "",

"min_amount": "",

"max_amount": "",

"dispute_resolution_policy": "",

"supported_currencies": ["BTC"]

},

"tags": [

["p", ""],

["r", "", ""]

]

}

```

### Task Proposal (3401)

Used to propose an escrow task with specified terms and requirements.

```json

{

"kind": 3401,

"content": {

"description": "",

"requirements": "",

"deadline": ""

},

"tags": [

["p", "", ""],

["amount", ""]

]

}

```

### Agent Task Acceptance (3402)

Used by escrow agents to accept task proposals. Only the agent specified in the task proposal can accept it.

```json

{

"kind": 3402,

"tags": [

["e", "", ""],

["p", "", ""]

]

}

```

### 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.

```json

{

"kind": 3403,

"content": "",

"tags": [

["e", "", ""],

["e", "", ""],

["p", "", ""],

["amount", ""]

]

}

```

### Worker Application (3404)

Used by workers to apply for a finalized task.

```json

{

"kind": 3404,

"content": "",

"tags": [

["e", "", ""],

["p", "", ""],

["p", "", ""]

]

}

```

### Worker Assignment (3405)

Used by task creator to assign the task to a specific worker.

```json

{

"kind": 3405,

"tags": [

["e", "", ""],

["e", "", ""],

["p", "", ""],

["p", "", ""]

]

}

```

### Work Submission (3406)

Used by assigned worker to submit completed work.

```json

{

"kind": 3406,

"content": "",

"tags": [

["e", "", ""],

["p", "", ""],

["p", "", ""]

]

}

```

### Task Resolution (3407)

Used by agent to resolve the task and provide proof of payment.

```json

{

"kind": 3407,

"content": {

"resolution": "completed|rejected|canceled",

"resolution_details": ""

},

"tags": [

["e", "", ""],

["e", "", ""],

["p", "", ""],

["p", "", ""],

["amount", ""]

]

}

```

Reply to this note

Please Login to reply.

Discussion

nostr:npub12rv5lskctqxxs2c8rf2zlzc7xx3qpvzs3w4etgemauy9thegr43sf485vg I'd love to see escrow agents leveraging trusted Cashu mints for this.

I'm not sure if it's bad form to tag developers on nostr for NIP proposals, but at least it's in a reply so they don't get hell-threaded...?

I'd love feedback from nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft nostr:npub1m4ny6hjqzepn4rxknuq94c2gpqzr29ufkkw7ttcxyak7v43n6vvsajc2jl nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z nostr:npub1acg6thl5psv62405rljzkj8spesceyfz2c32udakc2ak0dmvfeyse9p35c

This is my first dip into swimming with the big boys and girls. My sincere apologies if I dove into the deep end way over my head 🙏