primal is unique among nostr apps in that it relies on a super relay: a caching server the caching server pulls notes and events from all known relays, the app then reads from the server rather than relays directly this setup provides both performance and privacy improvements users do not have to trust the caching server with message integrity because all events are signed but users do trust the caching server to show all events similar to traditional relays, anyone can run a caching server, users can easily change which server they use in settings the caching server is not used when broadcasting notes, broadcasts are sent directly to relays chosen by users the primal stack is open source, anyone can verify, run, or modify the code without permission nostr identities are transportable, all users can use any nostr app at will and are never locked in to primal

Replies (86)

very cool. I see that we’re now strictly all lower caps now. not even on new sentences without periods too (Playing around here 🤞🏼)
Super relay is a clever middle layer. Offloads read pressure, improves UX, and stays true to Nostr’s trustless model. Open source and swappable? That’s how it should be.
Beautiful, except that, in my visual mind I cannot see this. Can we ask AI to make me a graphic so my 🐢 mind can comprehend better? Thanks for letting me know! 🫡
**The Tale of Two Towns: Cacheville and Nosteria** Once upon a time, in a land of communication and connection, there were two neighboring towns: Cacheville and Nosteria. Though close in distance, the way they shared information was completely different. In Cacheville, life was all about speed and efficiency. The town had a small post office with a clever system. Every time a resident asked for a letter from the big city, the post office would fetch it—but then, instead of throwing it away, they’d keep a copy in a little backroom. So, when someone else came asking for the same letter, the post office clerk would smile and say, “No need to wait—I’ve got a copy right here!” The people loved it. It saved time. It made everything feel fast. But there was one catch: if the letter ever changed in the big city, Cacheville wouldn't always know unless someone asked again. Still, for a town that liked things quick and simple, this worked perfectly. Now over in Nosteria, things were… different. They didn’t have a central post office. Instead, they had bulletin boards—lots of them—set up in town squares. If someone wanted to share a message, they’d walk up to a board and pin it themselves. Anyone walking by could stop and read it. Some people pinned their messages on just one board; others walked from square to square, pinning copies on many. There were no gatekeepers. Each bulletin board was run by a different person, and some accepted everything, while others had their own rules. But anyone could become a board host—and anyone could read the boards freely. It wasn’t as fast or tidy as Cacheville, but it was open, free, and no one could silence a message as long as someone, somewhere, was willing to pin it. And so, though Cacheville and Nosteria lived side by side, they served very different needs. One made things faster by remembering the past. The other made things freer by sharing the present with anyone who would listen. And in a world full of messages, both had their place. _ written by ChatGPT_
Default avatar
DELETED 1 year ago
People get confused by the mere presence of server and think centrization, not connecting that censorship can be performed directly on any #Nostr client itself. Full stack clients like #Primal are going to leave UI-only clients in the dust. nevent1qqsdxjenj5fp5rr0k28ntuyzwugeuw62a6h8hmy8zkn7wu7a5nhqmhcpr9mhxue69uhhyetvv9ujuam9d3kx7unyv4ezumn9wspzqdtgwhlaw2dsdm45c8t6wzslw5qyt5r8waxjrs86llj272ledghgqvzqqqqqqy2guuqc
I was thinking about it, yeah based on the description in the note, I’m not sure what control Primal has over notes users can read, but users have the ability to post to whatever relays they want so in that direction can’t be censored.
The only big downside for me is that Primal does not have the ability to enter SOCKS 5 information into the app, so I can't use my Tor proxy, for example.
the axiom's avatar
the axiom 1 year ago
they can compute a feed on the server and promote content they want
unknown's avatar
unknown 8 months ago
You forgot the part where the filtering, blocking and image swapping takes place at that caching layer.
nope but its something we are looking into ideally more people run caching servers so users can switch without having to run their own of course users could always use a different nostr app if they want to read from relays directly
primal cannot ban users the caching sever can block content from being seen but cannot block broadcasts users can easily switch caching server in settings menu or use a different nostr app
unknown's avatar
unknown 8 months ago
What he means is they can’t ban users from the real Nostr. But they can censor everything you post from being seen in the Primal app. The words are very specific.
There are some notes from people saying the economics for running a caching server don't work out as a value-add on its own. > of course users could always use a different nostr app if they want to read from relays directly 🫡 the best part of the protocol.
> the economics for running a caching server i think its a similar argument to running relays and there are many non direct benefits from having a more complete view of the network
I can run a relay nearly for free and with 5-10 minutes of up front attention. In fact that's exactly how my personal relay came to be: investing a small handful of minutes adding it to my existing docker collection. What are some of the benefits of having a more complete view of the network?
Bangarangg 's avatar
Bangarangg 8 months ago
I turned your Note into an inspirational song 😀
Primal doesn’t lock you in. Even if the caching makes it appear to be censored, the joy of Nostr is that you can use multiple clients at the same time.. if you don’t like primal don’t use it 🤷‍♂️ View quoted note →
Howuch does ist cost to run a Server Like that? Any experiences? Can you make a business model with it? Just like asking, I would love to run one
Blame Saylor for being held in such esteem and convincing people to never spend. He needs to be called out for what he is...
there's a fundamental tension here. it's easier to build and benefit from centralized services than distributed apps. philosophically we want distributed, permissionless, censorship resistant things, but most people, most of the time, just pick the easy one. @jack often points this out. there isn't a simple answer, but maybe recognizing the asymmetry would reduce the emotional conflict. we're all on the same team
But there's none available options as the API is proprietary. Do suggest one that works here as an alternative.
Then, ser, u r wrong. Save what you can but spend as much as you are able and replace. If we do not start using it as money, it isn't money and we are stuck in the same system that drove so many, culminating in SN creating bitcoin to drag us to freedom.
weev's avatar
weev 1 month ago
that isn’t what he asked at all. Virtually zero people are ever going to manually run and specify their own caching server and you know it. “You can run our proprietary daemon that ONLY we use in the whole world and manually type it into your client, it’s incredibly simple to not be censored!” This is no different than libtards circa 2017 who were shouting “just run your own social media service!” The point is that there is clearly no effort on your part to ever delegate this central control over Nostr that you’ve claimed for yourself.
weev's avatar
weev 1 month ago
You say “primal cannot ban users” but then admit that it can block their content from being seen. This is, functionally, what has historically been referred to as a “shadowbox” and is not much different than being banned. If you cannot be displayed on the most-used Nostr client that has all the VC and advertising/promotion, then you can’t be competitive with any content producers on Nostr within the same vertical. You absolutely can, functionally, ban people. And it’s disingenuous to pretend otherwise.
weev's avatar
weev 1 month ago
sorry, “shadowban”, Apple autocorrect fucked me there
John Satsman's avatar
John Satsman 1 month ago
You can do whatever you want with your corn as will I.
weev's avatar
weev 1 month ago
Even if I assume 100% good faith from Odell and everyone at Primal, the fact is that most of the governments of the world have passed laws making demands of social media infrastructure providers, and force decisions from them on a regular basis. This doesn’t affect Nostr at the present moment because nobody is using it, but in the long-term as they have positioned themselves with the capability to censor, they will eventually be forced to do so on a regular basis if Nostr is not a failure. Even if Primal is not currently censoring people or manipulating eyeballs (which I have seen multiple attestations from people I respect who say otherwise), building a centralized service with the capability to censor in the first place should be met with deep contempt and mistrust.
well, yes. but they're still going to exist, and that's okay. the problem isn't "centralized services that use nostr data", it's that primal is one and it dominates the marketshare, therefore the most common nostr experience is centralized this is a similar problem to the most common bitcoin experience being custodial, and the answer isn't "lecture people on why that's bad", it's to build better distributed tools. this is why i have spent significant time and energy on bitcoindeposits.net analogously, the solution is probably to make self hosted options like iris.to better. to build distributed caching relays. etc. the problem is that building these costs money, and money likes centralization and defends itself, and so funds things in line with its interests, like primal and spark there are no good answers here. funding open source has always been miserable. a long time ago i had the opportunity to ask stallman about this, and his reply was that how the software gets built wasn't his problem. at the individual level it's true, but it doesn't solve the problem
the best option seems to be to use ai to reduce the cost of development by a few orders of magnitude. this has its own issues (BUT TEH TRUST), but sometimes just a change of strategy creates opportunity. i'm building a new lisp os because legibility makes defense possible, trust is easier to maintain than replace, and claude's time is cheap. maybe other similarly "vibe coded" apps will help rebalance the situation with nostr
xenonsky's avatar
xenonsky 1 month ago
yes and it works without using an app store. but really it can only get worse when adding new bs features like gif button and other bs @miljan
Hofer99's avatar
Hofer99 1 month ago
Vaxx wasn't mandatory. You just lost your job and couldn't pay your mortage anymore. But vaxx was never mandatory.
Seems like it flies in the face of dumb relay, smart client. But yes, Primal is free to do things as it chooses. Definitely wouldn't be what I'd onboard people with who I was bothering to onboard anyway. But I'm not onboarding normies anyway. The world of Meta platforms exists much like AOL existed in the 90's and early 2000's so as to quarantine them from the rest of the Internet in a place where they can defecate all over themselves without bothering the rest of us. Primal seems like it's trying to go the Ubuntu route. That is, make things usually work easier for the casual user that doesn't know their way around. It also suffers from the same major drawback: when it fails at this, it leaves the user with far less recourse to correct what is going wrong and do what they actually would like to do, at the cost of reading a thing or two. I'll stick with the Slackware approach. Nothing wrong with a little friction as long as the means are there to overcome it and learn a thing or two in the process.
That said, thanks for helping pinpoint this key area around what I dislike about the Primal design. I see that it's what some people want, and of course you're free to build and use what you want. Aint for me though.
That makes it seem like it would be a superset of available even major relays. That is not my experience. So what determines what is and is not included?
Primal Web appears to be in "maintenance mode" for a long time already. Basically nothing new happens, issues that users is registering on GitHub simply gets ignored. The team members posts on Nostr asking for user feedback, yet keeps ignoring feedback when they get it. The way you treat your users, is a good indication on how much you care about your own products.
My comments seem to be hidden from primal app users. I downloaded primal and logged in, can't even see my own comments after making them, it won't load my profile. I know the comments are working because I checked with amethyst.