---
title: "Nosflare Features"
description: "Full feature list for the Nosflare serverless Nostr relay: one-click deploy, global edge network, Durable Object WebSockets, pay-to-relay, anti-spam, and D1 SQLite storage."
canonical: "https://nosflare.com/docs/features.md"
---

# Nosflare Features

Configuration for a self-hosted deployment lives in `src/config.ts` in the [source repository](https://github.com/Spl0itable/nosflare). Setting names below refer to that file.

## One-click deploy

No coding required. [Nosflare Deploy](https://deploy.nosflare.com) provisions a fully customized relay onto **your own Cloudflare account** in under 60 seconds for a one-time fee of 21,420 sats. You keep control of the account and the data, and you can make unlimited updates to the relay afterwards at no extra cost.

## Global edge network

The relay runs on Cloudflare Workers across 300+ edge locations. Requests are served from the location closest to the client, scaling is automatic, and there is no origin server to size or keep alive. Typical global latency is under 50 ms.

## Real-time WebSockets

Persistent client connections are held by Durable Objects rather than by a long-running server process. Nosflare runs a **multi-regional Durable Objects mesh across 9 locations**, so event broadcast is not funneled through one region. The WebSocket Hibernation API keeps idle-but-connected clients from accruing Duration (GB-s) charges.

## SQLite storage at the edge

Cloudflare D1 provides SQLite storage with up to **10 GB per database**. Nosflare uses D1's Session API for global read replication: read replicas are placed in regions near clients, lowering read latency and scaling read throughput. Fallback support is included if read replication is turned off.

## Pay-to-relay

Charge for relay access in sats, paid over the Bitcoin Lightning Network through Nostr zaps. Payment verification is automatic: with the feature enabled, every event submitted to the relay has its author's pubkey checked for paid access.

Relevant settings: `PAY_TO_RELAY_ENABLED` (on by default), `relayNpub`, `RELAY_ACCESS_PRICE_SATS`. See [Pay-to-relay](https://nosflare.com/docs/pay-to-relay.md).

## Advanced anti-spam

Multi-layer protection, all optional and independently configurable:

- **NIP-05 validation** (`checkValidNip05`) - require a valid NIP-05 Nostr address to publish, with `allowedNip05Domains` / `blockedNip05Domains` for domain-level control.
- **Content hashing** (`enableAntiSpam`) - hash event content to reject duplicates, per-pubkey by default or globally with `enableGlobalDuplicateCheck`. `antiSpamKinds` controls which kinds are checked.
- **Rate limiting** - throttle the number of events from a single pubkey; `excludedRateLimitKinds` exempts chosen kinds.
- **Word and phrase blocking** (`blockedContent`) - reject events containing specific strings.

See [Anti-spam](https://nosflare.com/docs/anti-spam.md).

## Access control: allowlists and blocklists

Nosflare can filter by pubkey, event kind, and tag:

- `allowedPubkeys` / `blockedPubkeys`
- `allowedEventKinds` / `blockedEventKinds`
- `allowedTags` / `blockedTags`

The semantics are symmetrical: **if items are in a blocklist, only those items are blocked and everything else is allowed; if items are in an allowlist, only those items are allowed and everything else is blocked.**

## NIP-05 verified addresses

Serve `username@your-domain.com` Nostr addresses from your own relay by adding usernames and their hex pubkeys to the `nip05Users` section of `src/config.ts`.

## Customizable relay metadata and landing page

`relayInfo` sets the relay's NIP-11 metadata - name, description, icon, contact, limitations. Nosflare also ships a static HTML landing page shown to browsers visiting the relay URL, which doubles as the payment page when pay-to-relay is enabled. Both are fully customizable.

## Cost efficiency

Nosflare typically costs **75-90% less** than traditional relay hosting, because Workers, D1, and hibernating Durable Objects bill for use rather than for provisioned capacity. See [Pricing](https://nosflare.com/docs/pricing.md).
