amethyst is a free, open source social networking project written in Kotlin and released under MIT. It has 1,601 GitHub stars, 221 forks and 114 open issues, and was last pushed 5 hours ago. On this registry it ranks #25 of 44 tracked projects in Social Networking, with 5 head-to-head comparisons available. It gained 2 stars over the last 3 tracked days.

What is amethyst?

What it is

Amethyst is Nostr client for Android. Project lives in Nostr social-network ecosystem. GitHub description says Nostr client for Android. Topics say android, kotlin, nostr, social-network. Category says Community & Social / Social Networking. Homepage is http://amethyst.social. License is MIT. Language is Kotlin. Repository has 1599 stars, 221 forks, 114 open issues. Repository age is 4 years. Last push is 2026-09-15T02:53:19Z. README lists GitHub downloads, Play Store installs, stable release, Quartz Maven Central, Quartz JitPack snapshots, CI, MIT license, DeepWiki.

Amethyst solves problem of accessing Nostr from Android device. README says join social network you control. It provides client for basic protocol flow, Follow List, OpenTimestamps. It also provides desktop packages for macOS, Windows, Debian, Fedora, Linux. It gives install routes through Play Store, GitHub Releases, Zap Store, Obtainium. It gives signature verification route for sideloaded APKs.

Key capabilities

  • Supports basic Nostr protocol flow NIP-01.
  • Supports Follow List NIP-02.
  • Supports OpenTimestamps.
  • Provides Android package com.vitorpamplona.amethyst in googleplay and fdroid flavors.
  • Documents APK signature verification with apksigner verify --print-certs amethyst-.apk, keytool -printcert -jarfile amethyst-.apk, and AppVerifier.
  • Provides desktop install paths: brew install --cask amethyst-nostr, winget install VitorPamplona.Amethyst, .deb, .rpm, AppImage, tar.gz.
  • Publishes Quartz on Maven Central and snapshots on JitPack.

Who uses it and how

  • Android users install from Play Store, GitHub Releases, Zap Store, Obtainium; googleplay and fdroid flavors exist.
  • Desktop users install on macOS with brew or .dmg, Windows with winget, .msi, .zip portable, Linux with .deb, .rpm, AppImage, .tar.gz.
  • If you sideload Amethyst, verify that your APK is signed by the official release key before installing, using the SHA-256 fingerprint C2:D0:AA:86:BC:B6:B6:20:90:56:1A:41:BB:E3:36:E9:8B:78:C2:D0:21:0A:49:8D:C8:85:F2:8E:13:48:CF:17.
  • Builders use BUILDING.md to build from source.
  • Troubleshooters follow BUILDING.md for Gatekeeper, SmartScreen, AppImage.

Getting started

Typical install uses Play Store, GitHub Releases, Zap Store, Obtainium on Android; brew install --cask amethyst-nostr on macOS; winget install VitorPamplona.Amethyst on Windows; .deb, .rpm, AppImage, .tar.gz on Linux, with direct downloads from GitHub Releases latest. Build from source uses BUILDING.md.

When to use it — and when not to

Use Amethyst when you need MIT-licensed Kotlin Nostr client for Android, with documented APK signing and desktop packages. Avoid if you need hosted web service, because README lists client install paths, not server hosting, and no paid products listed. Open issues 114 and truncated supported feature list show need review tracker and current release before relying on it.

project readme (upstream, from github) — read inline

Amethyst

Nostr Client for Android

Join the social network you control.

GitHub downloads PlayStore downloads

Last Version Maven Central JitPack snapshots CI License: MIT Ask DeepWiki

Download and Install

Android

Get it on GitHub Get it on Google Play

Desktop

OS CLI install Direct download
macOS (Apple Silicon) brew install --cask amethyst-nostr .dmg arm64
macOS (Intel) brew install --cask amethyst-nostr .dmg x64
Windows 10/11 winget install VitorPamplona.Amethyst .msi · .zip portable
Debian/Ubuntu .deb
Fedora/RHEL/openSUSE .rpm
Any Linux AppImage · .tar.gz

Coming soon (separate PR): Scoop (Windows), AUR (Arch Linux).

Build from source: see BUILDING.md.

Install troubleshooting (Gatekeeper / SmartScreen / AppImage): see BUILDING.md § Troubleshooting installs.

Verifying the APK signature

If you sideload Amethyst (Obtainium, GitHub Releases, Zap Store), verify that your APK is signed by the official release key before installing. All official Amethyst APKs — both the googleplay and fdroid flavors — are signed with the same certificate, whose SHA-256 fingerprint is:

C2:D0:AA:86:BC:B6:B6:20:90:56:1A:41:BB:E3:36:E9:8B:78:C2:D0:21:0A:49:8D:C8:85:F2:8E:13:48:CF:17

To check a downloaded APK yourself, run (apksigner ships with the Android SDK build-tools):

apksigner verify --print-certs amethyst-*.apk

and confirm the reported Signer #1 certificate SHA-256 digest is c2d0aa86bcb6b62090561a41bbe336e98b78c2d0210a498dc885f28e1348cf17. Without the Android SDK, keytool -printcert -jarfile amethyst-*.apk (bundled with any JDK) prints the same SHA-256 fingerprint.

With AppVerifier, paste or share the APK and compare against:

com.vitorpamplona.amethyst
C2:D0:AA:86:BC:B6:B6:20:90:56:1A:41:BB:E3:36:E9:8B:78:C2:D0:21:0A:49:8D:C8:85:F2:8E:13:48:CF:17

Supported Features

  • Basic protocol flow (NIP-01)
  • Follow List (NIP-02)
  • OpenTimestamps Attestations (NIP-03)
  • Encrypted Direct Message (NIP-04)
  • DNS-based Identifiers (NIP-05)
  • Key Derivation from Mnemonic (NIP-06)
  • window.nostr for Web Browsers (NIP-07, Not applicable)
  • Handling Mentions (NIP-08)
  • Event Deletion Request (NIP-09)
  • Text Notes and Threads (NIP-10)
  • Relay Information Document (NIP-11)
  • Proof of Work (NIP-13)
  • Subject Tag in Text Events (NIP-14)
  • Nostr Marketplace (NIP-15)
  • Private Direct Messages (NIP-17)
  • Reposts (NIP-18)
  • bech32-encoded Entities (NIP-19)
  • nostr: URI Scheme (NIP-21)
  • Comment (NIP-22)
  • Long-form Content (NIP-23)
  • Extra Metadata Fields and Tags (NIP-24)
  • Reactions (NIP-25)
  • Delegated Event Signing (NIP-26)
  • Text Note References (NIP-27)
  • Public Chat (NIP-28)
  • Relay-based Groups (NIP-29)
  • Custom Emoji (NIP-30)
  • Dealing with Unknown Events (NIP-31)
  • Labeling (NIP-32)
  • git stuff (NIP-34)
  • Torrents (NIP-35)
  • Sensitive Content (NIP-36)
  • Draft Events (NIP-37)
  • User Statuses (NIP-38)
  • External Identities in Profiles (NIP-39)
  • Expiration Timestamp (NIP-40)
  • Authentication of Clients to Relays (NIP-42)
  • Relay Access Metadata and Requests (NIP-43)
  • Encrypted Payloads / Versioned (NIP-44)
  • Counting Results (NIP-45)
  • Nostr Remote Signing (NIP-46)
  • Nostr Wallet Connect (NIP-47)
  • Proxy Tags (NIP-48)
  • Private Key Encryption (NIP-49)
  • Search Capability (NIP-50)
  • Lists (NIP-51)
  • Calendar Events (NIP-52)
  • Live Activities (NIP-53)
  • Wiki (NIP-54)
  • Android Signer Application (NIP-55)
  • Reporting (NIP-56)
  • Lightning Zaps (NIP-57)
  • Zap Splits (NIP-57)
  • Private Zaps (NIP-57)
  • Zapraiser (NIP-57)
  • Badges (NIP-58)
  • Gift Wrap (NIP-59)
  • Pubkey Static Websites (NIP-5A)
  • Cashu Wallet (NIP-60)
  • Nutzaps (NIP-61)
  • Request to Vanish (NIP-62)
  • Chess / PGN (NIP-64)
  • Relay List Metadata (NIP-65)
  • Relay Discovery and Liveness Monitoring (NIP-66)
  • Picture-first Feeds (NIP-68)
  • Peer-to-peer Order Events (NIP-69)
  • Protected Events (NIP-70)
  • Video Events (NIP-71)
  • Moderated Communities (NIP-72)
  • External Content IDs (NIP-73)
  • Zap Goals (NIP-75)
  • Negentropy Syncing (NIP-77)
  • Application-specific Data (NIP-78)
  • Threads (NIP-7D)
  • Highlights (NIP-84)
  • Trusted Assertions (NIP-85)
  • Relay Management API (NIP-86)
  • Ecash Mint Discoverability (NIP-87)
  • Polls (NIP-88)
  • Recommended Application Handlers (NIP-89)
  • Data Vending Machines (NIP-90)
  • Media Attachments (NIP-92)
  • File Metadata (NIP-94)
  • Binary Blobs (NIP-95/Draft)
  • HTTP File Storage Integration (NIP-96)
  • HTTP Auth (NIP-98)
  • Classified Listings (NIP-99)
  • Voice Messages (NIP-A0)
  • Public Messages (NIP-A4)
  • Web Bookmarks (NIP-B0)
  • Blossom (NIP-B7)
  • Nostr BLE Communications Protocol (NIP-BE)
  • Code Snippets (NIP-C0)
  • Chats (NIP-C7)
  • MLS Protocol (NIP-EE)
  • Audio Tracks (zapstr.live) (kind:31337)
  • Lightning Tips
  • Image/Video/Url/LnInvoice/Cashu Previews
  • Push Notifications (Google and Unified Push)
  • In-Device Automatic Translations
  • Hashtag Following and Custom Hashtags
  • Login with QR
  • Bounty support (nostrbounties.com)
  • De-googled F-Droid flavor
  • Multiple Accounts
  • Markdown Support
  • Medical Data (NIP-xx/Draft)
  • Embed events (NIP-xx/Draft)
  • Edit Short Notes (NIP-xx/Draft)
  • NIP Events (NIP-xx/Draft)
  • Relationship Status (NIP-xx/Draft)
  • Signed Filters (NIP-xx/Draft)
  • Key Migration (NIP-xx/Draft)
  • Image Capture in the app
  • Video Capture in the app
  • Local Database
  • Workspaces

Privacy and Information Permanence

Relays know your IP address, your name, your location (guessed from IP), your pub key, all your contacts, and other relays, and can read every action

readme truncated — read the full docs on github

Frequently asked questions

Is amethyst free to use?

amethyst is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does amethyst do?

Nostr client for Android

What is amethyst written in?

amethyst is primarily written in Kotlin. Its source is publicly available at https://github.com/vitorpamplona/amethyst, and it has 1,601 GitHub stars.