1.1.0 did 42 things.
1.1.1 does 138 more.
Who knew 0.0.1 could be so big.
Nostr Vault
npub1fa05...0z97
Nostr Vault is a private-first Nostr client and personal relay built on Haven for macOS and iOS. It allows you to host your own local relay directly on your device, ensuring your social data remains under your control while providing a seamless, fast, and secure Nostr experience.
Download in iOS and Mac TestFlight: https://testflight.apple.com/join/kN3zE1H1
Oh no we are censoring!


We are REMOVING “on-chain zaps” and silent payment options in the next release. Things are just too early with this to say whether or not Bitcoin will be lost due to bad code or lack of wallet support.
We are however ADDING the option to bridge from lightning to ecash and store the assets in the Nostr Vault’s blossom /private endpoint directly!
They say Rome wasn’t built in a day, but here’s what’s coming in v1.1.1
Full Cashu ecash wallet (NUT-00/03/04/05/07) with Blind Diffie-Hellman key exchange
NIP-60 relay-backed ecash storage with NIP-44 self-encryption
Ecash wallet recovery from your Haven private relay
Lightning wallet with NWC — balance, invoices, QR codes, Lightning address
On-chain Bitcoin wallet — Taproot (BIP-341) address, balance, sweep-to-external
Silent Payments (BIP-352) — single static sp1 address, unlimited unique on-chain addresses
Silent Payment sweep with selectable fee rates
Bitcoin sweep privacy disclaimers warning against exchange/hardware wallet sends
Nostr Zaps with real-time animated notification banners
Private Messaging
NIP-17 end-to-end encrypted DMs — three-layer gift wrap with ephemeral keypairs
NIP-04 legacy DM support with per-conversation protocol toggle
Seal-to-rumor pubkey verification to reject impersonation attempts
DM inbox with unread count badges, avatar display, message previews
Mark all conversations as read in one tap
Unread purple dot badges on conversation rows
DM unread badge on profile toolbar
Redesigned message bubbles — gradient backgrounds, asymmetric corner radii, responsive width
Pill-shaped input field with circular send button and inline protocol selector
DM relay routing to recipient's kind 10050 preferences with fallback chain
Feed
120fps feed performance — FeedNoteRow stripped of all ObservableObject subscriptions
Data-driven Equatable row data eliminates cascading SwiftUI re-renders
Cached filtered notes — no more per-frame O(n) filtering
NostrContentFormatter regex compiled once as static constants, results cached via NSCache
Infinite scroll replaces "Show earlier" button
Profile feed infinite scroll with until-timestamp pagination
Feed Dashboard — stats grid, feed mode cards, filter toggles, relay health, quick actions
Media grid tab — Instagram-style 3-column layout with tap-to-open carousel
Autoload new posts toggle in toolbar
Show/hide reposts toggle in toolbar
Repost status indicator lights up green with scale animation
Following List
Following list backup & recovery from relay history
Automatic local snapshots (up to 50 per account) with diff and restore UI
Per-user "Re-follow" buttons and full "Restore This List" action
Media
Shared video player pool with LRU cache (up to 10 instances)
Glassmorphic video scrubber with ultra-thin material pill controls
Hardware keyboard shortcuts — Space, M, arrow keys
Seamless inline-to-fullscreen video transition without restart
Paste media to Blossom from clipboard (images or URLs)
Blossom mirror uploads now awaited — no more silent failures on iOS background
Blossom download timeout increased to 120s for large videos
Blossom BUD-06 preflight checks before upload
Natural aspect-preserving media layouts with dual height caps
Push Notifications
Native APNs push notifications for DMs, mentions, and zaps with deep linking
Notification Service Extension for background delivery
Push notification settings per event type with per-account granularity
Push server multi-account registration
Push server self-notification filter — no alerts for your own events
NIP Compliance
NIP-10 proper root/reply e-tag markers with relay hints
NIP-25 reaction events now include relay hints and k tags
NIP-18 quote q tags with relay hint and author pubkey
NIP-18 repost relay hint fallback to local relay URL
NIP-89 client tag scoped to kind 1 only — no longer leaks into DMs/reactions/reposts
NIP-45 COUNT queries replace REQ subscriptions for accurate event counts
Bidirectional Kind 10000 mute list syncing
Search & Profiles
npub direct lookup — instant Bech32 decode, no relay round-trip
Full search tab — users, notes, links, hashtags with segmented source filter
Profile feed with dedicated media grid
Silent Payment address on profiles
Profile toolbar wallet quick-access (Bitcoin, Lightning, Ecash)
Dynamic profile tab avatar on iOS tab bar
@mention tagging in compose with live-filtered popup
UI Polish
Floating "Liquid Glass" tab bar with ultra-thin material blur and spring animations
NoteDetailView action bar rewritten as capsule pills
Toolbar icon sizes unified across all platforms
Consistent dark theme colors across all views
Connection status antenna icon replacing colored dot
Redesigned DM inbox empty state with gradient circles
6 accent theme colors with dedicated Appearance settings
iPad sidebar layout with NavigationSplitView
Countdown timers for post creation (10s) and reposting (5s)
Per-account block lists with unified Blocked settings pane
iOS share sheet for dashboard exports
Bug Fixes
iOS Go library build failure fixed
MirrorService iOS build fixed
iOS file importer consolidated — no more duplicate .fileImporter conflicts
Feed filter immediate recompute on toggle
Fixed NoteDetailView scroll jitter on iOS
Fixed video opacity on macOS
Fixed LNURL resolution for LUD-16 vs NIP-05
Fixed LUD-06 raw LNURL bech32 zap support
GIF spacing bug resolved
Account switch safety — no more cross-talk during profile shifts
UPDATE: For those testing the multi user setting!
Please update to build v1.1 (4) ASAP.
The prior build had a followers per-account bug. My bad 🤙
Mirror to Blossom🪞
Functional prototype in v1.1 (3) on TestFlight
View quoted note →
With the latest version of Nostr Vault on Mac & iOS you essentially have a Nostr native file server for blossom blobs 🌸📡
Step 1: With Nostr Vault installed on Mac, connect http://localhost:3355 to your domain (via cloudflared or otherwise)
Step 2: On Nostr Vault iOS settings - Mac Relay page - drop in your domain.
Step 3: Tap the + button on the Medja page and upload photos or videos blobs directly to your Vault in iOS
You can also delete blobs and copy it’s relay link, Uses BUD-02 for full Nostr support!
What do you think?
Do you find this useful?
Should the uploader have full file support?
Thanks for any feedback as we prepare for App Store launch!
SHIPPING NOW 🚀 Nostr Vault has added a lot since 1.0. Here's what's new today:
👥 Multi-account — hold the profile tab to switch identities instantly. Each account has its own feed, block list, and relay subscription that reloads in real time.
🪞 Blossom mirroring — your media automatically mirrors to any Blossom servers you configure, with your local relay always treated as the primary. Delete from mirrors or everywhere directly from the media viewer.
⚡ On-chain Bitcoin — derive your Taproot address from your Nostr key and sweep sats directly. No external tool required.
🔍 Search — find users, notes, links, and hashtags across your relay and the wider network.
@ @mention autocomplete — type @ while composing and get a live-filtered list of people you follow with proper p tag insertion.
🤫 Mute list sync — Kind 10000 lists sync bidirectionally so your blocks follow you across clients.
⏱️ Post undo — a 10-second countdown after posting lets you edit or pull it back before it propagates.
💜 Likes & Zaps tabs — see which of your notes got reactions and zaps, or browse everything you've interacted with.
🔔 Live zap notifications — floating pill shows Zapping... → Zapped! in real time.
🎨 Liquid Glass tab bar + 6 accent themes — it looks the part.
Nostr Vault is your personal relay, media server, and social client — self-custody for your social graph. Get it on TestFlight!

Join the Nostr Vault beta
Available on iOS

COMING SOON FEATURES!!
🗑️ delete your media from Nostr Vault. Not just "delete from this server" — delete from all your Blossom mirrors at once. or nuke it everywhere. your content, your call.
🪞 mirror any nostr media to your local relay one tap to pull it in and push it to all your Blossom servers
⏪ post undo — 10 second window to cancel or edit before anything goes out
📤 upload media directly from the viewer to your blossom mirrors
🔍 paste a note1/nevent1 into search and jump straight to the note
📡 local relay auto-included as a Blossom mirror — no manual config
self-custody isn't just your keys. it's your media too.
Nostr Vault — your relay, your data.
Imagine scrolling your #Nostr feed and having a 1 tap button to mirror any media to see you your own blossom server 😎
Something massive is brewing in the vault... 🤫⚡️
The next release is just around the corner, and it is going to completely redefine your desktop & mobile Nostr experience.
Here is what is coming soon:
🔐 A New Identity: A sleek, fully realized rebranding that takes security and privacy to the next level.
👥 Multiuser: Use the underlying Haven relay to pull notes from around the network into your own domain.
💎 Liquid Glass UI: A gorgeous, floating iOS tab bar built with premium fluid animations, haptic micro-interactions, and instant multi-account switching.
🧡 Native Bitcoin Taproot: Native P2TR derivation from your Nostr key, raw UTXO sweeping, Schnorr signing, and live price feeds directly in-app.
🚫 Ecosystem-Wide Sync: Perfect bidirectional Kind 10000 mute list syncing across all your clients and relays.
🏎️ Instant Feeds: Under-the-hood background note prefetching that makes scrolling conversation trees with multiple accounts feel lightning fast.
We are putting the final polishes on the builds.
#Nostr #Bitcoin #ComingSoon #NostrDev #NostrVault #Haven