Magnitude Relay: The Fastest Nostr Relay

Give a warm welcome to Nostr's fastest relay, Magnitude! Real Vector traffic is answered 38× faster, Community messages land 72× sooner, and the same data takes less than half the disk.

V E C T O R

24. Oktober 2026October 24, 2026 · 10 Min. Lesezeit10 min read

Magnitude Relay: The Fastest Nostr Relay

October 2026 · by JSKitty

Vector now runs on its own Nostr relay. Real Vector traffic is answered 38× faster, Community messages land 72× sooner, and the same data takes less than half the disk. View GitHub


300× 72× 38× 59%
Headroom ⚡Delivery ⚡Requests Less Disk

Relays are the servers that carry Vector's encrypted messages between devices. They can't read your DMs or Communities (everything is gift-wrapped), but they decide how fast those load, sync and arrive.

Vector's relays ran strfry, the workhorse of Nostr. It served us well, but it's built for every kind of Nostr traffic, and Vector's is specific: gift-wrapped DMs, Concord Communities, negentropy sync and live typing indicators. So we built a relay for exactly that: Magnitude Relay, sibling to Magnitude, our media server. It took over both of Vector's relays on 21–22 October. Nobody had to update a thing.

DMs and Communities Load up to 10× Faster#

Same machine, same two CPU cores, the same million Vector-shaped events, every answer checked. Here's how long each relay takes to answer what Vector asks.

What Vector asks, timed. Time to a complete answer, lower is better.

image

strfry (before) Magnitude Relay
Open a DM inbox (500 messages) 4.39 ms 0.50 ms 8.8× faster
Catch up on two days of DMs 1.77 ms 0.17 ms 10.4× faster
Open a Community channel (500 messages) 4.26 ms 0.41 ms 10.4× faster
Scroll back through a busy Community (5 pages) 13.11 ms 1.75 ms 7.5× faster
Real Vector traffic (951 requests, 4.9M real events) 17.4 ms 0.45 ms 38× faster

Benchmarks: median time to a complete answer, 2 cores each, 1M Vector-shaped events, best of 3, 21 Oct 2026. Real traffic: mean time to a complete answer for 951 requests drawn from jskitty.com's real data, both relays answering side by side.

The last row counts most. We replayed 951 requests built from jskitty.com's 4.9 million real events against both relays side by side. The answers matched, except for messages their senders or recipients had asked to delete, which strfry was still serving. Magnitude Relay averaged 0.45 ms; strfry, 17.4 ms.

How. Messages live in one append-only log that's regrouped in the background, so each DM inbox and each Community sits together on disk: a 500-message inbox is one short read, not 500 scattered ones. Indexes are compressed, checksummed blocks behind a filter that rules out misses without reading a block, and the hot paths parse JSON and hex with SIMD.

Sync up to 6.7× Faster#

After time offline, Vector catches up with negentropy (NIP-77): the app and relay compare compact fingerprints, and only what's missing is sent. Magnitude Relay builds those fingerprints from its index alone, without opening a single message.

Catching up after time offline. NIP-77 sync with the app already holding 90%, lower is better.

image

strfry Magnitude Relay
A busy DM inbox 29.9 ms 4.46 ms 6.7× faster
A quiet DM inbox 0.57 ms 0.14 ms 4.1× faster

Median time per sync session, 2 cores each, relay flat out, best of 3. Busy inboxes: 512 sessions/s vs 112. Quiet inboxes: 48,085/s vs 12,365.

The relays sync each other the same way, so a message sent to jskitty.com in Helsinki reaches Vector Asia in Kuala Lumpur in under a second.

Community Messages Arrive 72× Sooner#

When someone posts in a Community, the relay stores the message and pushes it to every member online. That gap is the relay's whole share of how instant chat feels.

One message, a 1,000-member Community. Live delivery, median.

image

Relay Time to reach every member online
strfry 41.9 ms
Magnitude Relay 0.58 ms


1,000 members subscribed, 4 senders, 2,000 messages/s for 20 s, 2 cores each, every delivery checked, none missed by either. 21 Oct 2026.

strfry picks up new messages for delivery in small batches, which adds tens of milliseconds to each one. Magnitude Relay delivers the moment a message is safely on disk.

Ready to Scale#

Today each Vector relay averages about 34 requests and 3 new messages a second. On just two CPU cores, Magnitude Relay handles over 11,000 DM inbox loads and 29,000 new messages a second: more than 300× today's reads and 9,000× today's writes.

What one relay can carry on two cores. Work per second, higher is better.

image

strfry Magnitude Relay
New messages stored 5,228/s 29,618/s 5.7×
DM inboxes opened 1,603/s 11,267/s 7.0×
Community pages loaded 1,653/s 13,213/s 8.0×
Busy DM inboxes synced 112/s 512/s 4.6×
Duplicate messages skipped 10,911/s 260,132/s 24×

Same machine, 2 cores each, 1M Vector-shaped events, best of 3, 21 Oct 2026. Both relays confirm a message only once it's on disk. Today's load: jskitty.com's average over 22–23 Oct.

Every message reaches each relay more than once (Vector sends to several, and the relays sync each other), so skipping duplicates 24× faster frees the relay for real work.

Proven in Production#

Vector's two relays, in the 30 hours after their latest update on 22–23 October:


6,765,112 requests answered
0.23 ms average time to a complete answer
58,402,815 events delivered to apps
856,293 connections served

From each relay's public /stats, 23 Oct 2026. Answer time is measured inside the relay; the network adds its own.

The relay's live dashboard: traffic charts, answer times and other live signals
Every Vector relay has a public dashboard. jskitty.com's is at jskitty.com/nostr/dashboard.

A Switch with Zero Downtime#

No downtime, a way back at every step, no message lost.

Updates roll out one relay at a time, each back online in about half a second. A release that isn't healthy within 30 seconds is rolled back automatically.

Built for Self-Hosters#

Our rule: maximum speed on minimum hardware. Every change that cost resources had to prove it made the relay faster.

Less than half the disk. The same 4.9 million events.

image
Relay Disk used
strfry 27 GB
Magnitude Relay 11 GB

59% smaller, measured on jskitty.com's real data, 22 Oct 2026.

Most relays, strfry included, slow down once the database outgrows memory; this summer, that happened to jskitty.com. So we tested Magnitude Relay with 13 GB of real data and only 1 GB of memory:

image

Process held to 1 GiB by the kernel (cgroup), its page cache dropped first, 4.81M real events, 21 Oct 2026.

In production each relay uses 190–370 MB of its own memory while serving over a thousand connections. After loading a million events, its total footprint was 1.2 GB against strfry's 3.1 GB, 61% less (most of both is cached database the system can reclaim).

Updates cost about half a second. Stopping takes 0.3 s and starting again 0.25 s, across 4.9 million events.

jskitty.com, measured at the switch and on later updates: 0.54–0.88 s from restart to answering again. Only the newest part of the log is replayed, so start-up stays short as data grows.

Private by Design#

A relay can't read gift-wrapped messages, but it decides what's kept, and whether delete means delete.

What Happens to Your Data


On Vector's relays strfry (before) Magnitude Relay
"Request to Vanish" honoured
NIP-62: erase everything I sent
⚠️ No Yes
Deleted messages wiped from disk
not just hidden
⚠️ Not guaranteed Overwritten
Typing indicators & push requests
ephemeral events
⚠️ Stored 5 min Never stored
What it accepts Anything Vector's kinds only
Publishes its Tor & I2P addresses ⚠️ No Built in

Moving jskitty.com over, we found 38 vanish requests and 24 deletions strfry had never applied, covering over a thousand events. Magnitude Relay applied them all on import, and now overwrites deleted data on disk. Both relays also serve Tor and I2P, as gateways to the relay only.

Standing on the Shoulders of Giants#

Like Open-Source DOOM, Magnitude Relay was built as a collaboration between a human developer and an AI (Claude, by Anthropic).


Vector needed a relay as fast as its client. So we built one.


Join the Vector Community#

Vector Community Invite Linkchat.vectorapp.io

Get connected with the Vector Community, where you can meet other like-minded privacy advocates and make friends from around the world. Get the latest updates in development, insights, and some teasers only dropped in the Vector Community!

Join the Vector Community


Vector Privacy is a free, open-source, decentralized communication platform built on Nostr. No KYC. No metadata. No ads. No compromise.

#magnitude#nostr#privacy#relay#vector

Written by

Comments

No comments yet. Start the conversation.

Contents

9 sections

  1. DMs and Communities Load up to 10× Faster
  2. Sync up to 6.7× Faster
  3. Community Messages Arrive 72× Sooner
  4. Ready to Scale
  5. Proven in Production
  6. Built for Self-Hosters
  7. Private by Design
  8. Standing on the Shoulders of Giants
  9. Join the Vector Community