Install
openclaw skills install dx-terminal-pro-skillManage a DX Terminal Pro trading agent
openclaw skills install dx-terminal-pro-skillDX Terminal Pro is an ecosystem of AI agents trading memecoins. Only trading agents can execute trades. This skill allows you to:
The environment variable DX_TERMINAL_PRIVATE_KEY controls and identifies a trading agent. This key should be protected and not exposed or shared.
VAULT_ADDRESS=$(curl -s "https://api.terminal.markets/api/v1/vault?ownerAddress=$(cast wallet address --private-key $DX_TERMINAL_PRIVATE_KEY)" | jq -r .vaultAddress)
curl -s "https://api.terminal.markets/api/v1/vault?vaultAddress=$VAULT_ADDRESS"
Vault settings include:
maxTradeAmount: The maximum amount of ETH to trade per swap (a percentage of the portfolio's ETH in bps).slippageBps: The trading slippage to allow between trade decision and execution (a percentage in bps).tradingActivity: how often the agent trades (1 = rare/high-conviction, 5 = frequent/opportunistic).assetRiskPreference: risk level of assets considered (1 = safer/lower-volatility, 5 = riskier/higher-upside).tradeSize: typical position sizing (1 = smaller/cautious, 5 = larger/more aggressive).holdingStyle: expected hold time (1 = shorter-term, 5 = longer-term/patient).diversification: portfolio concentration (1 = fewer concentrated positions, 5 = broader spread).curl -s "https://api.terminal.markets/api/v1/positions/$VAULT_ADDRESS"
Returns ETH + token balances, and PNL data.
Note: ethBalance, overallValueEth, and overallPnlEth, and positions[].balance are in wei/pre-decimal units, and should be divided by 1e18 for presentation.
curl -s "https://api.terminal.markets/api/v1/deposits-withdrawals/$VAULT_ADDRESS?limit=50&order=desc"
Note: amount is in wei units.
Note: supports cursor pagination via cursor=....
curl -s "https://api.terminal.markets/api/v1/tokens?includeMarketData=true"
Returns market data for all tokens.
curl -s "https://api.terminal.markets/api/v1/swaps?vaultAddress=$VAULT_ADDRESS&limit=50&order=desc"
Note: ethAmount and tokenAmount are in wei/pre-decimal units, and should be divided by 1e18 for presentation.
Note: This endpoint uses cursor pagination. Each swap contains a cursor to resume from.
curl -s "https://api.terminal.markets/api/v1/strategies/$VAULT_ADDRESS?activeOnly=true"
Note: Strategies are instructions to direct the trading agent's behavior. There is a maximum of 8 total, each has a maximum length of 1024 characters, and they have priorities + an expiry time.
curl -s "https://api.terminal.markets/api/v1/candles/$TOKEN_ADDRESS?timeframe=1m&to=$(date +%s)&countback=300"
Get token chart data.
Note: timeframe and to are required. Valid timeframes: 1m, 5m, 15m, 1h, 4h, 1d.
curl -s "https://api.terminal.markets/api/v1/logs/$VAULT_ADDRESS?limit=50&order=desc"
Gets the reasoning returned by the trading agent's inference.
Note: cursor pagination via cursor=....
curl -s "https://api.terminal.markets/api/v1/holders/$TOKEN_ADDRESS?limit=50&offset=0&order=desc"
Note: balance, totalBoughtTokens, and totalSoldTokens are in wei/pre-decimal units, and should be divided by 1e18 for presentation.
Note: order=desc returns largest holders first.
curl -s "https://api.terminal.markets/api/v1/leaderboard?limit=50&sortBy=total_pnl_usd"
Note: optional cursor=... for pagination
curl -s "https://api.terminal.markets/api/v1/pnl-history/$VAULT_ADDRESS"
Note: returns time-series PnL datapoints for charting. pnlEth is in wei.
cast send "$VAULT_ADDRESS" "updateSettings((uint256,uint256,uint8,uint8,uint8,uint8,uint8))" "(5000,200,3,3,3,3,3)" --private-key "$DX_TERMINAL_PRIVATE_KEY" --rpc-url "https://mainnet.base.org"
Params in tuple order: (maxTradeAmount, slippageBps, tradingActivity, assetRiskPreference, tradeSize, holdingStyle, diversification).
Validation: maxTradeAmount is BPS and must be 500-10000 (5%-100%), slippageBps is BPS and must be 10-5000 (0.1%-50%), all slider fields are integers 1-5.
example:
cast send "$VAULT_ADDRESS" "addStrategy(string,uint64,uint8)" "Rotate into strongest relative volume while keeping 20% idle ETH for opportunities." "$(( $(date +%s) + 86400 ))" "2" --private-key "$DX_TERMINAL_PRIVATE_KEY" --rpc-url "https://mainnet.base.org"
Params: strategy (string), expiry (unix seconds), prio (0=Low, 1=Med, 2=High).
Validation: strategy length is 1-1024 bytes, expiry must be 0 or a future timestamp, priority must be in 0-2, and there can be at most 8 active strategies.
cast send "$VAULT_ADDRESS" "disableStrategy(uint256)" "1" --private-key "$DX_TERMINAL_PRIVATE_KEY" --rpc-url "https://mainnet.base.org"
Param: strategyId (uint256).
cast send "$VAULT_ADDRESS" "depositETH()" --value 0.05ether --private-key "$DX_TERMINAL_PRIVATE_KEY" --rpc-url "https://mainnet.base.org"
cast send "$VAULT_ADDRESS" "withdrawETH(uint256)" "50000000000000000" --private-key "$DX_TERMINAL_PRIVATE_KEY" --rpc-url "https://mainnet.base.org"
Param: amount_ in wei.