Se você já usa o Nostr, provavelmente já ouviu falar em relays. Eles são a espinha dorsal do protocolo e o motivo pelo qual o Nostr funciona sem precisar de nenhuma empresa ou servidor central por trás. Mas o que exatamente são esses relays? Como eles funcionam na prática? E mais importante: você mesmo pode rodar o seu?
Neste artigo, vamos explicar tudo sobre os relays do Nostr de forma simples e direta. Vamos entender por que eles existem, como se comunicam com os aplicativos que você usa, quais são os tipos de relay disponíveis e, no final, você vai aprender passo a passo a rodar o seu próprio relay.
Bora lá!?
Tópicos abordados
O que são relays?
No Nostr, um relay é simplesmente um servidor que recebe, armazena e distribui mensagens (chamadas de “eventos”). Pense nele como uma caixa postal pública: você coloca uma mensagem ali, e qualquer pessoa que esteja conectada àquele relay pode ler.
Diferente de redes sociais tradicionais como Twitter/X ou Instagram, onde existe um único servidor controlado por uma empresa, no Nostr existem centenas de relays independentes espalhados pelo mundo. Qualquer pessoa pode criar um, com suas próprias regras. E qualquer usuário pode se conectar a quantos relays quiser.
Essa arquitetura é o que torna o Nostr resistente à censura. Se um relay te banir, você simplesmente muda para outro e continua publicando normalmente, sem perder sua identidade (que é a sua chave pública) nem seus seguidores.
Como os relays se encaixam na arquitetura do Nostr?
Para entender o papel dos relays, é útil visualizar como o Nostr funciona. A rede tem basicamente dois componentes:
- Clientes: são os aplicativos que você usa, como o Damus, o Primal ou o Amethyst. Eles criam, assinam e exibem as mensagens.
- Relays: são os servidores que recebem essas mensagens dos clientes, armazenam e repassam para outros clientes que estejam conectados.
Quando você publica uma nota no Nostr, seu cliente assina essa mensagem com sua chave privada e envia para um ou mais relays. Quando alguém quer ler suas publicações, o cliente dessa pessoa se conecta aos relays onde você publicou e busca seus eventos.
Não existe um “servidor central” que coordena tudo, os relays são independentes entre si. Cada um pode ter suas próprias regras sobre o que aceita armazenar, por quanto tempo e de quem.
Como funciona a comunicação entre cliente e relay?
Nos bastidores, toda a comunicação entre clientes e relays acontece via WebSocket, um protocolo de internet que permite conexão contínua e bidirecional. Ou seja, o cliente abre uma conexão com o relay e os dois ficam “conversando” em tempo real.
O protocolo base do Nostr é definido pelo NIP-01 (Nostr Implementation Possibilities), que estabelece as regras fundamentais. Na prática, existem apenas três tipos de mensagem que um cliente pode enviar para um relay:
- EVENT: “Aqui está um evento novo, por favor armazene.” É assim que você publica uma nota, atualiza seu perfil ou faz qualquer ação no Nostr.
- REQ: “Quero receber eventos que correspondam a este filtro.” É assim que seu cliente busca notas de quem você segue, respostas a uma publicação, ou qualquer outro conteúdo.
- CLOSE: “Pode parar de me enviar eventos dessa assinatura.” Encerra uma busca anterior.
E o relay responde com:
- EVENT: envia os eventos solicitados de volta ao cliente.
- OK: confirma se aceitou ou rejeitou um evento enviado pelo cliente.
- EOSE (End of Stored Events): avisa que terminou de enviar os eventos armazenados e que, a partir de agora, enviará apenas eventos novos em tempo real.
- NOTICE: envia mensagens de texto legíveis, como avisos de erro.
Essa simplicidade é uma das grandes forças do Nostr. Todo o protocolo cabe em poucas páginas de documentação. E justamente por ser tão simples, qualquer programador consegue criar um relay do zero em poucas horas.
O que é um evento no Nostr?
Tudo no Nostr é um “evento”. Uma nota que você publica, a atualização do seu perfil, uma reação, uma mensagem direta, tudo é representado como um evento e cada evento tem a seguinte estrutura:
- id: um identificador único gerado a partir do conteúdo do evento (hash SHA-256).
- pubkey: a chave pública de quem criou o evento.
- created_at: timestamp de quando o evento foi criado.
- kind: um número que define o tipo de evento. Por exemplo, kind 0 é metadado de perfil, kind 1 é uma nota de texto.
- tags: metadados adicionais, como referências a outros eventos ou a outros usuários.
- content: o conteúdo propriamente dito da mensagem.
- sig: a assinatura criptográfica que prova que aquele evento foi realmente criado pelo dono da chave privada correspondente.
Essa assinatura é o que garante que nenhum relay pode falsificar suas mensagens. Mesmo que um relay seja malicioso, ele não consegue alterar o conteúdo de um evento sem invalidar a assinatura. Isso é criptografia na prática.
Tipos de relay
Nem todo relay do Nostr é igual. Com o tempo, a comunidade foi desenvolvendo diferentes tipos para atender a necessidades variadas. Entender essas diferenças ajuda você a escolher melhor a quais relays se conectar.
Relays públicos e gratuitos
São abertos para qualquer pessoa publicar e ler eventos. Qualquer um pode se conectar e começar a usar sem pagar nada. Exemplos populares incluem relays como wss://relay.damus.io e wss://nos.lol.
Relays pagos
Cobram uma pequena taxa (geralmente em satoshis via Lightning Network) para que você possa publicar eventos. A vantagem é que a barreira de entrada elimina boa parte do spam, resultando em um ambiente com conteúdo de maior qualidade. O wss://nostr.wine é um exemplo conhecido de relay pago.
Relays pessoais
Você roda o seu próprio relay e o configura para aceitar apenas os seus eventos (ou de um grupo seleto). Isso garante que você sempre terá uma cópia dos seus dados, independente do que aconteça com outros relays. É a forma máxima de soberania digital dentro do Nostr.
Relays de comunidade
Gerenciados por grupos ou comunidades específicas, esses relays funcionam como espaços temáticos. Um grupo de bitcoiners pode ter seu relay exclusivo, por exemplo, aceitando apenas conteúdo relacionado a Bitcoin. O NIP-29 define um padrão para grupos baseados em relays, permitindo fóruns e chats que são eficientes e ao mesmo tempo resistentes à censura.
Relays de arquivamento
Focados em armazenar a maior quantidade possível de dados da rede Nostr, funcionando como backups descentralizados. Eles varrem a rede e guardam cópias de eventos que poderiam se perder caso outros relays saíssem do ar.
O modelo Outbox: como os relays se organizam?
Um dos desafios do Nostr é: como saber em qual relay estão as notas de uma pessoa específica? Se existem centenas de relays, seu cliente não pode se conectar em todos ao mesmo tempo.
A solução é o chamado modelo Outbox. Funciona assim:
- Cada usuário publica um evento especial (kind 10002) que anuncia em quais relays ele publica suas notas. Esses são os seus “outbox relays”.
- Quando alguém quer seguir você, o cliente dessa pessoa busca esse evento e descobre quais relays consultar para encontrar seu conteúdo.
- Se você mudar de relay por qualquer motivo (foi banido, o relay caiu, quer testar outro), basta publicar um novo evento kind 10002 com os novos relays. Seus seguidores automaticamente passam a buscar suas notas nos novos endereços.
Esse modelo é elegante porque ninguém precisa saber com antecedência “onde você está”. O protocolo resolve isso de forma dinâmica e descentralizada.
Relays gratuitos vs. pagos: qual escolher?
A resposta curta: use os dois. A maioria dos usuários se conecta a uma mistura de relays gratuitos e pagos, equilibrando alcance e qualidade.
Relays gratuitos são ótimos para ter visibilidade máxima, já que mais pessoas estão conectadas neles. Mas a qualidade do conteúdo pode ser menor por causa de spam e bots.
Relays pagos, por outro lado, exigem um pagamento (muitas vezes irrisório, poucos satoshis) que funciona como uma prova de trabalho econômica. O resultado é um feed mais limpo e uma experiência mais agradável.
Se você quer ir além, rodar seu próprio relay garante que seus dados nunca dependam de terceiros. E a boa notícia é que isso não é tão complicado quanto parece.
Na prática: como gerenciar seus relays no dia a dia
Se você está começando no Nostr agora, a boa notícia é que você não precisa se preocupar com relays de imediato. A maioria dos clientes Nostr já vem com uma lista de relays pré-configurados. Ou seja, quando você cria sua conta no Damus, Primal ou Amethyst, o app já te conecta automaticamente a relays que funcionam bem. Você pode simplesmente usar o app e esquecer que relays existem.
Mas conforme você vai usando o Nostr, vale a pena entender algumas coisas:
- Relays de leitura vs. escrita: nos clientes mais avançados, você pode configurar quais relays usar para ler (inbox) e quais para publicar (outbox). Isso dá mais controle sobre onde seus dados ficam e de onde você consome conteúdo.
- Quantidade ideal: entre 5 e 10 relays costuma ser o ponto ideal. Poucos demais e você pode perder visibilidade. Muitos demais e seu cliente fica lento porque precisa manter muitas conexões simultâneas.
- Descubra novos relays: quando você visita o perfil de outro usuário, alguns clientes mostram quais relays essa pessoa usa. Se vocês não compartilham nenhum relay, pode ser que suas notas não cheguem até ela. Adicionar um relay em comum resolve o problema.
- Comece simples, ajuste depois: não tente otimizar tudo de cara. Use os relays padrão do seu cliente, e vá ajustando conforme sentir necessidade. O Nostr foi feito para ser flexível assim.
Por que rodar o seu próprio relay?
Existem vários motivos para considerar rodar um relay pessoal:
- Soberania total sobre seus dados: seus eventos ficam armazenados em um servidor que você controla. Mesmo que todos os outros relays caiam ou te banam, seus dados continuam acessíveis.
- Resistência à censura: ninguém pode te impedir de publicar no seu próprio relay.
- Velocidade: um relay pessoal otimizado pode ser mais rápido para entregar seus eventos do que relays públicos sobrecarregados.
- Privacidade: você tem controle total sobre os logs de acesso e pode configurar o relay para aceitar apenas conexões de quem você autorizar.
- Contribuir com a rede: quanto mais relays independentes existirem, mais robusto e descentralizado o Nostr se torna.
Mas antes de montar o seu relay, vale conhecer as opções disponíveis. Abaixo você vai entender melhor isso.

Principais softwares de relay
Existem vários softwares de relay em diferentes linguagens de programação, cada um com seus pontos fortes:
strfry (C++)
Um dos relays mais robustos e eficientes. Usa LMDB como banco de dados (não precisa instalar nenhum banco externo), suporta a grande maioria dos NIPs, tem sistema de plugins para filtrar eventos e um recurso chamado “negentropy” para sincronizar bancos de dados entre relays de forma eficiente. É a escolha ideal para quem quer performance máxima.
nostr-rs-relay (Rust)
Escrito em Rust, usa SQLite como banco de dados (com suporte experimental a PostgreSQL). É fácil de configurar, tem boa documentação e é uma das implementações mais maduras do ecossistema. Tem suporte a Docker, o que facilita a instalação.
Khatru (Go)
Mais do que um relay pronto, Khatru é um framework para criar relays personalizados em Go. Com literalmente 7 linhas de código você tem um relay funcional. A partir daí, pode customizar tudo: quais eventos aceitar, como armazenar, regras de acesso. Criado por fiatjaf (o criador do Nostr), é perfeito para quem quer construir algo único.
Como rodar o seu próprio relay do Nostr
Vamos usar o nostr-rs-relay como exemplo porque tem o setup mais simples com Docker. Mas os conceitos se aplicam a qualquer implementação.
O que você precisa
- Um servidor Linux (pode ser um VPS barato como DigitalOcean, Hetzner, ou até um Raspberry Pi em casa).
- Docker instalado.
- Um domínio apontando para o IP do servidor (por exemplo,
relay.seusite.com). - Certificado SSL (vamos usar Nginx + Let’s Encrypt).
Passo 1: Preparar o servidor
Acesse seu servidor via SSH e atualize os pacotes:
sudo apt update && sudo apt upgrade -y sudo apt install -y docker.io docker-compose nginx certbot python3-certbot-nginx
Passo 2: Criar a estrutura de diretórios
mkdir -p ~/nostr-relay/data cd ~/nostr-relay
Passo 3: Criar o arquivo de configuração
Crie o arquivo config.toml com as configurações do seu relay:
[info] relay_url = "wss://relay.seusite.com/" name = "Meu Relay Nostr" description = "Relay pessoal rodando nostr-rs-relay" pubkey = "SUA_CHAVE_PUBLICA_HEX_AQUI" contact = "seu@email.com" [database] data_directory = "/usr/src/app/db" [network] port = 8080 address = "0.0.0.0" [limits] max_event_bytes = 131072 max_ws_message_bytes = 131072 messages_per_sec = 5
Passo 4: Criar o docker-compose.yml
version: "3"
services:
nostr-relay:
image: scsibug/nostr-rs-relay:latest
container_name: nostr-relay
restart: always
ports:
- "8080:8080"
volumes:
- ./data:/usr/src/app/db
- ./config.toml:/usr/src/app/config.toml:ro
Passo 5: Subir o relay
docker-compose up -d
Pronto, seu relay já está rodando na porta 8080. Mas ele ainda não está acessível publicamente via WebSocket seguro (wss://). Para isso, precisamos do Nginx.
Passo 6: Configurar o Nginx como proxy reverso
Crie o arquivo de configuração do Nginx para o seu domínio:
sudo nano /etc/nginx/sites-available/nostr-relay
Cole o seguinte conteúdo:
server {
server_name relay.seusite.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
}
Ative o site e gere o certificado SSL:
sudo ln -s /etc/nginx/sites-available/nostr-relay /etc/nginx/sites-enabled/ sudo certbot --nginx -d relay.seusite.com sudo systemctl restart nginx
Passo 7: Testar o relay
Para verificar se tudo está funcionando, você pode testar a conexão WebSocket diretamente do terminal:
sudo apt install -y websocat
echo '["REQ","test",{"limit":1}]' | websocat wss://relay.seusite.com
Se receber uma resposta JSON do relay, está tudo certo. Você acabou de subir seu próprio relay do Nostr.
Passo 8: Adicionar o relay ao seu cliente
Agora basta ir nas configurações de relays do seu cliente Nostr (Damus, Primal, Amethyst ou qualquer outro) e adicionar o endereço wss://relay.seusite.com. A partir de agora, suas notas serão publicadas também no seu relay pessoal.
Alternativa simples: rodar um relay no Umbrel
Se o tutorial acima pareceu complicado demais, existe uma alternativa bem mais simples: usar o Umbrel. O Umbrel é um sistema operacional para servidores domésticos que transforma qualquer mini PC (ou o hardware próprio deles) em um servidor pessoal com uma loja de apps estilo smartphone.
E adivinha? Um dos apps disponíveis é justamente um Nostr Relay, desenvolvido pela própria equipe do Umbrel. Por baixo dos panos, ele usa o mesmo nostr-rs-relay que configuramos manualmente acima, mas com instalação em um clique.

Como funciona no Umbrel
- Instale o app Nostr Relay direto da App Store do Umbrel.
- Conecte seu cliente Nostr (Damus, Amethyst, etc.) ao endereço do relay na sua rede local.
- Clique no ícone de globo no app para sincronizar com seus relays públicos e fazer backup de toda sua atividade passada no Nostr.
Dica: instale o Tailscale no Umbrel e nos seus dispositivos para acessar o relay de qualquer lugar, mesmo fora da sua rede doméstica. Com o MagicDNS ativado, basta usar ws://umbrel:4848 como endereço do relay.
Qual o custo?
O software umbrelOS é gratuito e pode ser instalado em qualquer hardware compatível (um Raspberry Pi 5 ou mini PC, por exemplo). Se você prefere algo pronto para usar, o Umbrel Home custa a partir de US$ 599 e o Umbrel Pro a partir de US$ 699, com até 32TB de armazenamento SSD.
Sim, é um investimento e ainda tem as taxas de importação aqui no Brasil. Mas lembre que o Umbrel não serve só para o relay do Nostr. Com ele, você pode rodar um nó Bitcoin, um servidor de arquivos pessoal, serviços de IA local e dezenas de outros apps. É soberania digital completa em uma caixinha.
Dicas para manter seu relay funcionando bem
Subir o relay é só o começo. Algumas dicas para mantê-lo saudável:
- Monitore o espaço em disco: relays armazenam todos os eventos que recebem. Se você aceitar eventos de qualquer pessoa, o banco de dados pode crescer rápido. Configure limites no
config.tomlou aceite eventos apenas do seu pubkey. - Mantenha o software atualizado: novas versões dos relays trazem correções de bugs, melhorias de performance e suporte a novos NIPs.
- Configure backups: faça backup periódico do diretório de dados. No caso do nostr-rs-relay, basta copiar o arquivo SQLite.
- Use rate limiting: limite a quantidade de mensagens por segundo para evitar abuso e proteger o servidor de sobrecargas.
- Considere cobrar pelo acesso: se quiser manter um relay de alta qualidade, cobrar alguns satoshis ajuda a filtrar spam e custear a infraestrutura.
Onde encontrar relays para se conectar
Se você não quer rodar o seu próprio relay mas quer escolher bons relays para se conectar, existem ferramentas que ajudam:
- nostr.watch: mostra uma lista de relays públicos com métricas de velocidade, uptime e localização geográfica.
- nostr.info: diretório alternativo de relays com informações detalhadas.
Uma boa prática é conectar-se a 5 a 10 relays, misturando relays gratuitos (para alcance) com relays pagos ou pessoais (para qualidade e backup).

O futuro dos relays
O ecossistema de relays está evoluindo rápido. Algumas tendências que já estão aparecendo:
- Relays especializados: em vez de armazenar tudo, relays passarão a focar em tipos específicos de conteúdo (apenas artigos longos, apenas marketplaces, apenas um idioma específico).
- Negentropy e sincronização entre relays: protocolos como o negentropy (usado pelo strfry) permitem que relays sincronizem seus bancos de dados de forma eficiente, garantindo redundância sem desperdício de banda.
- Integração com Bitcoin e Lightning: relays pagos usando micropagamentos via Lightning já são realidade e devem se tornar cada vez mais comuns como modelo de sustentabilidade.
- Relay-based groups (NIP-29): grupos fechados gerenciados por relays, permitindo fóruns e chats com moderação sem abrir mão da resistência à censura do protocolo.
Perguntas frequentes
O que é um relay no Nostr?
Um relay no Nostr é um servidor que recebe, armazena e distribui eventos (mensagens) entre os usuários da rede. Ele funciona como um intermediário: quando você publica uma nota, seu cliente envia para um ou mais relays, e quando alguém quer ler suas notas, o cliente dessa pessoa busca nos relays onde você publicou. Diferente de redes centralizadas, qualquer pessoa pode rodar um relay com suas próprias regras.
Preciso pagar para usar um relay?
Não necessariamente. Existem muitos relays gratuitos que qualquer pessoa pode usar. Porém, relays pagos oferecem melhor qualidade porque a barreira de entrada reduz o spam. A maioria dos usuários usa uma combinação de relays gratuitos e pagos.
O que acontece se um relay sair do ar?
Se um relay que você usava sair do ar, as notas armazenadas nele ficam temporariamente inacessíveis. Porém, como o Nostr permite que você se conecte a múltiplos relays simultaneamente, seus dados geralmente estão replicados em outros servidores. Por isso é importante usar vários relays e, idealmente, rodar o seu próprio como backup.
É difícil rodar um relay?
Não. Com Docker e um servidor Linux básico, é possível subir um relay funcional em menos de 30 minutos. Softwares como o nostr-rs-relay e o strfry são bem documentados e têm comunidades ativas que podem ajudar.
Um relay pode censurar conteúdo?
Sim, cada relay é privado e pode estabelecer suas próprias regras sobre o que aceitar ou rejeitar. Porém, isso não é um problema no Nostr porque os usuários podem simplesmente se conectar a outros relays. A censura efetiva é praticamente impossível porque sempre existirão relays alternativos dispostos a hospedar o conteúdo.
Qual a relação entre Nostr e Bitcoin?
O Nostr usa o mesmo tipo de criptografia de chaves públicas e privadas do Bitcoin (curva secp256k1 e assinaturas Schnorr). Além disso, relays pagos frequentemente utilizam a Lightning Network para receber micropagamentos. A comunidade Nostr e Bitcoin tem grande sobreposição, já que ambos valorizam descentralização e soberania individual.
Conclusão
Os relays são o coração do Nostr, sem eles, não existiria rede. Mas a beleza do protocolo é justamente essa: nenhum relay individual é essencial. A rede como um todo é maior do que qualquer servidor isolado, e essa redundância é o que garante que o Nostr continue funcionando independentemente de governos, empresas ou qualquer entidade centralizada.
Se você já usa o Nostr e quer dar o próximo passo em soberania digital, rodar o seu próprio relay é a forma mais concreta de fazer isso. Você não precisa ser um especialista em infraestrutura. Com um VPS básico, Docker e uns 30 minutos do seu tempo, você contribui para tornar a rede mais descentralizada e garante que seus dados estejam sempre sob seu controle.
Continue explorando o Nostr
- 📘 O que é Nostr e como funciona — o guia completo sobre o protocolo
- 📱 Clientes Nostr: o que são e quais usar — entenda a outra metade da equação
- 🍎 Damus — o cliente Nostr para iOS
- ⚡ Primal — rede social e carteira Lightning no Nostr
- 💎 Amethyst — o cliente Nostr para Android
- 💬 Bitchat — mensagens offline no Nostr
Compartilhe em suas redes sociais:
Fundadora da Area Bitcoin, um dos maiores projetos de educação de Bitcoin do mundo, publicitária, apaixonada por tecnologia e mão na massa full time. Já participou das principais conferências de Bitcoin como Adopting, Satsconf, Surfin Bitcoin e Bitcoin Conference.
Curtiu esse artigo? Considere nos pagar um cafezinho para continuarmos escrevendo novos conteúdos! ☕
