RoboSats v0.8.7-alpha is now out! ๐
# Changes
## What's new
**TL;DR**
Security hardening across the full stack, live coordinator ranking by DevFund donations, federation consensus mechanism, image upload in encrypted chat, 3 new payment methods, and new coordinators (Eleuteria, Freeport, Ammanaya).
### For Users
- **New coordinators** joined the federation: [Eleuteria](

GitHub
Issues ยท RoboSats/robosats
A simple and private bitcoin exchange. Contribute to RoboSats/robosats development by creating an account on GitHub.
[Freeport](

GitHub
Issues ยท RoboSats/robosats
A simple and private bitcoin exchange. Contribute to RoboSats/robosats development by creating an account on GitHub.
[Ammanaya](

GitHub
Issues ยท RoboSats/robosats
A simple and private bitcoin exchange. Contribute to RoboSats/robosats development by creating an account on GitHub.
โ FreedomSats removed
- **Image uploads in encrypted chat** โ Users can now upload E2E encrypted images in the order chat via Blossom. Only available on coordinators that opt in.
- **Federation consensus** mechanism, learn more here

GitHub
Federation concensus by KoalaSat ยท Pull Request #2683 ยท RoboSats/robosats
What does this PR do?
The Problem
Today, adding or removing a coordinator from the RoboSats federation requires publishing a new version of every c...
- **Live coordinator ranking** โ coordinators are now sorted by their actual real-time DevFund donation value (devfund% ร fee rate), falling back to the static `federation.json` value when unreachable
**New payment methods**
- eBay Gift Card
- MobilePay
- PYUSD
**Bugs**
- Fixed PGP armor blank line being stripped when escaping robot key headers, which broke PGP verification
- Fixed null premium default blocking order creation in the maker form
- Fixed sensitive data exposure on password-protected orders โ location and description are now redacted from non-participants; password-protected orders are also excluded from the public order book
- Fixed Server-Side Request Forgery vector in the Android WebView interface
- Fixed Redis 8.x channel layer timeout causing WebSocket disconnections
### For Coordinators
- **Federation consensus** mechanism, learn more here

GitHub
Federation concensus by KoalaSat ยท Pull Request #2683 ยท RoboSats/robosats
What does this PR do?
The Problem
Today, adding or removing a coordinator from the RoboSats federation requires publishing a new version of every c...
- **`BLOSSOM_ENABLED`** โ new opt-in env var to re-enable image uploads in chat (off by default); requires a Blossom blob server running behind the coordinator
- **`STRFRY_HOST` / `STRFRY_PORT`** โ new env vars for the embedded Nostr relay
- **`DEVFUND`** is now exposed publicly via `GET /api/info/` and used live by clients to weight coordinator lottery ranking โ keep it accurate
- **Redis cache** for public endpoints (`/api/book/`, `/api/info/`, etc.) โ reduces DB load significantly under traffic
- **CLN pinned to v25.09.3** โ `holdinvoice v4.0.0` is incompatible with CLN v25.11+; do not upgrade CLN beyond v25.09.x until a compatible holdinvoice release exists
- **LND updated** to v0.21 with `HTLC_SET_ONLY` lookup and `/v2/router/send` REST path fixes
- GPG keys are now also purged when cleaning expired robot accounts
- Fixed CSRF protection โ `DisableCSRFMiddleware` replaced with the standard Django `CsrfViewMiddleware` (admin fully protected; DRF API views remain exempt via `APIView`)

GitHub
Release v0.8.7-alpha ยท RoboSats/robosats
RoboSats v0.8.7-alpha is now out! ๐
Changes
What's new
TL;DR
Security hardening across the full stack, live coordinator ranking by DevFund donat...