VeztaVezta
WebSocket Reference

user:notifications

User notification stream

The user:notifications channel delivers real-time in-app notifications to the authenticated user. Notifications cover trade confirmations, price alerts, copy trade events, market resolutions, and social activity.

Subscribe

{ "event": "subscribe", "data": { "channel": "user:notifications" } }

Unsubscribe

{ "event": "unsubscribe", "data": { "channel": "user:notifications" } }

Server Broadcast

{
  "channel": "user:notifications",
  "data": {
    "id": "f1e2d3c4-b5a6-9780-fedc-ba0987654321",
    "type": "order_filled",
    "title": "Order Filled",
    "message": "Your buy order for 100 YES shares on 'Will Bitcoin hit $100K?' was filled at $0.6723",
    "read": false,
    "marketId": "c5a2e7f1-3b4d-4e6a-8f9c-1d2e3f4a5b6c",
    "actionUrl": "/market/will-bitcoin-hit-100k-by-june-2026",
    "createdAt": "2026-03-27T14:30:05.000Z"
  }
}

Payload Schema

FieldTypeDescription
idstringUnique notification identifier (UUID)
typestringNotification type (see table below)
titlestringShort notification title
messagestringHuman-readable notification body
readbooleanWhether the notification has been read (always false on delivery)
marketIdstring?Related market ID, if applicable
actionUrlstring?Deep link URL for navigation on click
createdAtstringISO 8601 timestamp

Notification Types

TypeDescription
order_filledAn order has been fully filled
order_partially_filledAn order has been partially filled
order_cancelledAn order was cancelled
order_failedAn order submission failed
price_alertA configured price alert was triggered
market_resolvedA market the user has a position in has resolved
copy_trade_executedA copy trade was automatically executed
copy_trade_failedA copy trade execution failed
mission_completedA mission was completed
reward_earnedPoints or rewards were earned
streak_milestoneA login streak milestone was reached

Notes

  • This channel requires authentication. Only the authenticated user's notifications are delivered.
  • Notifications arrive with read: false and must be marked as read via the REST API
  • The actionUrl field provides a client-side route for navigating to the relevant page
  • Notification preferences (which types to receive) are configurable in UserPreferences
  • Push notifications to mobile devices are handled separately via the push-notification module and Expo Notifications

On this page