docsReference LibraryGuidesWallet Notifications

Wallet Implementation Guide — Notifications, Sound Hints, and Spam Controls

This guide covers wallet behavior for ÐMP DogeTag Offers and ÐWhisper. It is implementation guidance, not a replacement for the protocol specs.

Core Requirements

  • Wallets MUST clearly distinguish signals from settled state. A DogeTag is not escrow, a ÐWhisper message is not acceptance, and ÐMS metadata is not ownership.
  • Wallets MUST let users disable sound hints globally and per sender where possible.
  • Wallets SHOULD default to quiet notifications until the user opts into sounds.
  • Wallets SHOULD expose the attention amount sent with each DogeTag and allow local minimum thresholds.
  • Wallets MUST treat encrypted content as untrusted data until decrypted and parsed safely.

ÐMP DogeTag Offers

When a transaction includes a Ð:𝕏 OP_RETURN payload and a recipient output controlled by the wallet:

  1. Decode the 40-byte payload.
  2. Verify magic, version, kind, asset_type, price_koinu, expiry, and attention amount.
  3. Match asset_hash16 against local inventory or trusted indexer candidates.
  4. Display ambiguous asset matches as ambiguous or hide them from primary UI.
  5. If flag bit 1 is set, play a sound only when the user’s local policy allows it.

Wallets SHOULD group repeated DogeTags by sender, asset, and block window. A sender who repeatedly sends the minimum attention amount SHOULD be collapsed into a single notification summary.

ÐWhisper

When a transaction includes a Ð:W OP_RETURN payload:

  1. Detect whether the signal is the 48-byte binary form or the short text form.
  2. For binary signals, match recipient_hash16 against locally controlled chat public keys or room keys.
  3. If content is expected, ask for user consent or apply a local allowlist before fetching encrypted inscriptions.
  4. Verify the encrypted content inscription uses "p": "Ð:W".
  5. Attempt decryption only in a safe, non-rendering context.
  6. Render decrypted text as text. Do not execute scripts, HTML, SVG, or active document formats.
  7. For public short text signals, label the content as public and permanent.

ÐWhisper notification sounds SHOULD be separate from DogeTag sounds. Wallets MAY make trusted contacts louder than unknown senders, but they MUST preserve user control.

Spam Controls

Wallets SHOULD provide:

  • Minimum DogeTag attention amount.
  • Per-sender mute.
  • Per-asset mute.
  • Global quiet mode for OP_RETURN signals.
  • “Known contacts only” mode for ÐWhisper sounds.
  • A review queue for encrypted content from unknown senders.

Wallets MUST NOT silently discard the underlying transaction history. Hiding spam in UI is local policy; the chain record remains queryable.

Integration Display

Recommended display labels:

SignalDisplay
Ð:𝕏”ÐMP DogeTag Offer signal”
Ð:W with message kind”ÐWhisper encrypted message”
Ð:W with key announcement”ÐWhisper key announcement”
Ð:W with room kind”ÐWhisper private room”
Ð:W with whisper-post kind”ÐWhisper board whisper”
ÐMS chat key”Verified profile/chat metadata” or “Unverified profile/chat metadata”

When multiple layers are present, wallets SHOULD show the stack explicitly: for example, “DogeTag offer signal with encrypted ÐWhisper context.”