Summary
We want to support a decentralized and interoperable way for Mostro-compatible mobile clients to open a specific order directly from an external link, without relying on a centralized domain or server.
This issue proposes adding support for a nostr: deep link scheme that includes:
The event reference (nevent1...) of the NIP-69 order.
A list of relays where this order is known to be published.
This would allow Mostro mobile apps to automatically discover and render the relevant order view when a user clicks on such a link.
Motivation
Currently, websites like p2p.band display Nostr-based Mostro orders. When a user clicks the source field (which points to the NIP-69 event), a Nostr-aware app should ideally open and display the referenced order.
In centralized apps like Telegram, the source field can open directly into a specific chat. We'd like a similar behavior in Mostro mobile apps, but without relying on central web URLs, to maintain the decentralized nature of Mostro.
Proposed URI format
We propose that the source field of NIP-69 events includes a custom deep link in the following format:
nostr:nevent1qqxyzc...&relays=wss://relay1.example.com,wss://relay2.example.com
nevent1...: is the encoded Nostr event pointer (type 30069).
relays: is a comma-separated list of relays where this event was published.
Expected behavior in Mostro Mobile
-
Register the nostr: scheme at the OS level (Android/iOS).
-
When the user taps on such a link:
The app parses the nevent1... and the list of relays.
It temporarily connects to the listed relays.
It fetches the event (order).
If valid (NIP-69), it opens the relevant UI screen (buy/sell depending on kind).
- After that, the relay(s) could be removed or cached depending on app logic.
Advantages
✅ Works in a decentralized, self-contained manner.
✅ Avoids reliance on a central domain (e.g., mostro.network).
✅ Compatible with third-party Mostro relays (private or regional nodes).
✅ Easily shareable in Nostr events, clients, chats, etc.
Optional enhancements
Support multiple fallback relays in the client configuration.
Cache recently used relays for quicker response.
Add "Add to my relays" prompt if order comes from unknown relay.
Summary
We want to support a decentralized and interoperable way for Mostro-compatible mobile clients to open a specific order directly from an external link, without relying on a centralized domain or server.
This issue proposes adding support for a nostr: deep link scheme that includes:
The event reference (nevent1...) of the NIP-69 order.
A list of relays where this order is known to be published.
This would allow Mostro mobile apps to automatically discover and render the relevant order view when a user clicks on such a link.
Motivation
Currently, websites like p2p.band display Nostr-based Mostro orders. When a user clicks the source field (which points to the NIP-69 event), a Nostr-aware app should ideally open and display the referenced order.
In centralized apps like Telegram, the source field can open directly into a specific chat. We'd like a similar behavior in Mostro mobile apps, but without relying on central web URLs, to maintain the decentralized nature of Mostro.
Proposed URI format
We propose that the source field of NIP-69 events includes a custom deep link in the following format:
nostr:nevent1qqxyzc...&relays=wss://relay1.example.com,wss://relay2.example.com
nevent1...: is the encoded Nostr event pointer (type 30069).
relays: is a comma-separated list of relays where this event was published.
Expected behavior in Mostro Mobile
Register the nostr: scheme at the OS level (Android/iOS).
When the user taps on such a link:
The app parses the nevent1... and the list of relays.
It temporarily connects to the listed relays.
It fetches the event (order).
If valid (NIP-69), it opens the relevant UI screen (buy/sell depending on kind).
Advantages
✅ Works in a decentralized, self-contained manner.
✅ Avoids reliance on a central domain (e.g., mostro.network).
✅ Compatible with third-party Mostro relays (private or regional nodes).
✅ Easily shareable in Nostr events, clients, chats, etc.
Optional enhancements
Support multiple fallback relays in the client configuration.
Cache recently used relays for quicker response.
Add "Add to my relays" prompt if order comes from unknown relay.