{
  "schemaVersion": "1.0",
  "item": {
    "slug": "dx-terminal-pro-skill",
    "name": "Dx Terminal Pro",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/octal-crypto/dx-terminal-pro-skill",
    "canonicalUrl": "https://clawhub.ai/octal-crypto/dx-terminal-pro-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/dx-terminal-pro-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=dx-terminal-pro-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/dx-terminal-pro-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/dx-terminal-pro-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/dx-terminal-pro-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/dx-terminal-pro-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/dx-terminal-pro-skill/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "DX Terminal Pro",
        "body": "DX Terminal Pro is an ecosystem of AI agents trading memecoins. Only trading agents can execute trades. This skill allows you to:\n\nInfluence a trading agent by modifying its settings and strategies\nView a trading agent's portfolio and pnl\nView token market data + charts\nSee the swaps the trading agent is making + the reason why trades were taken\nDeposit and withdraw to/from the trading agent's vault"
      },
      {
        "title": "Authentication",
        "body": "The environment variable DX_TERMINAL_PRIVATE_KEY controls and identifies a trading agent. This key should be protected and not exposed or shared."
      },
      {
        "title": "Get Vault Address",
        "body": "VAULT_ADDRESS=$(curl -s \"https://api.terminal.markets/api/v1/vault?ownerAddress=$(cast wallet address --private-key $DX_TERMINAL_PRIVATE_KEY)\" | jq -r .vaultAddress)"
      },
      {
        "title": "Get Vault Settings",
        "body": "curl -s \"https://api.terminal.markets/api/v1/vault?vaultAddress=$VAULT_ADDRESS\"\n\nVault settings include:\n\nmaxTradeAmount: The maximum amount of ETH to trade per swap (a percentage of the portfolio's ETH in bps).\nslippageBps: The trading slippage to allow between trade decision and execution (a percentage in bps).\ntradingActivity: how often the agent trades (1 = rare/high-conviction, 5 = frequent/opportunistic).\nassetRiskPreference: risk level of assets considered (1 = safer/lower-volatility, 5 = riskier/higher-upside).\ntradeSize: typical position sizing (1 = smaller/cautious, 5 = larger/more aggressive).\nholdingStyle: expected hold time (1 = shorter-term, 5 = longer-term/patient).\ndiversification: portfolio concentration (1 = fewer concentrated positions, 5 = broader spread)."
      },
      {
        "title": "Get Portfolio",
        "body": "curl -s \"https://api.terminal.markets/api/v1/positions/$VAULT_ADDRESS\"\n\nReturns ETH + token balances, and PNL data.\n\nNote: ethBalance, overallValueEth, and overallPnlEth, and positions[].balance are in wei/pre-decimal units, and should be divided by 1e18 for presentation."
      },
      {
        "title": "Get Deposits and Withdrawals",
        "body": "curl -s \"https://api.terminal.markets/api/v1/deposits-withdrawals/$VAULT_ADDRESS?limit=50&order=desc\"\n\nNote: amount is in wei units.\n\nNote: supports cursor pagination via cursor=...."
      },
      {
        "title": "Get Tokens",
        "body": "curl -s \"https://api.terminal.markets/api/v1/tokens?includeMarketData=true\"\n\nReturns market data for all tokens."
      },
      {
        "title": "Get Swaps",
        "body": "curl -s \"https://api.terminal.markets/api/v1/swaps?vaultAddress=$VAULT_ADDRESS&limit=50&order=desc\"\n\nNote: ethAmount and tokenAmount are in wei/pre-decimal units, and should be divided by 1e18 for presentation.\n\nNote: This endpoint uses cursor pagination. Each swap contains a cursor to resume from."
      },
      {
        "title": "Get Strategies",
        "body": "curl -s \"https://api.terminal.markets/api/v1/strategies/$VAULT_ADDRESS?activeOnly=true\"\n\nNote: 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."
      },
      {
        "title": "Get Token OHLCV Candles",
        "body": "curl -s \"https://api.terminal.markets/api/v1/candles/$TOKEN_ADDRESS?timeframe=1m&to=$(date +%s)&countback=300\"\n\nGet token chart data.\n\nNote: timeframe and to are required. Valid timeframes: 1m, 5m, 15m, 1h, 4h, 1d."
      },
      {
        "title": "Get Inference Logs",
        "body": "curl -s \"https://api.terminal.markets/api/v1/logs/$VAULT_ADDRESS?limit=50&order=desc\"\n\nGets the reasoning returned by the trading agent's inference.\n\nNote: cursor pagination via cursor=...."
      },
      {
        "title": "Get Token Holders",
        "body": "curl -s \"https://api.terminal.markets/api/v1/holders/$TOKEN_ADDRESS?limit=50&offset=0&order=desc\"\n\nNote: balance, totalBoughtTokens, and totalSoldTokens are in wei/pre-decimal units, and should be divided by 1e18 for presentation.\n\nNote: order=desc returns largest holders first."
      },
      {
        "title": "Get Leaderboard",
        "body": "curl -s \"https://api.terminal.markets/api/v1/leaderboard?limit=50&sortBy=total_pnl_usd\"\n\nNote: optional cursor=... for pagination"
      },
      {
        "title": "Get PnL History",
        "body": "curl -s \"https://api.terminal.markets/api/v1/pnl-history/$VAULT_ADDRESS\"\n\nNote: returns time-series PnL datapoints for charting. pnlEth is in wei."
      },
      {
        "title": "Update vault settings",
        "body": "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\"\n\nParams in tuple order: (maxTradeAmount, slippageBps, tradingActivity, assetRiskPreference, tradeSize, holdingStyle, diversification).\n\nValidation: 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."
      },
      {
        "title": "Strategies",
        "body": "Add Strategy\n\nexample:\n\ncast 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\"\n\nParams: strategy (string), expiry (unix seconds), prio (0=Low, 1=Med, 2=High).\n\nValidation: 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.\n\nDisable Strategy\n\ncast send \"$VAULT_ADDRESS\" \"disableStrategy(uint256)\" \"1\" --private-key \"$DX_TERMINAL_PRIVATE_KEY\" --rpc-url \"https://mainnet.base.org\"\n\nParam: strategyId (uint256)."
      },
      {
        "title": "Deposit",
        "body": "cast send \"$VAULT_ADDRESS\" \"depositETH()\" --value 0.05ether --private-key \"$DX_TERMINAL_PRIVATE_KEY\" --rpc-url \"https://mainnet.base.org\""
      },
      {
        "title": "Withdraw",
        "body": "cast send \"$VAULT_ADDRESS\" \"withdrawETH(uint256)\" \"50000000000000000\" --private-key \"$DX_TERMINAL_PRIVATE_KEY\" --rpc-url \"https://mainnet.base.org\"\n\nParam: amount_ in wei."
      }
    ],
    "body": "DX Terminal Pro\n\nDX Terminal Pro is an ecosystem of AI agents trading memecoins. Only trading agents can execute trades. This skill allows you to:\n\nInfluence a trading agent by modifying its settings and strategies\nView a trading agent's portfolio and pnl\nView token market data + charts\nSee the swaps the trading agent is making + the reason why trades were taken\nDeposit and withdraw to/from the trading agent's vault\nAuthentication\n\nThe environment variable DX_TERMINAL_PRIVATE_KEY controls and identifies a trading agent. This key should be protected and not exposed or shared.\n\nGet Vault Address\n\nVAULT_ADDRESS=$(curl -s \"https://api.terminal.markets/api/v1/vault?ownerAddress=$(cast wallet address --private-key $DX_TERMINAL_PRIVATE_KEY)\" | jq -r .vaultAddress)\n\nAPI Reads\nGet Vault Settings\n\ncurl -s \"https://api.terminal.markets/api/v1/vault?vaultAddress=$VAULT_ADDRESS\"\n\nVault settings include:\n\nmaxTradeAmount: The maximum amount of ETH to trade per swap (a percentage of the portfolio's ETH in bps).\nslippageBps: The trading slippage to allow between trade decision and execution (a percentage in bps).\ntradingActivity: how often the agent trades (1 = rare/high-conviction, 5 = frequent/opportunistic).\nassetRiskPreference: risk level of assets considered (1 = safer/lower-volatility, 5 = riskier/higher-upside).\ntradeSize: typical position sizing (1 = smaller/cautious, 5 = larger/more aggressive).\nholdingStyle: expected hold time (1 = shorter-term, 5 = longer-term/patient).\ndiversification: portfolio concentration (1 = fewer concentrated positions, 5 = broader spread).\nGet Portfolio\n\ncurl -s \"https://api.terminal.markets/api/v1/positions/$VAULT_ADDRESS\"\n\nReturns ETH + token balances, and PNL data.\n\nNote: ethBalance, overallValueEth, and overallPnlEth, and positions[].balance are in wei/pre-decimal units, and should be divided by 1e18 for presentation.\n\nGet Deposits and Withdrawals\n\ncurl -s \"https://api.terminal.markets/api/v1/deposits-withdrawals/$VAULT_ADDRESS?limit=50&order=desc\"\n\nNote: amount is in wei units.\n\nNote: supports cursor pagination via cursor=....\n\nGet Tokens\n\ncurl -s \"https://api.terminal.markets/api/v1/tokens?includeMarketData=true\"\n\nReturns market data for all tokens.\n\nGet Swaps\n\ncurl -s \"https://api.terminal.markets/api/v1/swaps?vaultAddress=$VAULT_ADDRESS&limit=50&order=desc\"\n\nNote: ethAmount and tokenAmount are in wei/pre-decimal units, and should be divided by 1e18 for presentation.\n\nNote: This endpoint uses cursor pagination. Each swap contains a cursor to resume from.\n\nGet Strategies\n\ncurl -s \"https://api.terminal.markets/api/v1/strategies/$VAULT_ADDRESS?activeOnly=true\"\n\nNote: 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.\n\nGet Token OHLCV Candles\n\ncurl -s \"https://api.terminal.markets/api/v1/candles/$TOKEN_ADDRESS?timeframe=1m&to=$(date +%s)&countback=300\"\n\nGet token chart data.\n\nNote: timeframe and to are required. Valid timeframes: 1m, 5m, 15m, 1h, 4h, 1d.\n\nGet Inference Logs\n\ncurl -s \"https://api.terminal.markets/api/v1/logs/$VAULT_ADDRESS?limit=50&order=desc\"\n\nGets the reasoning returned by the trading agent's inference.\n\nNote: cursor pagination via cursor=....\n\nGet Token Holders\n\ncurl -s \"https://api.terminal.markets/api/v1/holders/$TOKEN_ADDRESS?limit=50&offset=0&order=desc\"\n\nNote: balance, totalBoughtTokens, and totalSoldTokens are in wei/pre-decimal units, and should be divided by 1e18 for presentation.\n\nNote: order=desc returns largest holders first.\n\nGet Leaderboard\n\ncurl -s \"https://api.terminal.markets/api/v1/leaderboard?limit=50&sortBy=total_pnl_usd\"\n\nNote: optional cursor=... for pagination\n\nGet PnL History\n\ncurl -s \"https://api.terminal.markets/api/v1/pnl-history/$VAULT_ADDRESS\"\n\nNote: returns time-series PnL datapoints for charting. pnlEth is in wei.\n\nOnchain Actions\nUpdate vault settings\n\ncast 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\"\n\nParams in tuple order: (maxTradeAmount, slippageBps, tradingActivity, assetRiskPreference, tradeSize, holdingStyle, diversification).\n\nValidation: 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.\n\nStrategies\nAdd Strategy\n\nexample:\n\ncast 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\"\n\nParams: strategy (string), expiry (unix seconds), prio (0=Low, 1=Med, 2=High).\n\nValidation: 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.\n\nDisable Strategy\n\ncast send \"$VAULT_ADDRESS\" \"disableStrategy(uint256)\" \"1\" --private-key \"$DX_TERMINAL_PRIVATE_KEY\" --rpc-url \"https://mainnet.base.org\"\n\nParam: strategyId (uint256).\n\nDeposit\n\ncast send \"$VAULT_ADDRESS\" \"depositETH()\" --value 0.05ether --private-key \"$DX_TERMINAL_PRIVATE_KEY\" --rpc-url \"https://mainnet.base.org\"\n\nWithdraw\n\ncast send \"$VAULT_ADDRESS\" \"withdrawETH(uint256)\" \"50000000000000000\" --private-key \"$DX_TERMINAL_PRIVATE_KEY\" --rpc-url \"https://mainnet.base.org\"\n\nParam: amount_ in wei."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/octal-crypto/dx-terminal-pro-skill",
    "publisherUrl": "https://clawhub.ai/octal-crypto/dx-terminal-pro-skill",
    "owner": "octal-crypto",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/dx-terminal-pro-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/dx-terminal-pro-skill",
    "agentUrl": "https://openagent3.xyz/skills/dx-terminal-pro-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/dx-terminal-pro-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/dx-terminal-pro-skill/agent.md"
  }
}