Why integrate Murmelt?

Add a complete private messenger to your website or app with one iframe. Murmelt handles the client while users connect directly to the Nostr network.

  • No backend required

    No chat server, message database, or account API to build and operate.

  • End-to-end encrypted

    Messages and files are encrypted in the browser before they leave the device.

  • Ready to use

    Chats, groups, calls, profiles, and key management are already included.

  • Built on Nostr

    Users keep their identity and can choose the relays they connect to.

Integration guide

Choose your setup and follow the steps below.

  1. 1

    Embed Murmelt

    Add the Murmelt app route to your page. Camera and microphone permissions enable voice and video calls.

    HTML
    <iframe
      id="murmelt"
      src="https://www.murmelt.com/app"
      title="Private chat"
      allow="camera; microphone; clipboard-write"
      referrerpolicy="no-referrer"
      style="width:100%;height:min(760px,90vh);border:0;border-radius:16px"
    ></iframe>
  2. 2

    Apply your branding

    Wait for the ready event, verify its origin, and send the optional app name and color scheme.

    JavaScript
    const frame = document.querySelector('#murmelt')
    const MURMELT_ORIGIN = 'https://www.murmelt.com'
    
    window.addEventListener('message', (event) => {
      if (!frame || event.origin !== MURMELT_ORIGIN) return
      if (event.source !== frame.contentWindow) return
      if (event.data?.type !== 'murmelt.brandingReady') return
    
      frame.contentWindow.postMessage(
        {
          type: 'murmelt.configure',
          version: 1,
          config: {
            appName: 'Your Community',
            colorScheme: 'pink',
          },
        },
        MURMELT_ORIGIN,
      )
    })
  3. 3

    Choose the visible branding

    Branding applies to the current iframe session and changes presentation only.

    appName
    A visible name between 1 and 40 characters.
    colorScheme
    Use purple or pink.