Used to fast buy and sell with multiple wallets
| 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": "createSwapOrdersMultiWallet", // Method to create fast buy / sell task for multiple wallets
"params": {
"chain": "solana", // Blockchain (solana/ethereum/base/bsc/tron)
"pair": "BAS6Cv5qG2FnEQ8W1wXKGfU2r6MFAiSdgGgkUM7NsStE", // Address of the token or pair to be bought/sold
"walletIdList": [
"mglqkeq5009dol",
"mglnkaeh0009pd"
], // List of wallet ids to be used, which can be obtained via the "Wallet Info API", up to 5
"type": "buy", // Trade type, with values of buy and sell
"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
"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": true, // "true"means enable anti-MEV mode (Solana & Ethereum & Bsc)
"jitoTip": 0.001, // Bribery tip used by Anti-MEV (Solana), required when “jitoEnabled” or “customFeeAndTip” is true (null indicates automatic priority fee / bribery tip)
"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)
"minAmount": 100, // Minimum buy amount (ETH/SOL/BNB/TRX), when "type" is "buy", at least one of "minAmount" or "maxAmount" must be provided. The actual buy amount will fall between the minimum and maximum values. If both values are equal, it indicates a full buy of that specific amount
"maxAmount": 100, // Maximum buy amount (ETH/SOL/BNB/TRX), when "type" is "buy", at least one of "maxAmount" or "minAmount" must be provided. The actual buy amount will fall between the maximum and minimum values. If both values are equal, it indicates a full buy of that specific amount
"sellPercent": 0.5, // Sell ratio (0.00-1.00), all wallets will sell the token at this ratio
"stopEarnPercent": 0.5, // Take Profit ratio, 0.5 means sell when 50% up, “null” means take profit is disabled
"stopLossPercent": 0.5, // Stop Loss ratio (0.00-1.00), 0.5 means sell when 50% down, “null” means stop loss is disabled
"stopEarnGroup": [
{ "pricePercent": 0.2, "amountPercent": 0.5 }, // pricePercent:Price change percentage (0.5 means 50%). In take-profit groups, it indicates the percentage increase at which to sell
{ "pricePercent": 0.8, "amountPercent": 1 } // amountPercent: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
], // Take profit group, available when the type is "buy", up to 6 supported, “null” means take profit is disabled, if both "stopEarnGroup" and "stopEarnPercent" are set at the same time, "stopEarnPercent" will be ignored
"stopLossGroup": [
{ "pricePercent": 0.2, "amountPercent": 0.5 },
{ "pricePercent": 0.8, "amountPercent": 1 }
], // Stop loss group, available when the type of fast buy / sell is "buy", and in the sell setting of the copy trading, up to 6 supported, “null” means stop loss is disabled, if both "stopLossGroup" and "stopLossPercent" are set at the same time, "stopLossPercent" will be ignored
"trailingStopGroup": [
{ "pricePercent": 0.2, "amountPercent": 1 }
], // Trailing stop group, available when the type of fast buy / sell is "buy",or the copy sell mode is "mixed" or "only_pnl", currently only supports setting 1 group, “null” means trailing stop is disabled
"pnlOrderExpireDelta": 43200000, // The expiry time for take profit/stop loss tasks, max 432000000 (ms)
"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
"pnlOrderUseMidPrice": false, // "true"enables Anti-Spike mode using the 1-second mid-price as trigger price (not 100% guaranteed)
"pnlCustomConfigEnabled": true, // "true"means that the customized parameters will be used to create take profit and stop loss tasks, otherwise the buy parameters will be used
"pnlCustomConfig": {
"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
"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": true, // "true"means enable anti-MEV mode (Solana & Ethereum & Bsc)
"jitoTip": 0.001, // Bribery tip used by Anti-MEV (Solana), required when “jitoEnabled” or “customFeeAndTip” is true (null indicates automatic priority fee / bribery tip)
"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
"res": [
"mh36i0nm0009mv", // fast buy/sell task id
"mh36i0nn0009co" // fast buy/sell task id
]
}
}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": "createSwapOrdersMultiWallet",
"params": {
"chain": "solana",
"pair": "BAS6Cv5qG2FnEQ8W1wXKGfU2r6MFAiSdgGgkUM7NsStE",
"walletIdList": [
"mglqkeq5009dol",
"mglnkaeh0009pd"
],
"type": "buy",
"customFeeAndTip": false,
"priorityFee": "",
"gasFeeDelta": 5,
"maxFeePerGas": 100,
"jitoEnabled": true,
"jitoTip": 0.001,
"maxSlippage": 0.1,
"concurrentNodes": 2,
"retries": 1,
"minAmount": 100,
"maxAmount": 100,
"sellPercent": 0.5,
"stopEarnPercent": 0.5,
"stopLossPercent": 0.5,
"stopEarnGroup": [
{ "pricePercent": 0.2, "amountPercent": 0.5 },
{ "pricePercent": 0.8, "amountPercent": 1 }
],
"stopLossGroup": [
{ "pricePercent": 0.2, "amountPercent": 0.5 },
{ "pricePercent": 0.8, "amountPercent": 1 }
],
"trailingStopGroup": [
{ "pricePercent": 0.2, "amountPercent": 1 }
],
"pnlOrderExpireDelta": 43200000,
"pnlOrderExpireExecute": false,
"pnlOrderUseMidPrice": false,
"pnlCustomConfigEnabled": true,
"pnlCustomConfig": {
"customFeeAndTip": false,
"priorityFee": "",
"gasFeeDelta": 5,
"maxFeePerGas": 100,
"jitoEnabled": true,
"jitoTip": 0.001,
"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": "createSwapOrdersMultiWallet",
"chain": "solana",
"pair": "BAS6Cv5qG2FnEQ8W1wXKGfU2r6MFAiSdgGgkUM7NsStE",
"walletIdList": [
"mglqkeq5009dol",
"mglnkaeh0009pd"
],
"type": "buy",
"customFeeAndTip": false,
"priorityFee": "",
"gasFeeDelta": 5,
"maxFeePerGas": 100,
"jitoEnabled": true,
"jitoTip": 0.001,
"maxSlippage": 0.1,
"concurrentNodes": 2,
"retries": 1,
"minAmount": 100,
"maxAmount": 100,
"sellPercent": 0.5,
"stopEarnPercent": 0.5,
"stopLossPercent": 0.5,
"stopEarnGroup": [
{ "pricePercent": 0.2, "amountPercent": 0.5 },
{ "pricePercent": 0.8, "amountPercent": 1 }
],
"stopLossGroup": [
{ "pricePercent": 0.2, "amountPercent": 0.5 },
{ "pricePercent": 0.8, "amountPercent": 1 }
],
"trailingStopGroup": [
{ "pricePercent": 0.2, "amountPercent": 1 }
],
"pnlOrderExpireDelta": 43200000,
"pnlOrderExpireExecute": false,
"pnlOrderUseMidPrice": false,
"pnlCustomConfigEnabled": true,
"pnlCustomConfig": {
"customFeeAndTip": false,
"priorityFee": "",
"gasFeeDelta": 5,
"maxFeePerGas": 100,
"jitoEnabled": true,
"jitoTip": 0.001,
"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

