Skip to main content
Beta Access RequiredPrice Change Events are currently in beta. To request early access, please contact our team at hello@dialect.to.

Overview

Dialect offers two types of price change detection:
  1. Market-Based Price Changes: Track price movements over sliding time windows (e.g., “SOL is up 10% in 24h”)
  2. Trade-Based Price Changes: Personalized alerts relative to users’ actual trade prices (e.g., “SOL is up 50% since you bought”)
Both systems use complex threshold detection and advanced filtering to deliver only the most relevant alerts.

Market-Based Price Changes

Market-Based Price Changes are triggered by significant price movements of a token over sliding time windows using percentage change thresholds.

How It Works

Dialect continuously monitors token prices and analyzes percentage changes over sliding time windows. When a token’s price change exceeds the configured threshold within a time window, a webhook is triggered with detailed information about the price movement.

Sliding Window Analysis

Price changes are calculated using a sliding window approach:
  • Window Duration: Configurable time periods (1h, 3h, 6h, 12h, 24h, 7d)
  • Threshold: Percentage change required to trigger an event
  • Direction: Both upward and downward movements are detected

Supported Time Windows

Market-Based Webhook Payload

Market-Based Field Details

Event Metadata
  • event: token_price_change
  • timestamp: ISO 8601 UTC timestamp when event was generated
Token Information
  • symbol: Token ticker symbol
  • address: Token mint address on Solana
Trigger Details
  • type: sliding_window_percentage_change
  • window: Sliding window configuration
    • duration: Time window used for the calculation (e.g., 1h, 3h, 6h, 12h, 24h, 7d)
  • threshold: The percentage change that must be crossed within the window to trigger the event
Change Information
  • direction: up for price increases, down for decreases
  • from: Price and timestamp at the start of the window
  • to: Price and timestamp at the end of the window
  • absolute: Raw price difference (to.value - from.value)
  • percentage: Percentage change over the window ((to.value - from.value) / from.value * 100)

Trade-Based Price Changes (Last Trade)

Trade-Based Price Changes are triggered by significant price movements of a token relative to a user’s actual trading history. They offer a more personalized approach to price change alerts, providing alerts based on a user’s buy/sell behavior rather than market-wide price movements.

How It Works

Please note that during the beta, we only support buy transactions that happened after the wallet was registered.
  1. Registration: Wallets must be explicitly registered to receive last trade events
  2. Trade Detection: System monitors all swap transactions for the wallet
  3. Anchor Points: Last buy price becomes the baseline for percentage calculations
  4. Threshold Monitoring: Price changes are evaluated against market cap-specific thresholds
  5. Event Triggering: Alerts fire when thresholds are crossed in either direction

Registration Process

Wallets must be explicitly registered to receive last trade events. During beta:
  • Contact us at hello@dialect.to to register your wallets
  • Projects provide wallet lists to Dialect for monitoring
  • No backfill of historical trades (monitoring starts from registration)

Trade-Based Threshold System

Thresholds are determined based on token market capitalization at the time of initial tracking:

Standard Position Thresholds

Post-Exit Thresholds

After a full sell (100% position exit), different thresholds apply:

Event Triggering Rules

Threshold Crossing

  • Events trigger when price fully crosses a threshold
  • Same threshold cannot trigger twice consecutively
  • Price must cross another threshold before original can trigger again

Round Trip Detection

  • System tracks when price returns to previous thresholds
  • Generates contextual alerts like “TOKEN back to +50% from 2x”
  • Helps users understand retracement patterns

Multiple Threshold Handling

  • If multiple thresholds crossed in 5-minute window, only most significant triggers
  • Prioritizes largest movement (highest for uptrend, lowest for downtrend)

Trade-Based Webhook Payload

Trade-Based Field Descriptions

Event Metadata
  • event: token_last_trade_price_change
  • timestamp: ISO 8601 UTC timestamp when event was generated
  • walletAddress: The wallet being monitored for this event
Token Information
  • symbol: Token ticker symbol
  • address: Token mint address on Solana
Trigger Details
  • type: trade_percentage_change
  • trade: The anchor trade (last buy or sell) used for calculations
    • type: buy or sell
    • timestamp: When the trade occurred
    • transactionId: Blockchain transaction signature
    • balance: Token balance changes
      • before: Balance before trade
      • after: Balance after trade
      • change: Net change (positive for buys, negative for sells)
  • threshold: The percentage threshold that was crossed
Change Information
  • triggerTrade: Price change from the anchor trade
  • lastTrade: Price change from most recent trade
  • lastPeak: Price change from previous alert threshold (optional)
    • Each contains:
      • direction: up or down
      • from/to: Start and end prices with timestamps
      • absolute: USD price difference
      • percentage: Percentage change

Edge Cases

Partial Sells

  • Last buy price remains the anchor
  • Partial sells don’t reset calculation baseline
  • Allows tracking performance of remaining position
  • If a subsequent buy occurs after a partial sell, that new buy immediately replaces the anchor; thresholds reset from the new buy price
  • When multiple trades happen within the same 5‑minute time window, lastTrade always refers to the chronologically latest trade

SOL Handling

  • Trade‑based SOL price changes are muted in MVP
  • SOL is treated as an investment vehicle rather than a tracked asset for trade‑based alerts
  • Market‑based SOL price change alerts remain available and are unaffected

Multiple Buys (DCA)

  • Only most recent buy price is used as anchor
  • No averaging across multiple purchases
  • We do not average across buys. Any new buy supersedes the prior anchor and restarts threshold tracking

Implementation Examples

Market-Based Price Change Handler

Trade-Based Price Change Handler