Composing a new message
To create a new message:Open the compose window
Click the “Compose” or “New Message” button in the main interface. A new compose window will open.
Compose windows are floating and can be moved around. You can have multiple compose windows open at once to draft several messages simultaneously.
Enter recipient information
In the “To” field, enter one or more recipients. Hoot supports multiple recipient formats:
- npub format:
npub1...(Nostr public key in bech32 format) - Hex format: 64-character hexadecimal public key
- NIP-05 format:
user@domain.com(Nostr identifier)
When you enter a NIP-05 identifier (like
user@domain.com), Hoot automatically resolves it to the corresponding Nostr public key. You’ll see “Resolving NIP-05 addresses…” while this happens.Add a subject
Enter a subject for your message in the “Subject” field. This helps recipients understand the topic at a glance.
Write your message
Type your message content in the large text area. The compose window includes a formatting toolbar with buttons for:
- B: Bold text (planned feature)
- I: Italic text (planned feature)
- U: Underline text (planned feature)
- Link icon: Insert hyperlink (planned feature)
- Paperclip icon: Attach files (planned feature)
- Emoji icon: Insert emoji (planned feature)
Some formatting features are planned for future releases.
Select sender account
At the bottom of the compose window, use the “Send as” dropdown to select which account to send from. You can choose:
- Your account with raw key (no NIP-05)
- Your account with a verified NIP-05 identifier
Recipient validation
Before sending, Hoot validates all recipients:- Valid formats: Recipients must be in npub, hex, or NIP-05 format
- NIP-05 resolution: Email-like identifiers are resolved to public keys
- Resolution errors: If a NIP-05 identifier fails to resolve, you’ll see an error message: “Could not resolve: user@domain.com”
- No valid recipients: If no recipients can be validated, you’ll see: “No valid recipients”
When you see “Resolving NIP-05 addresses…”, wait a moment and try sending again. NIP-05 resolution happens in the background and may take a few seconds.
Replying to messages
To reply to a message:Click 'Reply'
Click the “Reply” button. A compose window will open with:
- The recipient pre-filled with the original sender
- The subject prefixed with “Re:” (if not already present)
- The parent event linked to maintain thread continuity
Message threading
Hoot supports email-style conversation threads. When you reply to a message, Hoot:- Links your reply to the parent message using the
parent_eventsfield - Preserves the subject line
- Groups related messages together in the inbox view
Saving drafts
You can save your message as a draft and return to it later:Drafts are saved locally in your encrypted database and are not synchronized across devices.
Understanding gift wrap encryption
Hoot uses NIP-59 (gift wrap) for all private messages. Here’s what this means:- End-to-end encryption: Only you and the recipient(s) can read the message
- Metadata privacy: Each recipient receives a separate gift-wrap event, preventing correlation
- Relay privacy: Relays cannot see who is messaging whom or read message contents
- One event per recipient: If you send to 3 recipients, 3 separate encrypted events are created
Multiple compose windows
Hoot allows you to open multiple compose windows simultaneously. Each window:- Operates independently
- Can be moved and positioned anywhere on screen
- Tracks its own draft state
- Has a unique ID for window management
NIP-05 addresses
NIP-05 identifiers work like email addresses but resolve to Nostr public keys:- Format:
username@domain.com - Resolution: Hoot queries
https://domain.com/.well-known/nostr.jsonto find the public key - Caching: Resolved addresses are cached to speed up subsequent sends
- Status indicators:
- “Resolving NIP-05 addresses…”: Resolution in progress
- “Could not resolve: …”: Resolution failed
- No message: Resolution successful
You can add and verify your own NIP-05 identifiers in Settings.
Sending status messages
The compose window displays status messages above the Send button:- Yellow text: “Resolving NIP-05 addresses…” (wait before sending)
- Red text: Error messages (invalid recipients, resolution failures)
- No message: Ready to send
Troubleshooting
”No Account Selected” error
Ensure you’ve selected a sender account from the “Send as” dropdown at the bottom of the compose window.NIP-05 resolution failures
- Check that the NIP-05 identifier is spelled correctly
- Ensure the domain has a valid
.well-known/nostr.jsonfile - Try using the npub or hex format instead
Message not received
- Verify the recipient’s public key is correct
- Check that you’re connected to relays in Settings
- Ensure the recipient is using a Nostr client that supports NIP-59 gift wrap
Next steps
- Learn how to manage contacts
- Configure relay settings to improve message delivery
- Understand NIP-05 verification for easier addressing