Access denied

This page is only for the streamer’s Nostr key.

Admin

Settings

Provider:
Zap Stream

Stream Days

Loading credits...

Stream Status:

My Stream. My Domain. My Power.

Stream Days are added to your balance after payment is confirmed.
Stream Days run from 00:00 to 24:00 UTC. Activating streaming unlocks the current day only.
A Stream Day is only used when you activate streaming day for that day — it never decreases automatically.

Stream Balance

Managed on simulcast.me.

Go there

Stream Backend

Choose which Zap Stream-style backend to use for metadata + live note.

Active: —

Ignore this box when using simulcast.

Stream Forwarding

Mirror your live stream to Twitch, YouTube, Facebook Gaming, Kick, Trovo, or a custom RTMP target

Forwarding is handled on Zap Stream’s servers and depends on their current backend status.

managed on simulcast.me.

Go there.

📡 Live Stream Event

When using Simulcast you must use this feature.

  1. Start streaming in OBS using your Simulcast RTMP + key.
  2. Open /live/ and wait for your stream to appear.
  3. Come back here and press Start Live Stream.
  4. When you finish streaming, press End Live Stream.
Waiting for streamId from /live/ and Nostr extension…

📝 Live Stream Information

Add your live stream information.

Waiting for streamId from your Let's Fo Live page…

📣 Live Stream Announcement

Publish a "I'm live" Nostr note.

Paste this into your announcement if you want a Nostr preview card.

Notes can be published offline. Nostr stream links require a live stream.

Stream Backend Servers

Zap Stream backends. See your dot balance, RTMP URLs, keys, tiers, and raw endpoint JSON.

Balance: —
Advanced details (JSON)

                        
s1.letsfo.com LF-S1
Balance: —
Advanced details (JSON)

                        
api-core.zap.stream Core
Balance: —
Advanced details (JSON)

                        
api-ca.zap.stream CA
Balance: —
Advanced details (JSON)

                        
api-uk.zap.stream UK
Balance: —
Advanced details (JSON)

                        
streamstr.net SS
Balance: —
Advanced details (JSON)

    
api.shosho.live SH
Balance: —
Advanced details (JSON)

    
live.solomonstr.com SM
balance info..
Dot are usage units used to power live streaming.

Ignore this box when using simulcast

Terms of Service

Instructions:
Go to Tab1. Under the section "Stream Backend" select a backend using the radio button. Then come back here and accept the terms. Do this for each backend. If you don't accept the terms the backend will block you from streaming.
You only have to do this once.

Change the radio button if you want to check your Terms status…

Terms: zap.stream/tos

Terms are managed on simulcast.me.

OBS Widgets

Drop these in OBS as browser sources.

Chat Zap Attack Total Zaps Top Zaps Viewers Chatters Countdown Balance  

Mobile Chat Console

Combined chat view + send box. Type to viewers or monitor your chat from your phone while streaming.

Chat console

💾 Media Storage

Choose where LFL stores uploaded media. Local is safe for small files. Backblaze B2 is recommended for large 4K videos and keeps big uploads off your LFL server.

Detecting limits…
Backblaze direct upload requires a custom CORS rule that allows browser PUT requests from this LFL domain.
One-time CORS setup key (no CLI)

Your permanent bucket-restricted media key cannot change bucket CORS. If the test reports missing writeBuckets, create a temporary Backblaze app key with access to All buckets and Read and Write, paste it here, and run the test again. LFL uses it only for this request, does not save it, and you should delete the temporary key in Backblaze afterward.

Loading storage settings…

LFL Media Server (Amethyst)

Add this address in Amethyst as a media/Blossom server. Amethyst will upload images and videos to this LFL instance and insert the protected LFL viewer URL into your note. Only the configured instance owner can upload.

Preparing media-server check…

No extra cron job is required. In Amethyst, leave mirror uploads to all Blossom servers disabled for this LFL server.

Streamer Information

Name: —
Npub —
Pubkey (hex) —
Loaded from config.

Display Name
Icon URL
PNG/JPG/WebP URL. Must be https. (SVG blocked)
Lightning Address
Country
Pick your country for the LFL Network Directory. Changing country does not require domain re-verification; the directory syncs it from this LFL instance.
Gender
Badge preview
Optional. If selected, this explicit LFL profile field is included in the verified Nostrich Network directory. LFL never guesses gender from a name, avatar, or ordinary Nostr profile.

Nostr relay groups

You may use the same relay in several groups, but the groups do different jobs. The installer copies one starter list into all five; you can specialize the lists here afterward. Enter one wss:// relay per line.

Important: wss://relay.letsfo.com is required and is restored automatically when these settings are saved. A specialized group does not normally inherit changes made to another group.

General relays relays

General compatibility and fallback list. It is not a master list that automatically controls every LFL feature.

ⓘ Where this is used

Shared or older Nostr features may use this list when they have no dedicated relay group. The OBS chat viewer can fall back to it when commentRelays is unavailable, and older livestream configurations can reach it after their dedicated fallbacks are empty.

Live chat relays commentRelays

Reads and publishes livestream chat activity in the sidebar and OBS chat widget.

ⓘ Spam and visibility tradeoff

These relays carry livestream comments, reactions, zap receipts, and chat profile lookups. The sidebar also publishes comments and reactions here. A smaller trusted or paid list can reduce spam, but chat or zaps available only on other relays will not appear.

Notes and feed relays notesRelays

Publishes your notes and supplies the background database sync for My Notes and My Feed.

ⓘ How the local feed works

New notes and Nostr deletion requests are published here. Cron3 imports streamer activity; Cron4 rotates through this list to import followed-account activity and engagement into SQLite. My Notes and My Feed then load from the local database. If a note exists only on an unconfigured relay, LFL does not know it exists and does not automatically search that relay for the missing note.

Livestream discovery relays liveStreamRelays

Supplies Cron2 with livestream events for the cached Nostr Live Network and stream status.

ⓘ Read/cache behavior

Cron2 rotates through these relays for kind:30311 events, related profiles, and relevant deletion requests, then stores the results in SQLite. This list controls what LFL discovers; it does not control where a streaming provider publishes the original stream event.

Video relays videoRelays

Publishes video notes and synchronizes My Videos favourites and recording-list events.

ⓘ Local cards versus relay activity

My Videos initially loads its cards from local SQLite, uploads, and recordings, then performs selected relay lookups in the background. New video notes and kind:30005 favourites or recording lists are published here. The Nostr Video Network obtains cards from verified LFL instance APIs rather than scanning this list directly in the browser.

Balance widget
Voice chat
Simulcast
serviceProviders
Domains only (no paths). s1.letsfo.com is always forced.
—
Saving will ask your Nostr signer to approve.
LFL Version –

Database Information

This database stores cached Nostr events used by LFL (notes, boosts, replies, reactions, zaps, profiles).

Nostr Notes & Video Network Domain Verification

Status: Unknown

To be listed on the LFL Networks, your domain must publish /.well-known/lfl.txt once to prove the domain and streamer pubkey. Country is synced separately and can be changed later without editing the file.

Backfill (sync my notes, from relays to local DB)

Installs are fast on purpose (recent events only). Use this to sync your older nostr history into your local DB.

Idle.

  

Mirror my notes to other relays

This copies your existing events from your local database to other relays. It does not “edit” your notes.

Idle.

Cron1 status (auto-activate stream day)

If Auto-Activate is enabled in Tab 1, this cron automatically activates the current Stream Day shortly after midnight UTC each day. If Auto-Activate is disabled, the streamer must activate each new Stream Day manually.

Status
Loading…
Last run
—
Last action
—
Enabled
—
—

Cron2 status (live Network & stream status)

This cron synchronizes recent kind:30311 livestream events from the configured livestream relays. It keeps the Nostr Live Network, current LIVE or ENDED stream status, previous-stream information, and streamer profile data up to date. If it stops, the Live Network and live page may show outdated information.

Status
Loading…
Last check-in
—
—

Cron3 status (my-notes & streamer activity)

This cron imports recent Nostr activity authored by or involving the streamer, including notes, replies, quotes, reposts, reactions, zaps, Guest Notes, profile updates, contact lists, and long-form articles. It keeps /live/notepad/my-notes/ current and fast. If it stops, My Notes and related streamer activity may become outdated.

Status
Loading…
Last seen
—
—

Cron4 status (my-feed & people networks & DB maintenance)

This cron alternates between synchronizing recent activity involving the streamer and recent activity from accounts the streamer follows. Its bounded people phases also refresh the Watchlist, discover and confirm the Audience, and cache the verified Nostrich Network. It keeps /live/notepad/my-feed/, the Nostr Notes Network, and related activity views current. It also purges expired My Feed cache rows and performs scheduled SQLite maintenance. If it stops, My Feed, the Notes Network, and people pages may become outdated, expired cache rows will not be purged, and database maintenance will not run.

Status
Loading…
Last seen
—
—

Cron5 status (relay mirroring)

This cron checks for an active mirror job and, when work is available, republishes locally stored events to the configured Nostr relays in the background. If it stops, events remain in the local database but may not be copied to every configured relay.

Status
Loading…
Last seen
—
—

How to Go Live (Quick Steps)

  1. Tab1 - Activate streaming.
  2. Tab2 - Click View balance & information to get your RTMP URL & stream key.
  3. Tab2 - Top up the selected backend server if needed.
  4. Tab1 - In Stream Backend, select the same backend you chose in step 2 using the radio buttons.
  5. Tab1 - Fill in your Live Stream Information and Live Stream Announcement (do not click on "Publish" yet).
  6. OBS - Enter the RTMP URL and stream key into OBS, then click Start Streaming.
  7. Live - Open your /live/ page and wait for the stream to appear. Refresh the page if necessary.
  8. Tab1 - Return to the admin panel. Click Publish on Live Stream Information & Live Stream Announcement.
  9. Tab1 - Live Stream Announcement is optional.
  1. Tab1 - Activate streaming.
  2. Simulcast - Get your RTMP URL, stream key, and set up NWC on simulcast.me.
  3. Tab1 - Fill in your Live Stream Information and Live Stream Announcement (do not click on "Publish" yet).
  4. OBS - Enter the RTMP URL and stream key into OBS, then click Start Streaming.
  5. Live - Open your /live/ page and wait for the stream to appear. Once it’s live, return to the Admin Panel.
  6. Tab1 - In the Live Stream Event section, click Start Live Stream.
  7. Tab1 - Click on "Publish" on Live Stream Information & Live Stream Announcement.
  8. Tab1 - Live Stream Announcement is optional.
  9. Tab1 - Don't forgot to click on "End Live Stream" after you finish streaming.

Updates

Support: Forum

Sleeping… (no updates server configured)