What happens if I pay and then someone takes my notes from other relays and throws them into this? That will exhaust my credits? The solution is to require AUTH for publishing such that only you can publish your own notes to this relay. That's built into NIP-70 which is enabled by default on khatru, you just have to require all events to have the "-" tag. Then the question becomes about how to properly publish to this relay, and then we will need some specialized clients or some special relay view section within clients with tools for publishing relay-specific notes.
PPE Relay - a paid relay that accepts notes on a pay-per-event basis.
wss://ppe.swarmstr.com
Powered by khatru framework by nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprdmhxue69uhhyetvv9ujuam9wd6x2unwvf6xxtnrdakj7qgnwaehxw309amk7apww468smewdahx2tckuej4c
How it works?
- For storing an event, the relay charges 1 sat per single event.
- The amount is subtracted from the user's balance each time event is accepted.
- To top up your balance, simply zap any note from nostr:nprofile1qqsqsujjc4r3s683cn8nvda0m8s2z70elp65nml3lvcykqm39w8duucpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsjeeaj3 with the desired amount.
- Only kind 1 (note) and 30023 (long-form) events are accepted.
- To view your current balance, tag nostr:nprofile1qqsqsujjc4r3s683cn8nvda0m8s2z70elp65nml3lvcykqm39w8duucpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsjeeaj3 with "balance" command.
Repo: https://github.com/ptrio42/ppe-relay
Feedback/suggestions appreciated.
Note: This is an experimental phase so expect some bugs.
Discussion
Right now when I browse wss://ppe.swarmstr.com/ (by the way, it's just one click on the relay URL to browse on Gossip now) I see a bunch of notes that are replies to other notes that are outside the relay.
But it would be cool to have something like a feed of notes that people paid to publish specifically to that relay, like a privileged billboard, I don't know. Maybe you could even reorder the feed such that highest paying notes are returned first instead of the most recent -- or ranked by a combination of newest+more expensive, I don't know.
I was thinking about it extensively this morning and the only solution I came up with was to accept only "new" events eg. X seconds from created_at but this has a lot of downsides too.
Requiring auth and enforcing protected events sounds good but yeah there's the client issue.
nostr:note14grygrjsmmtl75afack876f52cesd54zqqr32ms6e6ekkyk5fdqqk8rrzc
Could there be a tag that is a 1 sat note (or whatever the charge to publish fee is?). That way the relay does not need to maintain any account. A wallet external to the relay can manage that.