Os sete produtos
Antes de decidir
Como nos comparamos
vs. Supabase
Postgres gerenciado, fatura em dólar
vs. Clerk
Login pronto, suporte em outro fuso
vs. Stripe
Cobrança global, assinatura como evento
Se o seu produto é global e cobra em dólar, as ferramentas de lá provavelmente são a escolha certa.
Infraestrutura RiLiGar · Messages
E-mail transacional sobre a infraestrutura da Amazon, com uma API que cabe num curl e um servidor MCP para o seu agente. Você verifica o domínio, manda um POST e passa a saber o que aconteceu com cada mensagem — por 90 dias.
Comece de graça, sem cartão: a chave sai na hora. Só e-mail transacional — sem SMS, sem WhatsApp e sem campanha em massa.
Por que isso existe
A chamada de envio qualquer biblioteca faz. O que não acaba é depois: o provedor devolve eventos soltos — devolveu, reclamou, abriu — e o seu produto precisa de uma resposta confiável sobre UMA mensagem, semanas depois. Traduzir uma coisa na outra é o trabalho que já está escrito aqui.
O caminho inteiro
Quatro blocos — e só o primeiro exige você mexer em outro lugar.
1 · Verificar o domínio
Você adiciona o domínio, nós devolvemos o DNS
Um POST cadastra o domínio e a resposta já traz os registros prontos para colar no seu provedor. Enquanto não verificar, nenhum envio passa — um remetente não verificado vira spam antes de virar problema seu.
$ curl -X POST \
https://messages.worker.myinfrastructure.click\
/projects/<id>/domains \
-H "Authorization: Bearer sk_…" \
-d '{"domain":"suaempresa.com.br"}'
→ 3 CNAME (DKIM)
→ 1 TXT (SPF, em send.…)
→ 1 MX (retorno de bounce)
→ 1 TXT (DMARC, opcional) ▊2 · Enviar
Um POST, e a mensagem sai
Responde 202 com o id do envio e o messageId que amarra os eventos que vierem depois. Com Idempotency-Key, a repetição devolve o envio original em vez de entregar outra cópia.
$ curl -X POST https://messages.worker.myinfrastructure.click/emails \
-H "Authorization: Bearer sk_…" \
-H "Idempotency-Key: boas-vindas/u-123" \
-d '{
"from": "oi@suaempresa.com.br",
"to": "cliente@exemplo.com",
"subject": "Bem-vindo",
"html": "<p>Oi!</p>"
}'
→ 202 { id, messageId, status } ▊3 · Acompanhar
A linha do tempo de um envio, e as taxas que a AWS olha
Um GET traz o envio com a sequência de eventos. Outro traz as taxas do período, com os limiares de suspensão da AWS ao lado — um bounce sem a régua não diz nada. A janela vai a 90 dias.
$ curl "https://messages.worker.myinfrastructure.click\ /emails/<id>" -H "Authorization: …" → enviado → entregue → aberto $ curl "https://messages.worker.myinfrastructure.click\ /metrics?days=30" -H "Authorization: …" → entrega, devolução, reclamação → limiares AWS: 5% e 0,1% ▊
4 · Receber de volta
Os eventos chegam assinados
Cadastre uma URL e receba os eventos de entrega com x-riligar-signature: timestamp e HMAC-SHA256 do corpo, no mesmo contrato do RiLiGar Payments. Quem integrou um já tem a verificação do outro.
POST https://seu-app/webhook x-riligar-signature: t=1757000000,v1=9f3c… // confira ANTES de ler o corpo hmac = HMAC_SHA256( secret, t + "." + body ) hmac === v1 ? processa : 400 ▊
O que você ganha
Não é que fiquem mais fáceis. Cada item é código que existe no worker — não uma estimativa do esforço.
Já vem escrito
Repare que nenhum deles é sobre volume de envio todos têm a mesma causa — o que aconteceu com a mensagem não ficou guardado em lugar nenhum que você possa consultar. Resolver a causa é o que a gente faz.
O que prometemos de verdade
Suspender é possível, e quem disser que nunca suspende não roda sobre SES: a AWS avalia a conta pelo agregado, e ser leniente com um cliente custa a entrega de todos os outros. Prometer leniência seria prometer o que não controlamos. O que controlamos é o processo — e é ele que está escrito.
Sendo justo
O provedor de e-mail maduro
Onde ele já resolve sozinho
Broadcast, audiences e automações
Ele tem
Envio em lote e agendamento
Ele tem
E-mail de entrada (inbound)
Ele tem
IP dedicado como add-on
Ele tem
SDK em toda linguagem, e MCP com OAuth
Ele tem
Volume provado em escala grande
Anos disso
Vá direto nele se
Você precisa de qualquer coisa acima
O provedor maduro é excelente — e tem MCP tão bom quanto o nosso.
RiLiGar Messages
Não competimos em superfície de features: eles têm mais. A diferença é o que acontece quando algo dá errado na sua conta — corte sem aviso, log curto e nenhum humano do outro lado é a queixa que derruba a nota deles.
A régua
A mesma tabela em toda página de produto da RiLiGar. Duas linhas aqui são francamente desfavoráveis, e continuam na tabela — é o que faz as outras valerem alguma coisa.
Reputação isolada entre clientes
Não
A linha mais importante da página, e ela é contra nós. O configuration set do SES separa as MÉTRICAS de cada projeto; o pool de IP é compartilhado, e um cliente com devolução alta degrada a entrega de todos. IP dedicado não existe aqui hoje.
Suspensão sem aviso
Não. Aviso, motivo e apelação
Não prometemos nunca suspender: a AWS cobra o agregado da conta — devolução acima de 5%, reclamação acima de 0,1%. O que prometemos é processo: aviso antes, motivo escrito com o número que o gerou, e canal para responder.
Retenção do log de envios
90 dias
Envios, eventos e métricas, igual para todo mundo — o número está no código, não numa tabela de planos. O padrão do nicho é 30 dias em todos os planos. Os dados vivem no Cloudflare D1; o e-mail em si passa pela AWS, em us-east-1.
SMS, WhatsApp ou campanha em massa
Nenhum dos três
O nome sugere mais do que o produto faz. Só e-mail, e só transacional: não há broadcast, audience, segmento nem automação no código. Campanha mal higienizada num pool compartilhado derruba a entrega de todos — é escolha de desenho, não backlog.
Anexos
6 MB por arquivo, 8 MB por mensagem
Abaixo dos 40 MB do SES porque o worker carrega o arquivo inteiro em memória para assinar a chamada à AWS. Publicamos o teto que sustentamos, não o do fornecedor. Acima disso, mande um link.
Se alguma destas linhas não bater com o que você encontrou na prática, escreva. A gente confere e corrige a linha.
Model Context Protocol
São 11 ferramentas em 3 escopos, na revisão 2026-07-28, a stateless — autenticadas por OAuth 2.1 pelo RiLiGar Auth. O líder do nosso nicho também tem MCP remoto com OAuth: a diferença deste produto não é ter MCP, é o que acontece quando algo dá errado na sua conta.
O que o servidor NÃO oferece
O endereço termina no id do projeto, e isso não é enfeite de URL o id vira a audiência do token, então um consentimento dado a um projeto não vale nos outros — nem um token emitido para o MCP do Storage vale aqui.
Como o agente entra
O token nasce no navegador e vale só no projeto que você aprovou.
OAuth 2.1
Você aprova no navegador, uma vez
Sem header nenhum no comando. Na primeira chamada o servidor responde 401, o cliente descobre o authorization server sozinho e abre o navegador. O token vale só naquele projeto: o id no endereço vira a audiência dele. Em CI, a secretKey ou uma API key rm_ conectam direto.
$ claude mcp add --transport http \
riligar-messages \
https://messages.worker.myinfrastructure.click/mcp/<id-do-projeto>
→ 401 WWW-Authenticate
→ descobre o auth server
→ abre o navegador
✓ token com aud= este projeto ▊O que muda na prática
A investigação que hoje é um chamado
O agente começa perguntando ao projeto, e a resposta já avisa se nenhum domínio está verificado — porque nesse caso nenhum envio vai passar. Depois lista, abre a linha do tempo e responde.
Você: "o cliente diz que não recebeu o e-mail de ontem" → messages_get_project 1 domínio verificado → messages_list_emails status: bounced → messages_get_email devolvido: caixa inexistente ▊
Preço
FAQ
Achou um limite que não está escrito aqui?
Fala direto com quem escreveu o código. Se você encontrou onde quebra, a gente quer publicar isso antes do próximo visitante descobrir sozinho.
Sem cartão e sem “fale com vendas”: a chave sai na hora, e o único passo fora daqui é colar cinco registros no seu DNS.
