用于获取用户所有跟单任务
| Free | Plus | Pro | Enterprise | 积分消耗 |
|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | 0 |
URL
wss://api-bot-v1.dbotx.com/trade/ws/
说明
为保证WebSocket连接的可用性和稳定性,需要至少每1分钟(建议每30-55秒)进行一次心跳订阅,否则系统会自动断开超时链接
请求示例
{
"id": 1761291309, // 调用id,响应结果返回相同ID
"method": "listFollowOrders", // 调用查询跟单任务列表方法
"params": {
"page": 0, // 页码 (0 / 1 / 2 ...)
"size": 10, // 页码 (0 / 1 / 2 ...)
"chain": "solana" // 链 (solana/ethereum/base/bsc/tron)
}
}响应数据
{
"method": "rpcResponse", // rpc响应
"id": 1761291309, // 调用id
"result": {
"err": false, // 是否发生错误
"res": [
{
"id": "m8zl720z0015pp", // 跟单任务id
"accountId": "lz99kwxp0006q0", // 账户id
"enabled": false, // "true"表示启用跟单
"name": "d040125", // 跟单任务的名称
"chain": "solana", // 链 (solana/ethereum/base/bsc/tron)
"dexFilter": null, // 需要跟随的DEX,"null"表示全部跟随,填写名字表示只跟随该DEX的交易,包括:raydium_amm,raydium_clmm,raydium_cpmm,raydium_launchpad,meteora_dlmm,meteora_dyn,meteora_dyn2,meteora_bc,pump,pump_swap,moonshot,orca_wp,uniswap_v2,uniswap_v3,pancake_v2,pancake_v3,sunswap_v2,sunpump,ether_vista,okx_v2,fourmeme,boop,heaven
"targetIds": [
"F818nSSU9wKfT75eDdodCgLywjXvQHVutERoFVFrvpxS"
], // 需要跟单的钱包地址(最多10个)
"walletId": "lz99olnr0007pb", // 使用的钱包的id,可通过“钱包信息 API”获取
"groupId": "md8g21lv000hbf", // 分组id
"groupName": "达到", // 分组名称
"tokenBlacklist": [], // 当前任务的黑名单代币地址(最多20个),加入黑名单之后将不会跟买和跟卖这些代币
"buySettings": {
"maxBuyAmountPerToken": null, // 7日内代币在此任务中的最大买入金额(SOL / ETH / BNB / TRX),超过此金额则不再跟买
"maxBuyTimesPerToken": null, // 7日内代币在此任务中的最大买入次数,超过此次数则不再跟买
"targetMaxAmountUI": null, // 在买入设置中时,表示聪明钱买入金额小于此值时才会跟随买入;在卖出设置中时,表示聪明钱卖出收入小于此值才会跟随卖出
"targetMinAmountUI": 0.3, // 在买入设置中时,表示聪明钱买入金额大于此值时才会跟随买入;在卖出设置中时,表示聪明钱卖出收入大于此值才会跟随卖出
"maxTopHoldPercent": null, // 前10最大持仓比例 (0-1),只跟随买入前10持仓小于此值的代币(对Solana有效)
"maxSellTax": null, // 代币最大卖出税率,对EVM链有效,只跟随买入税率低于此值的代币(数据来源于GoPlus,设置后会对跟单速度产生一定影响)
"maxBuyTax": null, // 代币最大买入税率,对EVM链有效,只跟随买入税率低于此值的代币(数据来源于GoPlus,设置后会对跟单速度产生一定影响)
"maxTokenAgeMs": null, // 代币最大创建时间(毫秒),只跟随买入创建时间小于等于此值的代币
"minTokenAgeMs": null, // 代币最小创建时间(毫秒),只跟随买入创建时间大于等于此值的代币
"minLpUsd": null, // 最小流动性($),只跟随买入流动性大于等于此值的代币
"maxBalanceUI": null, // 止盈金额(ETH/SOL/BNB/TRX),钱包余额高于此金额时不会再跟随买入
"reservedAmountUI": null, // 止损金额(ETH/SOL/BNB/TRX),钱包余额低于此金额时不会再跟随买入
"jitoTip": null, // 防夹模式使用的贿赂费 (Solana),"jitoEnabled"或"customFeeAndTip"为true时必填 (null表示自动优先费/自动贿赂费)
"priorityFee": 0.02, // 优先费 (SOL),对Solana有效,空字符串表示使用自动优先费
"maxBuyAmountUI": 0.5, // 跟单的最大买入金额,最小可填写0.001 SOL,0.0001 ETH,0.0001 BNB,1 TRX
"maxTokenMCUSD": null, // 最大跟单市值,只跟随买入低于此市值的代币
"minTokenMCUSD": null, // 最小跟单市值,只跟随买入高于此市值的代币
"buyAmountType": "fixed_amount", // 跟单买入类型,"fixed_amount"表示固定金额,"fixed_ratio"表示固定比例,"follow_amount"表示跟随金额,买入任务启用时必填
"enabled": true, // "true"表示启用跟买
"maxSlippage": 1, // 最大滑点(0.00-1.00),买入时表示实际成交价格和期望价格之间的差距,卖出时表示期望价格和实际成交价格之间的差距,相差倍数=1/(1-滑点),0.5即最多接受2倍价差,1 即不限制价差
"buyExist": false, // 已持有代币是否继续跟随买入
"skipFreezableToken": true, // "true"表示不买入冻结权限未丢弃的代币
"skipMintableToken": false, // "true"表示不买入mint权限未丢弃的代币
"minBurnedLp": 0, // 池子最小销毁比例 (0-1),只跟随买入流动性销毁比例大于等于此值的代币,支持Raydium(AMM) 和 Raydium(CPMM)
"retries": 10, // 失败后的重试次数(0-10)
"concurrentNodes": 3, // 并发节点数(1-3)
"buyOncePerWallet": true, // "true"表示只买入一次,"false"表示不限制买入次数(只针对在DBot买入的代币)
"gasFeeDelta": 5, // 额外增加的gas (Gwei),对EVM链有效
"maxFeePerGas": 100, // 基础gas超过此值时将不进行交易 (Gwei),对EVM链有效
"jitoEnabled": false, // "true"表示启用防夹模式 (Solana & Ethereum & Bsc)
"skipDelegatedToken": false, // "true"表示不买入已委托的代币
"skipHoneyPot": false, // "true"表示不买入GoPlus定义为貔貅的代币,对EVM链有效(启用后会对跟单速度产生一定影响)
"skipNotOpensource": false, // "true"表示不买入GoPlus定义为未开源的代币,对EVM链有效(启用后会对跟单速度产生一定影响)
"skipTargetIncreasePosition": false, // "true"表示不买入聪明钱已持有的代币
"minSocialMediaCount": 0,
"startHour": null, // 跟随买入或卖出的启用时间 (UTC),每天在此时间之后跟买或跟卖才会执行,只能填写0-23之间的整数,例如10,表示UTC时间的10:00
"endHour": null, // 跟随买入或卖出的停用时间 (UTC),每天在此时间之前跟买或跟卖才会执行,只能填写0-23之间的整数,例如10,表示UTC时间的10:00
"customFeeAndTip": false, // "true"表示优先费 (priorityFee) 和贿赂费 (jitoTip) 两个字段均有效,系统将按填写的值执行交易 (null表示自动优先费/自动贿赂费),"false"表示高速模式下只有优先费 (priorityFee) 有效,防夹模式下只有贿赂费 (jitoTip) 有效,系统将自动进行分配
"buyRatio": 1 // 跟随买入比例(0-10),当买入类型为"fixed_ratio"时必填
},
"sellSettings": {
"pnlOrderExpireDelta": 86400000, // 止盈止损任务的过期时间,最大值为432000000 (毫秒)
"targetMaxAmountUI": null, // 在买入设置中时,表示聪明钱买入金额小于此值时才会跟随买入;在卖出设置中时,表示聪明钱卖出收入小于此值才会跟随卖出
"targetMinAmountUI": null, // 在买入设置中时,表示聪明钱买入金额大于此值时才会跟随买入;在卖出设置中时,表示聪明钱卖出收入大于此值才会跟随卖出
"jitoTip": null, // 防夹模式使用的贿赂费 (Solana),"jitoEnabled"或"customFeeAndTip"为true时必填 (null表示自动优先费/自动贿赂费)
"priorityFee": 0.005, // 优先费 (SOL),对Solana有效,空字符串表示使用自动优先费
"mode": "mixed", // 卖出模式,"mixed"表示同时启用跟随卖出和止盈止损,"only_copy"表示只启用跟随卖出,"only_pnl"表示只启用止盈止损
"sellAmountType": "follow_ratio", // 跟单卖出的比例,"all"表示100%卖出,"follow_ratio"表示跟随比例卖出,"x_target_ratio"表示根据聪明钱的卖出比例,固定乘以一个倍数进行卖出
"xTargetRatio": null, // 聪明钱卖出比例的倍数(0-100),例如填写0.5,则聪明钱卖出10%,你卖出10% × 0.5 = 5%;填写2,则聪明钱卖出10%,你卖出10% × 2 = 20%
"stopLossPercent": null, // 止损百分比 (0.5表示50%),在快速买卖的type为"buy"时,和跟单的卖出设置中有效,当某个代币价格下跌超过此百分比时自动卖出,"null"表示不启用止损
"stopEarnPercent": null, // 止盈百分比 (0.5表示50%),在快速买卖的type为"buy"时,和跟单的卖出设置中有效,当某个代币价格上涨超过此百分比时自动卖出,"null"表示不启用止盈
"enabled": true, // "true"表示启用跟随卖出
"sellSpeedType": "accurate", // 跟随卖出的速度,当mode为"only_pnl"时无效,可填写"fast"和"accurate","fast"表示速度优先,但可能导致卖出比例和聪明钱不一致,"accurate"表示准确优先,但卖出速度可能较慢
"maxSlippage": 1, // 最大滑点(0.00-1.00),买入时表示实际成交价格和期望价格之间的差距,卖出时表示期望价格和实际成交价格之间的差距,相差倍数=1/(1-滑点),0.5即最多接受2倍价差,1 即不限制价差
"retries": 10, // 失败后的重试次数(0-10)
"concurrentNodes": 3, // 并发节点数(1-3)
"gasFeeDelta": 5, // 额外增加的gas (Gwei),对EVM链有效
"maxFeePerGas": 100, // 基础gas超过此值时将不进行交易 (Gwei),对EVM链有效
"jitoEnabled": false, // "true"表示启用防夹模式 (Solana & Ethereum & Bsc)
"stopEarnGroup": [
{
"amountPercent": 0.1, // 卖出比例 (0-1,0.5表示50%),例如涨100%卖50%,涨200%全卖,卖出比例需要设置为0.5和1,而不是0.5和0.5
"pricePercent": 5 // 价格涨跌百分比 (0.5表示50%),在止盈分组里表示上涨多少卖出
},
{
"amountPercent": 0.15,
"pricePercent": 10
},
{
"amountPercent": 0.15,
"pricePercent": 30
},
{
"amountPercent": 0.2,
"pricePercent": 50
},
{
"amountPercent": 0.2,
"pricePercent": 100
},
{
"amountPercent": 0.2,
"pricePercent": 999.99
}
], // 止盈分组,在跟单卖出模式为"mixed"或"only_pnl"时有效,最多支持设置6个,"null"表示不启用止盈,若同时设置了"stopEarnGroup"和"stopEarnPercent",则"stopEarnPercent"将失效
"stopLossGroup": null, // 止损分组,在跟单卖出模式为"mixed"或"only_pnl"时有效,最多支持设置6个,"null"表示不启用止损,若同时设置了"stopLossGroup"和"stopLossPercent",则"stopLossPercent"将失效
"migrateSellPercent": 0, // 开盘卖出比例(0.00-1.00),对Solana的Pump / Meteora DBC / LaunchLab (仅支持SOL交易对)和 BSC的Fourmeme代币有效,0表示不创建开盘卖出任务
"devSellPercent": 0, // 当跟随Dev卖出任务触发时,你卖出的比例,为0表示不创建跟随Dev卖出任务
"minDevSellPercent": 0, // 触发比例 (0-1),当Dev卖出超过这个比例时卖出你的代币
"pnlOrderExpireExecute": false, // "true"表示止盈止损任务创建后若有效期内未触发,则在任务结束时自动执行
"startHour": null, // 跟随买入或卖出的启用时间 (UTC),每天在此时间之后跟买或跟卖才会执行,只能填写0-23之间的整数,例如10,表示UTC时间的10:00
"endHour": null, // 跟随买入或卖出的停用时间 (UTC),每天在此时间之前跟买或跟卖才会执行,只能填写0-23之间的整数,例如10,表示UTC时间的10:00
"customFeeAndTip": false, // "true"表示优先费 (priorityFee) 和贿赂费 (jitoTip) 两个字段均有效,系统将按填写的值执行交易 (null表示自动优先费/自动贿赂费),"false"表示高速模式下只有优先费 (priorityFee) 有效,防夹模式下只有贿赂费 (jitoTip) 有效,系统将自动进行分配
"pnlOrderUseMidPrice": false // "true"表示启用防插针模式,将使用1秒内的中间价格作为触发价,会尽可能但无法100%保证避免插针
},
"updateAt": 1753094553448, // 最后更新时间 (毫秒时间戳)
"createAt": 1743577786115, // 创建时间 (毫秒时间戳)
"closeReason": null,
"walletName": "大额", // 钱包名称
"walletAddress": "DZxxeTmosPBkQKp2SYyoeWiewqhAvmVQQGVTwRftbNf4", // 钱包地址
"walletType": "solana", // 钱包类型 (solana/evm)
}
]
}
}以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()以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())响应结果可视化参考

