Step 1 of 5
Set a target
A kind 9041 event says what you're raising money for (content) and how much (amount, in millisats).
NIP-75
DraftEvents
A fundraising goal as a kind 9041 event: a target amount and the relays where zaps are counted. Zap the goal to contribute and watch the progress bar fill.
Edit the form or the JSON: both stay in sync, the badge says whether the result is valid, and tapping any field explains it.
How the parts connect: Raising money
Not signed yet · Demo keys only. These personas' secret keys are public on purpose.
Select any field in the form or the JSON to see what it does.
Step 1 of 5
A kind 9041 event says what you're raising money for (content) and how much (amount, in millisats).
No course chapter covers this NIP yet. The editor above is the quickest way in.
Contributions are NIP-57 zaps; zap tags split them.
Long-form articles can link a goal.
Live streams can link a goal.
Specification text is quoted in English from the nostr-protocol/nips repository. Our explanations and the interface are translated. Source on GitHub at commit 0046368
This NIP defines an event for creating fundraising goals. Users can contribute funds towards the goal by zapping the goal event.
A kind:9041 event is used.
The .content contains a human-readable description of the goal.
The following tags are defined as REQUIRED.
amount - target amount in milisats.relays - a list of relays the zaps to this goal will be sent to and tallied from.Example event:
{
"kind": 9041,
"tags": [
["relays", "wss://alicerelay.example.com", "wss://bobrelay.example.com", /*...*/],
["amount", "210000"],
],
"content": "Nostrasia travel expenses",
// other fields...
}
The following tags are OPTIONAL.
closed_at - timestamp for determining which zaps are included in the tally. Zap receipts published after the closed_at timestamp SHOULD NOT count towards the goal progress.image - an image for the goalsummary - a brief description{
"kind": 9041,
"tags": [
["relays", "wss://alicerelay.example.com", "wss://bobrelay.example.com", /*...*/],
["amount", "210000"],
["closed_at", "<unix timestamp in seconds>"],
["image", "<image URL>"],
["summary", "<description of the goal>"],
],
"content": "Nostrasia travel expenses",
// other fields...
}
The goal MAY include an r or a tag linking to a URL or addressable event.
The goal MAY include multiple beneficiary pubkeys by specifying zap tags.
Addressable events can link to a goal by using a goal tag specifying the event id and an optional relay hint.
{
"kind": 3xxxx,
"tags": [
["goal", "<event id>", "<Relay URL (optional)>"],
// rest of tags...
],
// other fields...
}
Clients MAY display funding goals on user profiles.
When zapping a goal event, clients MUST include the relays in the relays tag of the goal event in the zap request relays tag.
When zapping an addressable event with a goal tag, clients SHOULD tag the goal event id in the e tag of the zap request.