Bienvenidos de nuevo a Nostr Compass, vuestra guía semanal de Nostr.

Esta semana: Sprout cambia su nombre a Buzz y empieza a publicar personas, equipos y registros de agentes gestionados como eventos de relay de Nostr, con estado de lectura entre dispositivos y marcadores de lectura por mensaje que sustituyen al antiguo modelo de frontera de insignias. Napplets, de sandwich.farm, se lanza como protocolo de límite de confianza para aplicaciones Nostr componibles distribuidas mediante Nostr y Blossom. Conduit, un monorepo de marketplace con tres aplicaciones sobre Nostr (mercado para compradores, portal para comerciantes y constructor de tiendas, con sus propios directorios de NIPs y especificaciones), integra 17 PRs que endurecen el MVP del marketplace, cambia de forma predeterminada a su relay público y añade analítica respetuosa con la privacidad. BitBlik publica un protocolo de intercambio P2P de BLIK a Lightning mediante DMs cifrados de Nostr, con un coordinador que liquida de forma atómica entre fiat y facturas retenidas de Lightning. Amethyst continúa el lanzamiento de la semana pasada de wallets, pódcasts y entrenamientos con Health Connect Workouts, Road Events, respuestas colapsables, seguimiento de la salud de latencia de relays con un clasificador y una corrección de notarización para macOS. Amber implementa la extensión de metadatos de cliente de NIP-46 propuesta la semana pasada y muestra iconos e identidad de aplicaciones nativas en las pantallas de solicitudes del firmante. Haven lanza la compartición privada de ubicación sobre el protocolo de mensajería cifrada Marmot. CodeDeck permite controlar desde el teléfono sesiones de Claude Code ejecutadas en el portátil mediante relays cifrados de Nostr, después reduce el emparejamiento a un único escaneo QR y añade selección de modelo por sesión. Grain publica una biblioteca Nostr importable para Go que implementa el modelo outbox. Mostro Core, Wisp y Dark Wisp, Citrine, FIPS, Kubo (canales de YouTube seleccionados por los padres y un feed infantil sujeto obligatoriamente a confianza) y Pollerama (una puntuación de web of trust, un motor de relay en el dispositivo y una sección «Personas que quizá conozcas») publican parches de seguimiento. El trabajo aún no publicado abarca un coordinador MLS en el navegador de sandwich.farm, el ciclo de iteración de UX de nostter, la corrección de NIP-46 entre proyectos y la renovación del compositor de Zap Cooking, el ciclo de escrow Cashu de Shopstr, divine.video y Nostur. Entre los nuevos proyectos seguidos están Social Agents Prototype, PRana para el triaje de incidencias de git sobre Nostr y routstr-chat. En el protocolo, NIP-99 recibe una propuesta de checkout y escrow dentro del grafo que encaja directamente con el trabajo comercial de Conduit, BitBlik y Shopstr. Como este es el último Compass de junio, el número termina con Seis años de junios de Nostr.


Historias principales

Amethyst v1.12.1 a v1.12.6 continúan el lanzamiento de v1.12.0

Amethyst continuó el lanzamiento de v1.12.0 de la semana pasada con seis parches rápidos entre el miércoles y el viernes. v1.12.1 añade Health Connect Workouts y una acción Share-as-Image, y hace determinista el flag Active de Tor para que el callback de arranque no pueda competir con la puerta. v1.12.2 añade Road Events y respuestas colapsables; v1.12.3 incorpora seguimiento de la salud de latencia de relays con un clasificador y una interfaz de panel, además de corregir la notarización en macOS; y v1.12.4 a v1.12.6 incluyen rondas de traducción de Crowdin y automatización de créditos de traductores.

Sprout cambia su nombre a Buzz y publica personas, equipos y agentes gestionados como eventos de relay

Sprout, el workspace autoalojable de Block donde humanos y agentes de IA colaboran en los mismos canales y cada mensaje, reacción, paso de workflow, aprobación de revisión y evento git se escribe como evento Nostr firmado, pasó a llamarse Buzz esta semana. GitHub ahora redirige el antiguo slug block/sprout a block/buzz; el repositorio, la licencia y la dirección del producto no cambian. Toda la cobertura de Sprout en números anteriores se refiere al mismo proyecto.

La semana trajo trabajo sustancial de producto junto con el cambio de nombre. Las personas, los equipos y los registros de agentes gestionados se publican ahora como eventos de relay de Nostr mediante PR #1189, lo que permite que una misma identidad de agente aparezca en varios workspaces y registros de auditoría sin duplicar estado. Un nuevo panel de escritorio muestra las attestations de propietario NIP-OA en los perfiles (PR #1198); la frontera de insignias no leídas de los hilos de canal se sustituyó por marcadores de lectura por mensaje para que los recuentos permanezcan correctos entre dispositivos (PR #1178); y la bandeja de entrada añade atribución de autor y origen en los eventos de recordatorio (PR #1176).

Los canales temporales caducan ahora de forma predeterminada a los siete días (PR #1182); las sustituciones de relay por agente respetan el relay configurado antes de recurrir al predeterminado del workspace (PR #1131); y la compilación de Windows incluye ahora un toolchain completo de Git for Windows para la herramienta de shell (PR #1145).

Napplets: aplicaciones Nostr componibles con un límite de confianza definido

Sandwich.farm anunció napplet.run esta semana como protocolo para applets componibles de Nostr, o napplets: pequeños programas que hacen una sola cosa, se ejecutan en entornos aislados y se resuelven mediante Nostr y Blossom con la misma forma de evento que los nsites. El proyecto se distribuye en tres repositorios: napplet/web, que contiene los paquetes web y publicó esta semana 51 tags de versión de subpaquetes en un lanzamiento coordinado (@napplet/core, @napplet/sdk, @napplet/nap, @napplet/shim, @napplet/conformance); napplet/naps, la vía de especificaciones NAPs con 15 PRs fusionados; y kehto/web, el runtime web con 41 PRs fusionados y un playground en kehto.github.io/web/playground. El PR de especificación correspondiente es NIP-5D #2303, abierto por dskvr (sandwich.farm).

La premisa arquitectónica es un límite de confianza definido en la capa de protocolo. Un shell intermedia operaciones peligrosas (firma, acceso a claves y escrituras en relays), un runtime se ocupa de la implementación y de la UX de alto nivel, y los napplets siguen siendo portables, desechables y más difíciles de capturar por un único host. Los napplets pueden comunicarse entre sí dentro del mismo shell, y el diseño evita el bloqueo a un runtime. El autor sitúa los napplets en diálogo con NMP (de Pablof7z) y Tiles (de Soapbox) como enfoques paralelos al mismo problema, y señala que la compatibilidad de Amethyst v1.12.6 con NIP-5A y NIP-5D da a los napplets al menos un cliente publicado desde el lanzamiento. También incluye un hilo histórico: el anterior napp.run de sandwich.farm, un prototipo de aplicación nativa NIP-07, y el navegador dryft, fork de Thorium, influyeron en el diseño actual antes de ser apartados.

Conduit endurece el MVP del marketplace y cambia de forma predeterminada a su relay público

Conduit es el monorepo de tres aplicaciones de marketplace de conduit.market (Market para compradores, Merchant Portal y Store Builder) bajo la organización Conduit-BTC, con directorios propios nips/ y specs/ que definen primitivas comerciales de Nostr específicas de Conduit, y con la extensión Scope-2 de khatru, Conduit-BTC/conduit-relay, por debajo. Ambos repositorios se abrieron a comienzos de este año; esta semana el proyecto fusionó 17 PRs que endurecen el MVP del marketplace.

Los PRs publicados se concentran en la corrección del marketplace: estados de seguridad de los anuncios (PR #110) y endurecimiento de precios de productos y zonas de envío en el lado del comerciante (PR #115). En el relay, PR #102 corrige la detección de capacidades comerciales, PR #112 ignora hints de relays inseguros de terceros y PR #128 establece el dominio del relay público de Conduit como predeterminado para clientes nuevos. La analítica respetuosa con la privacidad llega en PR #109 y PR #129, y una actualización de dompurify cierra un aviso OSV (PR #116). El trabajo forma parte de una ola comercial más amplia de NIP-99 esta semana: PR #2323 propone una capa de checkout dentro del grafo para mercados NIP-99 que cubre flujo de pedidos, escrow y disputas; la veterana Gamma Markets Market Spec, que amplía NIP-99 para comercio electrónico completo, se convierte en la capa de especificación sobre la que construyen Conduit y otros; y Shopstr publicó esa misma semana un ciclo de escrow Cashu.

BitBlik lanza un protocolo P2P de intercambio de BLIK a Lightning sobre Nostr

BitBlik se abrió esta semana como protocolo P2P de intercambio BLIK ↔ Lightning construido sobre Nostr. BLIK es el sistema polaco de pagos instantáneos emitido por bancos; el coordinador de BitBlik liquida de forma atómica entre fiat BLIK, pagado por takers, y facturas retenidas de Lightning, financiadas por makers, mientras el ciclo de la operación se desarrolla sobre Nostr. La aplicación Flutter, la CLI y el coordinador comparten un paquete core, y el proyecto se distribuye mediante el monorepo de GitHub bit-blik/bitblik, la compilación web en www.bitblik.app y la aplicación de Zapstore app.bitblik.

El protocolo usa mensajes directos cifrados de Nostr (NIP-44) para el RPC entre cliente y coordinador. Las ofertas se publican como eventos reemplazables parametrizados de kind 38383, las solicitudes RPC en kind 25195, las respuestas RPC en kind 25196 y las actualizaciones de estado en kind 25197. El coordinador retiene una factura Lightning mientras un taker envía un código BLIK, libera la preimagen cuando se confirma la transferencia BLIK y dirige la liquidación de la factura al maker.


Versiones etiquetadas

Amber v6.2.2 implementa metadatos de cliente NIP-46

Amber, el firmante remoto Android dominante de NIP-46 mantenido por greenart7c3, publicó v6.2.2 la misma semana en que se fusionó el PR de especificación correspondiente. La versión muestra iconos de aplicaciones nativas y los nuevos campos de metadatos de cliente en las pantallas de solicitudes y la lista de aplicaciones, persiste los metadatos del cliente en cada conexión y captura el icono y el nombre de la aplicación nativa al conectar y aceptar. El cambio se empareja directamente con NIP-46 PR #2381, de DocNR, que añade metadatos opcionales del cliente a la solicitud de conexión para que los firmantes puedan mostrar un nombre y un icono reconocibles del solicitante. Amber v6.2.2 también añade compatibilidad con el evento kind 30618 y separa los relays predeterminados y de conexión en la pantalla Active relays.

La versión endurece la superficie de seguridad del firmante. Los cuerpos descifrados de solicitudes y respuestas NIP-46 ya no llegan a los logs, y los payloads de cifrado y descifrado se almacenan como ciphertext y se descifran bajo demanda. Toda salida de logcat queda detrás de BuildConfig.DEBUG; los llamantes desde navegador, sin paquete, se fuerzan a preguntar siempre; y las copias de nsec, ncryptsec y palabras semilla al portapapeles se marcan como sensibles y se borran tras una demora. Se añaden exclusiones explícitas de copias de seguridad y extracción de datos como defensa en profundidad. La versión también corrige un fallo por scroll anidado en Active relays, un fallo de clave duplicada de LazyColumn causado por una deduplicación con carreras de solicitudes bunker y una carrera de EOSE en la comprobación de actualizaciones.

Haven lanza la compartición privada de ubicación sobre Marmot

Haven se abrió esta semana como aplicación privada y resistente a la censura para compartir ubicación en Android e iOS, ejecutada sobre Nostr mediante el protocolo Marmot. El repositorio publicó cinco versiones entre v0.1.0 y v0.1.4 en cuatro días, las primeras versiones de un proyecto nuevo. Haven está construido en Dart y Flutter y se publica en Zapstore como aplicación firmada por el desarrollador. Marmot, la capa de mensajería cifrada de extremo a extremo basada en MLS para Nostr, aporta el estado de grupo y la distribución de ciphertext; Haven extiende ese patrón desde la mensajería hasta la ubicación compartida, y el estado cifrado de cada grupo transporta las actualizaciones de ubicación que el grupo ha consentido compartir.

CodeDeck: programación remota con agentes sobre Nostr

CodeDeck se abrió esta semana como interfaz de programación con agentes y múltiples sesiones para Android y escritorio, construida con Tauri v2, React 19 y un backend en Rust, que permite controlar desde el teléfono sesiones de Claude Code ejecutadas en un portátil mediante relays cifrados de Nostr. El proyecto publicó v2026.06.17, v2026.6.18 y v2026.6.20 en la misma ventana de cuatro días. El modelo de transporte usa Nostr como plano de control cifrado: un teléfono con CodeDeck publica comandos como eventos cifrados a los que se suscribe el bridge que se ejecuta junto al portátil, y este publica la salida de la sesión mediante los mismos relays.

v2026.06.17 integra la malla FIPS de nostr-vpn como servicio VPN Android de la aplicación para que un portátil pueda compilar, instalar, abrir y controlar builds de desarrollo de una aplicación en un teléfono físico de prueba desde cualquier lugar, con CodeDeck como único software instalado en el teléfono de prueba. v2026.6.18 reduce el emparejamiento y la invitación a la malla a un único escaneo QR, y v2026.6.20 añade selección de modelo por sesión para que cada sesión comience con el modelo elegido.

Grain v0.8.0-rc1 publica un motor completo de cliente Nostr

Grain, el relay Go mantenido por 0ceanSlim, publicó v0.8.0-rc1 y ahora es a la vez un relay de Nostr y la biblioteca cliente Go importable sobre la que está construido. Mientras v0.7.x se centraba en operar el relay desde un navegador, la línea v0.8 publica client/core, un motor cliente Nostr independiente con modelo outbox, escrito en Go puro y sin dependencias de cgo ni HTTP. El motor posee un pool compartido de relays, resuelve las listas de relays de cada usuario y dirige cada lectura y publicación según el modelo gossip / outbox: se leen las notas de un usuario desde sus relays outbox, y una respuesta publicada llega a los relays inbox del autor de la nota raíz. El frontend web de Grain es ahora el consumidor de referencia de esa biblioteca, por lo que la interfaz es una aplicación utilizable y un ejemplo práctico para proyectos Go derivados.

La versión incorpora cifrado nativo NIP-44 (v2 y v3), AUTH de relay NIP-42, listas de relays NIP-65, NIP-17, NIP-51 y NIP-37, tags de cliente NIP-89, y soporte multimedia de Blossom y NIP-96. Las aplicaciones Go que antes tenían que volver a implementar el enrutamiento de relays ahora pueden hacer import del motor directamente.

Mostro Core v0.13.1 continúa Protocol v2

Mostro Core publicó v0.13.1 como continuación del despliegue de Protocol v2 de la semana pasada, e introdujo una variante de error PriceTooStale para el contrato del feed de precios del protocolo. En el daemon, PR #752 presenta a los clientes los ids de pedido no válidos como un error CantDo(NotFound) en vez de descartarlos en silencio; PR #785 hace que la versión interna del protocolo siga el transporte activo; PR #778 incorpora la fase 3 del proveedor de cruce fiat El Toque para CUP y MLC; y PR #782 cambia el nombre del tag informativo de NIP-33, protocol_versions, a protocol_version para ajustarlo a la especificación.

Wisp v1.1.2 y la variante Dark Wisp

Wisp, el cliente Android de Barrydeen escrito con Kotlin y Jetpack Compose, publicó v1.1.2, que mantiene separadas las ramas de wallet autoenviadas dentro de un orden determinista de transacciones (PR #586), crea de forma perezosa los reproductores de vídeo inline para resistir notas con muchos medios (PR #592), corrige una ConcurrentModificationException en el conjunto de relays de eventos (PR #595) y corrige la medición intrínseca del contenido de las burbujas de chat para evitar un fallo de SubcomposeLayout (PR #596). La versión también incorpora un filtro incremental del feed con puntuación de spam fuera del lock. El equipo de Wisp publicó además Dark Wisp v1.1.0 en Zapstore esta semana como variante multidivisa que añade objetivos de zap en ZEC, DASH, BCH y LTC, además de un modo anónimo.

Citrine v3.0.1

Citrine, el relay local Android de Nostr de greenart7c3, publicó v3.0.1 con una única corrección: cancelar el registro de un receptor Pokey no registrado ya no provoca un fallo que derribe el relay.

FIPS v0.4.0-rc2

FIPS, el Free Internetworking Peering System, etiquetó v0.4.0-rc2 como release candidate de validación de empaquetado sobre el formato de cable v0.3.x. La línea v0.4.0 añade un transporte de mixnet Nym y descubrimiento LAN opcional por mDNS para la accesibilidad de peers, renueva el plano de datos para aumentar el rendimiento de un solo nodo y reducir la CPU por paquete, saca la superficie de lectura del operador de la ruta crítica del plano de datos para que la observabilidad siga respondiendo bajo carga, publica una TUI fipstop renovada y endurece el rekey de FMP y FSP para que no interrumpa el tráfico bajo pérdida de paquetes. Es una release candidate; la versión estable v0.4.0 estaba prevista provisionalmente para el 2026-06-21.

Kubo v2026.06.12 y v2026.06.20 fijan el feed infantil sujeto a confianza y añaden YouTube seleccionado por los padres

Kubo, la alternativa nativa de Nostr a YouTube Kids de JeroenOnNostr, construida sobre Trust Extended Permissions Protocol (TEPP), publicó dos versiones esta semana. v2026.06.12, con versionado de calendario y versionCode derivado YYYYMMDD, hace obligatorio el feed infantil sujeto a confianza: toda publicación, perfil, reacción y repost que el menor pueda ver o con el que pueda interactuar pasa ahora por TEPP, limitado a las personas admitidas por el progenitor. Las instalaciones nuevas comienzan con la puerta de confianza activada y el círculo del menor se inicializa durante el onboarding, de modo que el feed queda protegido desde la primera apertura. La versión también incorpora chat de grupo gestionado para progenitores, dirige los eventos de confianza al conjunto privado de relays de la familia y falla de forma cerrada, sin mostrar nada, en lugar de filtrar contenido no verificado si no puede cargar los datos de confianza.

v2026.06.20 añade canales de YouTube seleccionados por los progenitores: estos pueden buscar un canal y añadirlo al feed infantil para que los menores solo vean vídeos de canales aprobados, con una vía rápida HTTP y una interfaz optimista que sustituyen al proceso de añadir de unos diez segundos. La versión también elimina la opción de desactivar Trust Extended Permissions, pues el proyecto se basa en confianza obligatoria y el interruptor queda siempre activo; añade una página específica de soporte; corrige las @mentions en el chat de grupo para que etiquetar a alguien muestre el @nombre clicable en vez de un nostr:npub1… sin procesar; añade autocompletado de menciones; y corrige la publicación de confianza para que dependa del estado real de aplicación, no de un flag espejo. Ambas versiones se siguen mediante Zapstore como la aplicación Android com.kubo.app firmada por el desarrollador.

Pollerama v1.9.0 a v1.9.4 añaden puntuación de web of trust, un motor de relay en el dispositivo y una sección «Personas que quizá conozcas»

Pollerama, de abh3po, el cliente de encuestas y feeds Nostr de la familia Form* en pollerama.fun, publicó cinco versiones en Zapstore esta semana. v1.9.0 incorpora un nuevo motor de relay en el dispositivo: un relay local integrado guarda todo lo que el usuario ha visto y responde primero desde la caché local, por lo que feeds, perfiles e hilos cargan al instante, incluso sin conexión, y se mantienen sincronizados con la red en segundo plano. Todo el tráfico de relays, lecturas y escrituras, atraviesa este motor fuera del hilo principal, y las notas, perfiles, reacciones y zaps ya cargados salen directamente del almacenamiento local en lugar de volver a obtenerse.

v1.9.2 corrige que Home y los feeds de notas, así como cualquier vista Following/Network, aparezcan a veces vacíos al abrir o reanudar, mediante el cacheo de la lista de seguidos con independencia del motor de sincronización; hace que las notas compartidas dentro de DMs carguen de forma fiable al obtener la nota referenciada desde los hints de relay aunque el usuario no siga al autor; y añade un panel de ajustes Network que muestra conexiones de relay, tamaño de caché y estado de sincronización, con controles para reconectar o borrar la caché local. v1.9.3 corrige un fallo al arrancar y una regresión de carga del feed Home.

v1.9.4 introduce una puntuación de confianza de web of trust en los perfiles, que indica cuántas de las personas seguidas por el usuario siguen también a esa persona y se muestra como un chip de red, y una sección «Personas que quizá conozcas», con sugerencias obtenidas de la web of trust y ordenadas por cuántos seguidos las siguen. Los ajustes Network muestran ahora el tamaño de la web of trust y la hora del último cálculo, con un botón para recalcular bajo demanda. El worker de web of trust calcula en segundo plano las puntuaciones y recomendaciones para no bloquear la aplicación.

Versiones etiquetadas menores

nogringo/nostr-mail-client v0.13.1 restaura el inicio de sesión mediante aplicaciones firmantes NIP-55 para Amber, Aegis y Primal, y deja de pedir repetidamente a las aplicaciones firmantes que firmen contactos. Cameri/nostream v3.0.0 elimina unsafe-inline de la factoría de aplicaciones web e implementa nonces de scripts. LaWallet NWC v1.0.0 publica la primera versión 1.0 del proyecto con activación mediante tarjeta con enlace QR compartible, reconocimiento de Remote Wallet y aprovisionamiento automático de Lightning Address. Formstr Nostr Calendar v2.0.0 a v2.0.2 añaden una PWA, corrigen eventos reemplazables offline (PR #194) y vinculan los métodos del firmante para que funcione el envío de formularios privados (PR #199). Completan la semana versiones menores de Spl0itable/NYM, codeswot/ZapBook, 77elements/noornote, mattn/nostr-relay, mattn/algia, mouse484/astraea, dergigi/boris, fiatjaf/nak, Spl0itable/nosflare y nostrord/nostrord.


Cambios aún no publicados

Cordn Ad-hoc CVM: un coordinador MLS en el navegador

Cordn Ad-hoc, la nueva aplicación web de sandwich.farm, se abre públicamente esta semana como coordinador MLS que se ejecuta en una pestaña del navegador para grupos Cordn ad hoc. El patrón es poco habitual: una pestaña ejecuta el proceso coordinador Nostr de ContextVM, publica la pubkey del coordinador, recibe solicitudes MCP mediante relays de Nostr y almacena paquetes de claves MLS, welcomes, solicitudes de unión y mensajes de grupo en el almacenamiento del navegador, sin backend. La aplicación impide que se ejecuten a la vez varios coordinadores con la misma pubkey y ofrece al operador un log de depuración para eventos Nostr sin procesar, solicitudes decodificadas y heartbeats de instancia.

SnowCait/nostter publica 19 PRs de iteración de UX

nostter, el cliente web Nostr de SnowCait, fusionó 19 PRs esta semana sin publicar una versión. La sustitución de nostrapp.link por app-manager.nostter.app (PR #2234) y la adición de deck.nostter.app a la allowlist frame-ancestors (PR #2233) consolidan la superficie del proyecto bajo el dominio nostter.app. Los eventos reemplazables de las cuentas seguidas se cachean en IndexedDB (PR #2231), y el estado seen-on del relay recupera reactividad con opciones separadas para seen-on y via (PR #2230).

Zap Cooking corrige un error de NIP-46 entre proyectos y renueva el compositor

Zap Cooking, el cliente para compartir recetas sobre Nostr, fusionó 16 PRs esta semana. El cambio de mayor alcance es PR #452: los firmantes remotos de Primal sellaban eventos con la pubkey del propio firmante, lo que rompía subidas, zaps y auth para cualquier cliente que pasara por Primal. Zap Cooking detectó y parcheó la ruta; la corrección es local al cliente, pero el error existe en todo el espacio NIP-46. El compositor se reconstruye en PR #458 con temporizador de cuenta atrás, una interfaz unificada de respuesta/comentario y pestañas Write/Preview. Tres correcciones SSR (PR #460, PR #461, PR #462) y PR #454 estabilizan las rutas de perfiles y recetas. La experiencia de exploración añade filas desplazables mediante arrastre, un cursor de avatar con enlace al perfil y una corrección de pestañas fijas para comunidades (PR #456).

Shopstr publica un ciclo de escrow Cashu y herramientas para escaparates

Shopstr, el marketplace NIP-99, fusionó esta semana una serie de PRs sustanciales. PR #512 implementa un ciclo completo de escrow Cashu P2PK para el marketplace, conectado con la ola comercial más amplia de esa semana mediante NIP-99 PR #2323, la propuesta de capa de checkout dentro del grafo, y el lanzamiento de Conduit. Las herramientas de lectura llegan en PR #543 para listar empresas, obtener sus detalles, recuperar un escaparate y consultar la reputación del vendedor. PR #229 incorpora soporte para pegar URLs de imágenes de perfil y tienda, y PR #359 actualiza la obtención de estadísticas del marketplace para incluir una marca de tiempo.

Trabajo de divine.video para móvil y escritorio

divine.video, el cliente de vídeos cortos en bucle de rabble que restaura los archivos de Vine, fusionó esta semana PRs centrados en reproducción y edición: los vídeos direccionables se deduplican en el feed (PR #5465); los filtros locales de tags Nostr ahora exigen coincidencia exacta para evitar resultados espurios (PR #5463); el editor de vídeo recupera borradores con capas de stickers sin fallar (PR #5474); y la insignia Messages cuenta los chats no leídos de cuentas seguidas a los que aún no se ha respondido (PR #5473).

Nostur incorpora metadatos de cliente NIP-46 y correcciones de refresco de DMs

Nostur, el cliente iOS de Fabian, fusionó cuatro PRs en el repositorio canónico después de la versión 1.29.0 de la semana pasada. PR #74 añade metadatos de cliente a las solicitudes de conexión bunker NIP-46, la misma forma propuesta por DocNR y publicada esta semana por Amber v6.2.2. PR #75 y PR #76 corrigen las rutas de refresco de DMs y recuperación al primer plano tras una transición de iPhone, y PR #78 añade escaneo QR a la configuración NWC personalizada.


Nuevos proyectos seguidos y descubiertos

Social Agents Prototype: colaboración entre agentes de IA nativa de Nostr con aprobación humana

Social Agents Prototype es una herramienta experimental de IA construida sobre Nostr que explora la comunicación descentralizada entre agentes. Los agentes emiten preguntas atómicas por la red, solo responden los agentes pertinentes y cada mensaje enviado o recibido pasa por una puerta de aprobación humana antes del tránsito. Su autor es Sruly Rosenblat. El proyecto ocupa el mismo espacio de colaboración entre agentes que Buzz y NIP-100 SNIN esta semana, pero adopta otra forma: Social Agents Prototype modela los agentes como participantes que emiten y escuchan, y exige que una persona apruebe cada mensaje. Esta semana se ven varios enfoques paralelos al mismo problema.

PRana: una lista de trabajo para incidencias NIP-34

PRana, de DocNR, es una lista de trabajo de incidencias NIP-34 abiertas correctamente en repositorios de git sobre Nostr que optan por participar. La herramienta se sitúa una capa por encima del stack de git sobre Nostr: consume los eventos de incidencias NIP-34 de los repositorios participantes y los presenta como cola de triaje. El lanzamiento llega la misma semana en que NIP-34 PR #2384 propone eliminar el tag maintainers para resolver problemas de caducidad, lo que afecta directamente a cómo herramientas como PRana resuelven la autoridad sobre incidencias entre repositorios.

routstr-chat: acceso local a LLMs mediante el protocolo Routstr sobre Nostr

routstr-chat, del equipo de Routstr, es una interfaz de chat totalmente local que usa el protocolo Routstr para acceder a cualquier modelo LLM mediante Nostr. Routstr dirige solicitudes de inferencia a través de anuncios de proveedores publicados en Nostr, kind 38421, y liquida con Cashu, como se explicó en el Boletín #20. El cliente de chat es la superficie orientada al usuario sobre ese protocolo; el daemon de enrutamiento Routstrd gestiona el descubrimiento y el pago, y la aplicación de chat aporta la interfaz de conversación.


Trabajo de protocolo

Actualizaciones de NIPs

La actividad de NIPs de la semana fue especialmente intensa: dos fusiones y una oleada de propuestas abiertas sustanciales.

Los metadatos de cliente NIP-46 llegan a Amber y Nostur

NIP-46 PR #2381, que Clave propuso la semana pasada, ya tiene implementaciones publicadas en ambos lados. Amber v6.2.2 lee el nuevo campo opcional optional_client_metadata de las solicitudes de conexión bunker y muestra iconos y metadatos de aplicaciones nativas en las pantallas de solicitudes y la lista de aplicaciones. Nostur PR #74 añade el campo en el lado del cliente. Los tres proyectos cierran juntos la brecha de identidad en el emparejamiento bunker: un emparejamiento bunker:// transporta ahora los mismos name, url e image que una aplicación ya podía anunciar mediante nostrconnect://.

NIP-86 signevent y un evento complementario de roles de relay

PR #2389 de staab fusionó una operación signevent en NIP-86, la API de gestión de relays, lo que permite a sus administradores gestionar eventos NIP-43 en nombre del relay. La propuesta complementaria abierta PR #2390 de staab define un evento de roles de relay para que estos puedan declarar definiciones de roles y los administradores puedan asignar o retirar miembros de ellos. Los dos PRs están diseñados para componerse: NIP-86 da las operaciones a los administradores y el evento de roles les da el modelo de autorización.

NIP-99: capa de checkout dentro del grafo para marketplaces

PR #2323 de Colabonate es el vínculo central más fuerte de la semana. La propuesta se presenta como una solicitud de comentarios sobre el diseño e identifica dos brechas en el stack de NIP-99 y Gamma Market Spec: un flujo de checkout que vive dentro del grafo, con estado posterior a buy-now, creación de pedido, pago y confirmación de entrega como eventos Nostr públicos y direccionables que cualquier cliente puede leer; y escrow más resolución de disputas para el subconjunto de transacciones en las que las señales de web of trust no bastan, como artículos de alto valor, contrapartes primerizas, marketplaces anónimos o entregas físicas. La propuesta cierra los silos entre clientes de los marketplaces del mismo modo que NIP-99 cerró los silos de anuncios. Llega la misma semana que el lanzamiento de Conduit, que incluye sus propios directorios nips/ y specs/; Shopstr PR #512, con un ciclo completo de escrow Cashu; BitBlik, intercambio P2P BLIK ↔ Lightning con primitivas propias de escrow; y la entrada en seguimiento activo del repositorio independiente Gamma Markets Market Spec.

NIP-34: eliminar el tag maintainers para resolver problemas de caducidad

PR #2384 de dhalsim elimina el tag maintainers de los anuncios de repositorios NIP-34 y aborda la incidencia #2382. El tag maintainers no tenía semántica de caducidad definida, lo que dificultaba a las herramientas posteriores saber cuándo seguía siendo válida una asignación de mantenedor. El cambio tiene un alcance amplio: afecta a los parches de flotilla-budabit, el único repositorio NIP-34 seguido con actividad sustancial de parches esta semana; la distribución NIP-34 en ocho repositorios del equipo de Iris; el mirror NIP-34 de BitBlik; el nuevo mirror NIP-34 de Amber; y la herramienta PRana de DocNR para listas de incidencias. Entre los revisores cruzados del PR están DanConwayDev (ngit), vitorpamplona (Amethyst), TheAwiteb y chebizarro.

Estados de grupos de NIP-29 (trabajo en curso)

PR #2372 de dtonon propone un marco de estados de grupos para NIP-29, compartido como trabajo en curso para recibir comentarios. Continúa la evolución de NIP-29 cubierta en el #27, ahora mediante un nuevo marco.

Stories de NIP-79 y Reels Feed de NIP-76 (ambos de anaskmh)

Esta semana llegaron dos especificaciones de medios cortos del mismo autor. PR #2386 propone Stories de NIP-79: diapositivas efímeras a pantalla completa de fotos, vídeos y texto que caducan tras 24 horas, con kind 19 para diapositivas individuales, kind 34237 como evento direccionable que contiene tags e ordenados para secuenciar stories de varias diapositivas, y un recibo opcional de visto por que preserva la privacidad en kind 15750. PR #2385 propone NIP-76 para un Reels Feed de vídeo corto. Ambas son especificaciones paralelas a lo que publican clientes de vídeo existentes como divine.video, no implementaciones de ello.

kind 1111 como respuesta a notas kind 1

PR #2358 de zhoreeq elimina la línea del corpus de NIPs que antes desaconsejaba usar respuestas de hilos de comentarios kind 1111, NIP-22, sobre notas kind 1 (incidencia #2250). El diff es pequeño, pero el efecto es amplio: cualquier cliente que quiera usar la forma de comentario en hilo de NIP-22 contra notas ordinarias kind 1 del timeline tiene ahora respaldo explícito para hacerlo.


Seis años de junios de Nostr

La historia del repositorio en junio sigue a Nostr desde la infancia del protocolo hasta convertirse en un sustrato de aplicaciones componibles. En 2021 el trabajo todavía cabía en un único repositorio de protocolo. En 2022 el proceso de estándares y los primeros clientes serios se convirtieron en proyectos separados. La ola pública de 2023 hizo urgentes los relays, los pagos y las identidades más ricas; 2024 sustituyó los atajos iniciales de firma y mensajería; 2025 llevó esos contratos a grupos privados, colaboración git, medios y comercio; y 2026 lanzó productos que usan Nostr como una capa dentro de workspaces de agentes, intercambios y herramientas para desarrolladores. La progresión va desde demostrar que los eventos firmados pueden circular por relays hasta convertir ese hecho en un detalle de implementación.

Junio de 2021: infancia del protocolo

Nostr tenía unos siete meses. La publicación original del protocolo de fiatjaf y el repositorio fiatjaf/nostr todavía contenían casi todo el proyecto público. Un puñado de desarrolladores podía revisar cada cambio y la implementación de referencia era un script de Python. Aún no era un ecosistema de clientes; era la afirmación de que los usuarios podían firmar eventos y elegir relays sin que una plataforma les asignara su identidad.

No había un repositorio específico de NIPs, por lo que las propuestas y los ejemplos de implementación aún compartían el historial principal del protocolo. Ese alcance compacto era una ventaja en esa etapa: un nuevo implementador podía comprender el protocolo de extremo a extremo. El coste era que cada comportamiento nuevo seguía dependiendo del mismo grupo pequeño, un límite que la separación del repositorio y la ola de clientes de 2022 empezarían a eliminar.

Junio de 2022: se forma el repositorio de NIPs

A mediados de 2022 Nostr tenía suficientes proponentes para justificar el repositorio separado nostr-protocol/nips, creado en mayo. Unas veinte especificaciones cubrían ya el formato básico de eventos, listas de seguidos, DMs cifrados, metadatos de relays e identificadores bech32. Sacar los documentos del repositorio de código original cambió la gobernanza del proyecto: los clientes podían evolucionar con independencia mientras el comportamiento de cable compartido recibía propuestas y revisión explícitas.

Los primeros clientes web públicos, incluidos Astral y Anigma, funcionaban en formas iniciales, y el repositorio de Damus, de William Casarin, avanzaba hacia la distribución mediante TestFlight. La base de usuarios aún era pequeña y estaba dominada por desarrolladores, pero el sistema contaba ya con dos superficies multiplicadoras: más personas podían construir aplicaciones sin mantener la especificación, y más personas podían mejorarla sin poseer el cliente original.

Junio de 2023: auge de adopción tras Damus

Para junio de 2023, la ola pública posterior al lanzamiento de Damus en la App Store había cambiado el problema de ingeniería. Primal e Iris construían para personas que no habían seguido las primeras conversaciones del protocolo, mientras strfry ofrecía un relay de alto rendimiento a operadores con más tráfico. La red ya no necesitaba solo más implementaciones; necesitaba clientes y relays capaces de seguir respondiendo a medida que crecían usuarios, seguidos e historiales de eventos.

Por eso el trabajo de protocolo se concentró en enrutamiento y transferencia de valor. Las listas de relays NIP-65 dieron al modelo outbox emergente una fuente de verdad portable, mientras los zaps NIP-57 conectaron eventos e identidades con recibos Lightning. El cambio de etapa fue práctico: la identidad y la publicación habían atraído usuarios, pero el enrutamiento selectivo de relays y la interoperabilidad de wallets fueron lo que permitió a la red ampliada comportarse como algo más que un único feed público sobrecargado.

Junio de 2024: firmantes, gift wrap y la mejora de la mensajería

Para junio de 2024, la firma había empezado a salir de los clientes individuales. La especificación NIP-46, nsecBunker y Amber dieron a las aplicaciones web y Android formas de solicitar firmas sin importar la clave secreta del usuario. Esto invirtió una suposición inicial: la portabilidad ya no significaba copiar un nsec en cada cliente, sino permitir que firmantes especializados impusieran un límite a su alrededor.

La mensajería cambió por el mismo motivo. NIP-17 combinó el cifrado NIP-44 con el gift wrap de NIP-59 para reducir los metadatos expuestos por NIP-04, mientras NIP-89 permitió que los clientes recomendaran handlers para tipos de eventos que no renderizaban. Las conversaciones sobre MLS sobre Nostr comenzaron en este entorno. La privacidad y el descubrimiento de aplicaciones se convertían en contratos entre clientes, preparando el terreno para grupos privados y aplicaciones más ricas y específicas de cada evento, en vez de que un solo cliente intentara contener todas las funciones.

Junio de 2025: Marmot, madurez de git sobre Nostr y la larga cola de clientes

Para junio de 2025, MLS sobre Nostr contaba con la especificación formal Marmot y White Noise como implementación pública. Los eventos git NIP-34, ngit y GitWorkshop también habían madurado hasta formar un flujo de revisión de código utilizable. Estos proyectos compartían una etapa de diseño: usaban relays para la coordinación mientras movían el estado sensible de grupos o los objetos de repositorios a capas especializadas, en lugar de tratar un cliente de notas de texto como toda la aplicación.

El comercio y los medios siguieron el mismo patrón. Las wallets NIP-60 y los nutzaps NIP-61 llevaron el estado Cashu a eventos portables; Wavlake, Divine y las implementaciones de marketplace NIP-99 usaron kinds específicos para música, vídeo y anuncios. Nostr parecía cada vez menos «una red social» a medida que las aplicaciones mantenían el sustrato de identidad y relays, pero introducían almacenamiento, pagos, moderación y presentación específicos de cada dominio.

Junio de 2026: un mes cargado de lanzamientos

Junio de 2026 trajo lanzamientos que trataban Nostr como un componente dentro de productos mayores. Buzz abrió un patrón de workspace autoalojado como relay para humanos y agentes; Napplets definió un límite de confianza para aplicaciones componibles sobre Nostr y Blossom; y Conduit situó aplicaciones de marketplace junto a sus propios documentos de protocolo. Estos proyectos ya no preguntaban si los eventos firmados podían sostener la colaboración. Decidían qué trabajo debía vivir en eventos, cuál en blobs o estado local y qué permisos debía conservar un host.

BitBlik usó Nostr en un intercambio P2P entre fiat y Lightning, CodeDeck transportó sesiones de programación mediante relays cifrados y Haven aplicó Marmot fuera de un mensajero convencional. La distancia respecto al repositorio prototipo de 2021 no consiste solo en que haya más proyectos. Es un cambio de abstracción: los equipos podían empezar con identidad portable, descubrimiento de relays, cifrado y pagos como piezas ya existentes, y dedicar después su esfuerzo de diseño al límite específico de la aplicación por encima de ellas.