Hermes: Fedimint-based Lightning Address Server

Hermes is an asynchronous lightning address server that uses Fedimint Ecash on the backend.

Hermes: Fedimint-based Lightning Address Server
  • "Current implementation is a bit different (Hermes receives the ecash and sends the notes to you), but below is the goal [...] and is pending a few changes to the Fedimint Client."
  • "The Hermes server cannot spend your ecash, it is locked to the User's pubkey."
  • "It doesn't even need to send you the notification, your Fedimint Client can scan for the payment on its own. The notification just makes the scan faster by telling the client to look for a specific payment or set of payments."


  1. Users register their Nostr public key and username with the Hermes server. This registration process creates a lightning address for the user.
  2. The registration requires a small fee in ecash or lightning.

Receiving Payments

  1. Sender follows normal lnurlp protocol hitting well-known and callback endpoints.
  2. Hermes server creates a Fedimint Lightning Gateway transaction based off the receiver's public key, and returns the invoice to the sender via the callback endpoint.
  3. Sender pays the lightning invoice, which the lightning gateway immediately completes by locking ecash to the receiver's public key.
  4. Hermes server sends a notification to the receiver that they have received a payment.
  5. When the receiver's Fedimint Client next connects to their federation, they scan for the payment and reissue the pubkey locked ecash.

GitHub Repo Discussion