用于获取用户所有自动狙击任务
| Free | Plus | Pro | Enterprise | 积分消耗 |
|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | 0 |
URL
wss://api-bot-v1.dbotx.com/trade/ws/
说明
为保证WebSocket连接的可用性和稳定性,需要至少每1分钟(建议每30-55秒)进行一次心跳订阅,否则系统会自动断开超时链接
请求示例
{
"id": 1761291309, // 调用id,响应结果返回相同ID
"method": "listSnipeOrders", // 调用查询自动狙击列表方法
"params": {
"page": 0, // 页码 (0 / 1 / 2 ...)
"size": 1, // 每页数量 (10 / 20, 最大20)
"chain": "solana", // 链 (solana/ethereum/base/bsc/tron)
"state":"done" // 状态 (init/进行中, done/完成, expired/失效)
}
}响应数据
{
"method": "rpcResponse", // rpc响应
"id": 1761291309, // 调用id
"result": {
"err": false, // 是否发生错误
"res": [
{
"id": "mb0k1w6q000xza",
"accountId": "lz99kwxp0006q0",
"enabled": true, // "true"表示启用狙击
"chain": "solana", // 链 (solana/ethereum/base/bsc/tron)
"token": "B8CZf6Vma5BdViv4C8ndAtb4LbHFSDEdRH47GuEzpump", // 需要狙击的token的合约地址
"tokenInfo": {
"contract": "B8CZf6Vma5BdViv4C8ndAtb4LbHFSDEdRH47GuEzpump",
"name": "sweet cute adorable",
"symbol": "suwi",
"decimals": 6,
"icon": null,
"totalSupply": "1000000000000000",
"tokenProgram": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"mintAuthority": null,
"freezeAuthority": null,
"createAt": 1747987142630
}, // 代币信息
"walletId": "m6056qp3001crx", // 使用的钱包的id,可通过“钱包信息 API”获取
"expireAt": 1748389496498,
"expireDelta": 399600000, // 止盈止损任务的过期时间,最大值为432000000 (毫秒)
"buySettings": {
"gasFeeDelta": 5, // 额外增加的gas (Gwei),对EVM链有效
"maxFeePerGas": 100, // 基础gas超过此值时将不进行交易 (Gwei),对EVM链有效
"maxSlippage": 0.3, // 最大滑点(0.00-1.00),买入时表示实际成交价格和期望价格之间的差距,卖出时表示期望价格和实际成交价格之间的差距,相差倍数=1/(1-滑点),0.5即最多接受2倍价差,1 即不限制价差
"minLiquidity": 0, // 流动性需要大于此值才会触发狙击(美元)
"retries": 0, // 失败后的重试次数(0-10)
"concurrentNodes": 1, // 并发节点数(1-3)
"jitoEnabled": false, // "true"表示启用防夹模式 (Solana & Ethereum & Bsc)
"jitoTip": "", // 防夹模式使用的贿赂费 (Solana),"jitoEnabled"或"customFeeAndTip"为true时必填 (null表示自动优先费/自动贿赂费)
"customFeeAndTip": false, // "true"表示优先费 (priorityFee) 和贿赂费 (jitoTip) 两个字段均有效,系统将按填写的值执行交易 (null表示自动优先费/自动贿赂费),"false"表示高速模式下只有优先费 (priorityFee) 有效,防夹模式下只有贿赂费 (jitoTip) 有效,系统将自动进行分配
"buyAmountUI": 0.001, // 用于狙击的金额(ETH/SOL/BNB/TRX)
"priorityFee": 0.00001 // 优先费 (SOL),对Solana有效,空字符串表示使用自动优先费
},
"sellSettings": {
"enabled": true,
"maxFeePerGas": 100, // 基础gas超过此值时将不进行交易 (Gwei),对EVM链有效
"maxSlippage": 0.31, // 最大滑点(0.00-1.00),买入时表示实际成交价格和期望价格之间的差距,卖出时表示期望价格和实际成交价格之间的差距,相差倍数=1/(1-滑点),0.5即最多接受2倍价差,1 即不限制价差
"gasFeeDelta": 5, // 额外增加的gas (Gwei),对EVM链有效
"autoSell": false, // 在任务结束未触发止盈止损时,是否自动卖出
"stopEarnEnabled": true, // 是否启用止盈,止盈止损至少启用一个
"stopLossEnabled": true, // 是否启用止损,止盈止损至少启用一个
"stopLossPercentOrPrice": 0.15, // 止损比例(0.00-1.00),0.5表示下跌50%时卖出,"null"表示不启用止损
"stopEarnPercentOrPrice": 0.5, // 止盈比例,0.5表示上涨50%时卖出,"null"表示不启用止盈
"stopEarnMode": "profit_percent", // 止盈方式,目前支持"profit_percent",表示按百分比止盈,启用止盈时必填
"stopLossMode": "loss_percent", // 止损方式,目前支持"profit_percent",表示按百分比止损,启用止损时必填
"retries": 0, // 失败后的重试次数(0-10)
"concurrentNodes": 1, // 并发节点数(1-3)
"jitoEnabled": false, // "true"表示启用防夹模式 (Solana & Ethereum & Bsc)
"jitoTip": null, // 防夹模式使用的贿赂费 (Solana),"jitoEnabled"或"customFeeAndTip"为true时必填 (null表示自动优先费/自动贿赂费)
"customFeeAndTip": false, // "true"表示优先费 (priorityFee) 和贿赂费 (jitoTip) 两个字段均有效,系统将按填写的值执行交易 (null表示自动优先费/自动贿赂费),"false"表示高速模式下只有优先费 (priorityFee) 有效,防夹模式下只有贿赂费 (jitoTip) 有效,系统将自动进行分配
"useMidPrice": true, // "true"表示启用防插针模式,将使用1秒内的中间价格作为触发价,会尽可能但无法100%保证避免插针
"priorityFee": 0.00001 // 优先费 (SOL),对Solana有效,空字符串表示使用自动优先费
},
"buyState": "done", // 订单状态,init:初始化,processing:进行中,done:已完成,fail:已失败,expired:已过期
"buyStateUpdateAt": 1747989962305,
"sellState": "done", // 订单状态,init:初始化,processing:进行中,done:已完成,fail:已失败,expired:已过期
"sellStateUpdateAt": 1747989983081,
"createAt": 1747989896498,
"updateAt": 1747989896498,
"buyHash": "5VrMXFXf4S4sMgDmhpe9Ct248Ue84qojt1TDg7tDHdGEZgfuQGEuXR3PvtSsqYJYAtUJAyaMhgP1Lqa4L9TveqsZ", // 交易哈希
"buyTxPriceUsd": 0.00008166821029947154, // 买入/卖出价格
"sellHash": "4uAudbuxpDsEtrWYWAFDaiAkcSZzEWKZbhqMNFfmWQgGoeLAzjtwd2CUJFQDpzrUUrbQKJornf6cUnrWqbDqRDMJ", // 交易哈希
"sellTxPriceUsd": 0.00006904040303561152, // 买入/卖出价格
"buyErrorCode": "", // 错误类型
"buyErrorMessage": "", // 错误信息
"sellErrorCode": "", // 错误类型
"sellErrorMessage": "", // 错误信息
}
]
}
}以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": "listSnipeOrders",
"params": {
"page": 0,
"size": 1,
"chain": "solana",
"state":"done"
}
})
)
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": "listSnipeOrders",
"params": {
"page": 0,
"size": 1,
"chain": "solana",
"state":"done"
}
}
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())响应结果可视化参考

