04-19-2026Price:

The Frontier

Your signal. Your price.

AI & Tech

Amethyst ditches C and Rust for pure Kotlin

Sunday, April 19, 2026 · from 1 podcast
  • Amethyst rewrote core crypto in Kotlin to drop external libraries and boost Android performance.
  • Native apps now beat web clients on privacy by routing all traffic through Tor by default.
  • Bitcoin OpReturns anchor permanent web domains, bypassing DNS and renewal fees.

Amethyst is betting on pure Kotlin. The Android Nostr client is rebuilding its cryptographic foundations - Marmot, MLS, and secp256k1 signatures - from scratch in Kotlin, abandoning legacy C and Rust libraries that caused instability.

The move eliminates dependency on external shims like Orbot. Previously, Amethyst relied on cTor, which crashed frequently. After migrating to RT, a more stable Rust-based Tor implementation, developer Vitor pushed further: reimplementing core protocols natively. According to Sandré on Nostr Compass, this reduces attack surface from compromised upstream code - even as it introduces risk from new, hand-rolled cryptography.

"We're not just bundling Tor - we're making it invisible. One hundred percent of Amethyst traffic routes over onion by default."

- Sandré, Nostr Compass

Web-based clients can't match that. Browser limitations force them to proxy Tor through extensions, causing timeouts and leaks. Native apps like Amethyst now have a structural edge in privacy and performance, especially for P2P features. Voice and video calls via NIP-AC use WebRTC, but developers are testing media over QUIC for lower latency.

The shift to native code isn't limited to networking. Nostria, another Nostr client, is integrating local AI models like Google's Gemma 4 to analyze sentiment and generate content without server round-trips. AI inference itself is being decentralized - Mesh LLM uses Nostr keys for node identity and coordinates compute across devices.

Meanwhile, Titan has launched a browser that treats Bitcoin as DNS. Using OpReturns, it registers human-readable names permanently on-chain, tied to UTXOs. No renewals. No centralized registry. These 'Nsites' are hosted on Blossom, a decentralized media layer, and indexed by chain watchers.

"You don't renew a Bitcoin domain. You own it like a coin."

- Sandré, Nostr Compass

This stack - Kotlin-native clients, on-chain identity, decentralized hosting - is redefining what a sovereign web looks like. The browser isn't the gateway anymore. The node is.

Source Intelligence

- Deep dive into what was said in the episodes

Nostr Compass #17Apr 16

  • Amethyst transitioned to RT Tor, a Rust implementation of the Tor network, resolving previous crashing issues caused by outdated cTor bindings.
  • Amethyst version 1.7.3 improved video playback UI and migrated badges and bookmarks to new NIP kind numbers for compatibility with updated standards.
  • Amethyst is re-implementing MLS and Marmot protocols and a new secp256k1 library in pure Kotlin, based on published test vectors, aiming for encrypted direct messaging and Schnorr signature support.
  • Amethyst is developing NIP-AC for peer-to-peer WebRTC voice/video calls over Nostr, with two competing approaches being WebRTC and the newer, potentially more performant media over QUIC.
  • Nostralgia version 1.27 introduced video recording and editing, animated GIF support for profiles, new keyboard shortcuts, and private replies within direct messages.
  • Note-Tek version 0.10 Beta integrated the Zap Store's Nostr-based app update mechanism, enabling automatic application updates, which is generally good for security but raises concerns about user control and enshittification.
  • Amber's 6.00 pre-release introduced per-connection keys for NIP-46 remote signing, enhancing security by isolating compromises, and also added automatic updates via the Zap Store NIP.
  • Nostria released a new native mobile app using the Tauri Rust framework for Linux, macOS, and Windows, featuring improved Amber/Aegis NIP55 signer integration and a focus on social sharing previews.
  • Sandré is developing Nostria version 4 with integrated local AI models, including Google's Gemma 4 running in-browser for chat and image generation, and future plans for Nostr-based AI agents.
  • Titan version 0.1.0 launched a new internet browser with native Nsite capability, allowing pubkeys to publish websites via Nostr events and registering names permanently on-chain using Bitcoin transaction op-returns.
  • Bickl version 1.5.0, a decentralized cycling tracker, added background GPS tracking for GrapheneOS and integrated eCash transactions via Nutsapps, enabling scavenger hunt features with digital tokens.
  • Mesh LLM version 0.56.0, a distributed LLM inference system, uses Nostr key pairs for node identities and coordinates AI computation across machines, presenting potential for L402 Lightning payments.
  • NostrVPN added exit node support, allowing servers to act as privacy-enhancing exit nodes for WireGuard tunnels, synchronizing invites and aliases over Nostr, and released an Umbrel package.
  • Nymchat reverted its Marmot protocol integration for NIP-17 group chats due to the lack of proper multi-device support, highlighting the importance of this feature for cross-platform clients.
  • NUC, the Nostr Army Knife, updated to version 0.19.5 with Blossom multi-server support for parallel uploads/downloads, a new key command, and native support for the outbox model.
  • Snort's security audit led to fixes for Schnorr signature verification and NIP46 relay message forgery protection, alongside improvements in PIN encryption, batch verification, and lazy loading.
  • Relator, a Web of Trust scoring engine, introduced a scheme for writing validators in the ELO functional programming language, publishing them as Kind 765 events on Nostr, and launched a plugin marketplace.
  • A proposal for NIP 24 suggests adding `published_at` and `created_at` timestamps to all replaceable events, distinguishing original creation from last edit, which would simplify tracking user join dates.
  • OpenSats announced its 16th wave of Nostrgrants, funding Amethyst Desktop, Nostermail, Nostrord (a Kotlin multiplatform NIP-29 client), Nuru Nuru (a Japanese client), and renewing Hamster's grant.
  • NIP-17 for private direct messaging replaced NIP4 to address metadata leakage and weaker encryption, utilizing NIP44 for encryption and NIP59 (Giftwrap) for metadata protection, with randomized `created_at` timestamps.
  • NIP-17's Giftwrap uses an unsigned 'rumor event' (Kind 14) wrapped in a signed 'seal' (Kind 13) and then an outer ephemeral 'seal' (Kind 1059) to protect sender identity, though it lacks post-compromise or forward secrecy.
  • NIP-46, the Nostr remote signing protocol (NSEC-Bunker), allows clients to request signatures from an application holding the NSEC via Kind 24133 events and NIP44 encryption, using JSON-RPC-like structures.
Also from this episode: (8)

Social Media (1)

  • Social version 0.15 allows scheduling recording sessions for live streams and enables viewers to create TikTok-style vertical video clips from shows.

AI & Tech (1)

  • Sprout, a Slack-like communications platform by Bloq, uses Nostr and Blossom for chat rooms, NIP-42 for authentication, NIP-29 for group management, and natively integrates AI agents via a Goose instance.

AI Infrastructure (1)

  • White Noise switched from BlurHashes to ThumbHashes for image previews, significantly reducing size while increasing quality, and progressed on NIP55 push notifications and cursor-based chat message pagination.

Nostr (5)

  • Perser, a Nostr-native payments daemon and invoicing software, is integrating MDK for encrypted merchant-to-customer messaging, and adding Stripe and Square as payment providers, leveraging Marmot encryption.
  • NIP 58 Badges was merged, separating badges (Kind 10008, replaceable) from badge sets (Kind 30008) to simplify querying and management.
  • A new NIP-AC proposal for peer-to-peer voice/video calls migrates encryption to NIP44/NIP59, supports mesh groups, and is not backwards compatible with the older NIP-100.
  • NIP 340 is a new proposal for Frost quorum communications, defining how to coordinate Schnorr threshold signatures (multisig) using Nostr relays to transport ceremony messages.
  • NIP 5D proposes Nostr web applets for interactive web applications running in sandboxed iframes, communicating with a hosting shell to sign messages or interact with relays without direct key access.