{"id":"f5792d01-1757-437b-81d5-a34091013aec","entityType":"agent","slug":"clawhub-liquiditytech-ltp-rapidx-config","name":"LTP RapidX Config","canonicalUrl":"https://www.xpersona.co/agent/clawhub-liquiditytech-ltp-rapidx-config","canonicalPath":"/agent/clawhub-liquiditytech-ltp-rapidx-config","generatedAt":"2026-10-11T03:56:19.742Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:19:19.079Z","emptyReason":null},"description":"Use when an agent needs to install or configure RapidX CLI/MCP access, set production LTP credentials, locate the agent workspace MCP config, review integration, discover tools, or run read-only self-checks.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s173s0dt05mxhb6rxrs383nhg587xdfv:ltp-rapidx-config","sourceUrl":"https://clawhub.ai/liquiditytech/ltp-rapidx-config","homepage":"https://clawhub.ai/liquiditytech/skills/ltp-rapidx-config","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/liquiditytech/ltp-rapidx-config","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/liquiditytech/skills/ltp-rapidx-config","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"LTP RapidX Config technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:19:19.079Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:19:19.079Z","emptyReason":null},"stars":null,"forks":null,"downloads":1207,"packageName":null,"latestVersion":"1.0.17","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:19:19.010Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T01:19:19.079Z","lastCrawledAt":"2026-10-11T01:19:19.010Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T01:19:19.010Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.17","createdAt":"2026-09-07T08:14:23.798Z","changelog":"Document OKX klines support and sync RapidX CLI/MCP capability references.","fileCount":5,"zipByteSize":17518},{"version":"1.0.16","createdAt":"2026-06-30T11:37:10.472Z","changelog":"Update RapidX MCP env materialization fallback guidance","fileCount":5,"zipByteSize":17196},{"version":"1.0.15","createdAt":"2026-06-29T07:38:54.888Z","changelog":"Update RapidX endpoint mapping and release metadata","fileCount":5,"zipByteSize":16157},{"version":"1.0.14","createdAt":"2026-06-22T14:38:30.770Z","changelog":"Update MCP setup guidance for agent hosts","fileCount":5,"zipByteSize":16050},{"version":"1.0.13","createdAt":"2026-06-22T05:56:05.488Z","changelog":"Bump RapidX skills release version to 1.0.13","fileCount":5,"zipByteSize":15835},{"version":"1.0.12","createdAt":"2026-06-22T02:16:58.133Z","changelog":"Update RapidX official docs references and best practices","fileCount":5,"zipByteSize":15896},{"version":"1.0.11","createdAt":"2026-06-21T16:58:39.948Z","changelog":"Update RapidX config skill version and compatibility guidance","fileCount":3,"zipByteSize":6901},{"version":"1.0.10","createdAt":"2026-06-21T15:57:20.899Z","changelog":"Update RapidX automation configuration guidance","fileCount":3,"zipByteSize":6918}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s173s0dt05mxhb6rxrs383nhg587xdfv:ltp-rapidx-config","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s173s0dt05mxhb6rxrs383nhg587xdfv:ltp-rapidx-config` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/liquiditytech/ltp-rapidx-config before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-liquiditytech-ltp-rapidx-config/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-liquiditytech-ltp-rapidx-config/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-liquiditytech-ltp-rapidx-config/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-liquiditytech-ltp-rapidx-config/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-liquiditytech-ltp-rapidx-config/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-liquiditytech-ltp-rapidx-config/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T03:56:19.739Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-liquiditytech-ltp-rapidx-config/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-liquiditytech-ltp-rapidx-config/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-liquiditytech-ltp-rapidx-config/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-liquiditytech-ltp-rapidx-config/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:19:19.079Z","emptyReason":null},"readme":"Skill: LTP RapidX Config\n\nOwner: liquiditytech\n\nSummary: Use when an agent needs to install or configure RapidX CLI/MCP access, set production LTP credentials, locate the agent workspace MCP config, review integration, discover tools, or run read-only self-checks.\n\nTags: latest:1.0.17\n\nVersion history:\n\nv1.0.17 | 2026-09-07T08:14:23.798Z | user\n\nDocument OKX klines support and sync RapidX CLI/MCP capability references.\n\nv1.0.16 | 2026-06-30T11:37:10.472Z | user\n\nUpdate RapidX MCP env materialization fallback guidance\n\nv1.0.15 | 2026-06-29T07:38:54.888Z | user\n\nUpdate RapidX endpoint mapping and release metadata\n\nv1.0.14 | 2026-06-22T14:38:30.770Z | user\n\nUpdate MCP setup guidance for agent hosts\n\nv1.0.13 | 2026-06-22T05:56:05.488Z | user\n\nBump RapidX skills release version to 1.0.13\n\nv1.0.12 | 2026-06-22T02:16:58.133Z | user\n\nUpdate RapidX official docs references and best practices\n\nv1.0.11 | 2026-06-21T16:58:39.948Z | user\n\nUpdate RapidX config skill version and compatibility guidance\n\nv1.0.10 | 2026-06-21T15:57:20.899Z | user\n\nUpdate RapidX automation configuration guidance\n\nv1.0.9 | 2026-06-21T08:15:08.232Z | user\n\nUpdate RapidX config skill release guidance\n\nv1.0.8 | 2026-06-18T14:43:08.728Z | user\n\nAdd installed skills version-aware update guidance\n\nv1.0.7 | 2026-06-18T14:23:14.981Z | user\n\nAdd skill version metadata and upgrade guidance\n\nv1.0.6 | 2026-06-18T13:42:32.433Z | user\n\nUpdate RapidX config skill guidance for CLI 1.0.32\n\nv1.0.5 | 2026-06-08T07:29:16.320Z | user\n\nAdd Binance native symbol normalization guidance\n\nv1.0.4 | 2026-06-03T14:41:42.357Z | user\n\nUpdate RapidX config skill guidance\n\nv1.0.3 | 2026-06-03T11:49:11.213Z | user\n\nUpdate RapidX config skill guidance\n\nv1.0.2 | 2026-06-03T06:59:02.886Z | user\n\nUpdate RapidX config skill guidance\n\nv1.0.1 | 2026-06-02T11:25:20.955Z | user\n\nInitial RapidX config skill release\n\nArchive index:\n\nArchive v1.0.17: 5 files, 17518 bytes\n\nFiles: references/best-practices.md (18650b), references/capability-overview.md (6747b), skill-card.md (2665b), SKILL.md (17962b), _meta.json (137b)\n\nFile v1.0.17:SKILL.md\n\n---\nname: ltp-rapidx-config\nversion: 1.0.17\ndescription: Use when an agent needs to install or configure RapidX CLI/MCP access, set production LTP credentials, locate the agent workspace MCP config, review integration, discover tools, or run read-only self-checks.\n---\n\n# RapidX Config\n\nUse this skill for setup and integration review only. Use `ltp-rapidx-trading` for portfolio, market, order, position, algo, and live trading workflows.\n\n## Scope\n\n- Configure the published RapidX CLI package as the single runtime entrypoint.\n- Configure MCP by launching `rapidx mcp serve` from the agent's own workspace MCP config.\n- Classify whether this agent host is `MCP_READY`, `CLI_ONLY_READY`, or `NOT_VERIFIED`.\n- Verify real tool availability with read-only calls.\n- Produce an integration review with masked credentials and actual evidence.\n\nDo not describe how to install this skill inside the skill itself. Assume the skill has already been installed by the agent host.\n\n## References\n\n- Read `references/capability-overview.md` when checking expected CLI commands, MCP tools, capability names, or endpoint coverage.\n- Read `references/best-practices.md` when doing a full RapidX Skills / CLI / MCP setup review or explaining the recommended external user flow.\n\n## Workspace First\n\nBefore changing MCP config, identify the agent host workspace that will run RapidX:\n\n1. State the active agent workspace path from session/runtime context.\n2. Identify the workspace-local MCP config file read by this same agent host.\n3. If the MCP config path is ambiguous, inspect the confirmed workspace for existing MCP settings.\n4. If still ambiguous, ask the user which MCP config file this agent should edit.\n5. Add or update `mcpServers.rapidx` only after the workspace and config path are known.\n\nNever assume the source repository root, filesystem root, or a global home config is the right target.\n\n## Credential Intake\n\nAsk whether the user wants to provide credentials as a user-provided chat secret. This is the default path for non-programmers, but state the risk first: even protected chat-secret flows are controlled by the agent host and may be subject to that host's retention, access, or collaboration settings.\n\nIf the agent host has a dedicated chat-secret UI, ask the user to create three secrets with the exact names `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`. If the host has no chat-secret UI, ask whether the user wants the agent to write masked-reference placeholders into MCP config or whether they prefer to set local environment variables manually.\n\nOffer alternatives when the user wants stronger isolation:\n\n- Local shell environment variables.\n- Enterprise or OS secret manager referenced by the MCP host.\n\nRules:\n\n- Required variables are `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`.\n- `LTP_API_HOST` has no default. Use the API host provided for the current environment.\n- Do not use `LTP_BASE_URL`, `RAPIDX_BASE_URL`, or `RAPIDX_PORTFOLIO_*`.\n- Do not ask for or echo complete keys in normal chat text when a chat-secret mechanism is available.\n- Never print full keys in logs, config review, test output, or evidence. Use masked values only.\n\n## CLI Install\n\nRapidX is published as an official npm package. Install the CLI:\n\n```bash\nnpm install -g @liquiditytech/rapidx-cli\n```\n\nIf global install is not allowed, install in the confirmed agent workspace and use the workspace-local executable path in MCP config:\n\n```bash\nnpm install @liquiditytech/rapidx-cli\n./node_modules/.bin/rapidx --version\n```\n\nVerify the installed CLI:\n\n```bash\nrapidx --version\nrapidx schema --json\nrapidx update check --json\nrapidx self-check --json\n```\n\n`rapidx schema --json` and MCP `rapidx/tools` must return both `capabilities`/tool entries and concrete `inputSchemas`.\n\nFor CLI-only agents, use direct `rapidx ... --json` commands. Do not create temporary bridge scripts, directory-changing shell chains, or shell command chaining for MCP access.\n\n## Upgrade Existing Installation\n\nUse the CLI as the single version-check entrypoint. If `rapidx` is already available, run:\n\n```bash\nrapidx update check --json\n```\n\nRead these fields:\n\n- CLI: `currentVersion`, `latestVersion`, `status`, `updateAvailable`, `writeAllowed`, `upgrade.global`, `upgrade.workspace`.\n- Skills: `skillsVersion`, `currentSkillsVersion`, `skillsUpdateRecommended`, `upgrade.skills`.\n\n`currentSkillsVersion` is the CLI-bundled expected skills version, not proof of the agent's installed local skills. Inspect the installed or loaded `ltp-rapidx-config` and `ltp-rapidx-trading` frontmatter. Each current skill must declare `version`. When the local version is known, pass it into the check:\n\n```bash\nrapidx update check --input '{\"installedSkillsVersion\":\"<local-skill-version>\"}' --json\n```\n\nFor upgrade review, force a remote manifest refresh:\n\n```bash\nrapidx update check --input '{\"installedSkillsVersion\":\"<local-skill-version>\",\"force\":true}' --json\n```\n\nCompare the local `version` with `latestSkillsVersion` or legacy `skillsVersion` from `rapidx update check --json`. If the local version is missing, lower than the latest skills version, or cannot be read, update or reinstall both RapidX skills using the agent host's normal skill installer, then restart or reload the agent so the new skill content is loaded.\n\nUpgrade order:\n\n1. Update or reinstall both RapidX skills if their local `version` is stale, missing, or unknown.\n2. Restart or reload the agent so the new skills are active.\n3. Upgrade CLI when `updateAvailable=true`, `status=UPGRADE_REQUIRED`, or `status=WRITE_BLOCKED`.\n4. Restart or reload the MCP host when MCP is configured.\n5. Run `rapidx --version`, `rapidx update check --json`, and `rapidx self-check --json`.\n6. If MCP is supported, verify `rapidx/tools`, `rapidx/update/check`, and `rapidx/self-check`.\n\nOfficial npm CLI upgrade:\n\n```bash\nnpm install -g @liquiditytech/rapidx-cli@latest\n```\n\nWorkspace-local CLI upgrade:\n\n```bash\nnpm install @liquiditytech/rapidx-cli@latest\n./node_modules/.bin/rapidx --version\n```\n\n## Runtime Path Selection\n\nClassify the agent after CLI install and, when available, MCP configuration. Do not classify from agent product name or config file existence alone.\n\nBefore install, only choose a candidate path:\n\n- If the host exposes workspace MCP config plus native tool discovery/call surfaces, attempt the MCP path.\n- If the host only exposes shell, exec, or terminal commands, use the CLI-only path.\n- If uncertain, install CLI first, run CLI self-check, and keep MCP as `NOT_VERIFIED` until MCP tools are actually callable.\n\nAfter install/config, set one status:\n\n- `CLI_READY`: `rapidx --version` and `rapidx schema --json` pass.\n- `MCP_READY`: `CLI_READY`, `initialize` returns `serverInfo.name=rapidx`, `tools/list` shows 46 `rapidx/...` tools, and `rapidx/tools`, `rapidx/update/check`, plus `rapidx/self-check` can be called as MCP tools.\n- `CLI_ONLY_READY`: `CLI_READY`, but the host cannot configure, discover, or call MCP tools.\n- `NOT_VERIFIED`: no real invocation evidence, or only a config file was edited.\n\nWriting `mcpServers.rapidx` is only an attempted MCP setup. It is not proof of MCP readiness. If MCP is not `MCP_READY`, mark MCP as `NOT_VERIFIED` and use direct `rapidx ... --json` commands.\n\n## MCP Config\n\nMCP is started by the CLI. Add this server to the agent workspace MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"rapidx\": {\n      \"command\": \"rapidx\",\n      \"args\": [\"mcp\", \"serve\"],\n      \"env\": {\n        \"LTP_ACCESS_KEY\": \"<user-provided-secret-or-env-reference>\",\n        \"LTP_SECRET_KEY\": \"<user-provided-secret-or-env-reference>\",\n        \"LTP_API_HOST\": \"<user-provided-secret-or-env-reference>\"\n      }\n    }\n  }\n}\n```\n\nThe MCP server command should be `rapidx` with args `[\"mcp\", \"serve\"]` when `rapidx` is on the MCP host PATH. If PATH is not guaranteed, use the absolute path to the installed `rapidx` executable as `command` and keep args as `[\"mcp\", \"serve\"]`. Do not point MCP tools at one-off CLI commands and do not add shell script wrappers.\n\nHost-specific setup examples:\n\n```text\nCodex:\n  codex mcp add rapidx -- rapidx mcp serve\n\nClaude Code:\n  claude mcp add --transport stdio rapidx -- rapidx mcp serve\n\nCursor:\n  Add to mcp.json:\n  {\"mcpServers\":{\"rapidx\":{\"command\":\"rapidx\",\"args\":[\"mcp\",\"serve\"],\"env\":{\"LTP_ACCESS_KEY\":\"<secret>\",\"LTP_SECRET_KEY\":\"<secret>\",\"LTP_API_HOST\":\"<secret>\"}}}}\n\nGemini CLI:\n  gemini mcp add rapidx rapidx -- mcp serve\n\nOpenCode:\n  Add to opencode.jsonc:\n  {\"mcp\":{\"rapidx\":{\"type\":\"local\",\"command\":[\"rapidx\",\"mcp\",\"serve\"],\"enabled\":true}}}\n\nOpenClaw:\n  openclaw mcp add rapidx --command rapidx --arg mcp --arg serve\n  openclaw mcp doctor rapidx --probe\n\nHermes:\n  hermes mcp add rapidx --command rapidx --args mcp serve\n```\n\nFor OpenClaw, use repeated `--arg` entries. Do not use `--args`.\n\nFor Hermes, use a single `--args` and put `mcp serve` after it. Do not repeat `--args`, because Hermes treats the first `--args` as the start of the child command arguments.\n\nIf a host CLI tries to run an interactive `mcp add` flow and blocks on prompts like enabling all tools, do not keep retrying it in a non-interactive terminal. Edit the confirmed workspace MCP config in the host's native format, then restart or reload the agent host and verify through real MCP tool discovery. JSON configs usually use `mcpServers.rapidx`; YAML configs usually use `mcp_servers.rapidx`.\n\n### MCP Env Materialization Fallback\n\nFirst use the host's official MCP configuration path, such as `hermes mcp add`, `codex mcp add`, `claude mcp add`, `openclaw mcp add`, or the host's documented `mcp.json` / YAML config.\n\nIf MCP loads and `rapidx/tools` is visible, but `rapidx/self-check` reports credential/auth failures such as `Invalid URL`, `credential-auth: FAIL`, or missing RapidX credentials, inspect only the `rapidx` MCP server env block. Treat these literal placeholder values as not materialized:\n\n```text\n${LTP_ACCESS_KEY}\n$LTP_ACCESS_KEY\n${LTP_SECRET_KEY}\n$LTP_SECRET_KEY\n${LTP_API_HOST}\n$LTP_API_HOST\n<secret>\n<secret-ref>\n<provided-api-host>\n\"\"\n```\n\nRepair rules:\n\n1. Read real values from an agent-readable secret source: user-provided chat secrets, `.env`, OS environment variables, agent secret store, or a workspace secret file authorized by the user.\n2. Update the MCP config with a structured parser: use `yaml.safe_load` / `safe_dump` for YAML and `json.load` / `json.dump` for JSON.\n3. Replace only the `rapidx` server block under `mcp_servers.rapidx`, `mcpServers.rapidx`, or the host's equivalent MCP server map.\n4. Do not delete config with broad regex such as `mcp_servers:.*`.\n5. Do not append a second `rapidx` block when one already exists.\n6. Never print full credential values in chat, logs, review summaries, or evidence.\n\nFor Hermes, if `hermes mcp add` creates a config with unresolved `${VAR}` values, edit the active profile config, usually:\n\n```text\n~/.hermes/profiles/<profile>/config.yaml\n```\n\nThe resulting `rapidx` block should use materialized values or a secret mechanism that Hermes actually expands at runtime. Do not copy the example placeholders literally:\n\n```yaml\nmcp_servers:\n  rapidx:\n    command: rapidx\n    args:\n      - mcp\n      - serve\n    env:\n      LTP_ACCESS_KEY: \"actual-access-key-or-host-supported-secret-reference\"\n      LTP_SECRET_KEY: \"actual-secret-key-or-host-supported-secret-reference\"\n      LTP_API_HOST: \"actual-api-host\"\n```\n\nAfter repair, reload the MCP host. For Hermes, run `/reload-mcp` when available. If the host cannot hot reload MCP, restart the agent session or gateway.\n\nVerification after reload:\n\n```text\nrapidx/tools\nrapidx/update/check\nrapidx/self-check\n```\n\n`rapidx/self-check` must report credential-auth as `PASS` before classifying the host as `MCP_READY`.\n\n## Expected MCP Tools\n\nHealthy MCP discovery exposes 46 tools:\n\n```text\nDiscovery: rapidx/tools, rapidx/self-check, rapidx/update/check\nMarket:    rapidx/market/get-ticker, rapidx/market/get-orderbook, rapidx/market/get-klines,\n           rapidx/market/get-funding-rate, rapidx/market/get-mark-price,\n           rapidx/market/get-symbol-info, rapidx/market/get-open-interest\nPortfolio: rapidx/portfolio/overview, rapidx/portfolio/assets,\n           rapidx/portfolio/statement, rapidx/portfolio/user-fee-rate,\n           rapidx/portfolio/position-bracket, rapidx/portfolio/set-position-mode\nTrade:     rapidx/trade/preview, rapidx/trade/verify-live\nAutomation:\n           rapidx/automation/start, rapidx/automation/list,\n           rapidx/automation/status, rapidx/automation/extend,\n           rapidx/automation/stop\nOrder:     rapidx/order/place-preview, rapidx/order/replace-preview,\n           rapidx/order/cancel-preview,\n           rapidx/order/place, rapidx/order/replace, rapidx/order/cancel,\n           rapidx/order/cancel-all, rapidx/order/query,\n           rapidx/order/open-orders, rapidx/order/history\nTransactions:\n           rapidx/transaction/executions\nPosition:  rapidx/position/query, rapidx/position/history,\n           rapidx/position/get-leverage, rapidx/position/close,\n           rapidx/position/close-all, rapidx/position/set-leverage\nAlgo:      rapidx/algo/place, rapidx/algo/replace, rapidx/algo/cancel,\n           rapidx/algo/open-orders, rapidx/algo/history, rapidx/algo/query\n```\n\n`open-orders` means current non-terminal orders, not \"open an order\". These orders may still be fillable, replaceable, or cancelable. `algo/open-orders` means current non-terminal algo orders such as conditional or TPSL orders that have not triggered, been canceled, or otherwise ended.\n\nLegacy snake_case names such as `get_ticker`, `place_order`, or `list_positions` indicate a stale integration and should not be used.\n\n## Read-Only Self-Check\n\nThe self-check proves the configured runtime is real. Do not simulate results, invent balances, or claim success from documentation alone.\n\nRun the quick check:\n\n1. Confirm `CLI_READY` with `rapidx --version` and `rapidx schema --json`, including readable `inputSchemas`.\n2. Run `rapidx update check --json` during setup or review. This may read the GitHub release manifest and cache the result locally.\n3. If attempting MCP, discover tools through the MCP host and confirm the 46-tool inventory.\n4. Call `rapidx/update/check` when the host supports MCP tool invocation.\n5. Call `rapidx/self-check` when the host supports MCP tool invocation.\n6. Call one public market route, preferably `rapidx/market/get-ticker` for `BINANCE_PERP_BTC_USDT`. If the user provides a Binance native symbol, normalize it before calling RapidX: `BTCUSDT` becomes `BINANCE_PERP_BTC_USDT`, and a Chinese base asset such as `币安人生USDT` becomes `BINANCE_PERP_币安人生_USDT`.\n7. Call read routes for portfolio overview, portfolio assets, open orders, positions, and algo orders.\n\nIf the host cannot invoke MCP tools yet, run equivalent CLI read-only checks and mark MCP tool invocation as `NOT_VERIFIED`; do not convert CLI success into MCP success.\n\nRun the deeper review when asked for integration review or self-validation:\n\n```text\n1. rapidx/tools\n2. rapidx/update/check\n3. rapidx/self-check\n4. rapidx/market/get-ticker\n5. rapidx/market/get-orderbook\n6. rapidx/market/get-klines\n7. rapidx/market/get-funding-rate\n8. rapidx/market/get-mark-price\n9. rapidx/market/get-symbol-info\n10. rapidx/market/get-open-interest\n11. rapidx/portfolio/overview\n12. rapidx/portfolio/assets\n13. rapidx/order/open-orders\n14. rapidx/order/history\n15. rapidx/order/query with a deliberately nonexistent self-check order id\n16. rapidx/position/query\n17. rapidx/position/history\n18. rapidx/algo/open-orders\n19. rapidx/algo/history\n20. rapidx/algo/query with a deliberately nonexistent self-check algo order id\n```\n\nDo not call removed `mode=\"account\"` portfolio asset checks during setup. `rapidx/portfolio/assets` is the supported balance/assets read for portfolio credentials.\n\n## Result Classes\n\n- `PASS`: actual tool or command returned a successful real response.\n- `EXPECTED_ERROR`: route is live and returned a real business, permission, unsupported-mode, or deliberate not-found error.\n- `INVALID_INPUT`: schema or local input validation rejected the request before submission.\n- `NOT_FOUND`: a syntactically valid requested resource does not exist, such as a valid-format order id that RapidX cannot find.\n- `PERMISSION_SCOPE_ERROR`: credentials are valid but do not cover the requested route or portfolio scope.\n- `BUSINESS_ERROR`: RapidX or the venue returned a business-rule rejection.\n- `FAIL`: tool is missing, startup/auth/network failed, response is malformed, or a required call timed out.\n- `NOT_VERIFIED`: the agent could not invoke the tool or the user declined credentials.\n\nIf update check returns `WRITE_BLOCKED`, `UPGRADE_REQUIRED`, or `skillsUpdateRecommended=true`, report it in the review. Do not run trading writes until a `WRITE_BLOCKED` or `UPGRADE_REQUIRED` CLI is upgraded and the MCP host is restarted.\n\nEvery row must include `toolOrCommandEvidence` or equivalent observed code/message evidence. Empty order, position, or history lists are `PASS` if the response is real and well formed.\n\n## Integration Review Output\n\nReturn this structure when asked to review setup:\n\n```markdown\n# RapidX Integration Review\n\n## Verdict\n- status: PASS / PARTIAL / FAIL / NOT_VERIFIED\n- runtime path: MCP_READY / CLI_ONLY_READY / NOT_VERIFIED\n- main issues:\n\n## Workspace And Config\n- agent workspace:\n- MCP config path:\n- MCP command: rapidx mcp serve\n- CLI package:\n- host:\n- credentials: configured and masked / missing / not verified\n\n## Tool Discovery\n- expected MCP tools: 46\n- actual MCP tools:\n- missing tools:\n- legacy tools found:\n\n## Version And Upgrade\n- current CLI:\n- latest CLI:\n- minimum write version:\n- update status:\n- skills update recommended:\n\n## Read-Only Checks\n| check | result | evidence |\n| --- | --- | --- |\n\n## Required Fixes\n- ...\n```\n\nSwitch to `ltp-rapidx-trading` for any write verification or live trading test.\n\nFile v1.0.17:_meta.json\n\n{\n  \"ownerId\": \"kn73kps0f7zwmrka0kz101ymad87wexe\",\n  \"slug\": \"ltp-rapidx-config\",\n  \"version\": \"1.0.17\",\n  \"publishedAt\": 1788768863798\n}\n\nFile v1.0.17:references/best-practices.md\n\n# RapidX Skills / CLI / MCP Best Practices\n\n## Overview\n\nRapidX is delivered as a complete Agent integration stack:\n\n- **Skills** teach the Agent how to install, configure, choose CLI or MCP, run self-checks, and operate RapidX.\n- **CLI** is the unified local runtime for atomic operations and also starts the MCP server through `rapidx mcp serve`.\n- **MCP** is the structured tool surface for MCP-capable Agents and shares the same CLI/Core capabilities.\n\nThe best practice is not to make users memorize every command. Let the Agent install and read the skills first. Load the installed `ltp-rapidx-config` skill to configure CLI/MCP and run self-checks, then load `ltp-rapidx-trading` for queries, preview, submit, automation, and readback. Skill names are not shell commands.\n\nRecommended flow:\n\n```text\nInstall Skills\n→ ltp-rapidx-config installs/configures CLI\n→ configure credentials and API host\n→ choose MCP_READY or CLI_ONLY_READY\n→ run self-check\n→ ltp-rapidx-trading uses MCP or CLI\n→ preview before write\n→ submit\n→ readback and reconcile\n```\n\n## 1. Role Of Each Layer\n\n| Layer | Role | Best Practice |\n|---|---|---|\n| Skills | Agent guidance | Install and read `ltp-rapidx-config` first, then use `ltp-rapidx-trading`. |\n| CLI | Unified local runtime | Install from official npm and use `rapidx ... --json` for CLI-only Agents. |\n| MCP | Structured tool interface | Start with `rapidx mcp serve`; MCP-capable Agents call `rapidx/*` tools directly. |\n| Core | Shared implementation | CLI and MCP share schemas, API client, preview, automation, audit, and self-check. |\n\nThe MCP server is not a separate package. It is started by the CLI:\n\n```bash\nrapidx mcp serve\n```\n\nMCP tools should call the shared RapidX core directly. They should not shell out through temporary scripts, wrapper files, or `cd ... && node ...` command chains.\n\n## 2. Recommended External User Flow\n\n### Step 1: Install Skills\n\nUsers can install skills themselves, or send an executable instruction to their Agent.\n\nRecommended instruction to send to the Agent:\n\n```text\nYou are my Agent. Install the RapidX skills into the current workspace using the skill installation method supported by your Agent host.\n\nSource repository:\nhttps://github.com/LiquidityTech/ltp-rapidx-skill\n\nInstall both skills:\n- ltp-rapidx-config\n- ltp-rapidx-trading\n\nAfter installation, load and follow the installed `ltp-rapidx-config` skill first. It is not a shell command. Use it to install or upgrade @liquiditytech/rapidx-cli from official npm, configure RapidX credentials, configure MCP if this host supports MCP, and run RapidX self-check.\n\nDo not start market queries or trading until you can report one of:\n- MCP_READY\n- CLI_ONLY_READY\n- NOT_VERIFIED\n```\n\nThe exact installation command depends on the Agent host. Use the official RapidX docs or skill repository README for Codex, Claude Code, Cursor, Gemini CLI, OpenCode, OpenClaw, and Hermes.\n\n### Step 2: Use Config Skill\n\nThe Agent should load and follow `ltp-rapidx-config` before any market query or trade. This is a skill-guided workflow, not a shell command named `ltp-rapidx-config`.\n\nConfig skill responsibilities:\n\n1. Confirm the Agent workspace.\n2. Install or upgrade `@liquiditytech/rapidx-cli` from official npm.\n3. Configure credentials.\n4. Configure MCP when the host supports MCP.\n5. Run tool discovery.\n6. Run read-only self-check.\n7. Report `MCP_READY`, `CLI_ONLY_READY`, or `NOT_VERIFIED`.\n\n### Step 3: Use Trading Skill\n\nAfter config is verified, the Agent should use `ltp-rapidx-trading`.\n\nTrading skill responsibilities:\n\n1. Choose MCP or CLI based on the config result.\n2. Read runtime schemas before constructing write inputs.\n3. Normalize symbols.\n4. Query current state before trading.\n5. Preview before every write.\n6. Use automation sessions only after explicit user authorization.\n7. Read back final order, position, transaction, or algo state.\n\n## 3. Credentials And API Host\n\nRequired values:\n\n```text\nLTP_ACCESS_KEY\nLTP_SECRET_KEY\nLTP_API_HOST\n```\n\n`LTP_API_HOST` has no default. Use the API host provided by the event, environment, or workspace owner.\n\nBest practice for non-programmer users:\n\n1. Prefer the Agent host's user-provided chat secret mechanism.\n2. Ask the user to create secrets named exactly `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`.\n3. Do not ask the user to paste full keys into public chats, screenshots, logs, or repositories.\n\nFallbacks:\n\n- MCP config environment references.\n- Shell environment variables.\n- A secret manager configured by the workspace owner.\n\nDo not use legacy names:\n\n```text\nLTP_BASE_URL\nRAPIDX_BASE_URL\nRAPIDX_PORTFOLIO_ACCESS_KEY\nRAPIDX_PORTFOLIO_SECRET_KEY\n```\n\n## 4. CLI Installation\n\nInstall from official npm:\n\n```bash\nnpm install -g @liquiditytech/rapidx-cli@latest\n```\n\nVerify:\n\n```bash\nrapidx --version\nrapidx schema --json\nrapidx auth check --json\nrapidx update check --json\n```\n\nFor CLI-only Agents, use JSON output:\n\n```bash\nrapidx self-check --json\n```\n\nAvoid:\n\n- wrapper scripts\n- temporary JavaScript bridge files\n- `cd ... && rapidx ...`\n- command chains that may trigger Agent host exec preflight blocking\n\nIf the Agent host needs a working directory, configure it through the host tool setting rather than a shell chain.\n\n## 5. MCP Configuration\n\nMCP-capable hosts should configure the server command as:\n\n```bash\nrapidx mcp serve\n```\n\nExample MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"rapidx\": {\n      \"command\": \"rapidx\",\n      \"args\": [\"mcp\", \"serve\"],\n      \"env\": {\n        \"LTP_ACCESS_KEY\": \"<host-expanded-secret-or-materialized-value>\",\n        \"LTP_SECRET_KEY\": \"<host-expanded-secret-or-materialized-value>\",\n        \"LTP_API_HOST\": \"<host-expanded-api-host-or-materialized-value>\"\n      }\n    }\n  }\n}\n```\n\nAfter configuration, reload or restart the MCP host and verify:\n\n```text\nrapidx/tools\nrapidx/self-check\nrapidx/update/check\n```\n\nIf MCP loads but `rapidx/self-check` reports credential/auth failures, inspect the `rapidx` MCP server env block. Literal placeholder values such as `${LTP_ACCESS_KEY}`, `$LTP_ACCESS_KEY`, `<secret-ref>`, `<provided-api-host>`, or empty strings mean the credentials were not materialized for the MCP runtime. Do not copy placeholder text literally. Read real values from an authorized secret source, then update only the `rapidx` server block with a YAML/JSON parser. Do not append duplicate blocks and do not remove config with broad regex such as `mcp_servers:.*`. Reload or restart MCP, then rerun `rapidx/tools`, `rapidx/update/check`, and `rapidx/self-check`; credential-auth must be `PASS`.\n\nExpected tool surface should include:\n\n```text\nrapidx/tools\nrapidx/self-check\nrapidx/update/check\nrapidx/order/place-preview\nrapidx/order/place\nrapidx/order/replace-preview\nrapidx/order/replace\nrapidx/order/cancel-preview\nrapidx/order/cancel\nrapidx/transaction/executions\nrapidx/automation/start\nrapidx/automation/status\n```\n\nIf old tools such as `rapidx/order/preview` or `rapidx/order/executions` appear, upgrade the CLI, restart MCP, and rerun self-check.\n\n## 6. Version And Upgrade\n\nRun update checks during setup, review, or session startup:\n\n```bash\nrapidx update check --json\n```\n\nDo not run network update checks before every trade. It slows execution and creates avoidable failure points.\n\nUpgrade order:\n\n1. Upgrade skills when the local skill version is missing, stale, or unknown.\n2. Upgrade CLI.\n3. Restart or reload the MCP host.\n4. Run self-check again.\n\nSkills should include a `version:` field in `SKILL.md` frontmatter. Agents should use it when comparing local skills with the release manifest.\n\n## 7. Runtime Selection\n\nThe Agent should decide from evidence, not guessing.\n\n| State | Meaning | Action |\n|---|---|---|\n| `MCP_READY` | MCP tools are visible and self-check passed. | Use MCP tools. |\n| `CLI_ONLY_READY` | CLI works but MCP is unavailable. | Use CLI commands with `--json`. |\n| `NOT_VERIFIED` | Runtime cannot prove tool availability. | Stop and run config self-check. |\n\nDo not switch from MCP to CLI inside the same trade unless MCP is confirmed degraded and state has been read back.\n\nPreview ids are runtime-local:\n\n- MCP preview ids must be submitted through the same MCP runtime.\n- CLI preview ids must be submitted through the same CLI runtime.\n\n## 8. Session Startup Checklist\n\nAt the start of a trading session, the Agent should run:\n\n```text\nupdate check\nself-check\nportfolio overview\nportfolio assets\norder open-orders\nposition query\nalgo open-orders\n```\n\nMCP path:\n\n```text\nrapidx/update/check\nrapidx/self-check\nrapidx/portfolio/overview\nrapidx/portfolio/assets\nrapidx/order/open-orders\nrapidx/position/query\nrapidx/algo/open-orders\n```\n\nCLI path:\n\n```bash\nrapidx update check --json\nrapidx self-check --json\nrapidx portfolio overview --json\nrapidx portfolio assets --json\nrapidx order open-orders --json\nrapidx position query --json\nrapidx algo open-orders --json\n```\n\n## 9. Symbol And Quantity\n\nRapidX order inputs use RapidX canonical symbols.\n\nRecommended format:\n\n```text\nBINANCE_PERP_<BASE>_<QUOTE>\nOKX_PERP_<BASE>_<QUOTE>\n```\n\nExamples:\n\n```text\nBINANCE_PERP_BTC_USDT\nBINANCE_PERP_ETH_USDT\nOKX_PERP_BTC_USDT\n```\n\nTicker, orderbook, klines, and open-interest market queries support OKX symbols. Use the same `interval` and optional `limit` inputs for Binance and OKX klines.\n\nNormalize common user expressions:\n\n| User expression | RapidX symbol |\n|---|---|\n| `BTCUSDT` | `BINANCE_PERP_BTC_USDT` |\n| `btcusdt` | `BINANCE_PERP_BTC_USDT` |\n| `BTC/USDT` | `BINANCE_PERP_BTC_USDT` |\n| `币安人生USDT` | `BINANCE_PERP_币安人生_USDT` |\n\nFor RapidX PERP order placement:\n\n- Use `quantity`.\n- Do not send quote `amount`.\n- Use `maxNotional` as a safety upper bound, not as the target order amount.\n\nBefore trading, query symbol rules:\n\n```bash\nrapidx market get-symbol-info --input '{\"symbol\":\"BINANCE_PERP_BTC_USDT\"}' --json\n```\n\nThe Agent should check minimum notional, minimum quantity, lot size, price tick size, and contract size. If the requested order is below the minimum, ask the user to approve the revised quantity or notional first.\n\n## 10. Read Before Write\n\nBefore any write, read the current state.\n\n| Workflow | Required reads |\n|---|---|\n| Place order | symbol info, ticker/orderbook, portfolio assets, open orders, positions |\n| Replace order | order query, open orders, symbol info |\n| Cancel order | order query or open orders |\n| Close position | position query, open orders |\n| Algo / TPSL | position query, algo open-orders, symbol info |\n| Set leverage | current leverage, position query |\n\nThe Agent should not infer current state from memory or previous chat.\n\n## 11. Preview Then Submit\n\nEvery write with `previewRequired=true` must use:\n\n```text\npreview\n→ submit with same business params + previewId + continueConsentId\n→ readback\n```\n\nOrder place:\n\n```text\nrapidx/order/place-preview\nrapidx/order/place\nrapidx/order/query\n```\n\nOrder replace:\n\n```text\nrapidx/order/replace-preview\nrapidx/order/replace\nrapidx/order/query\n```\n\nOrder cancel:\n\n```text\nrapidx/order/cancel-preview\nrapidx/order/cancel\nrapidx/order/query\n```\n\nNon-order writes:\n\n```text\nrapidx/trade/preview\ntarget write tool\nmatching readback tool\n```\n\nIf any business parameter changes after preview, create a new preview. Business parameters include symbol, side, positionSide, quantity, price, orderType, orderId, clientOrderId, leverage, and account mode.\n\n## 12. Automation\n\nAutomation is a bounded local authorization session. It lets the Agent submit matching previews without asking for another per-order chat confirmation.\n\nAutomation still requires preview.\n\nUser authorization must include:\n\n- symbols\n- maxNotionalPerOrder\n- maxTotalNotional\n- duration\n- allowedActions\n- allowedOrderTypes\n- explicit risk text\n\nCreate a session:\n\n```bash\nrapidx automation start --input '{\n  \"symbols\": [\"BINANCE_PERP_BTC_USDT\"],\n  \"maxNotionalPerOrder\": \"100\",\n  \"maxTotalNotional\": \"1000\",\n  \"expiresInSeconds\": 3600,\n  \"allowedActions\": [\"order.place\", \"order.replace\", \"order.cancel\"],\n  \"allowedOrderTypes\": [\"MARKET\", \"LIMIT\"],\n  \"explicitUserConsent\": true,\n  \"acceptedRiskText\": \"I authorize RapidX automation for BINANCE_PERP_BTC_USDT with maxNotionalPerOrder 100 and maxTotalNotional 1000.\"\n}' --json\n```\n\nUse the session in preview:\n\n```bash\nrapidx order place-preview --input '{\n  \"automationSessionId\": \"ras_xxx\",\n  \"symbol\": \"BINANCE_PERP_BTC_USDT\",\n  \"side\": \"BUY\",\n  \"orderType\": \"MARKET\",\n  \"quantity\": \"0.001\",\n  \"maxNotional\": \"100\",\n  \"clientOrderId\": \"auto-001\"\n}' --json\n```\n\nAuto-submit only when preview returns:\n\n```json\n{\n  \"automationSession\": {\n    \"confirmationMode\": \"automation-session\"\n  },\n  \"confirmation\": {\n    \"submitToken\": \"confirm_rpv_xxx\"\n  }\n}\n```\n\nAutomation management:\n\n| Tool | Best Practice |\n|---|---|\n| `automation status` | Check remaining scope, expiry, and allowed actions. |\n| `automation extend` | Requires new user authorization; only extends time. |\n| `automation stop` | Stops future automation preview/submit; does not cancel existing orders. |\n\nUse `allowedActions=[\"order.place\",\"order.replace\",\"order.cancel\"]` for normal order lifecycle automation.\n\n## 13. Order Types\n\nUse runtime schema as the source of truth.\n\n| Order type | Use when | Required fields |\n|---|---|---|\n| `LIMIT` | User requires price boundary. | `price`, `quantity` |\n| `MARKET` | User wants immediate execution and accepts slippage. | `quantity`, `maxNotional` |\n\nDo not silently convert a requested `MARKET` order into a best-bid or best-ask `LIMIT` order.\n\n`MARKET` orders are supported after preview and explicit authorization. After submit, read back order status, executions, and position.\n\n## 14. Readback And Reconciliation\n\nSubmit success is not enough. The Agent must verify final state.\n\nAfter place:\n\n```text\norder query\ntransaction executions\nposition query\n```\n\nAfter cancel:\n\n```text\norder query until terminal\norder open-orders\n```\n\nAfter close position:\n\n```text\nposition query\ntransaction executions\n```\n\nAfter algo place:\n\n```text\nalgo open-orders\nalgo query\n```\n\n`order.cancel` is asynchronous. `cancelAccepted=true` means the request was accepted. If `terminalStateConfirmed=false`, poll `order query` until `CANCELED`, `REJECTED`, `EXPIRED`, or timeout.\n\nIf a write times out or state is uncertain, query state before retrying. Do not blindly repeat write requests.\n\n## 15. Position And Algo\n\nPosition close:\n\n- Query current position first.\n- NET mode: omit `positionSide`.\n- HEDGE mode: use actual `LONG` or `SHORT`.\n- Do not pass `side` or `quantity`.\n- Use reduce-only order flow for partial close.\n\nSet leverage:\n\n- Preview with `targetCapabilityId=\"position.set-leverage\"`.\n- User must authorize symbol and leverage.\n- Read back with `position get-leverage`.\n\nTPSL / conditional algo:\n\n- Preview with `targetCapabilityId=\"algo.place\"`.\n- Submit `algo place`.\n- Read back with `algo open-orders` or `algo query`.\n- `conditionType=\"ENTIRE_CLOSE_POSITION\"` may use `orderType=\"MARKET\"` without `quantity`.\n- Require at least one take-profit or stop-loss trigger.\n\n## 16. Error Handling\n\n| status | Agent action |\n|---|---|\n| `INVALID_INPUT` | Fix input; do not retry unchanged. |\n| `BLOCKED` | Read blocking reason; usually re-preview or ask user. |\n| `NOT_FOUND` | Read current state; target may not exist or may no longer be open. |\n| `PERMISSION_SCOPE_ERROR` | Credential scope does not cover the requested capability. |\n| `BUSINESS_ERROR` | Upstream rule rejected the request; inspect `details`. |\n| `NOT_VERIFIED` | State could not be proven; query again or report unverified. |\n| `FAIL` | Diagnose auth, network, startup, or malformed response. |\n\nCommon cases:\n\n- Invalid `orderId` format returns local `INVALID_INPUT`.\n- Valid-format but missing order returns readback `NOT_FOUND`.\n- Expired preview requires a new preview.\n- Submit params changed after preview returns `BLOCKED`.\n- Old MCP tool list means upgrade CLI and reload MCP host.\n\n## 17. Final Answer Format\n\nAgent final answers should include:\n\n```text\nRuntime path: MCP_READY or CLI_ONLY_READY\nTools or commands called\nSymbol / side / orderType / quantity / price\nPreview result\nSubmit result\nOrder id or client order id\nReadback result\nFinal state: open, filled, cancelled, closed, unchanged, or not verified\nRemaining user authorization needed, if any\n```\n\nFor automation:\n\n```text\nautomationSessionId\nsymbols\nmaxNotionalPerOrder\nmaxTotalNotional\nused or remaining scope\nexpiresAt\nallowedActions\nallowedOrderTypes\n```\n\n## 18. Things Agents Must Not Do\n\n- Do not fake query, trade, self-check, or readback results.\n- Do not echo full keys.\n- Do not submit writes without a preview token.\n- Do not cross-submit MCP preview ids through CLI, or CLI preview ids through MCP.\n- Do not shell through temporary scripts.\n- Do not use `cd ... && rapidx ...` command chains.\n- Do not blindly retry after timeout.\n- Do not treat `maxNotional` as target order amount.\n- Do not auto-increase orders to meet minimum notional without user approval.\n- Do not silently replace MARKET with LIMIT.\n- Do not interpret `open-orders` as \"open a new order\".\n\n## 19. Minimal Safe Workflows\n\n### First-Time Setup\n\n```text\n1. Install ltp-rapidx-config and ltp-rapidx-trading skills\n2. Load and follow the installed `ltp-rapidx-config` skill\n3. Install CLI from official npm\n4. Configure LTP_ACCESS_KEY, LTP_SECRET_KEY, LTP_API_HOST\n5. Configure MCP if supported\n6. Run update check and self-check\n7. Confirm MCP_READY or CLI_ONLY_READY\n```\n\n### Manual Trade\n\n```text\n1. Read portfolio, open orders, positions\n2. Read symbol info and market data\n3. order place-preview\n4. Ask user to confirm exact preview\n5. order place\n6. order query\n7. transaction executions or position query\n```\n\n### Automation Trade\n\n```text\n1. User authorizes automation scope in chat\n2. automation start\n3. order place-preview with automationSessionId\n4. order place with previewId and continueConsentId\n5. order query\n6. automation status\n```\n\n### Replace Or Cancel\n\n```text\n1. order open-orders\n2. order query\n3. replace-preview or cancel-preview\n4. replace or cancel\n5. order query until final or known current state\n```\n\n### Close Position\n\n```text\n1. position query\n2. trade preview with targetCapabilityId=\"position.close\"\n3. position close\n4. position query\n5. transaction executions when needed\n```\n\n### TPSL / Algo\n\n```text\n1. position query\n2. algo open-orders\n3. trade preview with targetCapabilityId=\"algo.place\"\n4. algo place\n5. algo open-orders or algo query\n```\n\n## 20. Local Skill References\n\nUse these local references from the installed skill directory:\n\n- `references/best-practices.md`\n- `references/capability-overview.md`\n\nFile v1.0.17:references/capability-overview.md\n\n# RapidX Capability Overview\n\nUse `rapidx schema --json` or MCP `rapidx/tools` as the runtime source of truth. This reference is a compact map for Agent planning.\n\n## Runtime Layers\n\n| Layer | Purpose |\n|---|---|\n| CLI | Atomic local operations through `rapidx <domain> <action> --json` |\n| MCP | Structured Agent tools served by `rapidx mcp serve` |\n| Core | Shared schemas, credential resolution, RapidX API client, preview, automation, audit, and self-check |\n| Skills | Agent guidance for setup, review, trading, automation, and readback |\n\n## Diagnostics And Discovery\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx --version` | - |\n| `rapidx schema --json` | `rapidx/tools` |\n| `rapidx update check --json` | `rapidx/update/check` |\n| `rapidx auth check` | - |\n| `rapidx doctor --json` | - |\n| `rapidx self-check --json` | `rapidx/self-check` |\n| `rapidx mcp serve` | starts the MCP server |\n\n## Automation\n\nAutomation sessions are local authorization sessions. They do not map to RapidX HTTP endpoints.\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx automation start` | `rapidx/automation/start` |\n| `rapidx automation list` | `rapidx/automation/list` |\n| `rapidx automation status` | `rapidx/automation/status` |\n| `rapidx automation extend` | `rapidx/automation/extend` |\n| `rapidx automation stop` | `rapidx/automation/stop` |\n\n## Market\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx market get-ticker` | `rapidx/market/get-ticker` |\n| `rapidx market get-orderbook` | `rapidx/market/get-orderbook` |\n| `rapidx market get-klines` | `rapidx/market/get-klines` |\n| `rapidx market get-funding-rate` | `rapidx/market/get-funding-rate` |\n| `rapidx market get-mark-price` | `rapidx/market/get-mark-price` |\n| `rapidx market get-symbol-info` | `rapidx/market/get-symbol-info` |\n| `rapidx market get-open-interest` | `rapidx/market/get-open-interest` |\n\n## Portfolio\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx portfolio overview` | `rapidx/portfolio/overview` | `GET /api/v1/trading/account` |\n| `rapidx portfolio assets` | `rapidx/portfolio/assets` | `GET /api/v1/trading/portfolio/assets` |\n| `rapidx portfolio statement` | `rapidx/portfolio/statement` | `GET /api/v1/trading/statement` |\n| `rapidx portfolio user-fee-rate` | `rapidx/portfolio/user-fee-rate` | `GET /api/v1/broker/feeRate` |\n| `rapidx portfolio position-bracket` | `rapidx/portfolio/position-bracket` | `GET /api/v1/trading/broker/positionBracket` |\n| `rapidx portfolio set-position-mode` | `rapidx/portfolio/set-position-mode` | `POST /api/v1/trading/account` |\n\n## Orders\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx order place-preview` | `rapidx/order/place-preview` | preview for place |\n| `rapidx order replace-preview` | `rapidx/order/replace-preview` | preview for replace |\n| `rapidx order cancel-preview` | `rapidx/order/cancel-preview` | preview for cancel |\n| `rapidx order place` | `rapidx/order/place` | `POST /api/v1/trading/order` |\n| `rapidx order replace` | `rapidx/order/replace` | `PUT /api/v1/trading/order` |\n| `rapidx order cancel` | `rapidx/order/cancel` | `DELETE /api/v1/trading/order` |\n| `rapidx order cancel-all` | `rapidx/order/cancel-all` | `DELETE /api/v1/trading/cancelAll` |\n| `rapidx order query` | `rapidx/order/query` | `GET /api/v1/trading/order` |\n| `rapidx order open-orders` | `rapidx/order/open-orders` | `GET /api/v1/trading/orders` |\n| `rapidx order history` | `rapidx/order/history` | `GET /api/v1/trading/history/orders` |\n\n`open-orders` means current non-terminal orders, not \"open a new order\". `order.history` accepts optional `begin` and `end` timestamps in milliseconds; if omitted, RapidX applies the upstream default range.\n\n## Transactions\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx transaction executions` | `rapidx/transaction/executions` | `GET /api/v1/trading/executions` |\n\n## Positions\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx position query` | `rapidx/position/query` | `GET /api/v1/trading/position` |\n| `rapidx position history` | `rapidx/position/history` | `GET /api/v1/trading/history/position` |\n| `rapidx position get-leverage` | `rapidx/position/get-leverage` | `GET /api/v1/trading/perp/leverage` |\n| `rapidx position set-leverage` | `rapidx/position/set-leverage` | `POST /api/v1/trading/position/leverage` |\n| `rapidx position close` | `rapidx/position/close` | `DELETE /api/v1/trading/position` |\n| `rapidx position close-all` | `rapidx/position/close-all` | `DELETE /api/v1/trading/positions` |\n\n`position.close` does not take `side` or `quantity`. In NET mode, omit `positionSide`; in HEDGE mode, pass the actual `LONG` or `SHORT` side.\n\n## Algo Orders\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx algo place` | `rapidx/algo/place` | `POST /api/v1/algo/order` |\n| `rapidx algo replace` | `rapidx/algo/replace` | `PUT /api/v1/algo/order` |\n| `rapidx algo cancel` | `rapidx/algo/cancel` | `DELETE /api/v1/algo/order` |\n| `rapidx algo query` | `rapidx/algo/query` | `GET /api/v1/algo/order` |\n| `rapidx algo open-orders` | `rapidx/algo/open-orders` | `GET /api/v1/algo/openOrders` |\n| `rapidx algo history` | `rapidx/algo/history` | `GET /api/v1/algo/history/orders` |\n\n`algo.open-orders` means current non-terminal algo orders. `algo.history` accepts optional `begin` and `end` timestamps in milliseconds; if omitted, RapidX applies the upstream default range.\n\n## Generic Preview And Live Verification\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx trade preview` | `rapidx/trade/preview` |\n| `rapidx trade verify-live` | `rapidx/trade/verify-live` |\n\nUse `rapidx/trade/preview` for non-order writes such as `position.set-leverage`, `position.close`, `portfolio.set-position-mode`, `algo.place`, `algo.replace`, and `algo.cancel`.\n\n## Symbol Format\n\nRecommended input symbols:\n\n```text\nBINANCE_PERP_<BASE>_<QUOTE>\nOKX_PERP_<BASE>_<QUOTE>\n```\n\nExamples:\n\n```text\nBINANCE_PERP_BTC_USDT\nBINANCE_PERP_ETH_USDT\nOKX_PERP_BTC_USDT\n```\n\n`OKX_SWAP_<BASE>_<QUOTE>` is accepted as an input alias and normalizes to `OKX_PERP_<BASE>_<QUOTE>`.\n\nMarket ticker, orderbook, klines, and open-interest queries support OKX symbols. OKX klines use the venue `GET /api/v5/market/candles` endpoint.\n\n## Status Meanings\n\n| Status | Meaning |\n|---|---|\n| `PASS` | Tool or command completed successfully |\n| `INVALID_INPUT` | Local schema or input validation failed |\n| `BLOCKED` | Preview, safety, compatibility, or policy check blocked the action |\n| `NOT_FOUND` | Requested resource was not found |\n| `PERMISSION_SCOPE_ERROR` | Credentials do not cover the requested scope |\n| `BUSINESS_ERROR` | RapidX or venue business rule rejected the request |\n| `NOT_VERIFIED` | Requested state could not be proven |\n| `FAIL` | Startup, auth, network, malformed response, or unexpected failure |\n\nFile v1.0.17:skill-card.md\n\n## Description:\n\nHelps an agent install or configure RapidX CLI and MCP access, set production LTP credentials, locate workspace MCP configuration, review integration status, discover tools, and run read-only self-checks.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[liquiditytech](https://clawhub.ai/user/liquiditytech)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to prepare an agent host for RapidX CLI or MCP workflows, configure required LTP credentials, verify tool discovery, and report whether the runtime is MCP_READY, CLI_ONLY_READY, or NOT_VERIFIED before trading workflows begin.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can guide installation of a mutable trading CLI and configuration of production credentials for tools that may perform high-impact account actions.\n\nMitigation: Install only from trusted RapidX CLI package sources, prefer pinned workspace-local installs, and use least-privilege credentials where possible.\n\nRisk: Persisting full production credentials in MCP configuration can expose sensitive trading access through host retention, collaboration, or local file access.\n\nMitigation: Prefer host-supported secret references or a secret manager, avoid writing production secrets directly into MCP config, and mask credentials in logs and reviews.\n\nRisk: Live trading, cancel-all, leverage, and close-position actions can materially affect an account if executed without adequate confirmation.\n\nMitigation: Require explicit previews, user confirmations, runtime self-checks, and readbacks before any live trading or high-impact account action.\n\n## Reference(s):\n\n- [RapidX Capability Overview](references/capability-overview.md)\n- [RapidX Skills / CLI / MCP Best Practices](references/best-practices.md)\n- [LTP RapidX Config on ClawHub](https://clawhub.ai/liquiditytech/skills/ltp-rapidx-config)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, shell commands, configuration, markdown]\n\n**Output Format:** [Markdown with inline JSON and bash code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include masked credential references, read-only self-check results, MCP readiness classification, and integration review findings.]\n\n## Skill Version(s):\n\n1.0.17 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.16: 5 files, 17196 bytes\n\nFiles: references/best-practices.md (18488b), references/capability-overview.md (6601b), skill-card.md (2348b), SKILL.md (17962b), _meta.json (137b)\n\nFile v1.0.16:SKILL.md\n\n---\nname: ltp-rapidx-config\nversion: 1.0.16\ndescription: Use when an agent needs to install or configure RapidX CLI/MCP access, set production LTP credentials, locate the agent workspace MCP config, review integration, discover tools, or run read-only self-checks.\n---\n\n# RapidX Config\n\nUse this skill for setup and integration review only. Use `ltp-rapidx-trading` for portfolio, market, order, position, algo, and live trading workflows.\n\n## Scope\n\n- Configure the published RapidX CLI package as the single runtime entrypoint.\n- Configure MCP by launching `rapidx mcp serve` from the agent's own workspace MCP config.\n- Classify whether this agent host is `MCP_READY`, `CLI_ONLY_READY`, or `NOT_VERIFIED`.\n- Verify real tool availability with read-only calls.\n- Produce an integration review with masked credentials and actual evidence.\n\nDo not describe how to install this skill inside the skill itself. Assume the skill has already been installed by the agent host.\n\n## References\n\n- Read `references/capability-overview.md` when checking expected CLI commands, MCP tools, capability names, or endpoint coverage.\n- Read `references/best-practices.md` when doing a full RapidX Skills / CLI / MCP setup review or explaining the recommended external user flow.\n\n## Workspace First\n\nBefore changing MCP config, identify the agent host workspace that will run RapidX:\n\n1. State the active agent workspace path from session/runtime context.\n2. Identify the workspace-local MCP config file read by this same agent host.\n3. If the MCP config path is ambiguous, inspect the confirmed workspace for existing MCP settings.\n4. If still ambiguous, ask the user which MCP config file this agent should edit.\n5. Add or update `mcpServers.rapidx` only after the workspace and config path are known.\n\nNever assume the source repository root, filesystem root, or a global home config is the right target.\n\n## Credential Intake\n\nAsk whether the user wants to provide credentials as a user-provided chat secret. This is the default path for non-programmers, but state the risk first: even protected chat-secret flows are controlled by the agent host and may be subject to that host's retention, access, or collaboration settings.\n\nIf the agent host has a dedicated chat-secret UI, ask the user to create three secrets with the exact names `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`. If the host has no chat-secret UI, ask whether the user wants the agent to write masked-reference placeholders into MCP config or whether they prefer to set local environment variables manually.\n\nOffer alternatives when the user wants stronger isolation:\n\n- Local shell environment variables.\n- Enterprise or OS secret manager referenced by the MCP host.\n\nRules:\n\n- Required variables are `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`.\n- `LTP_API_HOST` has no default. Use the API host provided for the current environment.\n- Do not use `LTP_BASE_URL`, `RAPIDX_BASE_URL`, or `RAPIDX_PORTFOLIO_*`.\n- Do not ask for or echo complete keys in normal chat text when a chat-secret mechanism is available.\n- Never print full keys in logs, config review, test output, or evidence. Use masked values only.\n\n## CLI Install\n\nRapidX is published as an official npm package. Install the CLI:\n\n```bash\nnpm install -g @liquiditytech/rapidx-cli\n```\n\nIf global install is not allowed, install in the confirmed agent workspace and use the workspace-local executable path in MCP config:\n\n```bash\nnpm install @liquiditytech/rapidx-cli\n./node_modules/.bin/rapidx --version\n```\n\nVerify the installed CLI:\n\n```bash\nrapidx --version\nrapidx schema --json\nrapidx update check --json\nrapidx self-check --json\n```\n\n`rapidx schema --json` and MCP `rapidx/tools` must return both `capabilities`/tool entries and concrete `inputSchemas`.\n\nFor CLI-only agents, use direct `rapidx ... --json` commands. Do not create temporary bridge scripts, directory-changing shell chains, or shell command chaining for MCP access.\n\n## Upgrade Existing Installation\n\nUse the CLI as the single version-check entrypoint. If `rapidx` is already available, run:\n\n```bash\nrapidx update check --json\n```\n\nRead these fields:\n\n- CLI: `currentVersion`, `latestVersion`, `status`, `updateAvailable`, `writeAllowed`, `upgrade.global`, `upgrade.workspace`.\n- Skills: `skillsVersion`, `currentSkillsVersion`, `skillsUpdateRecommended`, `upgrade.skills`.\n\n`currentSkillsVersion` is the CLI-bundled expected skills version, not proof of the agent's installed local skills. Inspect the installed or loaded `ltp-rapidx-config` and `ltp-rapidx-trading` frontmatter. Each current skill must declare `version`. When the local version is known, pass it into the check:\n\n```bash\nrapidx update check --input '{\"installedSkillsVersion\":\"<local-skill-version>\"}' --json\n```\n\nFor upgrade review, force a remote manifest refresh:\n\n```bash\nrapidx update check --input '{\"installedSkillsVersion\":\"<local-skill-version>\",\"force\":true}' --json\n```\n\nCompare the local `version` with `latestSkillsVersion` or legacy `skillsVersion` from `rapidx update check --json`. If the local version is missing, lower than the latest skills version, or cannot be read, update or reinstall both RapidX skills using the agent host's normal skill installer, then restart or reload the agent so the new skill content is loaded.\n\nUpgrade order:\n\n1. Update or reinstall both RapidX skills if their local `version` is stale, missing, or unknown.\n2. Restart or reload the agent so the new skills are active.\n3. Upgrade CLI when `updateAvailable=true`, `status=UPGRADE_REQUIRED`, or `status=WRITE_BLOCKED`.\n4. Restart or reload the MCP host when MCP is configured.\n5. Run `rapidx --version`, `rapidx update check --json`, and `rapidx self-check --json`.\n6. If MCP is supported, verify `rapidx/tools`, `rapidx/update/check`, and `rapidx/self-check`.\n\nOfficial npm CLI upgrade:\n\n```bash\nnpm install -g @liquiditytech/rapidx-cli@latest\n```\n\nWorkspace-local CLI upgrade:\n\n```bash\nnpm install @liquiditytech/rapidx-cli@latest\n./node_modules/.bin/rapidx --version\n```\n\n## Runtime Path Selection\n\nClassify the agent after CLI install and, when available, MCP configuration. Do not classify from agent product name or config file existence alone.\n\nBefore install, only choose a candidate path:\n\n- If the host exposes workspace MCP config plus native tool discovery/call surfaces, attempt the MCP path.\n- If the host only exposes shell, exec, or terminal commands, use the CLI-only path.\n- If uncertain, install CLI first, run CLI self-check, and keep MCP as `NOT_VERIFIED` until MCP tools are actually callable.\n\nAfter install/config, set one status:\n\n- `CLI_READY`: `rapidx --version` and `rapidx schema --json` pass.\n- `MCP_READY`: `CLI_READY`, `initialize` returns `serverInfo.name=rapidx`, `tools/list` shows 46 `rapidx/...` tools, and `rapidx/tools`, `rapidx/update/check`, plus `rapidx/self-check` can be called as MCP tools.\n- `CLI_ONLY_READY`: `CLI_READY`, but the host cannot configure, discover, or call MCP tools.\n- `NOT_VERIFIED`: no real invocation evidence, or only a config file was edited.\n\nWriting `mcpServers.rapidx` is only an attempted MCP setup. It is not proof of MCP readiness. If MCP is not `MCP_READY`, mark MCP as `NOT_VERIFIED` and use direct `rapidx ... --json` commands.\n\n## MCP Config\n\nMCP is started by the CLI. Add this server to the agent workspace MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"rapidx\": {\n      \"command\": \"rapidx\",\n      \"args\": [\"mcp\", \"serve\"],\n      \"env\": {\n        \"LTP_ACCESS_KEY\": \"<user-provided-secret-or-env-reference>\",\n        \"LTP_SECRET_KEY\": \"<user-provided-secret-or-env-reference>\",\n        \"LTP_API_HOST\": \"<user-provided-secret-or-env-reference>\"\n      }\n    }\n  }\n}\n```\n\nThe MCP server command should be `rapidx` with args `[\"mcp\", \"serve\"]` when `rapidx` is on the MCP host PATH. If PATH is not guaranteed, use the absolute path to the installed `rapidx` executable as `command` and keep args as `[\"mcp\", \"serve\"]`. Do not point MCP tools at one-off CLI commands and do not add shell script wrappers.\n\nHost-specific setup examples:\n\n```text\nCodex:\n  codex mcp add rapidx -- rapidx mcp serve\n\nClaude Code:\n  claude mcp add --transport stdio rapidx -- rapidx mcp serve\n\nCursor:\n  Add to mcp.json:\n  {\"mcpServers\":{\"rapidx\":{\"command\":\"rapidx\",\"args\":[\"mcp\",\"serve\"],\"env\":{\"LTP_ACCESS_KEY\":\"<secret>\",\"LTP_SECRET_KEY\":\"<secret>\",\"LTP_API_HOST\":\"<secret>\"}}}}\n\nGemini CLI:\n  gemini mcp add rapidx rapidx -- mcp serve\n\nOpenCode:\n  Add to opencode.jsonc:\n  {\"mcp\":{\"rapidx\":{\"type\":\"local\",\"command\":[\"rapidx\",\"mcp\",\"serve\"],\"enabled\":true}}}\n\nOpenClaw:\n  openclaw mcp add rapidx --command rapidx --arg mcp --arg serve\n  openclaw mcp doctor rapidx --probe\n\nHermes:\n  hermes mcp add rapidx --command rapidx --args mcp serve\n```\n\nFor OpenClaw, use repeated `--arg` entries. Do not use `--args`.\n\nFor Hermes, use a single `--args` and put `mcp serve` after it. Do not repeat `--args`, because Hermes treats the first `--args` as the start of the child command arguments.\n\nIf a host CLI tries to run an interactive `mcp add` flow and blocks on prompts like enabling all tools, do not keep retrying it in a non-interactive terminal. Edit the confirmed workspace MCP config in the host's native format, then restart or reload the agent host and verify through real MCP tool discovery. JSON configs usually use `mcpServers.rapidx`; YAML configs usually use `mcp_servers.rapidx`.\n\n### MCP Env Materialization Fallback\n\nFirst use the host's official MCP configuration path, such as `hermes mcp add`, `codex mcp add`, `claude mcp add`, `openclaw mcp add`, or the host's documented `mcp.json` / YAML config.\n\nIf MCP loads and `rapidx/tools` is visible, but `rapidx/self-check` reports credential/auth failures such as `Invalid URL`, `credential-auth: FAIL`, or missing RapidX credentials, inspect only the `rapidx` MCP server env block. Treat these literal placeholder values as not materialized:\n\n```text\n${LTP_ACCESS_KEY}\n$LTP_ACCESS_KEY\n${LTP_SECRET_KEY}\n$LTP_SECRET_KEY\n${LTP_API_HOST}\n$LTP_API_HOST\n<secret>\n<secret-ref>\n<provided-api-host>\n\"\"\n```\n\nRepair rules:\n\n1. Read real values from an agent-readable secret source: user-provided chat secrets, `.env`, OS environment variables, agent secret store, or a workspace secret file authorized by the user.\n2. Update the MCP config with a structured parser: use `yaml.safe_load` / `safe_dump` for YAML and `json.load` / `json.dump` for JSON.\n3. Replace only the `rapidx` server block under `mcp_servers.rapidx`, `mcpServers.rapidx`, or the host's equivalent MCP server map.\n4. Do not delete config with broad regex such as `mcp_servers:.*`.\n5. Do not append a second `rapidx` block when one already exists.\n6. Never print full credential values in chat, logs, review summaries, or evidence.\n\nFor Hermes, if `hermes mcp add` creates a config with unresolved `${VAR}` values, edit the active profile config, usually:\n\n```text\n~/.hermes/profiles/<profile>/config.yaml\n```\n\nThe resulting `rapidx` block should use materialized values or a secret mechanism that Hermes actually expands at runtime. Do not copy the example placeholders literally:\n\n```yaml\nmcp_servers:\n  rapidx:\n    command: rapidx\n    args:\n      - mcp\n      - serve\n    env:\n      LTP_ACCESS_KEY: \"actual-access-key-or-host-supported-secret-reference\"\n      LTP_SECRET_KEY: \"actual-secret-key-or-host-supported-secret-reference\"\n      LTP_API_HOST: \"actual-api-host\"\n```\n\nAfter repair, reload the MCP host. For Hermes, run `/reload-mcp` when available. If the host cannot hot reload MCP, restart the agent session or gateway.\n\nVerification after reload:\n\n```text\nrapidx/tools\nrapidx/update/check\nrapidx/self-check\n```\n\n`rapidx/self-check` must report credential-auth as `PASS` before classifying the host as `MCP_READY`.\n\n## Expected MCP Tools\n\nHealthy MCP discovery exposes 46 tools:\n\n```text\nDiscovery: rapidx/tools, rapidx/self-check, rapidx/update/check\nMarket:    rapidx/market/get-ticker, rapidx/market/get-orderbook, rapidx/market/get-klines,\n           rapidx/market/get-funding-rate, rapidx/market/get-mark-price,\n           rapidx/market/get-symbol-info, rapidx/market/get-open-interest\nPortfolio: rapidx/portfolio/overview, rapidx/portfolio/assets,\n           rapidx/portfolio/statement, rapidx/portfolio/user-fee-rate,\n           rapidx/portfolio/position-bracket, rapidx/portfolio/set-position-mode\nTrade:     rapidx/trade/preview, rapidx/trade/verify-live\nAutomation:\n           rapidx/automation/start, rapidx/automation/list,\n           rapidx/automation/status, rapidx/automation/extend,\n           rapidx/automation/stop\nOrder:     rapidx/order/place-preview, rapidx/order/replace-preview,\n           rapidx/order/cancel-preview,\n           rapidx/order/place, rapidx/order/replace, rapidx/order/cancel,\n           rapidx/order/cancel-all, rapidx/order/query,\n           rapidx/order/open-orders, rapidx/order/history\nTransactions:\n           rapidx/transaction/executions\nPosition:  rapidx/position/query, rapidx/position/history,\n           rapidx/position/get-leverage, rapidx/position/close,\n           rapidx/position/close-all, rapidx/position/set-leverage\nAlgo:      rapidx/algo/place, rapidx/algo/replace, rapidx/algo/cancel,\n           rapidx/algo/open-orders, rapidx/algo/history, rapidx/algo/query\n```\n\n`open-orders` means current non-terminal orders, not \"open an order\". These orders may still be fillable, replaceable, or cancelable. `algo/open-orders` means current non-terminal algo orders such as conditional or TPSL orders that have not triggered, been canceled, or otherwise ended.\n\nLegacy snake_case names such as `get_ticker`, `place_order`, or `list_positions` indicate a stale integration and should not be used.\n\n## Read-Only Self-Check\n\nThe self-check proves the configured runtime is real. Do not simulate results, invent balances, or claim success from documentation alone.\n\nRun the quick check:\n\n1. Confirm `CLI_READY` with `rapidx --version` and `rapidx schema --json`, including readable `inputSchemas`.\n2. Run `rapidx update check --json` during setup or review. This may read the GitHub release manifest and cache the result locally.\n3. If attempting MCP, discover tools through the MCP host and confirm the 46-tool inventory.\n4. Call `rapidx/update/check` when the host supports MCP tool invocation.\n5. Call `rapidx/self-check` when the host supports MCP tool invocation.\n6. Call one public market route, preferably `rapidx/market/get-ticker` for `BINANCE_PERP_BTC_USDT`. If the user provides a Binance native symbol, normalize it before calling RapidX: `BTCUSDT` becomes `BINANCE_PERP_BTC_USDT`, and a Chinese base asset such as `币安人生USDT` becomes `BINANCE_PERP_币安人生_USDT`.\n7. Call read routes for portfolio overview, portfolio assets, open orders, positions, and algo orders.\n\nIf the host cannot invoke MCP tools yet, run equivalent CLI read-only checks and mark MCP tool invocation as `NOT_VERIFIED`; do not convert CLI success into MCP success.\n\nRun the deeper review when asked for integration review or self-validation:\n\n```text\n1. rapidx/tools\n2. rapidx/update/check\n3. rapidx/self-check\n4. rapidx/market/get-ticker\n5. rapidx/market/get-orderbook\n6. rapidx/market/get-klines\n7. rapidx/market/get-funding-rate\n8. rapidx/market/get-mark-price\n9. rapidx/market/get-symbol-info\n10. rapidx/market/get-open-interest\n11. rapidx/portfolio/overview\n12. rapidx/portfolio/assets\n13. rapidx/order/open-orders\n14. rapidx/order/history\n15. rapidx/order/query with a deliberately nonexistent self-check order id\n16. rapidx/position/query\n17. rapidx/position/history\n18. rapidx/algo/open-orders\n19. rapidx/algo/history\n20. rapidx/algo/query with a deliberately nonexistent self-check algo order id\n```\n\nDo not call removed `mode=\"account\"` portfolio asset checks during setup. `rapidx/portfolio/assets` is the supported balance/assets read for portfolio credentials.\n\n## Result Classes\n\n- `PASS`: actual tool or command returned a successful real response.\n- `EXPECTED_ERROR`: route is live and returned a real business, permission, unsupported-mode, or deliberate not-found error.\n- `INVALID_INPUT`: schema or local input validation rejected the request before submission.\n- `NOT_FOUND`: a syntactically valid requested resource does not exist, such as a valid-format order id that RapidX cannot find.\n- `PERMISSION_SCOPE_ERROR`: credentials are valid but do not cover the requested route or portfolio scope.\n- `BUSINESS_ERROR`: RapidX or the venue returned a business-rule rejection.\n- `FAIL`: tool is missing, startup/auth/network failed, response is malformed, or a required call timed out.\n- `NOT_VERIFIED`: the agent could not invoke the tool or the user declined credentials.\n\nIf update check returns `WRITE_BLOCKED`, `UPGRADE_REQUIRED`, or `skillsUpdateRecommended=true`, report it in the review. Do not run trading writes until a `WRITE_BLOCKED` or `UPGRADE_REQUIRED` CLI is upgraded and the MCP host is restarted.\n\nEvery row must include `toolOrCommandEvidence` or equivalent observed code/message evidence. Empty order, position, or history lists are `PASS` if the response is real and well formed.\n\n## Integration Review Output\n\nReturn this structure when asked to review setup:\n\n```markdown\n# RapidX Integration Review\n\n## Verdict\n- status: PASS / PARTIAL / FAIL / NOT_VERIFIED\n- runtime path: MCP_READY / CLI_ONLY_READY / NOT_VERIFIED\n- main issues:\n\n## Workspace And Config\n- agent workspace:\n- MCP config path:\n- MCP command: rapidx mcp serve\n- CLI package:\n- host:\n- credentials: configured and masked / missing / not verified\n\n## Tool Discovery\n- expected MCP tools: 46\n- actual MCP tools:\n- missing tools:\n- legacy tools found:\n\n## Version And Upgrade\n- current CLI:\n- latest CLI:\n- minimum write version:\n- update status:\n- skills update recommended:\n\n## Read-Only Checks\n| check | result | evidence |\n| --- | --- | --- |\n\n## Required Fixes\n- ...\n```\n\nSwitch to `ltp-rapidx-trading` for any write verification or live trading test.\n\nFile v1.0.16:_meta.json\n\n{\n  \"ownerId\": \"kn73kps0f7zwmrka0kz101ymad87wexe\",\n  \"slug\": \"ltp-rapidx-config\",\n  \"version\": \"1.0.16\",\n  \"publishedAt\": 1782819430472\n}\n\nFile v1.0.16:references/best-practices.md\n\n# RapidX Skills / CLI / MCP Best Practices\n\n## Overview\n\nRapidX is delivered as a complete Agent integration stack:\n\n- **Skills** teach the Agent how to install, configure, choose CLI or MCP, run self-checks, and operate RapidX.\n- **CLI** is the unified local runtime for atomic operations and also starts the MCP server through `rapidx mcp serve`.\n- **MCP** is the structured tool surface for MCP-capable Agents and shares the same CLI/Core capabilities.\n\nThe best practice is not to make users memorize every command. Let the Agent install and read the skills first. Load the installed `ltp-rapidx-config` skill to configure CLI/MCP and run self-checks, then load `ltp-rapidx-trading` for queries, preview, submit, automation, and readback. Skill names are not shell commands.\n\nRecommended flow:\n\n```text\nInstall Skills\n→ ltp-rapidx-config installs/configures CLI\n→ configure credentials and API host\n→ choose MCP_READY or CLI_ONLY_READY\n→ run self-check\n→ ltp-rapidx-trading uses MCP or CLI\n→ preview before write\n→ submit\n→ readback and reconcile\n```\n\n## 1. Role Of Each Layer\n\n| Layer | Role | Best Practice |\n|---|---|---|\n| Skills | Agent guidance | Install and read `ltp-rapidx-config` first, then use `ltp-rapidx-trading`. |\n| CLI | Unified local runtime | Install from official npm and use `rapidx ... --json` for CLI-only Agents. |\n| MCP | Structured tool interface | Start with `rapidx mcp serve`; MCP-capable Agents call `rapidx/*` tools directly. |\n| Core | Shared implementation | CLI and MCP share schemas, API client, preview, automation, audit, and self-check. |\n\nThe MCP server is not a separate package. It is started by the CLI:\n\n```bash\nrapidx mcp serve\n```\n\nMCP tools should call the shared RapidX core directly. They should not shell out through temporary scripts, wrapper files, or `cd ... && node ...` command chains.\n\n## 2. Recommended External User Flow\n\n### Step 1: Install Skills\n\nUsers can install skills themselves, or send an executable instruction to their Agent.\n\nRecommended instruction to send to the Agent:\n\n```text\nYou are my Agent. Install the RapidX skills into the current workspace using the skill installation method supported by your Agent host.\n\nSource repository:\nhttps://github.com/LiquidityTech/ltp-rapidx-skill\n\nInstall both skills:\n- ltp-rapidx-config\n- ltp-rapidx-trading\n\nAfter installation, load and follow the installed `ltp-rapidx-config` skill first. It is not a shell command. Use it to install or upgrade @liquiditytech/rapidx-cli from official npm, configure RapidX credentials, configure MCP if this host supports MCP, and run RapidX self-check.\n\nDo not start market queries or trading until you can report one of:\n- MCP_READY\n- CLI_ONLY_READY\n- NOT_VERIFIED\n```\n\nThe exact installation command depends on the Agent host. Use the official RapidX docs or skill repository README for Codex, Claude Code, Cursor, Gemini CLI, OpenCode, OpenClaw, and Hermes.\n\n### Step 2: Use Config Skill\n\nThe Agent should load and follow `ltp-rapidx-config` before any market query or trade. This is a skill-guided workflow, not a shell command named `ltp-rapidx-config`.\n\nConfig skill responsibilities:\n\n1. Confirm the Agent workspace.\n2. Install or upgrade `@liquiditytech/rapidx-cli` from official npm.\n3. Configure credentials.\n4. Configure MCP when the host supports MCP.\n5. Run tool discovery.\n6. Run read-only self-check.\n7. Report `MCP_READY`, `CLI_ONLY_READY`, or `NOT_VERIFIED`.\n\n### Step 3: Use Trading Skill\n\nAfter config is verified, the Agent should use `ltp-rapidx-trading`.\n\nTrading skill responsibilities:\n\n1. Choose MCP or CLI based on the config result.\n2. Read runtime schemas before constructing write inputs.\n3. Normalize symbols.\n4. Query current state before trading.\n5. Preview before every write.\n6. Use automation sessions only after explicit user authorization.\n7. Read back final order, position, transaction, or algo state.\n\n## 3. Credentials And API Host\n\nRequired values:\n\n```text\nLTP_ACCESS_KEY\nLTP_SECRET_KEY\nLTP_API_HOST\n```\n\n`LTP_API_HOST` has no default. Use the API host provided by the event, environment, or workspace owner.\n\nBest practice for non-programmer users:\n\n1. Prefer the Agent host's user-provided chat secret mechanism.\n2. Ask the user to create secrets named exactly `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`.\n3. Do not ask the user to paste full keys into public chats, screenshots, logs, or repositories.\n\nFallbacks:\n\n- MCP config environment references.\n- Shell environment variables.\n- A secret manager configured by the workspace owner.\n\nDo not use legacy names:\n\n```text\nLTP_BASE_URL\nRAPIDX_BASE_URL\nRAPIDX_PORTFOLIO_ACCESS_KEY\nRAPIDX_PORTFOLIO_SECRET_KEY\n```\n\n## 4. CLI Installation\n\nInstall from official npm:\n\n```bash\nnpm install -g @liquiditytech/rapidx-cli@latest\n```\n\nVerify:\n\n```bash\nrapidx --version\nrapidx schema --json\nrapidx auth check --json\nrapidx update check --json\n```\n\nFor CLI-only Agents, use JSON output:\n\n```bash\nrapidx self-check --json\n```\n\nAvoid:\n\n- wrapper scripts\n- temporary JavaScript bridge files\n- `cd ... && rapidx ...`\n- command chains that may trigger Agent host exec preflight blocking\n\nIf the Agent host needs a working directory, configure it through the host tool setting rather than a shell chain.\n\n## 5. MCP Configuration\n\nMCP-capable hosts should configure the server command as:\n\n```bash\nrapidx mcp serve\n```\n\nExample MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"rapidx\": {\n      \"command\": \"rapidx\",\n      \"args\": [\"mcp\", \"serve\"],\n      \"env\": {\n        \"LTP_ACCESS_KEY\": \"<host-expanded-secret-or-materialized-value>\",\n        \"LTP_SECRET_KEY\": \"<host-expanded-secret-or-materialized-value>\",\n        \"LTP_API_HOST\": \"<host-expanded-api-host-or-materialized-value>\"\n      }\n    }\n  }\n}\n```\n\nAfter configuration, reload or restart the MCP host and verify:\n\n```text\nrapidx/tools\nrapidx/self-check\nrapidx/update/check\n```\n\nIf MCP loads but `rapidx/self-check` reports credential/auth failures, inspect the `rapidx` MCP server env block. Literal placeholder values such as `${LTP_ACCESS_KEY}`, `$LTP_ACCESS_KEY`, `<secret-ref>`, `<provided-api-host>`, or empty strings mean the credentials were not materialized for the MCP runtime. Do not copy placeholder text literally. Read real values from an authorized secret source, then update only the `rapidx` server block with a YAML/JSON parser. Do not append duplicate blocks and do not remove config with broad regex such as `mcp_servers:.*`. Reload or restart MCP, then rerun `rapidx/tools`, `rapidx/update/check`, and `rapidx/self-check`; credential-auth must be `PASS`.\n\nExpected tool surface should include:\n\n```text\nrapidx/tools\nrapidx/self-check\nrapidx/update/check\nrapidx/order/place-preview\nrapidx/order/place\nrapidx/order/replace-preview\nrapidx/order/replace\nrapidx/order/cancel-preview\nrapidx/order/cancel\nrapidx/transaction/executions\nrapidx/automation/start\nrapidx/automation/status\n```\n\nIf old tools such as `rapidx/order/preview` or `rapidx/order/executions` appear, upgrade the CLI, restart MCP, and rerun self-check.\n\n## 6. Version And Upgrade\n\nRun update checks during setup, review, or session startup:\n\n```bash\nrapidx update check --json\n```\n\nDo not run network update checks before every trade. It slows execution and creates avoidable failure points.\n\nUpgrade order:\n\n1. Upgrade skills when the local skill version is missing, stale, or unknown.\n2. Upgrade CLI.\n3. Restart or reload the MCP host.\n4. Run self-check again.\n\nSkills should include a `version:` field in `SKILL.md` frontmatter. Agents should use it when comparing local skills with the release manifest.\n\n## 7. Runtime Selection\n\nThe Agent should decide from evidence, not guessing.\n\n| State | Meaning | Action |\n|---|---|---|\n| `MCP_READY` | MCP tools are visible and self-check passed. | Use MCP tools. |\n| `CLI_ONLY_READY` | CLI works but MCP is unavailable. | Use CLI commands with `--json`. |\n| `NOT_VERIFIED` | Runtime cannot prove tool availability. | Stop and run config self-check. |\n\nDo not switch from MCP to CLI inside the same trade unless MCP is confirmed degraded and state has been read back.\n\nPreview ids are runtime-local:\n\n- MCP preview ids must be submitted through the same MCP runtime.\n- CLI preview ids must be submitted through the same CLI runtime.\n\n## 8. Session Startup Checklist\n\nAt the start of a trading session, the Agent should run:\n\n```text\nupdate check\nself-check\nportfolio overview\nportfolio assets\norder open-orders\nposition query\nalgo open-orders\n```\n\nMCP path:\n\n```text\nrapidx/update/check\nrapidx/self-check\nrapidx/portfolio/overview\nrapidx/portfolio/assets\nrapidx/order/open-orders\nrapidx/position/query\nrapidx/algo/open-orders\n```\n\nCLI path:\n\n```bash\nrapidx update check --json\nrapidx self-check --json\nrapidx portfolio overview --json\nrapidx portfolio assets --json\nrapidx order open-orders --json\nrapidx position query --json\nrapidx algo open-orders --json\n```\n\n## 9. Symbol And Quantity\n\nRapidX order inputs use RapidX canonical symbols.\n\nRecommended format:\n\n```text\nBINANCE_PERP_<BASE>_<QUOTE>\nOKX_PERP_<BASE>_<QUOTE>\n```\n\nExamples:\n\n```text\nBINANCE_PERP_BTC_USDT\nBINANCE_PERP_ETH_USDT\nOKX_PERP_BTC_USDT\n```\n\nNormalize common user expressions:\n\n| User expression | RapidX symbol |\n|---|---|\n| `BTCUSDT` | `BINANCE_PERP_BTC_USDT` |\n| `btcusdt` | `BINANCE_PERP_BTC_USDT` |\n| `BTC/USDT` | `BINANCE_PERP_BTC_USDT` |\n| `币安人生USDT` | `BINANCE_PERP_币安人生_USDT` |\n\nFor RapidX PERP order placement:\n\n- Use `quantity`.\n- Do not send quote `amount`.\n- Use `maxNotional` as a safety upper bound, not as the target order amount.\n\nBefore trading, query symbol rules:\n\n```bash\nrapidx market get-symbol-info --input '{\"symbol\":\"BINANCE_PERP_BTC_USDT\"}' --json\n```\n\nThe Agent should check minimum notional, minimum quantity, lot size, price tick size, and contract size. If the requested order is below the minimum, ask the user to approve the revised quantity or notional first.\n\n## 10. Read Before Write\n\nBefore any write, read the current state.\n\n| Workflow | Required reads |\n|---|---|\n| Place order | symbol info, ticker/orderbook, portfolio assets, open orders, positions |\n| Replace order | order query, open orders, symbol info |\n| Cancel order | order query or open orders |\n| Close position | position query, open orders |\n| Algo / TPSL | position query, algo open-orders, symbol info |\n| Set leverage | current leverage, position query |\n\nThe Agent should not infer current state from memory or previous chat.\n\n## 11. Preview Then Submit\n\nEvery write with `previewRequired=true` must use:\n\n```text\npreview\n→ submit with same business params + previewId + continueConsentId\n→ readback\n```\n\nOrder place:\n\n```text\nrapidx/order/place-preview\nrapidx/order/place\nrapidx/order/query\n```\n\nOrder replace:\n\n```text\nrapidx/order/replace-preview\nrapidx/order/replace\nrapidx/order/query\n```\n\nOrder cancel:\n\n```text\nrapidx/order/cancel-preview\nrapidx/order/cancel\nrapidx/order/query\n```\n\nNon-order writes:\n\n```text\nrapidx/trade/preview\ntarget write tool\nmatching readback tool\n```\n\nIf any business parameter changes after preview, create a new preview. Business parameters include symbol, side, positionSide, quantity, price, orderType, orderId, clientOrderId, leverage, and account mode.\n\n## 12. Automation\n\nAutomation is a bounded local authorization session. It lets the Agent submit matching previews without asking for another per-order chat confirmation.\n\nAutomation still requires preview.\n\nUser authorization must include:\n\n- symbols\n- maxNotionalPerOrder\n- maxTotalNotional\n- duration\n- allowedActions\n- allowedOrderTypes\n- explicit risk text\n\nCreate a session:\n\n```bash\nrapidx automation start --input '{\n  \"symbols\": [\"BINANCE_PERP_BTC_USDT\"],\n  \"maxNotionalPerOrder\": \"100\",\n  \"maxTotalNotional\": \"1000\",\n  \"expiresInSeconds\": 3600,\n  \"allowedActions\": [\"order.place\", \"order.replace\", \"order.cancel\"],\n  \"allowedOrderTypes\": [\"MARKET\", \"LIMIT\"],\n  \"explicitUserConsent\": true,\n  \"acceptedRiskText\": \"I authorize RapidX automation for BINANCE_PERP_BTC_USDT with maxNotionalPerOrder 100 and maxTotalNotional 1000.\"\n}' --json\n```\n\nUse the session in preview:\n\n```bash\nrapidx order place-preview --input '{\n  \"automationSessionId\": \"ras_xxx\",\n  \"symbol\": \"BINANCE_PERP_BTC_USDT\",\n  \"side\": \"BUY\",\n  \"orderType\": \"MARKET\",\n  \"quantity\": \"0.001\",\n  \"maxNotional\": \"100\",\n  \"clientOrderId\": \"auto-001\"\n}' --json\n```\n\nAuto-submit only when preview returns:\n\n```json\n{\n  \"automationSession\": {\n    \"confirmationMode\": \"automation-session\"\n  },\n  \"confirmation\": {\n    \"submitToken\": \"confirm_rpv_xxx\"\n  }\n}\n```\n\nAutomation management:\n\n| Tool | Best Practice |\n|---|---|\n| `automation status` | Check remaining scope, expiry, and allowed actions. |\n| `automation extend` | Requires new user authorization; only extends time. |\n| `automation stop` | Stops future automation preview/submit; does not cancel existing orders. |\n\nUse `allowedActions=[\"order.place\",\"order.replace\",\"order.cancel\"]` for normal order lifecycle automation.\n\n## 13. Order Types\n\nUse runtime schema as the source of truth.\n\n| Order type | Use when | Required fields |\n|---|---|---|\n| `LIMIT` | User requires price boundary. | `price`, `quantity` |\n| `MARKET` | User wants immediate execution and accepts slippage. | `quantity`, `maxNotional` |\n\nDo not silently convert a requested `MARKET` order into a best-bid or best-ask `LIMIT` order.\n\n`MARKET` orders are supported after preview and explicit authorization. After submit, read back order status, executions, and position.\n\n## 14. Readback And Reconciliation\n\nSubmit success is not enough. The Agent must verify final state.\n\nAfter place:\n\n```text\norder query\ntransaction executions\nposition query\n```\n\nAfter cancel:\n\n```text\norder query until terminal\norder open-orders\n```\n\nAfter close position:\n\n```text\nposition query\ntransaction executions\n```\n\nAfter algo place:\n\n```text\nalgo open-orders\nalgo query\n```\n\n`order.cancel` is asynchronous. `cancelAccepted=true` means the request was accepted. If `terminalStateConfirmed=false`, poll `order query` until `CANCELED`, `REJECTED`, `EXPIRED`, or timeout.\n\nIf a write times out or state is uncertain, query state before retrying. Do not blindly repeat write requests.\n\n## 15. Position And Algo\n\nPosition close:\n\n- Query current position first.\n- NET mode: omit `positionSide`.\n- HEDGE mode: use actual `LONG` or `SHORT`.\n- Do not pass `side` or `quantity`.\n- Use reduce-only order flow for partial close.\n\nSet leverage:\n\n- Preview with `targetCapabilityId=\"position.set-leverage\"`.\n- User must authorize symbol and leverage.\n- Read back with `position get-leverage`.\n\nTPSL / conditional algo:\n\n- Preview with `targetCapabilityId=\"algo.place\"`.\n- Submit `algo place`.\n- Read back with `algo open-orders` or `algo query`.\n- `conditionType=\"ENTIRE_CLOSE_POSITION\"` may use `orderType=\"MARKET\"` without `quantity`.\n- Require at least one take-profit or stop-loss trigger.\n\n## 16. Error Handling\n\n| status | Agent action |\n|---|---|\n| `INVALID_INPUT` | Fix input; do not retry unchanged. |\n| `BLOCKED` | Read blocking reason; usually re-preview or ask user. |\n| `NOT_FOUND` | Read current state; target may not exist or may no longer be open. |\n| `PERMISSION_SCOPE_ERROR` | Credential scope does not cover the requested capability. |\n| `BUSINESS_ERROR` | Upstream rule rejected the request; inspect `details`. |\n| `NOT_VERIFIED` | State could not be proven; query again or report unverified. |\n| `FAIL` | Diagnose auth, network, startup, or malformed response. |\n\nCommon cases:\n\n- Invalid `orderId` format returns local `INVALID_INPUT`.\n- Valid-format but missing order returns readback `NOT_FOUND`.\n- Expired preview requires a new preview.\n- Submit params changed after preview returns `BLOCKED`.\n- Old MCP tool list means upgrade CLI and reload MCP host.\n\n## 17. Final Answer Format\n\nAgent final answers should include:\n\n```text\nRuntime path: MCP_READY or CLI_ONLY_READY\nTools or commands called\nSymbol / side / orderType / quantity / price\nPreview result\nSubmit result\nOrder id or client order id\nReadback result\nFinal state: open, filled, cancelled, closed, unchanged, or not verified\nRemaining user authorization needed, if any\n```\n\nFor automation:\n\n```text\nautomationSessionId\nsymbols\nmaxNotionalPerOrder\nmaxTotalNotional\nused or remaining scope\nexpiresAt\nallowedActions\nallowedOrderTypes\n```\n\n## 18. Things Agents Must Not Do\n\n- Do not fake query, trade, self-check, or readback results.\n- Do not echo full keys.\n- Do not submit writes without a preview token.\n- Do not cross-submit MCP preview ids through CLI, or CLI preview ids through MCP.\n- Do not shell through temporary scripts.\n- Do not use `cd ... && rapidx ...` command chains.\n- Do not blindly retry after timeout.\n- Do not treat `maxNotional` as target order amount.\n- Do not auto-increase orders to meet minimum notional without user approval.\n- Do not silently replace MARKET with LIMIT.\n- Do not interpret `open-orders` as \"open a new order\".\n\n## 19. Minimal Safe Workflows\n\n### First-Time Setup\n\n```text\n1. Install ltp-rapidx-config and ltp-rapidx-trading skills\n2. Load and follow the installed `ltp-rapidx-config` skill\n3. Install CLI from official npm\n4. Configure LTP_ACCESS_KEY, LTP_SECRET_KEY, LTP_API_HOST\n5. Configure MCP if supported\n6. Run update check and self-check\n7. Confirm MCP_READY or CLI_ONLY_READY\n```\n\n### Manual Trade\n\n```text\n1. Read portfolio, open orders, positions\n2. Read symbol info and market data\n3. order place-preview\n4. Ask user to confirm exact preview\n5. order place\n6. order query\n7. transaction executions or position query\n```\n\n### Automation Trade\n\n```text\n1. User authorizes automation scope in chat\n2. automation start\n3. order place-preview with automationSessionId\n4. order place with previewId and continueConsentId\n5. order query\n6. automation status\n```\n\n### Replace Or Cancel\n\n```text\n1. order open-orders\n2. order query\n3. replace-preview or cancel-preview\n4. replace or cancel\n5. order query until final or known current state\n```\n\n### Close Position\n\n```text\n1. position query\n2. trade preview with targetCapabilityId=\"position.close\"\n3. position close\n4. position query\n5. transaction executions when needed\n```\n\n### TPSL / Algo\n\n```text\n1. position query\n2. algo open-orders\n3. trade preview with targetCapabilityId=\"algo.place\"\n4. algo place\n5. algo open-orders or algo query\n```\n\n## 20. Local Skill References\n\nUse these local references from the installed skill directory:\n\n- `references/best-practices.md`\n- `references/capability-overview.md`\n\nFile v1.0.16:references/capability-overview.md\n\n# RapidX Capability Overview\n\nUse `rapidx schema --json` or MCP `rapidx/tools` as the runtime source of truth. This reference is a compact map for Agent planning.\n\n## Runtime Layers\n\n| Layer | Purpose |\n|---|---|\n| CLI | Atomic local operations through `rapidx <domain> <action> --json` |\n| MCP | Structured Agent tools served by `rapidx mcp serve` |\n| Core | Shared schemas, credential resolution, RapidX API client, preview, automation, audit, and self-check |\n| Skills | Agent guidance for setup, review, trading, automation, and readback |\n\n## Diagnostics And Discovery\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx --version` | - |\n| `rapidx schema --json` | `rapidx/tools` |\n| `rapidx update check --json` | `rapidx/update/check` |\n| `rapidx auth check` | - |\n| `rapidx doctor --json` | - |\n| `rapidx self-check --json` | `rapidx/self-check` |\n| `rapidx mcp serve` | starts the MCP server |\n\n## Automation\n\nAutomation sessions are local authorization sessions. They do not map to RapidX HTTP endpoints.\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx automation start` | `rapidx/automation/start` |\n| `rapidx automation list` | `rapidx/automation/list` |\n| `rapidx automation status` | `rapidx/automation/status` |\n| `rapidx automation extend` | `rapidx/automation/extend` |\n| `rapidx automation stop` | `rapidx/automation/stop` |\n\n## Market\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx market get-ticker` | `rapidx/market/get-ticker` |\n| `rapidx market get-orderbook` | `rapidx/market/get-orderbook` |\n| `rapidx market get-klines` | `rapidx/market/get-klines` |\n| `rapidx market get-funding-rate` | `rapidx/market/get-funding-rate` |\n| `rapidx market get-mark-price` | `rapidx/market/get-mark-price` |\n| `rapidx market get-symbol-info` | `rapidx/market/get-symbol-info` |\n| `rapidx market get-open-interest` | `rapidx/market/get-open-interest` |\n\n## Portfolio\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx portfolio overview` | `rapidx/portfolio/overview` | `GET /api/v1/trading/account` |\n| `rapidx portfolio assets` | `rapidx/portfolio/assets` | `GET /api/v1/trading/portfolio/assets` |\n| `rapidx portfolio statement` | `rapidx/portfolio/statement` | `GET /api/v1/trading/statement` |\n| `rapidx portfolio user-fee-rate` | `rapidx/portfolio/user-fee-rate` | `GET /api/v1/broker/feeRate` |\n| `rapidx portfolio position-bracket` | `rapidx/portfolio/position-bracket` | `GET /api/v1/trading/broker/positionBracket` |\n| `rapidx portfolio set-position-mode` | `rapidx/portfolio/set-position-mode` | `POST /api/v1/trading/account` |\n\n## Orders\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx order place-preview` | `rapidx/order/place-preview` | preview for place |\n| `rapidx order replace-preview` | `rapidx/order/replace-preview` | preview for replace |\n| `rapidx order cancel-preview` | `rapidx/order/cancel-preview` | preview for cancel |\n| `rapidx order place` | `rapidx/order/place` | `POST /api/v1/trading/order` |\n| `rapidx order replace` | `rapidx/order/replace` | `PUT /api/v1/trading/order` |\n| `rapidx order cancel` | `rapidx/order/cancel` | `DELETE /api/v1/trading/order` |\n| `rapidx order cancel-all` | `rapidx/order/cancel-all` | `DELETE /api/v1/trading/cancelAll` |\n| `rapidx order query` | `rapidx/order/query` | `GET /api/v1/trading/order` |\n| `rapidx order open-orders` | `rapidx/order/open-orders` | `GET /api/v1/trading/orders` |\n| `rapidx order history` | `rapidx/order/history` | `GET /api/v1/trading/history/orders` |\n\n`open-orders` means current non-terminal orders, not \"open a new order\". `order.history` accepts optional `begin` and `end` timestamps in milliseconds; if omitted, RapidX applies the upstream default range.\n\n## Transactions\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx transaction executions` | `rapidx/transaction/executions` | `GET /api/v1/trading/executions` |\n\n## Positions\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx position query` | `rapidx/position/query` | `GET /api/v1/trading/position` |\n| `rapidx position history` | `rapidx/position/history` | `GET /api/v1/trading/history/position` |\n| `rapidx position get-leverage` | `rapidx/position/get-leverage` | `GET /api/v1/trading/perp/leverage` |\n| `rapidx position set-leverage` | `rapidx/position/set-leverage` | `POST /api/v1/trading/position/leverage` |\n| `rapidx position close` | `rapidx/position/close` | `DELETE /api/v1/trading/position` |\n| `rapidx position close-all` | `rapidx/position/close-all` | `DELETE /api/v1/trading/positions` |\n\n`position.close` does not take `side` or `quantity`. In NET mode, omit `positionSide`; in HEDGE mode, pass the actual `LONG` or `SHORT` side.\n\n## Algo Orders\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx algo place` | `rapidx/algo/place` | `POST /api/v1/algo/order` |\n| `rapidx algo replace` | `rapidx/algo/replace` | `PUT /api/v1/algo/order` |\n| `rapidx algo cancel` | `rapidx/algo/cancel` | `DELETE /api/v1/algo/order` |\n| `rapidx algo query` | `rapidx/algo/query` | `GET /api/v1/algo/order` |\n| `rapidx algo open-orders` | `rapidx/algo/open-orders` | `GET /api/v1/algo/openOrders` |\n| `rapidx algo history` | `rapidx/algo/history` | `GET /api/v1/algo/history/orders` |\n\n`algo.open-orders` means current non-terminal algo orders. `algo.history` accepts optional `begin` and `end` timestamps in milliseconds; if omitted, RapidX applies the upstream default range.\n\n## Generic Preview And Live Verification\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx trade preview` | `rapidx/trade/preview` |\n| `rapidx trade verify-live` | `rapidx/trade/verify-live` |\n\nUse `rapidx/trade/preview` for non-order writes such as `position.set-leverage`, `position.close`, `portfolio.set-position-mode`, `algo.place`, `algo.replace`, and `algo.cancel`.\n\n## Symbol Format\n\nRecommended input symbols:\n\n```text\nBINANCE_PERP_<BASE>_<QUOTE>\nOKX_PERP_<BASE>_<QUOTE>\n```\n\nExamples:\n\n```text\nBINANCE_PERP_BTC_USDT\nBINANCE_PERP_ETH_USDT\nOKX_PERP_BTC_USDT\n```\n\n`OKX_SWAP_<BASE>_<QUOTE>` is accepted as an input alias and normalizes to `OKX_PERP_<BASE>_<QUOTE>`.\n\n## Status Meanings\n\n| Status | Meaning |\n|---|---|\n| `PASS` | Tool or command completed successfully |\n| `INVALID_INPUT` | Local schema or input validation failed |\n| `BLOCKED` | Preview, safety, compatibility, or policy check blocked the action |\n| `NOT_FOUND` | Requested resource was not found |\n| `PERMISSION_SCOPE_ERROR` | Credentials do not cover the requested scope |\n| `BUSINESS_ERROR` | RapidX or venue business rule rejected the request |\n| `NOT_VERIFIED` | Requested state could not be proven |\n| `FAIL` | Startup, auth, network, malformed response, or unexpected failure |\n\nFile v1.0.16:skill-card.md\n\n## Description: <br>\nUse when an agent needs to install or configure RapidX CLI/MCP access, set production LTP credentials, locate the agent workspace MCP config, review integration, discover tools, or run read-only self-checks. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[liquiditytech](https://clawhub.ai/user/liquiditytech) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agent operators use this skill to configure RapidX CLI or MCP access, set required LTP credentials, verify runtime readiness, and produce setup reviews before using separate trading workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Installing the skill can give an agent environment configured with production RapidX credentials access to live trading actions. <br>\nMitigation: Install only in intended agent environments, prefer least-privileged or read-only credentials where possible, and require explicit preview plus confirmation before live trade, cancel, position, leverage, algo, or automation actions. <br>\nRisk: Production credentials may be persisted in agent or MCP configuration. <br>\nMitigation: Use a host secret manager, chat-secret mechanism, or environment references instead of writing real keys into shared configuration, and avoid shared workspaces for production keys. <br>\n\n\n## Reference(s): <br>\n- [RapidX Capability Overview](references/capability-overview.md) <br>\n- [RapidX Skills / CLI / MCP Best Practices](references/best-practices.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown with inline shell commands and JSON or YAML configuration snippets] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include masked credential references, runtime readiness classifications, and integration review tables.] <br>\n\n## Skill Version(s): <br>\n1.0.16 (source: frontmatter and server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.15: 5 files, 16157 bytes\n\nFiles: references/best-practices.md (17692b), references/capability-overview.md (6601b), skill-card.md (2644b), SKILL.md (15516b), _meta.json (137b)\n\nFile v1.0.15:SKILL.md\n\n---\nname: ltp-rapidx-config\nversion: 1.0.15\ndescription: Use when an agent needs to install or configure RapidX CLI/MCP access, set production LTP credentials, locate the agent workspace MCP config, review integration, discover tools, or run read-only self-checks.\n---\n\n# RapidX Config\n\nUse this skill for setup and integration review only. Use `ltp-rapidx-trading` for portfolio, market, order, position, algo, and live trading workflows.\n\n## Scope\n\n- Configure the published RapidX CLI package as the single runtime entrypoint.\n- Configure MCP by launching `rapidx mcp serve` from the agent's own workspace MCP config.\n- Classify whether this agent host is `MCP_READY`, `CLI_ONLY_READY`, or `NOT_VERIFIED`.\n- Verify real tool availability with read-only calls.\n- Produce an integration review with masked credentials and actual evidence.\n\nDo not describe how to install this skill inside the skill itself. Assume the skill has already been installed by the agent host.\n\n## References\n\n- Read `references/capability-overview.md` when checking expected CLI commands, MCP tools, capability names, or endpoint coverage.\n- Read `references/best-practices.md` when doing a full RapidX Skills / CLI / MCP setup review or explaining the recommended external user flow.\n\n## Workspace First\n\nBefore changing MCP config, identify the agent host workspace that will run RapidX:\n\n1. State the active agent workspace path from session/runtime context.\n2. Identify the workspace-local MCP config file read by this same agent host.\n3. If the MCP config path is ambiguous, inspect the confirmed workspace for existing MCP settings.\n4. If still ambiguous, ask the user which MCP config file this agent should edit.\n5. Add or update `mcpServers.rapidx` only after the workspace and config path are known.\n\nNever assume the source repository root, filesystem root, or a global home config is the right target.\n\n## Credential Intake\n\nAsk whether the user wants to provide credentials as a user-provided chat secret. This is the default path for non-programmers, but state the risk first: even protected chat-secret flows are controlled by the agent host and may be subject to that host's retention, access, or collaboration settings.\n\nIf the agent host has a dedicated chat-secret UI, ask the user to create three secrets with the exact names `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`. If the host has no chat-secret UI, ask whether the user wants the agent to write masked-reference placeholders into MCP config or whether they prefer to set local environment variables manually.\n\nOffer alternatives when the user wants stronger isolation:\n\n- Local shell environment variables.\n- Enterprise or OS secret manager referenced by the MCP host.\n\nRules:\n\n- Required variables are `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`.\n- `LTP_API_HOST` has no default. Use the API host provided for the current environment.\n- Do not use `LTP_BASE_URL`, `RAPIDX_BASE_URL`, or `RAPIDX_PORTFOLIO_*`.\n- Do not ask for or echo complete keys in normal chat text when a chat-secret mechanism is available.\n- Never print full keys in logs, config review, test output, or evidence. Use masked values only.\n\n## CLI Install\n\nRapidX is published as an official npm package. Install the CLI:\n\n```bash\nnpm install -g @liquiditytech/rapidx-cli\n```\n\nIf global install is not allowed, install in the confirmed agent workspace and use the workspace-local executable path in MCP config:\n\n```bash\nnpm install @liquiditytech/rapidx-cli\n./node_modules/.bin/rapidx --version\n```\n\nVerify the installed CLI:\n\n```bash\nrapidx --version\nrapidx schema --json\nrapidx update check --json\nrapidx self-check --json\n```\n\n`rapidx schema --json` and MCP `rapidx/tools` must return both `capabilities`/tool entries and concrete `inputSchemas`.\n\nFor CLI-only agents, use direct `rapidx ... --json` commands. Do not create temporary bridge scripts, directory-changing shell chains, or shell command chaining for MCP access.\n\n## Upgrade Existing Installation\n\nUse the CLI as the single version-check entrypoint. If `rapidx` is already available, run:\n\n```bash\nrapidx update check --json\n```\n\nRead these fields:\n\n- CLI: `currentVersion`, `latestVersion`, `status`, `updateAvailable`, `writeAllowed`, `upgrade.global`, `upgrade.workspace`.\n- Skills: `skillsVersion`, `currentSkillsVersion`, `skillsUpdateRecommended`, `upgrade.skills`.\n\n`currentSkillsVersion` is the CLI-bundled expected skills version, not proof of the agent's installed local skills. Inspect the installed or loaded `ltp-rapidx-config` and `ltp-rapidx-trading` frontmatter. Each current skill must declare `version`. When the local version is known, pass it into the check:\n\n```bash\nrapidx update check --input '{\"installedSkillsVersion\":\"<local-skill-version>\"}' --json\n```\n\nFor upgrade review, force a remote manifest refresh:\n\n```bash\nrapidx update check --input '{\"installedSkillsVersion\":\"<local-skill-version>\",\"force\":true}' --json\n```\n\nCompare the local `version` with `latestSkillsVersion` or legacy `skillsVersion` from `rapidx update check --json`. If the local version is missing, lower than the latest skills version, or cannot be read, update or reinstall both RapidX skills using the agent host's normal skill installer, then restart or reload the agent so the new skill content is loaded.\n\nUpgrade order:\n\n1. Update or reinstall both RapidX skills if their local `version` is stale, missing, or unknown.\n2. Restart or reload the agent so the new skills are active.\n3. Upgrade CLI when `updateAvailable=true`, `status=UPGRADE_REQUIRED`, or `status=WRITE_BLOCKED`.\n4. Restart or reload the MCP host when MCP is configured.\n5. Run `rapidx --version`, `rapidx update check --json`, and `rapidx self-check --json`.\n6. If MCP is supported, verify `rapidx/tools`, `rapidx/update/check`, and `rapidx/self-check`.\n\nOfficial npm CLI upgrade:\n\n```bash\nnpm install -g @liquiditytech/rapidx-cli@latest\n```\n\nWorkspace-local CLI upgrade:\n\n```bash\nnpm install @liquiditytech/rapidx-cli@latest\n./node_modules/.bin/rapidx --version\n```\n\n## Runtime Path Selection\n\nClassify the agent after CLI install and, when available, MCP configuration. Do not classify from agent product name or config file existence alone.\n\nBefore install, only choose a candidate path:\n\n- If the host exposes workspace MCP config plus native tool discovery/call surfaces, attempt the MCP path.\n- If the host only exposes shell, exec, or terminal commands, use the CLI-only path.\n- If uncertain, install CLI first, run CLI self-check, and keep MCP as `NOT_VERIFIED` until MCP tools are actually callable.\n\nAfter install/config, set one status:\n\n- `CLI_READY`: `rapidx --version` and `rapidx schema --json` pass.\n- `MCP_READY`: `CLI_READY`, `initialize` returns `serverInfo.name=rapidx`, `tools/list` shows 46 `rapidx/...` tools, and `rapidx/tools`, `rapidx/update/check`, plus `rapidx/self-check` can be called as MCP tools.\n- `CLI_ONLY_READY`: `CLI_READY`, but the host cannot configure, discover, or call MCP tools.\n- `NOT_VERIFIED`: no real invocation evidence, or only a config file was edited.\n\nWriting `mcpServers.rapidx` is only an attempted MCP setup. It is not proof of MCP readiness. If MCP is not `MCP_READY`, mark MCP as `NOT_VERIFIED` and use direct `rapidx ... --json` commands.\n\n## MCP Config\n\nMCP is started by the CLI. Add this server to the agent workspace MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"rapidx\": {\n      \"command\": \"rapidx\",\n      \"args\": [\"mcp\", \"serve\"],\n      \"env\": {\n        \"LTP_ACCESS_KEY\": \"<user-provided-secret-or-env-reference>\",\n        \"LTP_SECRET_KEY\": \"<user-provided-secret-or-env-reference>\",\n        \"LTP_API_HOST\": \"<user-provided-secret-or-env-reference>\"\n      }\n    }\n  }\n}\n```\n\nThe MCP server command should be `rapidx` with args `[\"mcp\", \"serve\"]` when `rapidx` is on the MCP host PATH. If PATH is not guaranteed, use the absolute path to the installed `rapidx` executable as `command` and keep args as `[\"mcp\", \"serve\"]`. Do not point MCP tools at one-off CLI commands and do not add shell script wrappers.\n\nHost-specific setup examples:\n\n```text\nCodex:\n  codex mcp add rapidx -- rapidx mcp serve\n\nClaude Code:\n  claude mcp add --transport stdio rapidx -- rapidx mcp serve\n\nCursor:\n  Add to mcp.json:\n  {\"mcpServers\":{\"rapidx\":{\"command\":\"rapidx\",\"args\":[\"mcp\",\"serve\"],\"env\":{\"LTP_ACCESS_KEY\":\"<secret>\",\"LTP_SECRET_KEY\":\"<secret>\",\"LTP_API_HOST\":\"<secret>\"}}}}\n\nGemini CLI:\n  gemini mcp add rapidx rapidx -- mcp serve\n\nOpenCode:\n  Add to opencode.jsonc:\n  {\"mcp\":{\"rapidx\":{\"type\":\"local\",\"command\":[\"rapidx\",\"mcp\",\"serve\"],\"enabled\":true}}}\n\nOpenClaw:\n  openclaw mcp add rapidx --command rapidx --arg mcp --arg serve\n  openclaw mcp doctor rapidx --probe\n\nHermes:\n  hermes mcp add rapidx --command rapidx --args mcp serve\n```\n\nFor OpenClaw, use repeated `--arg` entries. Do not use `--args`.\n\nFor Hermes, use a single `--args` and put `mcp serve` after it. Do not repeat `--args`, because Hermes treats the first `--args` as the start of the child command arguments.\n\nIf a host CLI tries to run an interactive `mcp add` flow and blocks on prompts like enabling all tools, do not keep retrying it in a non-interactive terminal. Edit the confirmed workspace MCP config directly with the JSON above, then restart or reload the agent host and verify through real MCP tool discovery.\n\n## Expected MCP Tools\n\nHealthy MCP discovery exposes 46 tools:\n\n```text\nDiscovery: rapidx/tools, rapidx/self-check, rapidx/update/check\nMarket:    rapidx/market/get-ticker, rapidx/market/get-orderbook, rapidx/market/get-klines,\n           rapidx/market/get-funding-rate, rapidx/market/get-mark-price,\n           rapidx/market/get-symbol-info, rapidx/market/get-open-interest\nPortfolio: rapidx/portfolio/overview, rapidx/portfolio/assets,\n           rapidx/portfolio/statement, rapidx/portfolio/user-fee-rate,\n           rapidx/portfolio/position-bracket, rapidx/portfolio/set-position-mode\nTrade:     rapidx/trade/preview, rapidx/trade/verify-live\nAutomation:\n           rapidx/automation/start, rapidx/automation/list,\n           rapidx/automation/status, rapidx/automation/extend,\n           rapidx/automation/stop\nOrder:     rapidx/order/place-preview, rapidx/order/replace-preview,\n           rapidx/order/cancel-preview,\n           rapidx/order/place, rapidx/order/replace, rapidx/order/cancel,\n           rapidx/order/cancel-all, rapidx/order/query,\n           rapidx/order/open-orders, rapidx/order/history\nTransactions:\n           rapidx/transaction/executions\nPosition:  rapidx/position/query, rapidx/position/history,\n           rapidx/position/get-leverage, rapidx/position/close,\n           rapidx/position/close-all, rapidx/position/set-leverage\nAlgo:      rapidx/algo/place, rapidx/algo/replace, rapidx/algo/cancel,\n           rapidx/algo/open-orders, rapidx/algo/history, rapidx/algo/query\n```\n\n`open-orders` means current non-terminal orders, not \"open an order\". These orders may still be fillable, replaceable, or cancelable. `algo/open-orders` means current non-terminal algo orders such as conditional or TPSL orders that have not triggered, been canceled, or otherwise ended.\n\nLegacy snake_case names such as `get_ticker`, `place_order`, or `list_positions` indicate a stale integration and should not be used.\n\n## Read-Only Self-Check\n\nThe self-check proves the configured runtime is real. Do not simulate results, invent balances, or claim success from documentation alone.\n\nRun the quick check:\n\n1. Confirm `CLI_READY` with `rapidx --version` and `rapidx schema --json`, including readable `inputSchemas`.\n2. Run `rapidx update check --json` during setup or review. This may read the GitHub release manifest and cache the result locally.\n3. If attempting MCP, discover tools through the MCP host and confirm the 46-tool inventory.\n4. Call `rapidx/update/check` when the host supports MCP tool invocation.\n5. Call `rapidx/self-check` when the host supports MCP tool invocation.\n6. Call one public market route, preferably `rapidx/market/get-ticker` for `BINANCE_PERP_BTC_USDT`. If the user provides a Binance native symbol, normalize it before calling RapidX: `BTCUSDT` becomes `BINANCE_PERP_BTC_USDT`, and a Chinese base asset such as `币安人生USDT` becomes `BINANCE_PERP_币安人生_USDT`.\n7. Call read routes for portfolio overview, portfolio assets, open orders, positions, and algo orders.\n\nIf the host cannot invoke MCP tools yet, run equivalent CLI read-only checks and mark MCP tool invocation as `NOT_VERIFIED`; do not convert CLI success into MCP success.\n\nRun the deeper review when asked for integration review or self-validation:\n\n```text\n1. rapidx/tools\n2. rapidx/update/check\n3. rapidx/self-check\n4. rapidx/market/get-ticker\n5. rapidx/market/get-orderbook\n6. rapidx/market/get-klines\n7. rapidx/market/get-funding-rate\n8. rapidx/market/get-mark-price\n9. rapidx/market/get-symbol-info\n10. rapidx/market/get-open-interest\n11. rapidx/portfolio/overview\n12. rapidx/portfolio/assets\n13. rapidx/order/open-orders\n14. rapidx/order/history\n15. rapidx/order/query with a deliberately nonexistent self-check order id\n16. rapidx/position/query\n17. rapidx/position/history\n18. rapidx/algo/open-orders\n19. rapidx/algo/history\n20. rapidx/algo/query with a deliberately nonexistent self-check algo order id\n```\n\nDo not call removed `mode=\"account\"` portfolio asset checks during setup. `rapidx/portfolio/assets` is the supported balance/assets read for portfolio credentials.\n\n## Result Classes\n\n- `PASS`: actual tool or command returned a successful real response.\n- `EXPECTED_ERROR`: route is live and returned a real business, permission, unsupported-mode, or deliberate not-found error.\n- `INVALID_INPUT`: schema or local input validation rejected the request before submission.\n- `NOT_FOUND`: a syntactically valid requested resource does not exist, such as a valid-format order id that RapidX cannot find.\n- `PERMISSION_SCOPE_ERROR`: credentials are valid but do not cover the requested route or portfolio scope.\n- `BUSINESS_ERROR`: RapidX or the venue returned a business-rule rejection.\n- `FAIL`: tool is missing, startup/auth/network failed, response is malformed, or a required call timed out.\n- `NOT_VERIFIED`: the agent could not invoke the tool or the user declined credentials.\n\nIf update check returns `WRITE_BLOCKED`, `UPGRADE_REQUIRED`, or `skillsUpdateRecommended=true`, report it in the review. Do not run trading writes until a `WRITE_BLOCKED` or `UPGRADE_REQUIRED` CLI is upgraded and the MCP host is restarted.\n\nEvery row must include `toolOrCommandEvidence` or equivalent observed code/message evidence. Empty order, position, or history lists are `PASS` if the response is real and well formed.\n\n## Integration Review Output\n\nReturn this structure when asked to review setup:\n\n```markdown\n# RapidX Integration Review\n\n## Verdict\n- status: PASS / PARTIAL / FAIL / NOT_VERIFIED\n- runtime path: MCP_READY / CLI_ONLY_READY / NOT_VERIFIED\n- main issues:\n\n## Workspace And Config\n- agent workspace:\n- MCP config path:\n- MCP command: rapidx mcp serve\n- CLI package:\n- host:\n- credentials: configured and masked / missing / not verified\n\n## Tool Discovery\n- expected MCP tools: 46\n- actual MCP tools:\n- missing tools:\n- legacy tools found:\n\n## Version And Upgrade\n- current CLI:\n- latest CLI:\n- minimum write version:\n- update status:\n- skills update recommended:\n\n## Read-Only Checks\n| check | result | evidence |\n| --- | --- | --- |\n\n## Required Fixes\n- ...\n```\n\nSwitch to `ltp-rapidx-trading` for any write verification or live trading test.\n\nFile v1.0.15:_meta.json\n\n{\n  \"ownerId\": \"kn73kps0f7zwmrka0kz101ymad87wexe\",\n  \"slug\": \"ltp-rapidx-config\",\n  \"version\": \"1.0.15\",\n  \"publishedAt\": 1782718734888\n}\n\nFile v1.0.15:references/best-practices.md\n\n# RapidX Skills / CLI / MCP Best Practices\n\n## Overview\n\nRapidX is delivered as a complete Agent integration stack:\n\n- **Skills** teach the Agent how to install, configure, choose CLI or MCP, run self-checks, and operate RapidX.\n- **CLI** is the unified local runtime for atomic operations and also starts the MCP server through `rapidx mcp serve`.\n- **MCP** is the structured tool surface for MCP-capable Agents and shares the same CLI/Core capabilities.\n\nThe best practice is not to make users memorize every command. Let the Agent install and read the skills first. Load the installed `ltp-rapidx-config` skill to configure CLI/MCP and run self-checks, then load `ltp-rapidx-trading` for queries, preview, submit, automation, and readback. Skill names are not shell commands.\n\nRecommended flow:\n\n```text\nInstall Skills\n→ ltp-rapidx-config installs/configures CLI\n→ configure credentials and API host\n→ choose MCP_READY or CLI_ONLY_READY\n→ run self-check\n→ ltp-rapidx-trading uses MCP or CLI\n→ preview before write\n→ submit\n→ readback and reconcile\n```\n\n## 1. Role Of Each Layer\n\n| Layer | Role | Best Practice |\n|---|---|---|\n| Skills | Agent guidance | Install and read `ltp-rapidx-config` first, then use `ltp-rapidx-trading`. |\n| CLI | Unified local runtime | Install from official npm and use `rapidx ... --json` for CLI-only Agents. |\n| MCP | Structured tool interface | Start with `rapidx mcp serve`; MCP-capable Agents call `rapidx/*` tools directly. |\n| Core | Shared implementation | CLI and MCP share schemas, API client, preview, automation, audit, and self-check. |\n\nThe MCP server is not a separate package. It is started by the CLI:\n\n```bash\nrapidx mcp serve\n```\n\nMCP tools should call the shared RapidX core directly. They should not shell out through temporary scripts, wrapper files, or `cd ... && node ...` command chains.\n\n## 2. Recommended External User Flow\n\n### Step 1: Install Skills\n\nUsers can install skills themselves, or send an executable instruction to their Agent.\n\nRecommended instruction to send to the Agent:\n\n```text\nYou are my Agent. Install the RapidX skills into the current workspace using the skill installation method supported by your Agent host.\n\nSource repository:\nhttps://github.com/LiquidityTech/ltp-rapidx-skill\n\nInstall both skills:\n- ltp-rapidx-config\n- ltp-rapidx-trading\n\nAfter installation, load and follow the installed `ltp-rapidx-config` skill first. It is not a shell command. Use it to install or upgrade @liquiditytech/rapidx-cli from official npm, configure RapidX credentials, configure MCP if this host supports MCP, and run RapidX self-check.\n\nDo not start market queries or trading until you can report one of:\n- MCP_READY\n- CLI_ONLY_READY\n- NOT_VERIFIED\n```\n\nThe exact installation command depends on the Agent host. Use the official RapidX docs or skill repository README for Codex, Claude Code, Cursor, Gemini CLI, OpenCode, OpenClaw, and Hermes.\n\n### Step 2: Use Config Skill\n\nThe Agent should load and follow `ltp-rapidx-config` before any market query or trade. This is a skill-guided workflow, not a shell command named `ltp-rapidx-config`.\n\nConfig skill responsibilities:\n\n1. Confirm the Agent workspace.\n2. Install or upgrade `@liquiditytech/rapidx-cli` from official npm.\n3. Configure credentials.\n4. Configure MCP when the host supports MCP.\n5. Run tool discovery.\n6. Run read-only self-check.\n7. Report `MCP_READY`, `CLI_ONLY_READY`, or `NOT_VERIFIED`.\n\n### Step 3: Use Trading Skill\n\nAfter config is verified, the Agent should use `ltp-rapidx-trading`.\n\nTrading skill responsibilities:\n\n1. Choose MCP or CLI based on the config result.\n2. Read runtime schemas before constructing write inputs.\n3. Normalize symbols.\n4. Query current state before trading.\n5. Preview before every write.\n6. Use automation sessions only after explicit user authorization.\n7. Read back final order, position, transaction, or algo state.\n\n## 3. Credentials And API Host\n\nRequired values:\n\n```text\nLTP_ACCESS_KEY\nLTP_SECRET_KEY\nLTP_API_HOST\n```\n\n`LTP_API_HOST` has no default. Use the API host provided by the event, environment, or workspace owner.\n\nBest practice for non-programmer users:\n\n1. Prefer the Agent host's user-provided chat secret mechanism.\n2. Ask the user to create secrets named exactly `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`.\n3. Do not ask the user to paste full keys into public chats, screenshots, logs, or repositories.\n\nFallbacks:\n\n- MCP config environment references.\n- Shell environment variables.\n- A secret manager configured by the workspace owner.\n\nDo not use legacy names:\n\n```text\nLTP_BASE_URL\nRAPIDX_BASE_URL\nRAPIDX_PORTFOLIO_ACCESS_KEY\nRAPIDX_PORTFOLIO_SECRET_KEY\n```\n\n## 4. CLI Installation\n\nInstall from official npm:\n\n```bash\nnpm install -g @liquiditytech/rapidx-cli@latest\n```\n\nVerify:\n\n```bash\nrapidx --version\nrapidx schema --json\nrapidx auth check --json\nrapidx update check --json\n```\n\nFor CLI-only Agents, use JSON output:\n\n```bash\nrapidx self-check --json\n```\n\nAvoid:\n\n- wrapper scripts\n- temporary JavaScript bridge files\n- `cd ... && rapidx ...`\n- command chains that may trigger Agent host exec preflight blocking\n\nIf the Agent host needs a working directory, configure it through the host tool setting rather than a shell chain.\n\n## 5. MCP Configuration\n\nMCP-capable hosts should configure the server command as:\n\n```bash\nrapidx mcp serve\n```\n\nExample MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"rapidx\": {\n      \"command\": \"rapidx\",\n      \"args\": [\"mcp\", \"serve\"],\n      \"env\": {\n        \"LTP_ACCESS_KEY\": \"<secret-ref>\",\n        \"LTP_SECRET_KEY\": \"<secret-ref>\",\n        \"LTP_API_HOST\": \"<secret-ref>\"\n      }\n    }\n  }\n}\n```\n\nAfter configuration, reload or restart the MCP host and verify:\n\n```text\nrapidx/tools\nrapidx/self-check\nrapidx/update/check\n```\n\nExpected tool surface should include:\n\n```text\nrapidx/tools\nrapidx/self-check\nrapidx/update/check\nrapidx/order/place-preview\nrapidx/order/place\nrapidx/order/replace-preview\nrapidx/order/replace\nrapidx/order/cancel-preview\nrapidx/order/cancel\nrapidx/transaction/executions\nrapidx/automation/start\nrapidx/automation/status\n```\n\nIf old tools such as `rapidx/order/preview` or `rapidx/order/executions` appear, upgrade the CLI, restart MCP, and rerun self-check.\n\n## 6. Version And Upgrade\n\nRun update checks during setup, review, or session startup:\n\n```bash\nrapidx update check --json\n```\n\nDo not run network update checks before every trade. It slows execution and creates avoidable failure points.\n\nUpgrade order:\n\n1. Upgrade skills when the local skill version is missing, stale, or unknown.\n2. Upgrade CLI.\n3. Restart or reload the MCP host.\n4. Run self-check again.\n\nSkills should include a `version:` field in `SKILL.md` frontmatter. Agents should use it when comparing local skills with the release manifest.\n\n## 7. Runtime Selection\n\nThe Agent should decide from evidence, not guessing.\n\n| State | Meaning | Action |\n|---|---|---|\n| `MCP_READY` | MCP tools are visible and self-check passed. | Use MCP tools. |\n| `CLI_ONLY_READY` | CLI works but MCP is unavailable. | Use CLI commands with `--json`. |\n| `NOT_VERIFIED` | Runtime cannot prove tool availability. | Stop and run config self-check. |\n\nDo not switch from MCP to CLI inside the same trade unless MCP is confirmed degraded and state has been read back.\n\nPreview ids are runtime-local:\n\n- MCP preview ids must be submitted through the same MCP runtime.\n- CLI preview ids must be submitted through the same CLI runtime.\n\n## 8. Session Startup Checklist\n\nAt the start of a trading session, the Agent should run:\n\n```text\nupdate check\nself-check\nportfolio overview\nportfolio assets\norder open-orders\nposition query\nalgo open-orders\n```\n\nMCP path:\n\n```text\nrapidx/update/check\nrapidx/self-check\nrapidx/portfolio/overview\nrapidx/portfolio/assets\nrapidx/order/open-orders\nrapidx/position/query\nrapidx/algo/open-orders\n```\n\nCLI path:\n\n```bash\nrapidx update check --json\nrapidx self-check --json\nrapidx portfolio overview --json\nrapidx portfolio assets --json\nrapidx order open-orders --json\nrapidx position query --json\nrapidx algo open-orders --json\n```\n\n## 9. Symbol And Quantity\n\nRapidX order inputs use RapidX canonical symbols.\n\nRecommended format:\n\n```text\nBINANCE_PERP_<BASE>_<QUOTE>\nOKX_PERP_<BASE>_<QUOTE>\n```\n\nExamples:\n\n```text\nBINANCE_PERP_BTC_USDT\nBINANCE_PERP_ETH_USDT\nOKX_PERP_BTC_USDT\n```\n\nNormalize common user expressions:\n\n| User expression | RapidX symbol |\n|---|---|\n| `BTCUSDT` | `BINANCE_PERP_BTC_USDT` |\n| `btcusdt` | `BINANCE_PERP_BTC_USDT` |\n| `BTC/USDT` | `BINANCE_PERP_BTC_USDT` |\n| `币安人生USDT` | `BINANCE_PERP_币安人生_USDT` |\n\nFor RapidX PERP order placement:\n\n- Use `quantity`.\n- Do not send quote `amount`.\n- Use `maxNotional` as a safety upper bound, not as the target order amount.\n\nBefore trading, query symbol rules:\n\n```bash\nrapidx market get-symbol-info --input '{\"symbol\":\"BINANCE_PERP_BTC_USDT\"}' --json\n```\n\nThe Agent should check minimum notional, minimum quantity, lot size, price tick size, and contract size. If the requested order is below the minimum, ask the user to approve the revised quantity or notional first.\n\n## 10. Read Before Write\n\nBefore any write, read the current state.\n\n| Workflow | Required reads |\n|---|---|\n| Place order | symbol info, ticker/orderbook, portfolio assets, open orders, positions |\n| Replace order | order query, open orders, symbol info |\n| Cancel order | order query or open orders |\n| Close position | position query, open orders |\n| Algo / TPSL | position query, algo open-orders, symbol info |\n| Set leverage | current leverage, position query |\n\nThe Agent should not infer current state from memory or previous chat.\n\n## 11. Preview Then Submit\n\nEvery write with `previewRequired=true` must use:\n\n```text\npreview\n→ submit with same business params + previewId + continueConsentId\n→ readback\n```\n\nOrder place:\n\n```text\nrapidx/order/place-preview\nrapidx/order/place\nrapidx/order/query\n```\n\nOrder replace:\n\n```text\nrapidx/order/replace-preview\nrapidx/order/replace\nrapidx/order/query\n```\n\nOrder cancel:\n\n```text\nrapidx/order/cancel-preview\nrapidx/order/cancel\nrapidx/order/query\n```\n\nNon-order writes:\n\n```text\nrapidx/trade/preview\ntarget write tool\nmatching readback tool\n```\n\nIf any business parameter changes after preview, create a new preview. Business parameters include symbol, side, positionSide, quantity, price, orderType, orderId, clientOrderId, leverage, and account mode.\n\n## 12. Automation\n\nAutomation is a bounded local authorization session. It lets the Agent submit matching previews without asking for another per-order chat confirmation.\n\nAutomation still requires preview.\n\nUser authorization must include:\n\n- symbols\n- maxNotionalPerOrder\n- maxTotalNotional\n- duration\n- allowedActions\n- allowedOrderTypes\n- explicit risk text\n\nCreate a session:\n\n```bash\nrapidx automation start --input '{\n  \"symbols\": [\"BINANCE_PERP_BTC_USDT\"],\n  \"maxNotionalPerOrder\": \"100\",\n  \"maxTotalNotional\": \"1000\",\n  \"expiresInSeconds\": 3600,\n  \"allowedActions\": [\"order.place\", \"order.replace\", \"order.cancel\"],\n  \"allowedOrderTypes\": [\"MARKET\", \"LIMIT\"],\n  \"explicitUserConsent\": true,\n  \"acceptedRiskText\": \"I authorize RapidX automation for BINANCE_PERP_BTC_USDT with maxNotionalPerOrder 100 and maxTotalNotional 1000.\"\n}' --json\n```\n\nUse the session in preview:\n\n```bash\nrapidx order place-preview --input '{\n  \"automationSessionId\": \"ras_xxx\",\n  \"symbol\": \"BINANCE_PERP_BTC_USDT\",\n  \"side\": \"BUY\",\n  \"orderType\": \"MARKET\",\n  \"quantity\": \"0.001\",\n  \"maxNotional\": \"100\",\n  \"clientOrderId\": \"auto-001\"\n}' --json\n```\n\nAuto-submit only when preview returns:\n\n```json\n{\n  \"automationSession\": {\n    \"confirmationMode\": \"automation-session\"\n  },\n  \"confirmation\": {\n    \"submitToken\": \"confirm_rpv_xxx\"\n  }\n}\n```\n\nAutomation management:\n\n| Tool | Best Practice |\n|---|---|\n| `automation status` | Check remaining scope, expiry, and allowed actions. |\n| `automation extend` | Requires new user authorization; only extends time. |\n| `automation stop` | Stops future automation preview/submit; does not cancel existing orders. |\n\nUse `allowedActions=[\"order.place\",\"order.replace\",\"order.cancel\"]` for normal order lifecycle automation.\n\n## 13. Order Types\n\nUse runtime schema as the source of truth.\n\n| Order type | Use when | Required fields |\n|---|---|---|\n| `LIMIT` | User requires price boundary. | `price`, `quantity` |\n| `MARKET` | User wants immediate execution and accepts slippage. | `quantity`, `maxNotional` |\n\nDo not silently convert a requested `MARKET` order into a best-bid or best-ask `LIMIT` order.\n\n`MARKET` orders are supported after preview and explicit authorization. After submit, read back order status, executions, and position.\n\n## 14. Readback And Reconciliation\n\nSubmit success is not enough. The Agent must verify final state.\n\nAfter place:\n\n```text\norder query\ntransaction executions\nposition query\n```\n\nAfter cancel:\n\n```text\norder query until terminal\norder open-orders\n```\n\nAfter close position:\n\n```text\nposition query\ntransaction executions\n```\n\nAfter algo place:\n\n```text\nalgo open-orders\nalgo query\n```\n\n`order.cancel` is asynchronous. `cancelAccepted=true` means the request was accepted. If `terminalStateConfirmed=false`, poll `order query` until `CANCELED`, `REJECTED`, `EXPIRED`, or timeout.\n\nIf a write times out or state is uncertain, query state before retrying. Do not blindly repeat write requests.\n\n## 15. Position And Algo\n\nPosition close:\n\n- Query current position first.\n- NET mode: omit `positionSide`.\n- HEDGE mode: use actual `LONG` or `SHORT`.\n- Do not pass `side` or `quantity`.\n- Use reduce-only order flow for partial close.\n\nSet leverage:\n\n- Preview with `targetCapabilityId=\"position.set-leverage\"`.\n- User must authorize symbol and leverage.\n- Read back with `position get-leverage`.\n\nTPSL / conditional algo:\n\n- Preview with `targetCapabilityId=\"algo.place\"`.\n- Submit `algo place`.\n- Read back with `algo open-orders` or `algo query`.\n- `conditionType=\"ENTIRE_CLOSE_POSITION\"` may use `orderType=\"MARKET\"` without `quantity`.\n- Require at least one take-profit or stop-loss trigger.\n\n## 16. Error Handling\n\n| status | Agent action |\n|---|---|\n| `INVALID_INPUT` | Fix input; do not retry unchanged. |\n| `BLOCKED` | Read blocking reason; usually re-preview or ask user. |\n| `NOT_FOUND` | Read current state; target may not exist or may no longer be open. |\n| `PERMISSION_SCOPE_ERROR` | Credential scope does not cover the requested capability. |\n| `BUSINESS_ERROR` | Upstream rule rejected the request; inspect `details`. |\n| `NOT_VERIFIED` | State could not be proven; query again or report unverified. |\n| `FAIL` | Diagnose auth, network, startup, or malformed response. |\n\nCommon cases:\n\n- Invalid `orderId` format returns local `INVALID_INPUT`.\n- Valid-format but missing order returns readback `NOT_FOUND`.\n- Expired preview requires a new preview.\n- Submit params changed after preview returns `BLOCKED`.\n- Old MCP tool list means upgrade CLI and reload MCP host.\n\n## 17. Final Answer Format\n\nAgent final answers should include:\n\n```text\nRuntime path: MCP_READY or CLI_ONLY_READY\nTools or commands called\nSymbol / side / orderType / quantity / price\nPreview result\nSubmit result\nOrder id or client order id\nReadback result\nFinal state: open, filled, cancelled, closed, unchanged, or not verified\nRemaining user authorization needed, if any\n```\n\nFor automation:\n\n```text\nautomationSessionId\nsymbols\nmaxNotionalPerOrder\nmaxTotalNotional\nused or remaining scope\nexpiresAt\nallowedActions\nallowedOrderTypes\n```\n\n## 18. Things Agents Must Not Do\n\n- Do not fake query, trade, self-check, or readback results.\n- Do not echo full keys.\n- Do not submit writes without a preview token.\n- Do not cross-submit MCP preview ids through CLI, or CLI preview ids through MCP.\n- Do not shell through temporary scripts.\n- Do not use `cd ... && rapidx ...` command chains.\n- Do not blindly retry after timeout.\n- Do not treat `maxNotional` as target order amount.\n- Do not auto-increase orders to meet minimum notional without user approval.\n- Do not silently replace MARKET with LIMIT.\n- Do not interpret `open-orders` as \"open a new order\".\n\n## 19. Minimal Safe Workflows\n\n### First-Time Setup\n\n```text\n1. Install ltp-rapidx-config and ltp-rapidx-trading skills\n2. Load and follow the installed `ltp-rapidx-config` skill\n3. Install CLI from official npm\n4. Configure LTP_ACCESS_KEY, LTP_SECRET_KEY, LTP_API_HOST\n5. Configure MCP if supported\n6. Run update check and self-check\n7. Confirm MCP_READY or CLI_ONLY_READY\n```\n\n### Manual Trade\n\n```text\n1. Read portfolio, open orders, positions\n2. Read symbol info and market data\n3. order place-preview\n4. Ask user to confirm exact preview\n5. order place\n6. order query\n7. transaction executions or position query\n```\n\n### Automation Trade\n\n```text\n1. User authorizes automation scope in chat\n2. automation start\n3. order place-preview with automationSessionId\n4. order place with previewId and continueConsentId\n5. order query\n6. automation status\n```\n\n### Replace Or Cancel\n\n```text\n1. order open-orders\n2. order query\n3. replace-preview or cancel-preview\n4. replace or cancel\n5. order query until final or known current state\n```\n\n### Close Position\n\n```text\n1. position query\n2. trade preview with targetCapabilityId=\"position.close\"\n3. position close\n4. position query\n5. transaction executions when needed\n```\n\n### TPSL / Algo\n\n```text\n1. position query\n2. algo open-orders\n3. trade preview with targetCapabilityId=\"algo.place\"\n4. algo place\n5. algo open-orders or algo query\n```\n\n## 20. Local Skill References\n\nUse these local references from the installed skill directory:\n\n- `references/best-practices.md`\n- `references/capability-overview.md`\n\nFile v1.0.15:references/capability-overview.md\n\n# RapidX Capability Overview\n\nUse `rapidx schema --json` or MCP `rapidx/tools` as the runtime source of truth. This reference is a compact map for Agent planning.\n\n## Runtime Layers\n\n| Layer | Purpose |\n|---|---|\n| CLI | Atomic local operations through `rapidx <domain> <action> --json` |\n| MCP | Structured Agent tools served by `rapidx mcp serve` |\n| Core | Shared schemas, credential resolution, RapidX API client, preview, automation, audit, and self-check |\n| Skills | Agent guidance for setup, review, trading, automation, and readback |\n\n## Diagnostics And Discovery\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx --version` | - |\n| `rapidx schema --json` | `rapidx/tools` |\n| `rapidx update check --json` | `rapidx/update/check` |\n| `rapidx auth check` | - |\n| `rapidx doctor --json` | - |\n| `rapidx self-check --json` | `rapidx/self-check` |\n| `rapidx mcp serve` | starts the MCP server |\n\n## Automation\n\nAutomation sessions are local authorization sessions. They do not map to RapidX HTTP endpoints.\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx automation start` | `rapidx/automation/start` |\n| `rapidx automation list` | `rapidx/automation/list` |\n| `rapidx automation status` | `rapidx/automation/status` |\n| `rapidx automation extend` | `rapidx/automation/extend` |\n| `rapidx automation stop` | `rapidx/automation/stop` |\n\n## Market\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx market get-ticker` | `rapidx/market/get-ticker` |\n| `rapidx market get-orderbook` | `rapidx/market/get-orderbook` |\n| `rapidx market get-klines` | `rapidx/market/get-klines` |\n| `rapidx market get-funding-rate` | `rapidx/market/get-funding-rate` |\n| `rapidx market get-mark-price` | `rapidx/market/get-mark-price` |\n| `rapidx market get-symbol-info` | `rapidx/market/get-symbol-info` |\n| `rapidx market get-open-interest` | `rapidx/market/get-open-interest` |\n\n## Portfolio\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx portfolio overview` | `rapidx/portfolio/overview` | `GET /api/v1/trading/account` |\n| `rapidx portfolio assets` | `rapidx/portfolio/assets` | `GET /api/v1/trading/portfolio/assets` |\n| `rapidx portfolio statement` | `rapidx/portfolio/statement` | `GET /api/v1/trading/statement` |\n| `rapidx portfolio user-fee-rate` | `rapidx/portfolio/user-fee-rate` | `GET /api/v1/broker/feeRate` |\n| `rapidx portfolio position-bracket` | `rapidx/portfolio/position-bracket` | `GET /api/v1/trading/broker/positionBracket` |\n| `rapidx portfolio set-position-mode` | `rapidx/portfolio/set-position-mode` | `POST /api/v1/trading/account` |\n\n## Orders\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx order place-preview` | `rapidx/order/place-preview` | preview for place |\n| `rapidx order replace-preview` | `rapidx/order/replace-preview` | preview for replace |\n| `rapidx order cancel-preview` | `rapidx/order/cancel-preview` | preview for cancel |\n| `rapidx order place` | `rapidx/order/place` | `POST /api/v1/trading/order` |\n| `rapidx order replace` | `rapidx/order/replace` | `PUT /api/v1/trading/order` |\n| `rapidx order cancel` | `rapidx/order/cancel` | `DELETE /api/v1/trading/order` |\n| `rapidx order cancel-all` | `rapidx/order/cancel-all` | `DELETE /api/v1/trading/cancelAll` |\n| `rapidx order query` | `rapidx/order/query` | `GET /api/v1/trading/order` |\n| `rapidx order open-orders` | `rapidx/order/open-orders` | `GET /api/v1/trading/orders` |\n| `rapidx order history` | `rapidx/order/history` | `GET /api/v1/trading/history/orders` |\n\n`open-orders` means current non-terminal orders, not \"open a new order\". `order.history` accepts optional `begin` and `end` timestamps in milliseconds; if omitted, RapidX applies the upstream default range.\n\n## Transactions\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx transaction executions` | `rapidx/transaction/executions` | `GET /api/v1/trading/executions` |\n\n## Positions\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx position query` | `rapidx/position/query` | `GET /api/v1/trading/position` |\n| `rapidx position history` | `rapidx/position/history` | `GET /api/v1/trading/history/position` |\n| `rapidx position get-leverage` | `rapidx/position/get-leverage` | `GET /api/v1/trading/perp/leverage` |\n| `rapidx position set-leverage` | `rapidx/position/set-leverage` | `POST /api/v1/trading/position/leverage` |\n| `rapidx position close` | `rapidx/position/close` | `DELETE /api/v1/trading/position` |\n| `rapidx position close-all` | `rapidx/position/close-all` | `DELETE /api/v1/trading/positions` |\n\n`position.close` does not take `side` or `quantity`. In NET mode, omit `positionSide`; in HEDGE mode, pass the actual `LONG` or `SHORT` side.\n\n## Algo Orders\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx algo place` | `rapidx/algo/place` | `POST /api/v1/algo/order` |\n| `rapidx algo replace` | `rapidx/algo/replace` | `PUT /api/v1/algo/order` |\n| `rapidx algo cancel` | `rapidx/algo/cancel` | `DELETE /api/v1/algo/order` |\n| `rapidx algo query` | `rapidx/algo/query` | `GET /api/v1/algo/order` |\n| `rapidx algo open-orders` | `rapidx/algo/open-orders` | `GET /api/v1/algo/openOrders` |\n| `rapidx algo history` | `rapidx/algo/history` | `GET /api/v1/algo/history/orders` |\n\n`algo.open-orders` means current non-terminal algo orders. `algo.history` accepts optional `begin` and `end` timestamps in milliseconds; if omitted, RapidX applies the upstream default range.\n\n## Generic Preview And Live Verification\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx trade preview` | `rapidx/trade/preview` |\n| `rapidx trade verify-live` | `rapidx/trade/verify-live` |\n\nUse `rapidx/trade/preview` for non-order writes such as `position.set-leverage`, `position.close`, `portfolio.set-position-mode`, `algo.place`, `algo.replace`, and `algo.cancel`.\n\n## Symbol Format\n\nRecommended input symbols:\n\n```text\nBINANCE_PERP_<BASE>_<QUOTE>\nOKX_PERP_<BASE>_<QUOTE>\n```\n\nExamples:\n\n```text\nBINANCE_PERP_BTC_USDT\nBINANCE_PERP_ETH_USDT\nOKX_PERP_BTC_USDT\n```\n\n`OKX_SWAP_<BASE>_<QUOTE>` is accepted as an input alias and normalizes to `OKX_PERP_<BASE>_<QUOTE>`.\n\n## Status Meanings\n\n| Status | Meaning |\n|---|---|\n| `PASS` | Tool or command completed successfully |\n| `INVALID_INPUT` | Local schema or input validation failed |\n| `BLOCKED` | Preview, safety, compatibility, or policy check blocked the action |\n| `NOT_FOUND` | Requested resource was not found |\n| `PERMISSION_SCOPE_ERROR` | Credentials do not cover the requested scope |\n| `BUSINESS_ERROR` | RapidX or venue business rule rejected the request |\n| `NOT_VERIFIED` | Requested state could not be proven |\n| `FAIL` | Startup, auth, network, malformed response, or unexpected failure |\n\nFile v1.0.15:skill-card.md\n\n## Description: <br>\nUse when an agent needs to install or configure RapidX CLI/MCP access, set production LTP credentials, locate the agent workspace MCP config, review integration, discover tools, or run read-only self-checks. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[liquiditytech](https://clawhub.ai/user/liquiditytech) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agent operators use this skill to configure RapidX CLI or MCP access, handle LTP credentials, verify runtime readiness, and produce read-only integration reviews before trading workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: LTP credentials could be exposed if copied into normal chat, logs, screenshots, or repository files. <br>\nMitigation: Use the agent host's secret mechanism, local environment variables, or a local secret manager, and only show masked credential values in reviews or test output. <br>\nRisk: Editing the wrong MCP configuration can configure RapidX for a different workspace than the active agent host. <br>\nMitigation: Confirm the active workspace and workspace-local MCP config path before changing mcpServers.rapidx, then verify with read-only CLI or MCP self-checks. <br>\nRisk: A configured RapidX MCP server can expose trading-capable tools even when this setup skill emphasizes read-only checks. <br>\nMitigation: Use this skill for setup and read-only verification only, and require explicit trading workflow authorization and previews before any live trading actions. <br>\n\n\n## Reference(s): <br>\n- [RapidX Capability Overview](references/capability-overview.md) <br>\n- [RapidX Skills / CLI / MCP Best Practices](references/best-practices.md) <br>\n- [ClawHub skill page](https://clawhub.ai/liquiditytech/skills/ltp-rapidx-config) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown with inline shell commands and JSON configuration snippets] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Includes masked credential handling guidance, runtime readiness classifications, and read-only self-check evidence.] <br>\n\n## Skill Version(s): <br>\n1.0.15 (source: frontmatter and server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.14: 5 files, 16050 bytes\n\nFiles: references/best-practices.md (17692b), references/capability-overview.md (6599b), skill-card.md (2307b), SKILL.md (15516b), _meta.json (137b)\n\nFile v1.0.14:SKILL.md\n\n---\nname: ltp-rapidx-config\nversion: 1.0.14\ndescription: Use when an agent needs to install or configure RapidX CLI/MCP access, set production LTP credentials, locate the agent workspace MCP config, review integration, discover tools, or run read-only self-checks.\n---\n\n# RapidX Config\n\nUse this skill for setup and integration review only. Use `ltp-rapidx-trading` for portfolio, market, order, position, algo, and live trading workflows.\n\n## Scope\n\n- Configure the published RapidX CLI package as the single runtime entrypoint.\n- Configure MCP by launching `rapidx mcp serve` from the agent's own workspace MCP config.\n- Classify whether this agent host is `MCP_READY`, `CLI_ONLY_READY`, or `NOT_VERIFIED`.\n- Verify real tool availability with read-only calls.\n- Produce an integration review with masked credentials and actual evidence.\n\nDo not describe how to install this skill inside the skill itself. Assume the skill has already been installed by the agent host.\n\n## References\n\n- Read `references/capability-overview.md` when checking expected CLI commands, MCP tools, capability names, or endpoint coverage.\n- Read `references/best-practices.md` when doing a full RapidX Skills / CLI / MCP setup review or explaining the recommended external user flow.\n\n## Workspace First\n\nBefore changing MCP config, identify the agent host workspace that will run RapidX:\n\n1. State the active agent workspace path from session/runtime context.\n2. Identify the workspace-local MCP config file read by this same agent host.\n3. If the MCP config path is ambiguous, inspect the confirmed workspace for existing MCP settings.\n4. If still ambiguous, ask the user which MCP config file this agent should edit.\n5. Add or update `mcpServers.rapidx` only after the workspace and config path are known.\n\nNever assume the source repository root, filesystem root, or a global home config is the right target.\n\n## Credential Intake\n\nAsk whether the user wants to provide credentials as a user-provided chat secret. This is the default path for non-programmers, but state the risk first: even protected chat-secret flows are controlled by the agent host and may be subject to that host's retention, access, or collaboration settings.\n\nIf the agent host has a dedicated chat-secret UI, ask the user to create three secrets with the exact names `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`. If the host has no chat-secret UI, ask whether the user wants the agent to write masked-reference placeholders into MCP config or whether they prefer to set local environment variables manually.\n\nOffer alternatives when the user wants stronger isolation:\n\n- Local shell environment variables.\n- Enterprise or OS secret manager referenced by the MCP host.\n\nRules:\n\n- Required variables are `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`.\n- `LTP_API_HOST` has no default. Use the API host provided for the current environment.\n- Do not use `LTP_BASE_URL`, `RAPIDX_BASE_URL`, or `RAPIDX_PORTFOLIO_*`.\n- Do not ask for or echo complete keys in normal chat text when a chat-secret mechanism is available.\n- Never print full keys in logs, config review, test output, or evidence. Use masked values only.\n\n## CLI Install\n\nRapidX is published as an official npm package. Install the CLI:\n\n```bash\nnpm install -g @liquiditytech/rapidx-cli\n```\n\nIf global install is not allowed, install in the confirmed agent workspace and use the workspace-local executable path in MCP config:\n\n```bash\nnpm install @liquiditytech/rapidx-cli\n./node_modules/.bin/rapidx --version\n```\n\nVerify the installed CLI:\n\n```bash\nrapidx --version\nrapidx schema --json\nrapidx update check --json\nrapidx self-check --json\n```\n\n`rapidx schema --json` and MCP `rapidx/tools` must return both `capabilities`/tool entries and concrete `inputSchemas`.\n\nFor CLI-only agents, use direct `rapidx ... --json` commands. Do not create temporary bridge scripts, directory-changing shell chains, or shell command chaining for MCP access.\n\n## Upgrade Existing Installation\n\nUse the CLI as the single version-check entrypoint. If `rapidx` is already available, run:\n\n```bash\nrapidx update check --json\n```\n\nRead these fields:\n\n- CLI: `currentVersion`, `latestVersion`, `status`, `updateAvailable`, `writeAllowed`, `upgrade.global`, `upgrade.workspace`.\n- Skills: `skillsVersion`, `currentSkillsVersion`, `skillsUpdateRecommended`, `upgrade.skills`.\n\n`currentSkillsVersion` is the CLI-bundled expected skills version, not proof of the agent's installed local skills. Inspect the installed or loaded `ltp-rapidx-config` and `ltp-rapidx-trading` frontmatter. Each current skill must declare `version`. When the local version is known, pass it into the check:\n\n```bash\nrapidx update check --input '{\"installedSkillsVersion\":\"<local-skill-version>\"}' --json\n```\n\nFor upgrade review, force a remote manifest refresh:\n\n```bash\nrapidx update check --input '{\"installedSkillsVersion\":\"<local-skill-version>\",\"force\":true}' --json\n```\n\nCompare the local `version` with `latestSkillsVersion` or legacy `skillsVersion` from `rapidx update check --json`. If the local version is missing, lower than the latest skills version, or cannot be read, update or reinstall both RapidX skills using the agent host's normal skill installer, then restart or reload the agent so the new skill content is loaded.\n\nUpgrade order:\n\n1. Update or reinstall both RapidX skills if their local `version` is stale, missing, or unknown.\n2. Restart or reload the agent so the new skills are active.\n3. Upgrade CLI when `updateAvailable=true`, `status=UPGRADE_REQUIRED`, or `status=WRITE_BLOCKED`.\n4. Restart or reload the MCP host when MCP is configured.\n5. Run `rapidx --version`, `rapidx update check --json`, and `rapidx self-check --json`.\n6. If MCP is supported, verify `rapidx/tools`, `rapidx/update/check`, and `rapidx/self-check`.\n\nOfficial npm CLI upgrade:\n\n```bash\nnpm inst\n\nArchive v1.0.13: 5 files, 15835 bytes\n\nFiles: references/best-practices.md (17692b), references/capability-overview.md (6599b), skill-card.md (2580b), SKILL.md (14569b), _meta.json (137b)\n\nArchive v1.0.12: 5 files, 15896 bytes\n\nFiles: references/best-practices.md (17658b), references/capability-overview.md (6686b), skill-card.md (2539b), SKILL.md (14720b), _meta.json (137b)\n\nArchive v1.0.11: 3 files, 6901 bytes\n\nFiles: skill-card.md (2332b), SKILL.md (14428b), _meta.json (137b)\n\nArchive v1.0.10: 3 files, 6918 bytes\n\nFiles: skill-card.md (2424b), SKILL.md (14428b), _meta.json (137b)\n\nArchive v1.0.9: 3 files, 7035 bytes\n\nFiles: skill-card.md (2793b), SKILL.md (14258b), _meta.json (136b)\n\nArchive v1.0.8: 3 files, 7118 bytes\n\nFiles: skill-card.md (2535b), SKILL.md (14727b), _meta.json (136b)","readmeExcerpt":"Skill: LTP RapidX Config Owner: liquiditytech Summary: Use when an agent needs to install or configure RapidX CLI/MCP access, set production LTP credentials, locate the agent workspace MCP config, review integration, discover tools, or run read-only self-checks. Tags: latest:1.0.17 Version history: v1.0.17 | 2026-09-07T08:14:23.798Z | user Document OKX klines support and sync RapidX CLI/MCP capability references. v1.","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"npm install -g @liquiditytech/rapidx-cli"},{"language":"bash","snippet":"npm install @liquiditytech/rapidx-cli\n./node_modules/.bin/rapidx --version"},{"language":"bash","snippet":"rapidx --version\nrapidx schema --json\nrapidx update check --json\nrapidx self-check --json"},{"language":"bash","snippet":"rapidx update check --json"},{"language":"bash","snippet":"rapidx update check --input '{\"installedSkillsVersion\":\"<local-skill-version>\"}' --json"},{"language":"bash","snippet":"rapidx update check --input '{\"installedSkillsVersion\":\"<local-skill-version>\",\"force\":true}' --json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: ltp-rapidx-config\nversion: 1.0.17\ndescription: Use when an agent needs to install or configure RapidX CLI/MCP access, set production LTP credentials, locate the agent workspace MCP config, review integration, discover tools, or run read-only self-checks.\n---\n\n# RapidX Config\n\nUse this skill for setup and integration review only. Use `ltp-rapidx-trading` for portfolio, market, order, position, algo, and live trading workflows.\n\n## Scope\n\n- Configure the published RapidX CLI package as the single runtime entrypoint.\n- Configure MCP by launching `rapidx mcp serve` from the agent's own workspace MCP config.\n- Classify whether this agent host is `MCP_READY`, `CLI_ONLY_READY`, or `NOT_VERIFIED`.\n- Verify real tool availability with read-only calls.\n- Produce an integration review with masked credentials and actual evidence.\n\nDo not describe how to install this skill inside the skill itself. Assume the skill has already been installed by the agent host.\n\n## References\n\n- Read `references/capability-overview.md` when checking expected CLI commands, MCP tools, capability names, or endpoint coverage.\n- Read `references/best-practices.md` when doing a full RapidX Skills / CLI / MCP setup review or explaining the recommended external user flow.\n\n## Workspace First\n\nBefore changing MCP config, identify the agent host workspace that will run RapidX:\n\n1. State the active agent workspace path from session/runtime context.\n2. Identify the workspace-local MCP config file read by this same agent host.\n3. If the MCP config path is ambiguous, inspect the confirmed workspace for existing MCP settings.\n4. If still ambiguous, ask the user which MCP config file this agent should edit.\n5. Add or update `mcpServers.rapidx` only after the workspace and config path are known.\n\nNever assume the source repository root, filesystem root, or a global home config is the right target.\n\n## Credential Intake\n\nAsk whether the user wants to provide credentials as a user-provided chat secret. This is the default path for non-programmers, but state the risk first: even protected chat-secret flows are controlled by the agent host and may be subject to that host's retention, access, or collaboration settings.\n\nIf the agent host has a dedicated chat-secret UI, ask the user to create three secrets with the exact names `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`. If the host has no chat-secret UI, ask whether the user wants the agent to write masked-reference placeholders into MCP config or whether they prefer to set local environment variables manually.\n\nOffer alternatives when the user wants stronger isolation:\n\n- Local shell environment variables.\n- Enterprise or OS secret manager referenced by the MCP host.\n\nRules:\n\n- Required variables are `LTP_ACCESS_KEY`, `LTP_SECRET_KEY`, and `LTP_API_HOST`.\n- `LTP_API_HOST` has no default. Use the API host provided for the current environment.\n- Do not use `LTP_BASE_URL`, `RAPIDX_BASE_URL`, or `RAPIDX_PORTFOLIO_*`.\n- Do not ask f"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn73kps0f7zwmrka0kz101ymad87wexe\",\n  \"slug\": \"ltp-rapidx-config\",\n  \"version\": \"1.0.17\",\n  \"publishedAt\": 1788768863798\n}"},{"path":"references/best-practices.md","content":"# RapidX Skills / CLI / MCP Best Practices\n\n## Overview\n\nRapidX is delivered as a complete Agent integration stack:\n\n- **Skills** teach the Agent how to install, configure, choose CLI or MCP, run self-checks, and operate RapidX.\n- **CLI** is the unified local runtime for atomic operations and also starts the MCP server through `rapidx mcp serve`.\n- **MCP** is the structured tool surface for MCP-capable Agents and shares the same CLI/Core capabilities.\n\nThe best practice is not to make users memorize every command. Let the Agent install and read the skills first. Load the installed `ltp-rapidx-config` skill to configure CLI/MCP and run self-checks, then load `ltp-rapidx-trading` for queries, preview, submit, automation, and readback. Skill names are not shell commands.\n\nRecommended flow:\n\n```text\nInstall Skills\n→ ltp-rapidx-config installs/configures CLI\n→ configure credentials and API host\n→ choose MCP_READY or CLI_ONLY_READY\n→ run self-check\n→ ltp-rapidx-trading uses MCP or CLI\n→ preview before write\n→ submit\n→ readback and reconcile\n```\n\n## 1. Role Of Each Layer\n\n| Layer | Role | Best Practice |\n|---|---|---|\n| Skills | Agent guidance | Install and read `ltp-rapidx-config` first, then use `ltp-rapidx-trading`. |\n| CLI | Unified local runtime | Install from official npm and use `rapidx ... --json` for CLI-only Agents. |\n| MCP | Structured tool interface | Start with `rapidx mcp serve`; MCP-capable Agents call `rapidx/*` tools directly. |\n| Core | Shared implementation | CLI and MCP share schemas, API client, preview, automation, audit, and self-check. |\n\nThe MCP server is not a separate package. It is started by the CLI:\n\n```bash\nrapidx mcp serve\n```\n\nMCP tools should call the shared RapidX core directly. They should not shell out through temporary scripts, wrapper files, or `cd ... && node ...` command chains.\n\n## 2. Recommended External User Flow\n\n### Step 1: Install Skills\n\nUsers can install skills themselves, or send an executable instruction to their Agent.\n\nRecommended instruction to send to the Agent:\n\n```text\nYou are my Agent. Install the RapidX skills into the current workspace using the skill installation method supported by your Agent host.\n\nSource repository:\nhttps://github.com/LiquidityTech/ltp-rapidx-skill\n\nInstall both skills:\n- ltp-rapidx-config\n- ltp-rapidx-trading\n\nAfter installation, load and follow the installed `ltp-rapidx-config` skill first. It is not a shell command. Use it to install or upgrade @liquiditytech/rapidx-cli from official npm, configure RapidX credentials, configure MCP if this host supports MCP, and run RapidX self-check.\n\nDo not start market queries or trading until you can report one of:\n- MCP_READY\n- CLI_ONLY_READY\n- NOT_VERIFIED\n```\n\nThe exact installation command depends on the Agent host. Use the official RapidX docs or skill repository README for Codex, Claude Code, Cursor, Gemini CLI, OpenCode, OpenClaw, and Hermes.\n\n### Step 2: Use Config Skill\n\nThe Agent should load and follow `ltp-rapidx-config` b"},{"path":"references/capability-overview.md","content":"# RapidX Capability Overview\n\nUse `rapidx schema --json` or MCP `rapidx/tools` as the runtime source of truth. This reference is a compact map for Agent planning.\n\n## Runtime Layers\n\n| Layer | Purpose |\n|---|---|\n| CLI | Atomic local operations through `rapidx <domain> <action> --json` |\n| MCP | Structured Agent tools served by `rapidx mcp serve` |\n| Core | Shared schemas, credential resolution, RapidX API client, preview, automation, audit, and self-check |\n| Skills | Agent guidance for setup, review, trading, automation, and readback |\n\n## Diagnostics And Discovery\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx --version` | - |\n| `rapidx schema --json` | `rapidx/tools` |\n| `rapidx update check --json` | `rapidx/update/check` |\n| `rapidx auth check` | - |\n| `rapidx doctor --json` | - |\n| `rapidx self-check --json` | `rapidx/self-check` |\n| `rapidx mcp serve` | starts the MCP server |\n\n## Automation\n\nAutomation sessions are local authorization sessions. They do not map to RapidX HTTP endpoints.\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx automation start` | `rapidx/automation/start` |\n| `rapidx automation list` | `rapidx/automation/list` |\n| `rapidx automation status` | `rapidx/automation/status` |\n| `rapidx automation extend` | `rapidx/automation/extend` |\n| `rapidx automation stop` | `rapidx/automation/stop` |\n\n## Market\n\n| CLI | MCP tool |\n|---|---|\n| `rapidx market get-ticker` | `rapidx/market/get-ticker` |\n| `rapidx market get-orderbook` | `rapidx/market/get-orderbook` |\n| `rapidx market get-klines` | `rapidx/market/get-klines` |\n| `rapidx market get-funding-rate` | `rapidx/market/get-funding-rate` |\n| `rapidx market get-mark-price` | `rapidx/market/get-mark-price` |\n| `rapidx market get-symbol-info` | `rapidx/market/get-symbol-info` |\n| `rapidx market get-open-interest` | `rapidx/market/get-open-interest` |\n\n## Portfolio\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx portfolio overview` | `rapidx/portfolio/overview` | `GET /api/v1/trading/account` |\n| `rapidx portfolio assets` | `rapidx/portfolio/assets` | `GET /api/v1/trading/portfolio/assets` |\n| `rapidx portfolio statement` | `rapidx/portfolio/statement` | `GET /api/v1/trading/statement` |\n| `rapidx portfolio user-fee-rate` | `rapidx/portfolio/user-fee-rate` | `GET /api/v1/broker/feeRate` |\n| `rapidx portfolio position-bracket` | `rapidx/portfolio/position-bracket` | `GET /api/v1/trading/broker/positionBracket` |\n| `rapidx portfolio set-position-mode` | `rapidx/portfolio/set-position-mode` | `POST /api/v1/trading/account` |\n\n## Orders\n\n| CLI | MCP tool | RapidX API |\n|---|---|---|\n| `rapidx order place-preview` | `rapidx/order/place-preview` | preview for place |\n| `rapidx order replace-preview` | `rapidx/order/replace-preview` | preview for replace |\n| `rapidx order cancel-preview` | `rapidx/order/cancel-preview` | preview for cancel |\n| `rapidx order place` | `rapidx/order/place` | `POST /api/v1/trading/order` |\n| `rapidx order replace` | `rapidx/order/replace` | `PUT /api/v1/trading/or"},{"path":"skill-card.md","content":"## Description:\n\nHelps an agent install or configure RapidX CLI and MCP access, set production LTP credentials, locate workspace MCP configuration, review integration status, discover tools, and run read-only self-checks.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[liquiditytech](https://clawhub.ai/user/liquiditytech)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to prepare an agent host for RapidX CLI or MCP workflows, configure required LTP credentials, verify tool discovery, and report whether the runtime is MCP_READY, CLI_ONLY_READY, or NOT_VERIFIED before trading workflows begin.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can guide installation of a mutable trading CLI and configuration of production credentials for tools that may perform high-impact account actions.\n\nMitigation: Install only from trusted RapidX CLI package sources, prefer pinned workspace-local installs, and use least-privilege credentials where possible.\n\nRisk: Persisting full production credentials in MCP configuration can expose sensitive trading access through host retention, collaboration, or local file access.\n\nMitigation: Prefer host-supported secret references or a secret manager, avoid writing production secrets directly into MCP config, and mask credentials in logs and reviews.\n\nRisk: Live trading, cancel-all, leverage, and close-position actions can materially affect an account if executed without adequate confirmation.\n\nMitigation: Require explicit previews, user confirmations, runtime self-checks, and readbacks before any live trading or high-impact account action.\n\n## Reference(s):\n\n- [RapidX Capability Overview](references/capability-overview.md)\n- [RapidX Skills / CLI / MCP Best Practices](references/best-practices.md)\n- [LTP RapidX Config on ClawHub](https://clawhub.ai/liquiditytech/skills/ltp-rapidx-config)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, shell commands, configuration, markdown]\n\n**Output Format:** [Markdown with inline JSON and bash code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include masked credential references, read-only self-check results, MCP readiness classification, and integration review findings.]\n\n## Skill Version(s):\n\n1.0.17 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1967,"uniquenessScore":34,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T01:19:19.079Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T01:19:19.079Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T03:56:19.742Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}