Documentation

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Features
    Multi-Vendor Store
    Inventory & Stock
    Vendor Management
    Commissions & Settlements
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Payments Overview
    Public Pools & DAO Jars
    WayForPay Payment Integration
    Wallet & Credit System
    WalletConductor
    Affiliate & Referral Enablement
    Referral Codes (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Token Staking System
    Owner Project Lab
    Entities
    Opportunities
    Real-Time Messaging
    Ring Tasks
    WebRTC Calls & STUNner TURN
    Peer Games
    News Module
    Member Blogs
    Public Profile Pages
    Profile Account Widgets
    Ring File Cabinet
    Username Reservation System
    Scientific Editor
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Email AI-CRM
    Ring Mailer & RingdomX Mail
    Tunnel Protocol
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Security & Compliance
    Admin console
    Admin Wiki
    Manage via Telegram
    Locale System
    Mobile Experience
    Performance Optimization Patterns
    Examples
    Quick Start
    Basic Setup
    White Label
    Custom Branding
    Web3 Integration
    Real World
    Advanced Features
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Vertical Presets (SSOT)
    Ringization playbook
    Branding
    Themes
    Features
    Localization
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Project configuration
    Public environment variables
    Order Lab secrets
    WalletConnect Project ID (Reown Cloud)
    Supported services
    NODUS wiki (project knowledge)
    Configuration playbook
    Web3
    Token launch jurisdictions
    Wallet
    Wallet Security Tips
    Integrations
    Ethereum wallets (Wagmi v3)
    RingFileBase (object storage API)
    Ring CDN (RingFileBase edge)
    Deployment
    Self-hosted deployment
    Vercel Deployment
    Docker
    Environment Configuration
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Architecture
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    PaymentConductor architecture
    WalletConductor architecture
    Backend Services
    Firebase Integration
    Development
    Ring MCP Server

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)

    Documentation

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Features
    Multi-Vendor Store
    Inventory & Stock
    Vendor Management
    Commissions & Settlements
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Payments Overview
    Public Pools & DAO Jars
    WayForPay Payment Integration
    Wallet & Credit System
    WalletConductor
    Affiliate & Referral Enablement
    Referral Codes (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Token Staking System
    Owner Project Lab
    Entities
    Opportunities
    Real-Time Messaging
    Ring Tasks
    WebRTC Calls & STUNner TURN
    Peer Games
    News Module
    Member Blogs
    Public Profile Pages
    Profile Account Widgets
    Ring File Cabinet
    Username Reservation System
    Scientific Editor
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Email AI-CRM
    Ring Mailer & RingdomX Mail
    Tunnel Protocol
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Security & Compliance
    Admin console
    Admin Wiki
    Manage via Telegram
    Locale System
    Mobile Experience
    Performance Optimization Patterns
    Examples
    Quick Start
    Basic Setup
    White Label
    Custom Branding
    Web3 Integration
    Real World
    Advanced Features
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Vertical Presets (SSOT)
    Ringization playbook
    Branding
    Themes
    Features
    Localization
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Project configuration
    Public environment variables
    Order Lab secrets
    WalletConnect Project ID (Reown Cloud)
    Supported services
    NODUS wiki (project knowledge)
    Configuration playbook
    Web3
    Token launch jurisdictions
    Wallet
    Wallet Security Tips
    Integrations
    Ethereum wallets (Wagmi v3)
    RingFileBase (object storage API)
    Ring CDN (RingFileBase edge)
    Deployment
    Self-hosted deployment
    Vercel Deployment
    Docker
    Environment Configuration
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Architecture
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    PaymentConductor architecture
    WalletConductor architecture
    Backend Services
    Firebase Integration
    Development
    Ring MCP Server

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)

    Documentation

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Features
    Multi-Vendor Store
    Inventory & Stock
    Vendor Management
    Commissions & Settlements
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Payments Overview
    Public Pools & DAO Jars
    WayForPay Payment Integration
    Wallet & Credit System
    WalletConductor
    Affiliate & Referral Enablement
    Referral Codes (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Token Staking System
    Owner Project Lab
    Entities
    Opportunities
    Real-Time Messaging
    Ring Tasks
    WebRTC Calls & STUNner TURN
    Peer Games
    News Module
    Member Blogs
    Public Profile Pages
    Profile Account Widgets
    Ring File Cabinet
    Username Reservation System
    Scientific Editor
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Email AI-CRM
    Ring Mailer & RingdomX Mail
    Tunnel Protocol
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Security & Compliance
    Admin console
    Admin Wiki
    Manage via Telegram
    Locale System
    Mobile Experience
    Performance Optimization Patterns
    Examples
    Quick Start
    Basic Setup
    White Label
    Custom Branding
    Web3 Integration
    Real World
    Advanced Features
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Vertical Presets (SSOT)
    Ringization playbook
    Branding
    Themes
    Features
    Localization
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Project configuration
    Public environment variables
    Order Lab secrets
    WalletConnect Project ID (Reown Cloud)
    Supported services
    NODUS wiki (project knowledge)
    Configuration playbook
    Web3
    Token launch jurisdictions
    Wallet
    Wallet Security Tips
    Integrations
    Ethereum wallets (Wagmi v3)
    RingFileBase (object storage API)
    Ring CDN (RingFileBase edge)
    Deployment
    Self-hosted deployment
    Vercel Deployment
    Docker
    Environment Configuration
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Architecture
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    PaymentConductor architecture
    WalletConductor architecture
    Backend Services
    Firebase Integration
    Development
    Ring MCP Server

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)
    Ring Platform Logo

    Loading documentation...

    Preparing Ring Platform content

    Ring Platform Logo

    Loading documentation...

    Preparing Ring Platform content

    Ring Platform Logo

    Loading documentation...

    Preparing Ring Platform content

    Notification System

    Use Founder / Developer tabs in the docs sidebar. Deep FCM setup lives on Push Notifications (FCM).

    Ring delivers in-app and push notifications for opportunities, messages, entity updates, wallet events, and peer-game challenges.

    Verified notification types (partial)

    TypePurpose
    OPPORTUNITYNew opportunities and applications
    MESSAGENew messages and conversations
    ENTITYEntity updates and invitations
    SYSTEMPlatform announcements
    WALLETTransaction and balance notifications
    GAME_REQUESTPeer-game challenge in chat (game_request)
    GAME_UPDATEDGame accepted / finished updates
    CALL_INVITEIncoming WebRTC call when the callee tab is hidden or closed

    GAME_* types appear in notification preferences UI and interactive notify (features/chat/lib/interactive-notify.ts). Offline FCM for game invites: after !deliveredLive, createInvite waits ~500ms and rechecks getTunnelHub().isUserConnected(peer) before NotificationType.GAME_REQUEST + FCM (not the call ringtone). Hub presence is process-local today — multi-pod false offline is backlog. See Peer Games.

    Delivery channels

    • In-app — Tunnel notifications:inbox / bell UI
    • Push (FCM + RFC dual-stack, shipped) — Push Notifications with FCM. Chrome uses Firebase Console Web Push certificate (getFcmVapidKey() / NEXT_PUBLIC_FIREBASE_VAPID_KEY) → fcm_tokens. Safari / empty PushManager uses dedicated VAPID_* → push_subscriptions. Server PUSH fans out both tables; empty RFC on Chrome is a no-op, not a second delivery.
    • Email / SMS — preference-gated where wired

    User preferences

    Granular enable/disable by type and channel, including quiet hours — see preferences components under features/notifications/.

    Related documentation

    Related documentation

    Push Notifications with FCM (Ring-Powered)

    Deep-dive: per-user FCM + RFC fan-out, iOS Home Screen, and empty RFC-on-Chrome no-op.

    WebRTC Calls & STUNner TURN

    Same-workflow: CALL_INVITE uses the same PUSH channel (90s TTL, data-only FCM).

    Peer Games

    Same-workflow: GAME_REQUEST / GAME_UPDATED for challenges and session updates.

    Tunnel Protocol

    Depends-on: live inbox fan-out on notifications:* channels.

    Documentation in progress

    Broader notifications triggers and preferences API docs are still expanding; treat the type table above as the verified Peer Games addendum.

    Notification System

    Use Founder / Developer tabs in the docs sidebar. Deep FCM setup lives on Push Notifications (FCM).

    Ring delivers in-app and push notifications for opportunities, messages, entity updates, wallet events, and peer-game challenges.

    Verified notification types (partial)

    TypePurpose
    OPPORTUNITYNew opportunities and applications
    MESSAGENew messages and conversations
    ENTITYEntity updates and invitations
    SYSTEMPlatform announcements
    WALLETTransaction and balance notifications
    GAME_REQUESTPeer-game challenge in chat (game_request)
    GAME_UPDATEDGame accepted / finished updates
    CALL_INVITEIncoming WebRTC call when the callee tab is hidden or closed

    GAME_* types appear in notification preferences UI and interactive notify (features/chat/lib/interactive-notify.ts). Offline FCM for game invites: after !deliveredLive, createInvite waits ~500ms and rechecks getTunnelHub().isUserConnected(peer) before NotificationType.GAME_REQUEST + FCM (not the call ringtone). Hub presence is process-local today — multi-pod false offline is backlog. See Peer Games.

    Delivery channels

    • In-app — Tunnel notifications:inbox / bell UI
    • Push (FCM + RFC dual-stack, shipped) — Push Notifications with FCM. Chrome uses Firebase Console Web Push certificate (getFcmVapidKey() / NEXT_PUBLIC_FIREBASE_VAPID_KEY) → fcm_tokens. Safari / empty PushManager uses dedicated VAPID_* → push_subscriptions. Server PUSH fans out both tables; empty RFC on Chrome is a no-op, not a second delivery.
    • Email / SMS — preference-gated where wired

    User preferences

    Granular enable/disable by type and channel, including quiet hours — see preferences components under features/notifications/.

    Related documentation

    Related documentation

    Push Notifications with FCM (Ring-Powered)

    Deep-dive: per-user FCM + RFC fan-out, iOS Home Screen, and empty RFC-on-Chrome no-op.

    WebRTC Calls & STUNner TURN

    Same-workflow: CALL_INVITE uses the same PUSH channel (90s TTL, data-only FCM).

    Peer Games

    Same-workflow: GAME_REQUEST / GAME_UPDATED for challenges and session updates.

    Tunnel Protocol

    Depends-on: live inbox fan-out on notifications:* channels.

    Documentation in progress

    Broader notifications triggers and preferences API docs are still expanding; treat the type table above as the verified Peer Games addendum.

    Notification System

    Use Founder / Developer tabs in the docs sidebar. Deep FCM setup lives on Push Notifications (FCM).

    Ring delivers in-app and push notifications for opportunities, messages, entity updates, wallet events, and peer-game challenges.

    Verified notification types (partial)

    TypePurpose
    OPPORTUNITYNew opportunities and applications
    MESSAGENew messages and conversations
    ENTITYEntity updates and invitations
    SYSTEMPlatform announcements
    WALLETTransaction and balance notifications
    GAME_REQUESTPeer-game challenge in chat (game_request)
    GAME_UPDATEDGame accepted / finished updates
    CALL_INVITEIncoming WebRTC call when the callee tab is hidden or closed

    GAME_* types appear in notification preferences UI and interactive notify (features/chat/lib/interactive-notify.ts). Offline FCM for game invites: after !deliveredLive, createInvite waits ~500ms and rechecks getTunnelHub().isUserConnected(peer) before NotificationType.GAME_REQUEST + FCM (not the call ringtone). Hub presence is process-local today — multi-pod false offline is backlog. See Peer Games.

    Delivery channels

    • In-app — Tunnel notifications:inbox / bell UI
    • Push (FCM + RFC dual-stack, shipped) — Push Notifications with FCM. Chrome uses Firebase Console Web Push certificate (getFcmVapidKey() / NEXT_PUBLIC_FIREBASE_VAPID_KEY) → fcm_tokens. Safari / empty PushManager uses dedicated VAPID_* → push_subscriptions. Server PUSH fans out both tables; empty RFC on Chrome is a no-op, not a second delivery.
    • Email / SMS — preference-gated where wired

    User preferences

    Granular enable/disable by type and channel, including quiet hours — see preferences components under features/notifications/.

    Related documentation

    Related documentation

    Push Notifications with FCM (Ring-Powered)

    Deep-dive: per-user FCM + RFC fan-out, iOS Home Screen, and empty RFC-on-Chrome no-op.

    WebRTC Calls & STUNner TURN

    Same-workflow: CALL_INVITE uses the same PUSH channel (90s TTL, data-only FCM).

    Peer Games

    Same-workflow: GAME_REQUEST / GAME_UPDATED for challenges and session updates.

    Tunnel Protocol

    Depends-on: live inbox fan-out on notifications:* channels.

    Documentation in progress

    Broader notifications triggers and preferences API docs are still expanding; treat the type table above as the verified Peer Games addendum.

    Real-Time Messaging

    See-also: interactive notify kit that emits typed notifications.

    Real-Time Messaging

    See-also: interactive notify kit that emits typed notifications.

    Real-Time Messaging

    See-also: interactive notify kit that emits typed notifications.

    1. Docs
    2. /Features
    3. /Notifications

    Updated Aug 16, 20262 min listen

    1. Docs
    2. /Features
    3. /Notifications

    Updated Aug 16, 20262 min listen

    1. Docs
    2. /Features
    3. /Notifications

    Updated Aug 16, 20262 min listen