This guide explains how to create links to videos, users, and content on divine.video.
All URLs are relative to the production domain:
https://divine.video
Link to a specific video using its Nostr event ID (hex format):
https://divine.video/video/{eventId}
Example:
https://divine.video/video/a1b2c3d4e5f6789...
The event ID is a 64-character hex string (the Nostr event's id field).
The platform supports NIP-19 identifiers but video routing via note, nevent, and naddr formats is not yet fully implemented:
note1...- Short video event referencenevent1...- Video event with relay hintsnaddr1...- Addressable video event (Kind 34236)
These will redirect to the appropriate video page once implemented.
Link to a user profile using their npub (NIP-19 encoded public key):
https://divine.video/profile/{npub}
Example:
https://divine.video/profile/npub1abc123def456...
You can also use raw hex pubkeys (64 characters):
https://divine.video/profile/{hexPubkey}
The /u/ route provides a smart lookup that works with multiple identifier types:
https://divine.video/u/{identifier}
Supports:
- Vine User IDs: 15-20 digit numeric strings (e.g.,
1080167736266633216) - NIP-05 identifiers: Coming soon (e.g.,
username@domain.com)
Example:
https://divine.video/u/1080167736266633216
If you have an nprofile1... identifier, you can use it directly:
https://divine.video/{nprofile1abc123...}
It will automatically redirect to the corresponding /profile/{npub} URL.
Link to videos tagged with a specific hashtag:
https://divine.video/hashtag/{tag}
Example:
https://divine.video/hashtag/comedy
Shorter alternative using /t/:
https://divine.video/t/{tag}
Example:
https://divine.video/t/comedy
Curated discovery feed (no login required):
https://divine.video/discovery
Most popular videos (no login required):
https://divine.video/trending
Personalized feed (requires login):
https://divine.video/home
Browse all hashtags:
https://divine.video/hashtags
Search across videos, users, and hashtags (no login required):
https://divine.video/search?q={query}
Example:
https://divine.video/search?q=funny%20cats
View all lists for the logged-in user (requires login):
https://divine.video/lists
View a specific list's videos (requires login):
https://divine.video/list/{pubkey}/{listId}
Example:
https://divine.video/list/abc123.../my-favorites
The platform automatically handles various Nostr identifier formats:
https://divine.video/{nip19identifier}
Supported formats:
npub1...→ Redirects to/profile/{npub}nprofile1...→ Extracts pubkey, redirects to/profile/{npub}note1...→ Coming soon (video view)nevent1...→ Coming soon (video view with relay hints)naddr1...→ Coming soon (addressable video events)
import { nip19 } from 'nostr-tools';
// Link to a user profile
const npub = nip19.npubEncode(userPubkey);
const profileUrl = `https://divine.video/profile/${npub}`;
// Link to a video
const videoUrl = `https://divine.video/video/${eventId}`;
// Link to a hashtag
const hashtagUrl = `https://divine.video/hashtag/${tag}`;<!-- Video link -->
<a href="https://divine.video/video/a1b2c3d4e5f6789...">
Watch this video on diVine
</a>
<!-- Profile link -->
<a href="https://divine.video/profile/npub1abc123...">
View profile on diVine
</a>
<!-- Hashtag link -->
<a href="https://divine.video/hashtag/comedy">
#comedy videos on diVine
</a>[Watch on diVine](https://divine.video/video/a1b2c3d4e5f6789...)
[View profile](https://divine.video/profile/npub1abc123...)
[#comedy videos](https://divine.video/hashtag/comedy)All video and profile URLs include Open Graph and Twitter Card metadata for rich social media previews.
Video pages include:
- Video title
- Description (video content)
- Thumbnail image
- Author information
Profile pages include:
- User display name
- Bio/about text
- Profile picture
- Recent videos
- Discovery feed:
/discovery - Trending feed:
/trending - Hashtag pages:
/hashtag/{tag},/t/{tag} - Hashtag discovery:
/hashtags - Profile pages:
/profile/{npub},/u/{userId} - Video pages:
/video/{id} - Search:
/search - All informational pages:
/about,/faq,/privacy, etc.
- Home feed:
/home - Lists:
/lists,/list/{pubkey}/{listId} - Moderation settings:
/settings/moderation
-
Always use npub for user links: While hex pubkeys work, npub is the standard Nostr format and more recognizable.
-
Use event IDs for videos: Videos are identified by their Nostr event ID (hex format).
-
URL encode hashtags: If hashtags contain spaces or special characters, URL-encode them:
const tag = "funny cats"; const url = `https://divine.video/hashtag/${encodeURIComponent(tag)}`;
-
Include relay hints for video links: When possible, use
neventornaddrformats (once implemented) to include relay hints for better content discovery. -
Test links: Always verify links work before publishing, especially with encoded identifiers.
Planned URL features:
- Full
note/nevent/naddrsupport for video links - NIP-05 username lookups in
/u/route - Relay hint support in video URLs
- Deep linking with video timestamps
If you encounter issues with URLs or have suggestions for improvements:
- Open an issue on GitHub
- Contact: support@divine.video
- Check FAQ: https://divine.video/faq