Great example of a value add Nostr service. Building more value over time helps stay competitive and potential offer additional premium services that can help cover costs and make a sustainable growing business. View quoted note →
Blake
_@wako.ws
npub1ktw5...mrvj
#Bitcoin #Nostr #Freedom wss://relay.nostrgraph.net
If you're interested in Nostr Paid Services, I've written my thoughts on approaches here - including:
1. On-demand and optionally authenticated
2. Pre-paid with authentication (and top up/extend mechanism)
3. Membership entitled and authenticated (with join mechanism and possible service feature caps or excess usage fees)
I'd like to collaborate to battle test these approaches, and see if we can define workflows that work for the paid services people are, and want to build on Nostr.
Feedback welcome and encouraged.
GitHub
NIP-XX: Proof of Work Service Provider for Nostr · Issue #340 · nostr-protocol/nips
I'd like to share a NIP draft for a Proof of Work Service Provider for Nostr, which enables client apps to request remote PoW generation for event_...
“Decentralised Moderation” is censorship, as you never know who is making decisions on your behalf.
In contrast, if a relay you join has moderation terms defined, and a list of public moderators (or even private if you don’t care) - that is completely fine. That’s opt-in transparent moderation.
If I join a moderated Nostr group/channel (when we have better moderation tools in future) - not a problem. You dislike the moderation, start your own Nostr group/channel.
And if I follow someone or follow a list or feed of content, that’s curation. Again, 100% fine for that data source and curator to pick what to include.
If you’re interested in Clojure, or even just system design and data structures - the latest Clojure Conj 2023 videos are being uploaded to https://www.youtube.com/@ClojureTV/videos
When I first found Ruby, it became my first favourite language. I eventually tried lisp and Clojure/ClojureScript and was like 👀. This is awesome (and (a little) weird)!
Today I prefer to upset #[0] and use rust. I have no favourite languages today.. most serve a purpose, but some make you a better engineer.
If anyone is interested in Nostr Proof of Work, I have a draft NIP and functional implementation of a POW service provider that can remotely generate POW for your events before signing and publishing.
The general feedback and support was on Nostr, and the Github issue responses were more concerned based.
I built this entirely in anticipation for mass Nostr spam protection - in case we needed it urgently. We seem to be doing ok with spam now, however it’s possible we may need to revisit minimum POW for events when publishing - as a relay opt-in.
And just to clarify, I don’t like burnt CPU cycles either. Paying sats directly to a relay works well - however unless you pay for 10+ relays.. your events are not decentralised (as most relays move toward becoming paid to publish). POW helps address the issue of low value spam and flooding - it doesn’t solve everything.

GitHub
NIP-XX: Proof of Work Service Provider for Nostr · Issue #340 · nostr-protocol/nips
I'd like to share a NIP draft for a Proof of Work Service Provider for Nostr, which enables client apps to request remote PoW generation for event_...
Here is an rust Nostr Paywall example project. It responds with 402 Payment Required, unless your NIP-98 HTTP Auth event’s pubkey has been granted access.
It’s a separate project, however it can work together with the lightning payment webhook server I shared yesterday. Payment webhook events can update the DB, and then the paywall can succeed, and provide access for that pubkey for that content.
https://github.com/blakejakopovic/lightning_rs_webhook
GitHub
GitHub - blakejakopovic/nostr_paywall_example: This is an example Nostr rust project to enable '402 Payment Required' responses for requests to paid content.
This is an example Nostr rust project to enable '402 Payment Required' responses for requests to paid content. - blakejakopovic/nostr_paywall_example
This is why we need to ensure the censorship resistance properties of Nostr don’t erode as a critical priority. I don’t care if Google or Brazil gov is right.. the fact conflicting information can exist is the very core of freedom of information.
Decentralised moderation sounds fun and all, until it’s used by the state against the people. Moderation for small, centralised circles is fine. We need to take care with how we approach it.
We also need to ensure relays remain as dumb and generic as possible - as a general service. And avoiding storing media and files directly on relays (unless you choose to separately). Certainly we can build apps and experiences on top - we just need an enduring base network layer.
And as a side note, seeking freedom of information isn’t promoting hate speech or bigotry or whatever I’ve seen said recently. It’s about having access to self-informed choice when it matters - because one day the government will turn on you too. Doesn’t matter if it’s extending your retirement age, giving you a social credit score, forcing you to stay locked inside, or sneaky new taxes and privacy eroding laws.
Long Live #Nostr View quoted note →
I’ve published my rust BTCPay and LNbits webhook library with example projects for each platform. The code is really simple to follow.
This means when invoices are paid, you can trigger actions, like updating a database to grant access to a pubkey (like a paywall), add credits to an account, sending a Nostr message, or whatever. It performs the HMAC validation for BTCPay server payloads.
I’m not using it yet myself, as I need to finish my Nostr Paywall Server project first - which I’ll release this week. Let me know if you’re keen to use it in production or any other features needed.
https://github.com/blakejakopovic/lightning_rs_webhook
Great podcast with #[0] by #[1] - Why deflation is the key to abundance. Thanks #[2].
View quoted note →
Should there be a profile tab to show what events someone has zapped? Could be cool.
GM #Nostr ☀️ ☕️
Being transparent is critical. Nostr has faults today, and we can build greater protections over time. It’s important to call out areas that need work - or assumptions that’s aren’t what they may appear. Censorship resistance doesn’t exactly align with privacy. View quoted note →