Used to edit a opening sell task
| Free | Plus | Pro | Enterprise | Credit Usage |
|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | 0 |
URL
wss://api-bot-v1.dbotx.com/trade/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
{
"id": 1761291309, // Call ID, the response returns the same ID as the request
"method": "updateMigrateOrder", // Method to edit opening sell
"params": {
"id": "mh47j19b043nrm", // Opening sell task id
"enabled": false, // Currently supports "solana / bsc"
"tradeType": "sell", // Currently supports "pump / meteora_bc / raydium_launchpad / fourmeme"
"amountOrPercent": 1, // token address
"customFeeAndTip": false, // "true" means both the priority fee (priorityFee) and the bribery tip (jitoTip) fields are valid, and the system will execute the transaction based on the provided values (null indicates automatic priority fee / bribery tip). "false" means that in turbo mode, only the priority fee (priorityFee) is valid, while in anti-MEV, only the bribery tip (jitoTip) is valid, and the system will allocate them automatically
"priorityFee": "",//Priority Fee (SOL), valid for Solana, empty string means use auto priority fee
"jitoEnabled": true, // "true" means enable anti-MEV mode (Solana & Ethereum & Bsc)
"jitoTip": 0.0021, // Bribery tip used by Anti-MEV (Solana), required when “jitoEnabled” or “customFeeAndTip” is true (null indicates automatic priority fee / bribery tip)
"expireDelta": 360000000, // Task duration, max 432000000 (milliseconds)
"maxSlippage": 0.1, // MAX slippage tolerance (0.00-1.00), when buying, it represents the difference between the actual price and the expected price. When selling, it represents the difference between the expected price and the actual price, the difference multiplier = 1/(1-slippage), 0.5 means a maximum of 2 times the accepted spread, 1 means unlimited spreads
"concurrentNodes": 2, // Number of concurrent nodes (1-3)
"retries": 1 // Number of retries after failure (0-10)
}
}Response Data
{
"method": "rpcResponse", // RPC response
"id": 1761291309, // Call ID
"result": {
"err": false // Request result status; false means succeeded, true means failed
}
}Example in NodeJS
const WebSocket = require('ws')
function main() {
const ws = new WebSocket('wss://api-data-v1.dbotx.com/trade/ws/', {
headers: {
'x-api-key': 'YOUR_API_KEY',
},
})
ws.on('open', () => {
ws.send(
JSON.stringify({
"id": 1761291309,
"method": "updateMigrateOrder",
"params": {
"id": "mh47j19b043nrm",
"enabled": false,
"tradeType": "sell",
"amountOrPercent": 1,
"customFeeAndTip": false,
"priorityFee": "",
"jitoEnabled": true,
"jitoTip": 0.0021,
"expireDelta": 360000000,
"maxSlippage": 0.1,
"concurrentNodes": 2,
"retries": 1
}
})
)
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/trade/ws/"
headers = {"x-api-key": "YOUR_API_KEY"}
msg = {
"id": 1761291309,
"method": "updateMigrateOrder",
"params": {
"id": "mh47j19b043nrm",
"enabled": false,
"tradeType": "sell",
"amountOrPercent": 1,
"customFeeAndTip": false,
"priorityFee": "",
"jitoEnabled": true,
"jitoTip": 0.0021,
"expireDelta": 360000000,
"maxSlippage": 0.1,
"concurrentNodes": 2,
"retries": 1
}
}
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())Request Parameters visualization reference

