Used to get the user's all copy trading tasks
| Free | Plus | Pro | Enterprise | 积分消耗 |
|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | 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": "listFollowOrders", // Method to query copy trading tasks
"params": {
"page": 0, // Page number (0 / 1 / 2 ...)
"size": 10, // Page size (10 / 20, max 20)
"chain": "solana" // Chain (solana/ethereum/base/bsc/tron)
}
}
``` Response Data
{
"method": "rpcResponse", // RPC response
"id": 1761291309, // Call ID
"result": {
"err": false, // Request result status; false means succeeded, true means failed
"res": [
{
"id": "m8zl720z0015pp", // Copy trading task id
"accountId": "lz99kwxp0006q0", // Account ID associated with the task
"enabled": false, // "true" means to enable the copy trading task
"name": "d040125", // Name of copy trading task
"chain": "solana", // Blockchain(solana/ethereum/base/bsc/tron)
"dexFilter": null, // DEX to be copied, null means all, fill in the name to copy the corresponding DEX transaction
"targetIds": [
"F818nSSU9wKfT75eDdodCgLywjXvQHVutERoFVFrvpxS"
], // The wallet address to be copied (up to 10)
"walletId": "lz99olnr0007pb", // The id of the wallet to be used, which can be obtained via the "Wallet Info API"
"groupId": "md8g21lv000hbf", // Group id
"groupName": "达到", // Group name
"tokenBlacklist": [], // Blacklist token addresses for the current task (up to 20). Tokens added to the blacklist will not be bought or sold
"buySettings": {
"maxBuyAmountPerToken": null, // The maximum token buy amount (SOL / ETH / BNB / TRX) within this task over 7 days. Exceeding this limit will stop copy-buying.
"maxBuyTimesPerToken": null, // The maximum number of token buys within this task over 7 days. Exceeding this limit will stop copy-buying
"targetMaxAmountUI": null, // In the buy settings, it means the copy buy will only occur when smart money's buy amount is less than this value
"targetMinAmountUI": 0.3, // In the buy settings, it means the copy buy will only occur when smart money's buy amount is greater than this value
"maxTopHoldPercent": null, // Top 10 max holdings ratio (0-1), only buy tokens with top 10 holdings less than this value (valid for Solana)
"maxSellTax": null, // Max sell tax (0-1),valid for EVM, only copying buy tokens with sell tax below this value (data from GoPlus, there will be some impact on the copy trading speed after setting this)
"maxBuyTax": null, // Max buy tax (0-1),valid for EVM, only copying buy tokens with buy tax below this value (data from GoPlus, there will be some impact on the copy trading speed after setting this)
"maxTokenAgeMs": null, // Max token age (milliseconds), only buy tokens with creation time less than or equal to this value
"minTokenAgeMs": null, // Min token age (milliseconds), only buy tokens with creation time greater than or equal to this value
"minLpUsd": null, // Min liquidity ($), only buy tokens with liquidity greater than or equal to this value
"maxBalanceUI": null, // Take profit amount (ETH/SOL/BNB/TRX), copy buy will stop when the balance above this amount
"reservedAmountUI": null, // Stop loss amount (ETH/SOL/BNB/TRX), copy buy will stop when the balance below this amount
"jitoTip": null, // Bribery tip used by Anti-MEV (Solana), required when “jitoEnabled” or “customFeeAndTip” is true (null indicates automatic priority fee / bribery tip) (null indicates automatic priority fee / bribery tip)
"priorityFee": 0.02, // Priority Fee (SOL), valid for Solana, empty string means use auto priority fee
"maxBuyAmountUI": 0.5, // Max copy buy amount, the minimum is 0.001 SOL, 0.0001 ETH, 0.0001 BNB, and 1 TRX
"maxTokenMCUSD": null, // Max market cap, only copying buy tokens below this value
"minTokenMCUSD": null, // Min market cap, only copying buy tokens above this value
"buyAmountType": "fixed_amount", // Copy buy type, including: "fixed_amount", "fixed_ratio", "follow_amount"
"enabled": true, // "true" means to enable copy buy
"maxSlippage": 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
"buyExist": false, // Whether to continue to copy buy tokens already held
"skipFreezableToken": true, // "true"means not to buy freezable tokens
"skipMintableToken": false, // "true"means not to buy mintable tokens
"minBurnedLp": 0, // Min LP burnt ratio (0-1), only buy tokens with the LP burnt ratio greater than or equal to this value, Raydium(AMM) and Raydium(CPMM) supported
"retries": 10, // Number of retries after failure (0-10)
"concurrentNodes": 3, // Number of concurrent nodes (1-3)
"buyOncePerWallet": true, // "true"means only buy once, "false" means unlimited buy times (only for tokens bought by DBot)
"gasFeeDelta": 5, // Extra added gas (Gwei), valid for EVM
"maxFeePerGas": 100, // When the base gas exceeds this value, no transaction will execute (Gwei), valid for EVM chains
"jitoEnabled": false, // "true"means enable anti-MEV mode (Solana & Ethereum & Bsc)
"skipDelegatedToken": false, // "true"means not to buy delegated tokens
"skipHoneyPot": false, // "true"means not to buy tokens that defined as honeypots by GoPlus, valid for EVM (there will be some impact on the copy trading speed when enabled
"skipNotOpensource": false, // "true"means not to buy not opensource tokens defined by GoPlus, valid for EVM (there will be some impact on the copy trading speed when enabled)
"skipTargetIncreasePosition": false, // "true"means not to buy tokens already held by smart money
"minSocialMediaCount": 0,
"startHour": null, // Enable time (UTC) for copy buy or sell, after which copy buy or copy sell will be executed every day, can only be entered as an integer between 0 and 23, e.g. 10 for 10:00 (UTC)
"endHour": null, // Disable time (UTC) for copy buy or sell, before which copy buy or copy sell will be executed every day, can only be entered as an integer between 0 and 23, e.g. 10 for 10:00 (UTC)
"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
"buyRatio": 1 // Copy buy ratio (0-10), effective when copy buy type is fixed_ratio
},
"sellSettings": {
"pnlOrderExpireDelta": 86400000, // The expiry time for take profit/stop loss tasks, max 432000000 (ms)
"targetMaxAmountUI": null, // In the sell settings, it means the copy sell will only occur when smart money's sell income is less than this value
"targetMinAmountUI": null, // In the sell settings, it means the copy sell will only occur when smart money's sell income is greater than this value
"jitoTip": null, // Bribery tip used by Anti-MEV (Solana), required when “jitoEnabled” or “customFeeAndTip” is true (null indicates automatic priority fee / bribery tip) (null indicates automatic priority fee / bribery tip)
"priorityFee": 0.005, // Priority Fee (SOL), valid for Solana, empty string means use auto priority fee
"mode": "mixed", // Sell mode, "mixed" means both copy sell and take profit / stop loss are enabled, "only_copy" means only copy sell is enabled, "only_pnl" means only take profit / stop loss is enabled
"sellAmountType": "follow_ratio", // "all" means sell all, "follow_ratio" means follow the ratio to sell, "x_target_ratio" means multiply the sell ratio of Smart Money by a fixed multiplier
"xTargetRatio": null, // Multiples of smart money sell ratio (0-100). For example, if you enter 0.5 and smart money sells 10%, you sell 10% × 0.5 = 5%. If you enter 2, and smart money sells 10%, you sell 10% × 2 = 20%
"stopLossPercent": null, // Stop loss percentage (0.5 means 50%), available when the type of fast buy / sell is "buy", and in the sell setting of the copy trading, sell the token when its price falls above this percentage, "null" means stop loss is disabled
"stopEarnPercent": null, // Take profit percentage (0.5 means 50%), available when the type of fast buy / sell is "buy", and in the sell setting of the copy trading, sell the token when its price rises above this percentage, "null" means take profit is disabled
"enabled": true, // "true" means to enable copy sell
"sellSpeedType": "accurate", // Copy sell speed, invalid when mode is "only_pnl", can enter "fast" and "accurate", "fast" prioritizes speed but may result in the sell ratio being inconsistent with smart money. "accurate" prioritizes accuracy, but the sell speed may be slower
"maxSlippage": 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
"retries": 10, // Number of retries after failure (0-10)
"concurrentNodes": 3, // Number of concurrent nodes (1-3)
"gasFeeDelta": 5, // Extra added gas (Gwei), valid for EVM
"maxFeePerGas": 100, // When the base gas exceeds this value, no transaction will execute (Gwei), valid for EVM chains
"jitoEnabled": false, // "true"means enable anti-MEV mode (Solana & Ethereum & Bsc)
"stopEarnGroup": [
{
"amountPercent": 0.1, // Sell ratio (0–1, where 0.5 means 50%). For example, sell 50% when the price increases by 100%, and sell all when it increases by 200%. The sell ratios should be set to 0.5 and 1, not 0.5 and 0.5
"pricePercent": 5 // pricePercent:Price change percentage (0.5 means 50%). In take-profit groups, it indicates the percentage increase at which to sell
},
{
"amountPercent": 0.15, // Sell ratio (0–1, where 0.5 means 50%). For example, sell 50% when the price increases by 100%, and sell all when it increases by 200%. The sell ratios should be set to 0.5 and 1, not 0.5 and 0.5
"pricePercent": 10 // pricePercent:Price change percentage (0.5 means 50%). In take-profit groups, it indicates the percentage increase at which to sell
},
{
"amountPercent": 0.15, // Sell ratio (0–1, where 0.5 means 50%). For example, sell 50% when the price increases by 100%, and sell all when it increases by 200%. The sell ratios should be set to 0.5 and 1, not 0.5 and 0.5
"pricePercent": 30 // pricePercent:Price change percentage (0.5 means 50%). In take-profit groups, it indicates the percentage increase at which to sell
},
{
"amountPercent": 0.2, // Sell ratio (0–1, where 0.5 means 50%). For example, sell 50% when the price increases by 100%, and sell all when it increases by 200%. The sell ratios should be set to 0.5 and 1, not 0.5 and 0.5
"pricePercent": 50 // pricePercent:Price change percentage (0.5 means 50%). In take-profit groups, it indicates the percentage increase at which to sell
},
{
"amountPercent": 0.2, // Sell ratio (0–1, where 0.5 means 50%). For example, sell 50% when the price increases by 100%, and sell all when it increases by 200%. The sell ratios should be set to 0.5 and 1, not 0.5 and 0.5
"pricePercent": 100 // pricePercent:Price change percentage (0.5 means 50%). In take-profit groups, it indicates the percentage increase at which to sell
},
{
"amountPercent": 0.2, // Sell ratio (0–1, where 0.5 means 50%). For example, sell 50% when the price increases by 100%, and sell all when it increases by 200%. The sell ratios should be set to 0.5 and 1, not 0.5 and 0.5
"pricePercent": 999.99 // pricePercent:Price change percentage (0.5 means 50%). In take-profit groups, it indicates the percentage increase at which to sell
}
], // Take-profit group is effective when the copy sell mode is "mixed" or "only_pnl", supporting up to 6 groups. "null" means take-profit is disabled. If both "stopEarnGroup" and "stopEarnPercent" are set, "stopEarnPercent" will be ignored
"stopLossGroup": null, // Stop-loss group is effective when the copy sell mode is "mixed" or "only_pnl", supporting up to 6 groups. "null" means stop-loss is disabled. If both "stopLossGroup" and "stopLossPercent" are set, "stopLossPercent" will be ignored
"migrateSellPercent": 0, // Opening sell ratio (0.00-1.00) , which is valid for Solana's Pump / Meteora DBC / LaunchLab (only for SOL trading pairs) and BSC's Fourmeme tokens. A value of 0 means no opening sell task will be created.
"devSellPercent": 0, // The ratio of your token to be sold when the Dev sell task is triggered, 0 means don't create Dev sell task
"minDevSellPercent": 0, // Trigger ratio (0-1), sell your tokens when Dev sells over this ratio
"pnlOrderExpireExecute": false, // "true"means that if the take profit / stop loss task is not triggered within the validity period, it will be automatically executed at the end of the task
"startHour": null, // Enable time (UTC) for copy buy or sell, after which copy buy or copy sell will be executed every day, can only be entered as an integer between 0 and 23, e.g. 10 for 10:00 (UTC)
"endHour": null, // Disable time (UTC) for copy buy or sell, before which copy buy or copy sell will be executed every day, can only be entered as an integer between 0 and 23, e.g. 10 for 10:00 (UTC)
"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
"pnlOrderUseMidPrice": false // "true"enables Anti-Spike mode using the 1-second mid-price as trigger price (not 100% guaranteed)
},
"updateAt": 1753094553448, // Timestamp of the last update
"createAt": 1743577786115, // Creation time (ms timestamp)
"closeReason": null,
"walletName": "大额", // Wallet name
"walletAddress": "DZxxeTmosPBkQKp2SYyoeWiewqhAvmVQQGVTwRftbNf4", // Wallet address
"walletType": "solana", // Wallet type (solana/evm)
}
]
}
}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": "listFollowOrders",
"params": {
"page": 0,
"size": 10,
"chain": "solana"
}
})
)
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": "listFollowOrders",
"params": {
"page": 0,
"size": 10,
"chain": "solana"
}
}
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())Response data visualization reference

