API Reference
DBot OfficialDBot DashboardPricing

Subscribe Wallet Live Trades (WS)

Used to subscribe to all real-time transaction data of a specified wallet (Solana & Bsc)

FreePlusProEnterpriseCredit Usage
0

URL

wss://api-data-v1.dbotx.com/data/ws/

Notes

To ensure the availability and stability of the WebSocket connection, a heartbeat subscription must be sent at least once every minute (recommended every 30–55 seconds), otherwise the system will automatically disconnect the timeout link

Request Example

{
   "action": "subscribe", // Action performed: "subscribe" for subscription, "unsubscribe" for unsubscription
   "type": "monitorEvent", // Subscription type: "tx" for real-time transactions, "pairsInfo" for multi-pair data updates, "newPairInfo" for newly created pools / pairs, "pairInfo" for single pair data update, "migratedPairInfo" for latest migrated trading pairs, "monitorEvent" for wallet live trades
   "msgData": {
       "addresses": [
           {
               "address": "wallet address",
               "filter": {
                   "minBoughtAmount": 0.01,
                   "maxBoughtAmount": 10,
                   "minSoldAmount": 100,
                   "maxSoldAmount": 10000,
                   "minMCap": 500000,
                   "maxMCap": 50000000000
               }
           },
           {
               "address": "wallet address",
               "filter": {
                   "minBoughtAmount": 0.01,
                   "maxBoughtAmount": 10,
                   "minSoldAmount": 100,
                   "maxSoldAmount": 10000,
                   "minMCap": 500000,
                   "maxMCap": 50000000000
               }
           }
       ]
   }
}

Response Data

{
  "status": "ack", // Subscription status, "ack" for success
  "method": "subscribeResponse",
  "result": {
    "type": "monitorEvent", // Subscription type: "tx" for real-time transactions, "pairsInfo" for multi-pair data updates, "newPairInfo" for newly created pools / pairs, "pairInfo" for single pair data update, "migratedPairInfo" for latest migrated trading pairs, "walletTx" for wallet live trades
    "t": 1751008703051,
    "subscribed": [
      "monitorEvent"
    ],
    "message": "Connected and subscribed"
  }
}

Example in NodeJS

const WebSocket = require('ws')
function main() {
  const ws = new WebSocket('wss://api-data-v1.dbotx.com/data/ws/', {
    headers: {
      'x-api-key': 'YOUR_API_KEY',
    },
  })
  ws.on('open', () => {
    ws.send(
      JSON.stringify({
        method: 'subscribe',
        type: 'monitorEvent',
        msgData: {
          "addresses": [
            {
              "address": "wallet address",
              "filter": {
                "minBoughtAmount": 0.01,
                "maxBoughtAmount": 10,
                "minSoldAmount": 100,
                "maxSoldAmount": 10000,
                "minMCap": 500000,
                "maxMCap": 50000000000
              }
            },
            {
              "address": "wallet address",
              "filter": {
                "minBoughtAmount": 0.01,
                "maxBoughtAmount": 10,
                "minSoldAmount": 100,
                "maxSoldAmount": 10000,
                "minMCap": 500000,
                "maxMCap": 50000000000
              }
            }
          ]
        }
      })
    )
    setInterval(() => {
      ws.ping()
    }, 30000)
  })
  ws.on('message', res => {
    console.log('res:', res.toString('utf-8'))
  })
}
main()

Example in Python

import asyncio
import websockets
import json

async def main():
    uri = "wss://api-data-v1.dbotx.com/data/ws/"
    headers = {"x-api-key": "YOUR_API_KEY"}
    msg = {
      "action": "subscribe", 
      "type": "monitorEvent", 
      "msgData": {
          "addresses": [
              {
                  "address": "wallet address",
                  "filter": {
                      "minBoughtAmount": 0.01,
                      "maxBoughtAmount": 10,
                      "minSoldAmount": 100,
                      "maxSoldAmount": 10000,
                      "minMCap": 500000,
                      "maxMCap": 50000000000
                  }
              },
              {
                  "address": "wallet address",
                  "filter": {
                      "minBoughtAmount": 0.01,
                      "maxBoughtAmount": 10,
                      "minSoldAmount": 100,
                      "maxSoldAmount": 10000,
                      "minMCap": 500000,
                      "maxMCap": 50000000000
                  }
              }
          ]
      }
   }

    async with websockets.connect(uri, additional_headers=headers) as ws:
        await ws.send(json.dumps(msg))

        async def keep_alive():
            while True:
                await ws.ping()
                await asyncio.sleep(30)

        async def listen_for_messages():
            async for message in ws:
                print(message)

        await asyncio.gather(keep_alive(), listen_for_messages())

if name == "__main__":
    asyncio.run(main())