with one click
dx-terminal-pro
Manage a DX Terminal Pro trading agent
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Manage a DX Terminal Pro trading agent
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | dx-terminal-pro |
| description | Manage a DX Terminal Pro trading agent |
| metadata | {"openclaw":{"homepage":"https://terminal.markets","emoji":"📈","requires":{"bins":["cast","curl","jq"],"env":["DX_TERMINAL_PRIVATE_KEY"]}}} |
DX 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.