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

https://github.com/PrimalHQ/

Reply to this note

Please Login to reply.

Discussion

That sounds pretty cool šŸ¤”

All right, in gonna try it

Ah what is this filth

Why can't I use my lightning wallet app like in amethyst 🄵

you can use any nwc wallet, just like amethyst

Hm, I use WOS on amethyst šŸ¤”

It just opens the app when I push the zap button...

So I have to find out what a nwc wallet is I guess 🫣

nwc stands nostr wallet connect

not sure if wos supports it, but probably

i like http://npub.cash

In the New Wallet Connection, it doesn’t let me do anything. Put in a name and tapping the button doesn’t move forward.

settings > wallet > turn off 'use Primal wallet'

Primal is great. It's like going to downtown Nostr, which I like doing every once awhile to see what's going on. But mostly, I like hanging around in my small village of followers using the other clients.

so it's the same as bluesky?

It's amazing what entrepreneurs without a government backstop can achieve!

very cool. I see that we’re now strictly all lower caps now. not even on new sentences without periods too

(Playing around here šŸ¤žšŸ¼)

yes

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.

nostr:npub1f07fly9xl3mzr2spk50hz93lm8a5hgt06l6y7kva2ja5we3wq26qp6dh6h we started talking about this last night 🤘

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_

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.

Thanks for the explanation.

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.

would be awesome to have tor built in to the app and/or some kind of trust minimized vpn

Lol never mind. The point of that is you dont know the destination which they would šŸ˜…

About to have something similar up for nostr:nprofile1qqs0f0clkkagh6pe7ux8xvtn8ccf77qgy2e3ra37q8uaez4mks5034gppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qg4waehxw309ahx7um5wghx77r5wghxgetk9uvmc9v7 live soon. The last issue was about user WoT with payload, though I think we figured how to handle that =3

I don't get what functionality this adds over just using an aggregating relay. Is it because it also caches the media and displays the cached version? Or something like that?

they can compute a feed on the server and promote content they want

ordering of posts

You forgot the part where the filtering, blocking and image swapping takes place at that caching layer.

This means Primal can ban any users it finds unfit?

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

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.

ā€œnostr identities are transportable, all users can use any nostr app at will and are never locked in to primalā€

This is the power of nostr. Not the client.

nostr:nevent1qqsrv4lyu3r0hhand5ts64lmqj8glc3puqtmn9mlz8ndve9nn6yf92gpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgn2h5k5

Can primal end-users simply skip the caching server (rather than "run their own", which is nontrivial and non-free)?

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

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?

Stop making AI slop.

Your face is Ai slop

Sadly it's not. It's my real face.