Back to dashboard

Changelog

New updates and improvements to DLMM Alert.

v0.4.0

  • AddedFeedback form — send suggestions, bug reports, or general feedback directly from the app header via email (powered by Resend)
  • AddedCustom domain — DLMM Alert is now live at dlmmalert.app
  • FixedPnL column now works for Google OAuth users — was only reading from wallet adapter, now uses unified auth hook
  • FixedAlert settings now display rules in consistent order across all positions — no more shuffled thresholds
  • FixedWallet login reduced to a single approval — module-level singleton prevents duplicate sign requests across components
  • FixedPage reload no longer prompts wallet approval — existing Supabase Web3 session is reused after hydration
  • ImprovedLanding page now shows two side-by-side cards explaining Wallet Connect vs Google Sign-in differences
  • ImprovedWallet address modal shows current address and cancel/close buttons when changing wallet (first-time setup remains guided)
  • ImprovedAlert Settings and Alert Defaults now include an info panel explaining what cooldown means

v0.3.5

  • AddedGoogle OAuth sign-in — users can now sign in with Google alongside Solana wallet connection
  • AddedTracked wallet input for Google users — enter any Solana wallet address to monitor positions (read-only)
  • AddedTelegram Bot notifications for non-wallet users — direct alerts via @DLMMAlertBot with the same alert content as Dialect
  • AddedTelegram deep-link flow — one-click connect from the app, press Start in Telegram, done
  • AddedTelegram connect/disconnect UI in header for Google users with connection status indicator
  • AddedTest alerts endpoint now supports Telegram — pass ?wallet=ADDRESS to send test alerts via bot
  • ImprovedUnified auth hook (useAuth) — single interface for wallet and Google authentication across the app
  • ImprovedSign-in modal redesigned — shows both Google and wallet options with clear visual separation
  • ImprovedCron monitor now dual-dispatches — Telegram Bot API for connected users, Dialect for wallet users
  • ImprovedWallet button shows email for Google users with option to change tracked wallet address

v0.3.0

  • AddedServer-side Supabase service role client — cron and API routes now use a dedicated admin client that bypasses RLS, with automatic fallback to anon key on client-side
  • AddedRow Level Security enabled on cron_lock table — only the service role can access it, preventing unauthorized lock manipulation
  • Improved/api/alerts endpoint now requires Bearer token authentication — unauthenticated requests are rejected with 401
  • ImprovedInput length validation on /api/alerts — message, rule label, rule ID, and token symbols are all size-limited to prevent abuse
  • ImprovedRequest body size limit (10KB) on /api/alerts and /api/test-alerts endpoints
  • ImprovedUser-controlled fields sanitized before sending to Dialect notifications — prevents injection in notification titles and bodies
  • ImprovedRate limiter switched from setInterval cleanup to lazy cleanup — more serverless-friendly, no module-level timer
  • ImprovedRemoved unsafe-eval from Content Security Policy script-src — tighter CSP against XSS attacks
  • ImprovedAlert Defaults UI redesigned — proper padding, bordered rule cards, inset settings panels, sticky save button

v0.2.7

  • FixedPosition status badges now match consumed % — low % is Safe, 50%+ is Warning, 80%+ is Critical (was inverted near edges)
  • FixedBinMap progress bar and active bin text colors aligned with new directional status thresholds
  • FixedNegative PnL now displays correctly — shows -$0.08 instead of $0.08 for losses
  • FixedDashboard no longer reloads every 60 seconds — background refreshes skip loading state and only update UI when data actually changes
  • FixedMonitor polling (12s) no longer triggers full page re-renders — active bins use fingerprint comparison, poll timestamp isolated from page component
  • ImprovedRebrand from Meteora Notify to DLMM Alert — new logo, updated branding across header, landing page, security page, and changelog
  • ImprovedNew favicon and Apple touch icon generated from DLMM Alert logo
  • ImprovedAlert threshold sliders now allow up to 95% (was capped at 50%) for both per-position and global alert defaults

v0.2.6

  • AddedClosed position auto-cleanup — server-side cron verifies positions on-chain and automatically removes closed ones from monitoring
  • AddedClient-side stale position detection — closed positions are auto-unmonitored within 60 seconds without page reload
  • ImprovedDialect notification bell — broadened CSP to support all Dialect SDK domains, fixing panel not loading in mobile wallet browsers
  • ImprovedDialect bell retry — if SDK fails to load (e.g. slow connection), tapping the bell retries instead of permanently failing
  • ImprovedPosition sorting — same-pool positions now group by token pair, then pool, then bin range for natural flow
  • ImprovedInactive (upper OOR) bin map now shows green bins to differentiate from red Out of Range (lower OOR)
  • ImprovedMobile notification bell — shows setup instructions dialog instead of broken Dialect popup in wallet browsers
  • FixedStale notifications for closed positions — cron was alerting on positions that no longer exist on-chain
  • FixedPositions now auto-refresh every 60 seconds — closed positions disappear without page reload
  • FixedBin Movement alerts no longer fire on out-of-range positions — only triggers when position is active
  • FixedBin Movement baseline resets while out of range — prevents false alert when position re-enters range

v0.2.5

  • AddedPnL column on dashboard — shows USD % and SOL values for each position, color-coded green/red
  • AddedTake Profit alerts — get notified via Telegram when position PnL reaches your target % (USD or SOL)
  • AddedStop Loss alerts — get notified when position PnL drops below your threshold % (USD or SOL)
  • AddedUSD / SOL unit selector for TP/SL thresholds — choose which PnL metric to track per rule
  • AddedTP/SL configurable in both global Alert Defaults and per-position Monitor Settings
  • AddedDedicated Security page — explains why your funds are safe, infrastructure trust, and security measures
  • ImprovedTelegram TP/SL notifications include both USD and SOL PnL, target vs current %, and bin map overview
  • ImprovedSecurity headers on all responses (CSP, HSTS, X-Frame-Options, Referrer-Policy)
  • ImprovedRate limiting and input validation on all API endpoints
  • ImprovedFetch timeouts on all external API calls (Dialect, Meteora) to prevent hangs
  • ImprovedConsole logs stripped in production — no wallet addresses or sensitive data leaked
  • FixedNotifications now route to the correct wallet only — previously all subscribers received every alert
  • FixedTest alerts endpoint now requires authentication — was previously open to anyone

v0.2.4

  • FixedMonitor toggle now persists across browser reloads — added Zustand localStorage persistence with Supabase merge strategy
  • FixedSupabase writes no longer fail when optional columns (strategy_shape) are missing — automatic retry without unsupported fields
  • ImprovedRange consumed progress bar restored to filled bar style — fills from right to left showing how much range has been consumed
  • ImprovedWallet disconnect no longer clears monitor data — settings survive wallet reconnection on page reload

v0.2.3

  • AddedDirectional out-of-range status — OOR below lower edge shows red "Out of Range" (full IL), OOR above upper edge shows blue "Inactive" (position not yet active)
  • ImprovedRange consumed % now measures distance from nearest edge — 0% at edge (safe/early), ~50% at center (deep into range)
  • ImprovedProgress bar replaced with position marker showing where the active bin sits in the range
  • ImprovedAlert thresholds rescaled for new 0–50% range — Early Warning at 20%, Critical at 40%, slider max capped at 50%
  • FixedNew alert rule types (Bin Movement) now auto-merge into existing monitored positions without re-toggling

v0.2.2

  • AddedBin Movement alert — get notified every N bins of price movement with direction (toward upper or lower edge)
  • AddedConfigurable bin distance threshold (1–20 bins) per position and in global alert defaults
  • AddedNotification messages now include position info (e.g. "70 bins · Spot", "136 bins · BidAsk")
  • ImprovedAlert percentage calculation switched to linear (0–100% from lower to upper edge) — thresholds now match intuition
  • ImprovedStrategy shape detection uses DLMM positionLiquidity instead of raw token amounts — correct even when out of range
  • FixedOut-of-range arrow direction for positions at the upper boundary (e.g. active bin = upper bin)
  • FixedSpot positions no longer misidentified as Curve or BidAsk when fully one-sided

v0.2.1

  • ImprovedSwitched back to compact Unicode bin map (░▓) for Telegram — more precise and less clunky than emoji on mobile
  • ImprovedOut-of-range (above upper) now shows empty bar ░░░░░░░░░░░░░░░░░░░░ — liquidity was NOT consumed, so bins stay gray
  • ImprovedOut-of-range (below lower) shows filled bar ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ — liquidity was fully consumed as price moved through
  • ImprovedIn-range example: ░░░░░░░░░░░▓░░░░░░░░ ↑ 55% consumed — single marker shows active bin position
  • ImprovedWallet connect modal redesigned — gradient background, rounded wallet cards, purple glow on hover
  • ImprovedWallet connect CTA card with green shield trust indicator on landing page

v0.2.0

  • AddedHero landing page with tagline, wallet connect, and trust infrastructure cards
  • AddedSearch positions by token name — instantly filter your dashboard
  • AddedFilter positions by status (Safe, Warning, Critical, Out of Range) and monitored state
  • AddedSort positions by health %, unclaimed fees, or pair name with asc/desc toggle
  • AddedBuy me a Coffee modal with Solana and EVM wallet addresses and QR codes
  • ImprovedPositions now expanded by default for a better overview on load
  • ImprovedFooter redesigned — clickable version badge with Changelog label
  • ImprovedEmoji-based bin map in Telegram notifications for reliable rendering across all devices
  • FixedDuplicate notifications eliminated — single server-side dispatch path via cron
  • FixedCron lock race condition resolved with atomic conditional UPDATE

v0.1.0

  • AddedDLMM position dashboard with real-time monitoring and automatic refresh
  • AddedSecure wallet connection via Solana Wallet Adapter — supports Phantom, Solflare, Backpack, and more
  • AddedTelegram notifications powered by Dialect Protocol (out-of-range, percentage thresholds, back-in-range)
  • AddedDirectional out-of-range alerts — know if price moved above or below your range
  • AddedVisual bin map in Telegram notifications for instant position overview
  • AddedMulti-tier alert system with configurable cooldowns to avoid notification spam
  • AddedExpand / collapse all positions for quick overview
  • AddedPersistent monitoring state backed by Supabase — your settings survive across sessions and devices
  • AddedToken metadata resolution via Helius DAS API for accurate token names and symbols
  • FixedDuplicate Telegram notifications prevented with server-side cron locking
  • FixedToken names showing as truncated mint addresses
  • ImprovedBatched alerts per position — one notification per position even when multiple rules trigger