Nostr
Delivery: Source-only. Nostr gives Fased a lightweight decentralized DM lane without a central service account. The gateway signs in with a Nostr private key, listens on one or more relays, and routes encrypted DMs into the normal Fased session model. Status: source extension, disabled until configured.Setup from Agent > Channels
Nostr is available from a source install. The lightweight hosted runtime does not currently includenostr-tools, and Nostr does not yet have an official
Fased add-on package. Use a maintained source install for this channel.
Open Agents, select the Agent, then use Agent > Channels > Nostr. Enter
the private key and relay list, save the channel, then restart the gateway if
the UI reports that the runtime still needs to load.
Quick setup
For most setups, treat Nostr as a DM-only channel with explicit allowlists. Start with one keypair and two or three relays, then widen from there only if you need more reach.- Generate a Nostr keypair (if needed):
- Add the private key in Agent > Channels > Nostr or config:
- Export the key:
- Restart the Gateway if the UI asks for it.
Configuration reference
Profile metadata
Profile data is published as a NIP-01kind:0 event. You can manage it from
Agent > Channels > Nostr > Profile or set it directly in config.
Example:
- Profile URLs must use
https://. - Importing from relays merges fields and preserves local overrides.
Access control
DM policies
- pairing (default): unknown senders get a pairing code.
- allowlist: only pubkeys in
allowFromcan DM. - open: public inbound DMs (requires
allowFrom: ["*"]). - disabled: ignore inbound DMs.
Allowlist example
Key formats
Accepted formats:- Private key:
nsec...or 64-char hex - Pubkeys (
allowFrom):npub...or hex
Relays
Defaults:relay.damus.io and nos.lol.
- Use 2-3 relays for redundancy.
- Avoid too many relays (latency, duplication).
- Commercial relays can improve reliability.
- Local relays are fine for testing (
ws://localhost:7777).
Protocol support
Testing
Local relay
Manual test
- Note the bot pubkey (npub) from logs.
- Open a Nostr client (Damus, Amethyst, etc.).
- DM the bot pubkey.
- Verify the response.
Troubleshooting
Not receiving messages
- Verify the private key is valid.
- Ensure relay URLs are reachable and use
wss://(orws://for local). - Confirm
enabledis notfalse. - Check Gateway logs for relay connection errors.
Not sending responses
- Check relay accepts writes.
- Verify outbound connectivity.
- Watch for relay rate limits.
Duplicate responses
- Expected when using multiple relays.
- Messages are deduplicated by event ID; only the first delivery triggers a response.
Security
- Never commit private keys.
- Use environment variables for keys.
- Consider
allowlistfor production bots.
Limitations (MVP)
- Direct messages only (no group chats).
- No media attachments.
- NIP-04 only (NIP-17 gift-wrap planned).