VeztaVezta
WebSocket Reference

user:copy-trade

Copy trade execution events

The user:copy-trade channel notifies the authenticated user when a copy trade is detected, executed, or fails. This channel covers the full lifecycle of automated trades triggered by copy trade subscriptions.

Subscribe

{ "event": "subscribe", "data": { "channel": "user:copy-trade" } }

Unsubscribe

{ "event": "unsubscribe", "data": { "channel": "user:copy-trade" } }

Server Broadcast

{
  "channel": "user:copy-trade",
  "data": {
    "event": "executed",
    "subscriptionId": "a9b8c7d6-e5f4-3210-9876-543210fedcba",
    "targetWalletAddress": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "targetDisplayName": "vitalik.eth",
    "orderId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f9a",
    "marketId": "c5a2e7f1-3b4d-4e6a-8f9c-1d2e3f4a5b6c",
    "marketTitle": "Will Ethereum merge to PoS by Q2 2026?",
    "side": "yes",
    "action": "buy",
    "price": "0.820000",
    "quantity": "50.000000",
    "total": "41.000000",
    "sizingStrategy": "fixed",
    "originalTradeSize": "500.000000",
    "executedAt": "2026-03-27T14:30:10.000Z"
  }
}

Payload Schema

FieldTypeDescription
eventstringEvent type: detected, executed, failed, skipped
subscriptionIdstringCopy trade subscription ID (UUID)
targetWalletAddressstringWallet address being copied
targetDisplayNamestring?Display name of the target trader
orderIdstring?Order ID created by the copy trade (present for executed)
marketIdstringMarket the trade was placed in
marketTitlestringMarket title for display
sidestringyes or no
actionstringbuy or sell
pricestringExecution price
quantitystringShare quantity traded
totalstringTotal USD value of the copy trade
sizingStrategystringfixed or percentage -- how the trade size was calculated
originalTradeSizestringThe target trader's original trade size
executedAtstringISO 8601 timestamp

Event Types

EventDescription
detectedA trade by the target wallet was detected and is being processed
executedThe copy trade order was successfully submitted and filled
failedThe copy trade execution failed (e.g., insufficient balance, slippage exceeded)
skippedThe trade was skipped due to filter rules (category, min liquidity, probability bounds, daily cap)

Notes

  • This channel requires authentication. Only the authenticated user's copy trade events are delivered.
  • The sizingStrategy field indicates whether the copy trade used a fixed USD amount or a percentage of the target's trade size
  • The skipped event includes a reason field explaining why the trade was filtered out
  • Copy trades that fail include an errorMessage field with details
  • Each copy trade order is linked back to its subscription via the copyTradeSubId field on the Order model

On this page