Used to subscribe to all real-time transaction data of a specified wallet (Solana & Bsc)
| Free | Plus | Pro | Enterprise | Credit 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())