Welkom terug bij Nostr Compass, je wekelijkse gids voor Nostr.

Deze week: Sprout wordt Buzz en begint persona’s, teams en records van beheerde agents als Nostr-relay-events te publiceren, waarbij leesstatus op meerdere apparaten en leesmarkeringen per bericht het oude badge-frontiermodel vervangen. Napplets van sandwich.farm wordt gelanceerd als protocol met een vertrouwensgrens voor samenstelbare Nostr-apps die via Nostr en Blossom worden verspreid. Conduit, een marketplace-monorepo met drie Nostr-apps — kopersmarkt, merchantportal en winkelbouwer, met eigen NIP- en specmappen — voegt 17 PR’s samen die de marketplace-MVP verharden, schakelt standaard over op zijn publieke relay en voegt privacyveilige analytics toe. BitBlik levert een P2P-protocol voor BLIK-naar-Lightning-uitwisseling via versleutelde Nostr-RPC. Releases omvatten zes Amethyst-patches, Amber-signerbeveiliging, Haven-locatiedeling via Marmot, CodeDeck voor agentic coding op afstand via Nostr, de volledige Go-clientengine van Grain, Kubo’s verplichte trust-gate voor kinderen, Pollerama’s on-device relay en web-of-trust, plus kleinere releases voor Wisp, Citrine, FIPS, Mostro en andere projecten. Het protocolwerk omvat clientmetadata voor NIP-46, relayrollen voor NIP-86, checkout op de graph voor NIP-99, wijzigingen aan maintainerstatus in NIP-34, groepsstatussen in NIP-29, Stories en Reels, en kind 1111 als antwoord op kind 1-notes. Zes jaar Nostr in juni volgt de ontwikkeling van één Python-protocolrepository in 2021 naar de gelaagde agent-, commerce-, media-, signer- en groepsapplicaties van 2026.


Hoofdverhalen

Amethyst v1.12.1 tot en met v1.12.6 volgen op de lancering van v1.12.0

Amethyst volgde de lancering van v1.12.0 van vorige week tussen woensdag en vrijdag op met zes snelle patches. v1.12.1 voegt Health Connect Workouts en een actie Share as Image toe, en maakt de Tor-flag Active deterministisch zodat de bootstrap-callback niet met de gate kan racen. v1.12.2 voegt Road Events en inklapbare antwoorden toe, v1.12.3 levert monitoring van relaylatency met een classifier en dashboard-UI plus een oplossing voor macOS-notarisatie, en v1.12.4 tot en met v1.12.6 leveren Crowdin-vertaalrondes en automatisering van credits voor vertalers.

Sprout wordt Buzz en publiceert persona’s, teams en beheerde agents als relay-events

Sprout, Blocks zelf te hosten werkruimte waarin mensen en AI-agents in dezelfde kanalen samenwerken en elk bericht, elke reactie, workflowstap, reviewgoedkeuring en git-event als ondertekend Nostr-event wordt geschreven, is deze week hernoemd tot Buzz. GitHub leidt de oude slug block/sprout nu om naar block/buzz; de repository, licentie en productrichting zijn ongewijzigd. Alle berichtgeving over Sprout in eerdere nummers verwijst naar hetzelfde project.

Naast de naamswijziging verscheen substantieel productwerk. Persona’s, teams en records van beheerde agents worden via PR #1189 nu als Nostr-relay-events gepubliceerd, zodat dezelfde agentidentiteit zonder duplicatie van state in meerdere werkruimtes en auditlogs kan voorkomen. Een nieuw desktoppaneel toont NIP-OA-owner-attestations op profielen (PR #1198), de unread badge frontier van kanaalthreads is vervangen door leesmarkeringen per bericht zodat aantallen ongelezen berichten op verschillende apparaten kloppen (PR #1178), en de inbox krijgt auteur- en bronvermelding bij reminder-events (PR #1176).

Tijdelijke kanalen verlopen nu standaard na zeven dagen (PR #1182), relayoverrides per agent respecteren de ingestelde relay voordat ze terugvallen op de standaardrelay van de werkruimte (PR #1131), en de Windows-build bundelt nu een volledige Git-for-Windows-toolchain voor de shelltool (PR #1145).

Napplets: samenstelbare Nostr-apps met een gedefinieerde vertrouwensgrens

Sandwich.farm kondigde deze week napplet.run aan als protocol voor samenstelbare Nostr-applets, of napplets: kleine programma’s die één ding doen, in sandboxomgevingen draaien en via Nostr en Blossom worden gevonden met dezelfde eventvorm als nsites. Het project omvat drie repositories: napplet/web, met de webpackages dat deze week bij een gecoördineerde lancering 51 versietags voor subpackages uitbracht (@napplet/core, @napplet/sdk, @napplet/nap, @napplet/shim, @napplet/conformance); napplet/naps, het NAP-specificatietraject met 15 samengevoegde PR’s; en kehto/web, de webruntime met 41 samengevoegde PR’s en een playground op kehto.github.io/web/playground. De bijbehorende specificatie-PR is NIP-5D #2303, geopend door dskvr (sandwich.farm).

Het architecturale uitgangspunt is een op protocolniveau gedefinieerde vertrouwensgrens. Een shell bemiddelt gevaarlijke bewerkingen (ondertekenen, sleuteltoegang, schrijven naar relays), een runtime verzorgt de implementatie en UX op hoger niveau, en napplets blijven draagbaar, vervangbaar en moeilijker door één host in te kapselen. Napplets kunnen via dezelfde shell met elkaar communiceren en er is bewust geen runtime-lock-in. De auteur plaatst napplets naast NMP (van Pablof7z) en Tiles (van Soapbox) als parallelle benaderingen van hetzelfde probleem, en merkt op dat Amethysts ondersteuning voor NIP-5A en NIP-5D in v1.12.6 napplets bij de lancering minstens één actieve client geeft. Er is ook een historisch spoor: sandwich.farms eerdere napp.run (een prototype voor native NIP-07-apps) en de Thorium-fork dryft droegen beide bij aan het huidige ontwerp voordat ze terzijde werden gelegd.

Conduit verhardt de marketplace-MVP en schakelt standaard over op zijn publieke relay

Conduit is de marketplace-monorepo met drie apps op conduit.market (kopersmarkt, Merchant Portal en Store Builder) van de organisatie Conduit-BTC, met eigen mappen nips/ en specs/ die Conduit-specifieke Nostr-commerceprimitieven definiëren, en daaronder de Conduit-BTC/conduit-relay, een Scope-2-uitbreiding van khatru. Beide repositories werden eerder dit jaar geopend; deze week voegde het project 17 PR’s samen die de marketplace-MVP verharden.

De uitgeleverde PR’s draaien om correctheid van de marketplace: veiligheidsstatussen voor listings (PR #110) en verharding van productprijzen en verzendzones aan de kant van merchants (PR #115). Aan de relaykant corrigeert PR #102 detectie van commercemogelijkheden, negeert PR #112 onveilige relayhints van derden en stelt PR #128 het publieke Conduit-relaydomein in als standaard voor nieuwe clients. Privacyveilige analytics verschijnen in PR #109 en PR #129, en een upgrade van dompurify sluit een OSV-advisory (PR #116). Dit werk maakt deel uit van een bredere NIP-99-commercegolf die hieronder bij protocolwerk wordt beschreven.

BitBlik lanceert een P2P-protocol voor BLIK-naar-Lightning-uitwisseling via Nostr

BitBlik is deze week geopend als peer-to-peer-protocol voor BLIK ↔ Lightning-uitwisseling, gebouwd op Nostr. BLIK is het Poolse, door banken uitgegeven systeem voor directe betalingen; de BitBlik-coördinator wikkelt atomair af tussen BLIK-fiat (betaald door takers) en Lightning hold invoices (gefinancierd door makers), waarbij de levenscyclus van de transactie via Nostr loopt. De Flutter-app, CLI en coördinator delen een core-package, en het project wordt geleverd via de GitHub-monorepo bit-blik/bitblik, de webbuild op www.bitblik.app en de Zapstore-app app.bitblik.

Het protocol gebruikt versleutelde Nostr-DM’s (NIP-44) voor RPC tussen client en coördinator. Offers worden gepubliceerd als geparametriseerd vervangbare events van kind 38383, RPC-requests als kind 25195, RPC-responses als kind 25196 en statusupdates als kind 25197. De coördinator houdt een Lightning hold invoice vast terwijl een taker een BLIK-code indient, geeft de preimage vrij wanneer de BLIK-overdracht is bevestigd en stuurt de afwikkeling van de invoice naar de maker.


Releases met tags

Amber v6.2.2 implementeert NIP-46-clientmetadata

Amber, de belangrijkste Android-NIP-46-remote signer die wordt onderhouden door greenart7c3, bracht v6.2.2 uit in dezelfde week waarin de bijbehorende specificatie-PR werd samengevoegd. De release toont iconen van native apps en de nieuwe clientmetadata op requestschermen en in de applijst, bewaart clientmetadata bij elke connect en legt tijdens connect en accept het icoon en de naam van de native app vast. De wijziging sluit rechtstreeks aan op NIP-46 PR #2381 van DocNR, die optionele clientmetadata aan de connect-request toevoegt zodat signers een betekenisvolle naam en icoon voor de aanvrager kunnen tonen. Amber v6.2.2 ondersteunt ook event kind 30618 en scheidt standaard- en verbindingsrelays in het scherm Active relays.

De release verhardt het beveiligingsoppervlak van de signer. Ontsleutelde bodies van NIP-46-requests en -responses komen niet meer in logs terecht, en encrypt- en decryptpayloads worden als ciphertext opgeslagen en op aanvraag ontsleuteld. Alle logcat-output is afgeschermd achter BuildConfig.DEBUG, browseraanroepers (null-package) worden gedwongen altijd toestemming te vragen, en naar het klembord gekopieerde nsec, ncryptsec en seed words worden als gevoelig gemarkeerd en na een vertraging gewist. Expliciete uitsluitingen voor back-up en data-extractie zijn toegevoegd als defense in depth. De release verhelpt ook een crash door genest scrollen in Active relays, een LazyColumn-crash door dubbele sleutels bij race conditions in het dedupliceren van bunkerrequests, en een EOSE-race in de controle op release-updates.

Haven lanceert privé-locatiedeling via Marmot

Haven is deze week geopend als privéapp voor censuurbestendige locatiedeling op Android en iOS, die via Nostr met het Marmot-protocol werkt. De repository bracht in vier dagen vijf releases uit, van v0.1.0 tot v0.1.4, de eerste releases van een nieuw project. Haven is gebouwd in Dart en Flutter en wordt als door de ontwikkelaar ondertekende app via Zapstore gepubliceerd. Marmot, de op MLS gebaseerde end-to-end versleutelde berichtenlaag voor Nostr, verzorgt de groepsstatus en verspreiding van ciphertext; Haven breidt dat patroon uit van berichten naar locatiedeling, waarbij de versleutelde state van elke groep de locatie-updates bevat die de groep heeft ingestemd te delen.

CodeDeck: agentic coding op afstand via Nostr

CodeDeck is deze week geopend als interface voor agentic coding met meerdere sessies op Android en desktop. Het is gebouwd met Tauri v2, React 19 en een Rust-backend, en laat een gebruiker vanaf een telefoon via versleutelde Nostr-relays Claude Code-sessies op een laptop besturen. Het project bracht v2026.06.17, v2026.6.18 en v2026.6.20 uit in hetzelfde venster van vier dagen. Het transportmodel gebruikt Nostr als versleuteld control plane: een CodeDeck-telefoon publiceert commando’s als versleutelde events waarop de bridge naast de laptop is geabonneerd, en de laptop publiceert sessie-output via dezelfde relays terug.

v2026.06.17 integreert de FIPS-mesh van nostr-vpn als Android-VPN-service van de app, zodat een laptop vanaf elke locatie devbuilds van een app op een fysieke testtelefoon kan bouwen, installeren, starten en bedienen, met CodeDeck als enige software op die testtelefoon. v2026.6.18 voegt pairing en mesh-invite samen tot één QR-scan, en v2026.6.20 voegt modelselectie per sessie toe zodat elke sessie met het gekozen model begint.

Grain v0.8.0-rc1 levert een volledige Nostr-clientengine

Grain, de door 0ceanSlim onderhouden Go-relay, bracht v0.8.0-rc1 uit en is nu zowel een Nostr-relay als de importeerbare Go-clientlibrary waarop hij is gebouwd. Waar v0.7.x zich richtte op bediening van de relay vanuit een browser, levert de v0.8-lijn client/core, een zelfstandige Nostr-clientengine volgens het outboxmodel in puur Go, zonder cgo- of HTTP-afhankelijkheden. De engine beheert een gedeelde relaypool, zoekt de relaylijsten van elke gebruiker op en routeert elke read en publish volgens het gossip-/outboxmodel: je leest notes van een gebruiker uit diens outboxrelays, en een antwoord dat je publiceert bereikt de inboxrelays van de auteur van de parent. Grains eigen webfrontend is nu de referentiegebruiker van die library, zodat de UI zowel een bruikbare app als een uitgewerkt voorbeeld voor andere Go-projecten is.

De release levert native NIP-44-versleuteling (v2 en v3), relay-AUTH volgens NIP-42, relaylijsten volgens NIP-65, NIP-17, NIP-51 en NIP-37, clienttags volgens NIP-89, en mediaondersteuning voor Blossom plus NIP-96. Andere Go-apps die relayrouting eerder opnieuw moesten implementeren, kunnen de engine nu rechtstreeks importeren.

Mostro Core v0.13.1 volgt Protocol v2 op

Mostro Core bracht v0.13.1 uit als vervolg op de uitrol van Protocol v2 van vorige week, met een foutvariant PriceTooStale voor het price-feedcontract van het protocol. Aan de daemonzijde laat PR #752 ongeldige order-id’s aan clients zien als fout CantDo(NotFound) in plaats van ze stil te negeren, laat PR #785 de interne protocolversie het actieve transport volgen, levert PR #778 fase 3 van de El Toque-provider voor fiatcrosses voor CUP en MLC, en hernoemt PR #782 de info-tag protocol_versions van NIP-33 naar protocol_version voor afstemming op de specificatie.

Wisp v1.1.2 en de variant Dark Wisp

Wisp, barrydeens Android-client in Kotlin en Jetpack Compose, bracht v1.1.2 uit met afzonderlijke self-send-walletlegs in een deterministische transactievolgorde (PR #586), lazy aangemaakte inline videoplayers die notes met veel media overleven (PR #592), een oplossing voor ConcurrentModificationException in de event-relays-set (PR #595) en een oplossing voor intrinsic measurement van chatbubblecontent om een SubcomposeLayout-crash te voorkomen (PR #596). De release levert ook een incrementeel feedfilter met spambeoordeling buiten de lock. Het Wisp-team publiceerde deze week bovendien Dark Wisp v1.1.0 via Zapstore, een variant met meerdere valuta die zapdoelen voor ZEC, DASH, BCH en LTC plus een anonieme modus toevoegt.

Citrine v3.0.1

Citrine, greenart7c3’s lokale Android-Nostr-relay, bracht v3.0.1 uit met één oplossing: het uitschrijven van een niet-ingeschreven Pokey-receiver laat de relay niet meer crashen.

FIPS v0.4.0-rc2

FIPS, het Free Internetworking Peering System, tagde v0.4.0-rc2 als release candidate voor packagevalidatie boven op het wire-formaat van v0.3.x. De v0.4.0-lijn voegt een Nym-mixnettransport en optionele mDNS-LAN-discovery voor bereikbaarheid van peers toe, herziet het data plane voor hogere throughput op één node en minder CPU per packet, verplaatst het uitleesoppervlak voor operators van het hot path van het data plane zodat observability onder belasting responsief blijft, levert een herwerkte fipstop-TUI en verhardt FMP- en FSP-rekey zodat die bij packet loss zonder onderbreking werkt. Dit is een release candidate; de stabiele v0.4.0-release is voorlopig gepland voor 2026-06-21.

Kubo v2026.06.12 en v2026.06.20 vergrendelen de trust-gated kinderfeed en voegen door ouders samengestelde YouTube toe

Kubo, JeroenOnNostrs Nostr-native alternatief voor YouTube Kids, gebouwd op het Trust Extended Permissions Protocol (TEPP), bracht deze week twee releases uit. v2026.06.12 (kalenderversies, afgeleide versionCode YYYYMMDD) maakt de trust-gated kinderfeed verplicht: elke post, elk profiel, elke reactie en repost die het kind kan zien of gebruiken loopt nu via TEPP, beperkt tot mensen die de ouder heeft toegelaten. Nieuwe installaties beginnen met de trust-gate ingeschakeld en de kring van het kind wordt tijdens onboarding gevuld, zodat de feed vanaf de eerste start veilig is. De release voegt ook beheerde groepschat voor ouders toe, routeert trust-events naar de privérelayset van het gezin en faalt gesloten (toont niets) in plaats van ongecontroleerde content te lekken als trustdata niet geladen kan worden.

v2026.06.20 voegt door ouders samengestelde YouTube-kanalen toe: ouders kunnen een kanaal zoeken en aan de kinderfeed toevoegen, zodat kinderen alleen video’s zien van goedgekeurde kanalen. Een snelle HTTP-route plus optimistische UI vervangt het toevoegpad dat ongeveer tien seconden duurde. De release verwijdert ook de optie om Trust Extended Permissions uit te schakelen (het project draait om verplichte trust, dus de toggle staat nu altijd aan), voegt een speciale supportpagina toe, corrigeert @mentions in groepschat zodat iemand taggen een klikbare @name toont in plaats van een ruwe nostr:npub1…, voegt autocomplete voor mentions toe en laat trustpublicatie afhangen van de daadwerkelijke enforcementstate in plaats van een spiegel-flag. Beide releases worden via Zapstore gevolgd als de door de ontwikkelaar ondertekende Android-app com.kubo.app.

Pollerama v1.9.0 tot en met v1.9.4 voegen een web-of-trustscore, on-device relayengine en een rail ‘People you may know’ toe

Pollerama van abh3po, de Nostr-client voor polls en feeds uit de Form*-familie op pollerama.fun, bracht deze week vijf releases via Zapstore uit. v1.9.0 levert een nieuwe on-device relayengine: een ingebouwde lokale relay bewaart nu alles wat de gebruiker heeft gezien en beantwoordt de app eerst uit de lokale cache, zodat feeds, profielen en threads direct laden, ook offline, en op de achtergrond met het netwerk gesynchroniseerd blijven. Al het relayverkeer (reads en writes) loopt via deze engine buiten de main thread, en eerder geladen notes, profielen, reacties en zaps komen rechtstreeks uit lokale opslag in plaats van opnieuw te worden opgehaald.

v1.9.2 corrigeert dat Home- en Notes-feeds (en elke Following- of Network-weergave) bij starten of hervatten soms niets tonen, door de volglijst onafhankelijk van de syncengine te cachen; maakt notes die in DM’s zijn gedeeld betrouwbaar laadbaar door de gerefereerde note via relayhints op te halen, ook wanneer de gebruiker de auteur niet volgt; en voegt een instellingenpaneel Network toe dat relayverbindingen, cachegrootte en syncstate toont, met bediening om opnieuw te verbinden of de lokale cache te wissen. v1.9.3 verhelpt een crash bij het starten en een laadregressie in de Home-feed.

v1.9.4 introduceert een web-of-trustscore op profielen (hoeveel van de mensen die je volgt deze persoon ook volgen, weergegeven als netwerkchip) en een rail ‘People you may know’ (volgsuggesties uit je web of trust, gerangschikt op het aantal mensen dat jij volgt en hen volgt). Network-instellingen tonen nu de grootte van de web of trust en het tijdstip van de laatste berekening, met een knop om op verzoek opnieuw te berekenen. Trustscores en aanbevelingen worden op de achtergrond berekend door de web-of-trustworker, zodat ze de app niet blokkeren.

Kleinere releases met tags

nogringo/nostr-mail-client v0.13.1 herstelt aanmelding via NIP-55-signerapps voor Amber, Aegis en Primal, en stopt herhaaldelijk vragen aan signerapps om contacten te ondertekenen. Cameri/nostream v3.0.0 verwijdert unsafe-inline uit de web-appfactory en implementeert script-nonces. LaWallet NWC v1.0.0 levert de eerste 1.0 van het project met activering van deelbare QR-linkkaarten, herkenning van Remote Wallet en automatische toewijzing van een Lightning Address. Formstr Nostr Calendar v2.0.0 tot en met v2.0.2 voegen een PWA toe, repareren offline vervangbare events (PR #194) en binden signermethoden zodat verzenden van privéformulieren werkt (PR #199). Kleinere releases van Nostrmo, Nostrudel, ndk-mobile, Munstr, Coop en andere gevolgde projecten bevatten gerichte oplossingen en onderhoudsupdates.


Nog niet uitgebrachte wijzigingen

Cordn Ad-hoc CVM: een browsergebaseerde MLS-coördinator

Cordn Ad-hoc, de nieuwe webapp van sandwich.farm, is deze week publiek geopend als MLS-coördinator die in een browsertab draait voor ad-hocgroepen van Cordn. Het patroon is ongebruikelijk: een browsertab draait het Nostr-coördinatorproces van ContextVM, publiceert zijn coördinator-pubkey, ontvangt MCP-requests via Nostr-relays en bewaart MLS-key packages, welcomes, join requests en groepsberichten in browseropslag, zonder backend. De app voorkomt dat meerdere coördinators met dezelfde pubkey tegelijk draaien en biedt een debuglog voor operators met ruwe Nostr-events, gedecodeerde requests en instanceheartbeats.

SnowCait/nostter levert 19 PR’s aan UX-iteratie

nostter, SnowCaits Nostr-webclient, voegde deze week zonder release 19 PR’s samen. De vervanging van nostrapp.link door app-manager.nostter.app (PR #2234) en toevoeging van deck.nostter.app aan de allowlist frame-ancestors (PR #2233) brengen het oppervlak van het project samen onder het domein nostter.app. Vervangbare events van gevolgde gebruikers worden in IndexedDB gecachet (PR #2231), en seen-on-relaystate wordt weer reactief met gesplitste seen-on- en via-opties (PR #2230).

Zap Cooking verhelpt een projectoverschrijdende NIP-46-bug en herziet de composer

Zap Cooking, de client voor recepten delen via Nostr, voegde deze week 16 PR’s samen. De wijziging met het grootste bereik is PR #452: remote signers van Primal stempelden events met de pubkey van de signer zelf, waardoor uploads, zaps en auth mislukten voor elke client die via Primal routeerde. Zap Cooking ontdekte en repareerde het pad; de oplossing is lokaal in de client, maar de bug bestaat in de hele NIP-46-ruimte. De composer wordt in PR #458 herbouwd met een afteltimer, een uniforme UI voor antwoorden en commentaren, en tabs Write/Preview. Drie SSR-oplossingen (PR #460, PR #461, PR #462) en PR #454 stabiliseren profiel- en receptroutes. De explore-ervaring krijgt drag-and-dropcategorieën en verbeterde mobiele navigatie.

Shopstr levert een Cashu-escrowlevenscyclus en storefronttools

Shopstr, de NIP-99-marketplace, voegde deze week een reeks substantiële PR’s samen. PR #512 implementeert een end-to-end P2PK Cashu-escrowlevenscyclus voor de marketplace. Die sluit aan op de bredere commercegolf van dezelfde week via NIP-99 PR #2323, het voorstel voor een checkoutlaag op de graph, en de lancering van Conduit. Leestools verschijnen in PR #543 voor het weergeven van bedrijven, ophalen van bedrijfsdetails, ophalen van een storefront en verkrijgen van verkopersreputatie. PR #229 voegt plakken van URL’s voor profiel- en winkelafbeeldingen toe, en PR #359 werkt het ophalen van marketplacestatistieken bij met een timestamp.

Werk aan divine.video voor mobiel en desktop

divine.video, rabbles client voor korte loopvideo’s met herstelde Vine-archieven, voegde deze week PR’s samen rond afspelen en bewerken: adresseerbare video’s worden in de feed gededupliceerd (PR #5465), lokale Nostr-tagfilters matchen nu exact om foutieve resultaten te voorkomen (PR #5463), de video-editor herstelt drafts met stickerlagen zonder te crashen (PR #5474), en de badge Messages telt ongelezen chats van gevolgde mensen waarop nog niet is geantwoord (PR #5473).

Nostur levert ondersteuning voor NIP-46-clientmetadata en oplossingen voor DM-refresh

Nostur, Fabians iOS-client, voegde vier PR’s samen in de canonieke repository na de release 1.29.0 van vorige week. PR #74 voegt clientmetadata toe aan NIP-46-bunker-connectrequests, dezelfde vorm die DocNR voorstelde en Amber v6.2.2 deze week levert. PR #75 en PR #76 repareren DM-refresh en herstel na een overgang van een iPhone naar de voorgrond, en PR #78 voegt QR-scanning toe aan de aangepaste NWC-configuratie.


Nieuw gevolgd en ontdekt

Social Agents Prototype: Nostr-native samenwerking tussen AI-agents met menselijke goedkeuringsgate

Social Agents Prototype is een experimentele AI-tool op Nostr die gedecentraliseerde communicatie tussen agents onderzoekt. Agents zenden atomaire vragen uit over het netwerk, alleen relevante agents antwoorden, en elk verzonden of ontvangen bericht passeert vóór transport een menselijke goedkeuringsgate. De auteur is Sruly Rosenblat. Het project bevindt zich deze week in dezelfde ruimte voor agentsamenwerking als Buzz en NIP-100 SNIN, maar kiest een andere vorm: Social Agents Prototype modelleert agents als zendende en luisterende deelnemers van wie ieder bericht door een mens moet worden goedgekeurd. Er zijn deze week meerdere parallelle benaderingen van hetzelfde probleem zichtbaar.

PRana: een werklijst voor NIP-34-issues

PRana van DocNR is een werklijst met correct geopende NIP-34-issues uit opt-inrepositories voor git over Nostr. De tool ligt één laag boven de git-over-Nostr-stack: hij consumeert de NIP-34-issue-events van deelnemende repositories en presenteert ze als triagewachtrij. De lancering valt in dezelfde week waarin NIP-34 PR #2384 voorstelt de maintainerstag te verwijderen om verloopproblemen op te lossen, wat rechtstreeks beïnvloedt hoe tools zoals PRana de autoriteit over issues in repositories vaststellen.

routstr-chat: lokale toegang tot LLM’s via het Routstr-protocol op Nostr

routstr-chat van het Routstr-team is een volledig lokale chatinterface die via het Routstr-protocol toegang biedt tot elk LLM-model via Nostr. Het Routstr-protocol routeert inferencerequests via provideraankondigingen die als kind 38421 op Nostr worden gepubliceerd en rekent af met Cashu, zoals beschreven in Newsletter #20. De chatclient is de gebruikersinterface boven op dat protocol; de routingdaemon (Routstrd) verzorgt discovery en betaling, en de chatapp biedt de gespreks-UI.


Protocolwerk

NIP-updates

De NIP-activiteit van deze week was ongewoon groot: twee samenvoegingen en een golf substantiële open voorstellen.

NIP-46-clientmetadata verschijnt in Amber en Nostur

NIP-46 PR #2381, die Clave vorige week voorstelde, heeft nu actieve implementaties aan beide kanten. Amber v6.2.2 leest het nieuwe optionele veld optional_client_metadata in bunker-connectrequests en toont iconen en metadata van native apps op requestschermen en in de applijst. Nostur PR #74 voegt het veld aan de clientzijde toe. Samen sluiten de drie projecten de cirkel rond het identiteitshiaat bij bunkerpairing: een bunker://-pairing draagt nu dezelfde name, url en image die een app al via nostrconnect:// kon bekendmaken.

NIP-86-signevent en een bijbehorend relayrollen-event

PR #2389 van staab voegde een bewerking signevent samen in NIP-86, de relaymanagement-API, zodat relayadmins namens de relay NIP-43-events kunnen beheren. Het bijbehorende open voorstel PR #2390 van staab definieert een relayrollen-event waarmee relays roldefinities kunnen bekendmaken en admins leden aan die rollen kunnen toewijzen of daaruit verwijderen. De twee PR’s zijn bedoeld om samen te werken: NIP-86 geeft admins de bewerkingen, het rollen-event geeft hun het autorisatiemodel.

NIP-99: checkoutlaag op de graph voor marketplaces

PR #2323 van Colabonate is de sterkste verbindende schakel van de week. Het voorstel is opgezet als verzoek om ontwerpfeedback en benoemt twee hiaten in de stack van NIP-99 en de Gamma Market Spec: een checkoutflow die op de graph leeft (state na Buy Now, orderaanmaak, betaling en leveringsbevestiging als publieke adresseerbare Nostr-events die elke client kan lezen), en escrow plus geschiloplossing voor transacties waarbij web-of-trustsignalen alleen onvoldoende zijn (waardevolle goederen, partijen die voor het eerst handelen, anonieme marketplaces, fysieke bezorging). Het voorstel sluit cross-clientsilo’s voor marketplaces zoals NIP-99 dat voor listings deed. Het verschijnt in dezelfde week als de lancering van Conduit, dat eigen mappen nips/ en specs/ levert, Shopstr PR #512 met een end-to-end Cashu-escrowlevenscyclus, BitBlik met atomaire fiat-Lightning-uitwisseling en NIP-15/NIP-99-werk in andere clients.

NIP-34: verwijder de maintainerstag om verloopproblemen op te lossen

PR #2384 van dhalsim verwijdert de maintainerstag uit repositoryaankondigingen van NIP-34 en adresseert issue #2382. De maintainerstag had geen gedefinieerde semantiek voor verloop, waardoor andere tools moeilijk konden bepalen of een maintainerstoewijzing nog gezaghebbend was. De wijziging heeft een groot bereik: hij beïnvloedt flotilla-budabit-patches (de enige gevolgde NIP-34-repository met substantiële patchactiviteit deze week), de NIP-34-distributie over acht repositories van het Iris-team, de NIP-34-mirror van BitBlik, de nieuwe NIP-34-mirror van Amber en DocNR’s PRana-werklijst voor issues. Cross-reviewers op de PR zijn onder anderen DanConwayDev (ngit), vitorpamplona (Amethyst), TheAwiteb en chebizarro.

NIP-29-groepsstatussen (work in progress)

PR #2372 van dtonon stelt een framing voor groepsstatussen voor NIP-29 voor, gedeeld als work in progress om feedback te verzamelen. Dit vervolgt de evolutie van NIP-29 uit #27, nu met een nieuwe framing.

NIP-79 Stories en NIP-76 Reels Feed (beide van anaskmh)

Deze week verschenen twee specificaties voor korte media van dezelfde auteur. PR #2386 stelt NIP-79 Stories voor: tijdelijke schermvullende foto-, video- en tekstslides die na 24 uur verlopen, met kind 19 voor afzonderlijke slides, kind 34237 als adresseerbaar event met geordende e-tags om stories met meerdere slides te rangschikken, en een optionele privacybeschermende seen-by receipt van kind 15750. PR #2385 stelt NIP-76 voor een Reels Feed met korte video’s voor. Beide zijn parallelle specificaties naast wat bestaande videoclients zoals divine.video leveren, geen implementaties daarvan.

kind 1111 als antwoord op kind 1-notes

PR #2358 van zhoreeq verwijdert de regel uit het NIPs-corpus die eerder afraadde antwoorden in commentaarthreads van kind 1111 (NIP-22) te gebruiken bij notes van kind 1 (issue #2250). De diff is klein, maar het effect groot: elke client die de threaded-commentvorm van NIP-22 wil gebruiken bij gewone timeline-notes van kind 1 krijgt daar nu expliciete steun voor.


Zes jaar Nostr in juni

De repositorygeschiedenis van juni volgt Nostr van de kindertijd van het protocol tot een samenstelbare applicatielaag. In 2021 paste het werk nog in één protocolrepository. In 2022 werden het standaardenproces en de eerste serieuze clients afzonderlijke projecten. De publieke golf van 2023 maakte relays, betalingen en rijkere identiteiten dringend; 2024 verving vroege shortcuts voor ondertekenen en berichten; 2025 bracht die contracten naar privégroepen, gitsamenwerking, media en commerce; en 2026 lanceerde producten die Nostr als één laag binnen agentwerkruimtes, exchanges en ontwikkelaarstools gebruiken. De ontwikkeling loopt van bewijzen dat ondertekende events via relays kunnen bewegen naar dat gegeven als implementatiedetail behandelen.

Juni 2021: de kindertijd van het protocol

Nostr was ongeveer zeven maanden oud. fiatjafs oorspronkelijke protocolpost en repository fiatjaf/nostr omvatten nog bijna het hele publieke project. Een handvol ontwikkelaars kon elke wijziging reviewen en de referentie-implementatie was een Pythonscript. Dit was nog geen clientecosysteem; het was de stelling dat gebruikers events konden ondertekenen en relays konden kiezen zonder dat een platform hun identiteit toewees.

Er was geen afzonderlijke NIPs-repository, dus voorstellen en implementatievoorbeelden deelden nog dezelfde hoofdgeschiedenis van het protocol. Die compacte omvang was in dit stadium een kracht: een nieuwe implementeerder kon het protocol van begin tot eind begrijpen. De prijs was dat elk nieuw gedrag nog van dezelfde kleine groep afhing, een beperking die de splitsing van de repository en clientgolf van 2022 zouden beginnen op te heffen.

Juni 2022: de NIPs-repository ontstaat

Halverwege 2022 had Nostr genoeg indieners om de afzonderlijke repository nostr-protocol/nips, die in mei werd aangemaakt, te rechtvaardigen. Ongeveer twintig specificaties dekten nu het basiseventformaat, volglijsten, versleutelde DM’s, relaymetadata en bech32-identifiers. De documenten uit de oorspronkelijke coderepository halen veranderde de governance van het project: clients konden onafhankelijk evolueren terwijl gedeeld wire-gedrag expliciete voorstellen en review kreeg.

De eerste publieke webclients, waaronder Astral en Anigma, draaiden in vroege vormen, en William Casarins Damus-repository bewoog richting distributie via TestFlight. De gebruikersbasis was nog klein en vooral technisch, maar het systeem had nu twee vermenigvuldigende oppervlakken: meer mensen konden applicaties bouwen zonder de specificatie te onderhouden, en meer mensen konden de specificatie verbeteren zonder de oorspronkelijke client te bezitten.

Juni 2023: adoptiegolf na Damus

In juni 2023 had de publieke golf na de lancering van Damus in de App Store het technische probleem veranderd. Primal en Iris bouwden voor mensen die de vroege protocolchats niet hadden gevolgd, terwijl strfry een snelle relay bood voor operators met meer verkeer. Het netwerk had niet alleen meer implementaties nodig; het had clients en relays nodig die responsief bleven terwijl aantallen gebruikers, follows en eventgeschiedenissen groeiden.

Protocolwerk concentreerde zich daarom op routing en waardeoverdracht. NIP-65-relaylijsten gaven het opkomende outboxmodel een draagbare bron van waarheid, terwijl NIP-57-zaps events en identiteiten aan Lightning-receipts koppelden. De fasewisseling was praktisch: identiteit en publiceren hadden gebruikers aangetrokken, maar selectieve relayrouting en walletinteroperabiliteit zorgden dat het grotere netwerk meer kon zijn dan één overbelaste publieke feed.

Juni 2024: signers, gift-wrap en de upgrade van berichten

In juni 2024 begon ondertekenen uit afzonderlijke clients te bewegen. De NIP-46-specificatie, nsecBunker en Amber gaven web- en Android-applicaties manieren om handtekeningen te vragen zonder de geheime sleutel van een gebruiker te importeren. Dit draaide een vroege aanname om: draagbaarheid betekende niet langer een nsec naar elke client kopiëren, maar gespecialiseerde signers een grens eromheen laten afdwingen.

Berichten veranderden om dezelfde reden. NIP-17 combineerde NIP-44-versleuteling met NIP-59-gift wrapping om de door NIP-04 blootgestelde metadata te beperken, terwijl NIP-89 clients handlers liet aanbevelen voor eventtypen die ze niet konden renderen. Besprekingen over MLS via Nostr begonnen in deze omgeving. Privacy en applicatiediscovery werden contracten tussen clients, waarmee de basis werd gelegd voor privégroepen en rijkere, eventspecifieke applicaties in plaats van één client die elke functie probeert te omvatten.

Juni 2025: Marmot, volwassenheid van git over Nostr en de long tail van clients

In juni 2025 had MLS over Nostr de formele Marmot-specificatie en White Noise als publieke implementatie. NIP-34-git-events, ngit en GitWorkshop waren bovendien uitgegroeid tot een bruikbare codereviewflow. Deze projecten deelden een ontwerpfase: ze gebruikten relays voor coördinatie, maar verplaatsten gevoelige groepsstate of repositoryobjecten naar speciaal gebouwde lagen in plaats van een tekstnoteclient als de hele applicatie te behandelen.

Commerce en media volgden hetzelfde patroon. NIP-60-wallets en NIP-61-nutzaps brachten Cashu-state naar draagbare events; Wavlake, Divine en NIP-99-marketplace-implementaties gebruikten speciale event kinds voor muziek, video en listings. Nostr zag er steeds minder uit als ’een sociaal netwerk’, terwijl applicaties de identiteits- en relaylaag behielden maar domeinspecifieke opslag, betalingen, moderatie en presentatie introduceerden.

Juni 2026: een maand vol lanceringen

Juni 2026 bracht lanceringen die Nostr als één component van grotere producten behandelden. Buzz opende een zelf te hosten workspace-as-relaypatroon voor mensen en agents; Napplets definieerde een vertrouwensgrens voor samenstelbare apps via Nostr en Blossom; en Conduit plaatste marketplaceapplicaties naast eigen protocoldocumenten. Deze projecten vroegen niet langer of ondertekende events samenwerking konden ondersteunen. Ze bepaalden welk werk in events thuishoorde, welk werk in blobs of lokale state, en welke permissies een host moest behouden.

BitBlik gebruikte Nostr in een peer-to-peer-uitwisseling tussen fiat en Lightning, CodeDeck vervoerde codingsessies via versleutelde relays, en Haven paste Marmot buiten een conventionele messenger toe. De afstand tot de prototyperepository uit 2021 bestaat niet alleen uit meer projecten. Het is een verandering in abstractie: teams konden beginnen met draagbare identiteit, relaydiscovery, versleuteling en betalingen als bestaande bouwstenen, en hun ontwerpinspanning vervolgens richten op de applicatiespecifieke grens erboven.