一键导入
polyhub-copy
Manage Polyhub copy-trading tasks, positions, trades, signals, sell flows, batch operations, and TPSL rules with an API key.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Manage Polyhub copy-trading tasks, positions, trades, signals, sell flows, batch operations, and TPSL rules with an API key.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
View Polyhub portfolio stats, fee history, and place manual orders with explicit confirmation and field validation.
View portfolio stats on Polyhub using an API key.
Query Polyhub public discover APIs for tags, trader rankings, trader detail by address, and market tag lookup by condition IDs.
Explore public discover data on Polyhub without API key auth, including tags, trader rankings, trader detail stats, and market tag lookup.
Manage copy-trading tasks, view signals, positions and trades on Polyhub using an API key.
| name | polyhub-copy |
| description | Manage Polyhub copy-trading tasks, positions, trades, signals, sell flows, batch operations, and TPSL rules with an API key. |
Version: v0.3.9
Use this skill when the user wants to manage copy-trading tasks on Polyhub.
POLYHUB_API_BASE_URL is fixed to https://polyhub.skill-test.bedev.hubble-rpc.xyz.POLYHUB_API_KEY is set and starts with phub_.curl is available.jq is recommended.If POLYHUB_API_KEY is missing, guide the user to register and apply for one first at https://polyhub.hubble.xyz/.
Recommended guidance:
https://polyhub.hubble.xyz/Skills API Key.申请 API Key.POLYHUB_API_BASE_URLPOLYHUB_API_KEYSuggested wording:
API key is not configured yet, so I can't run copy-trading or account actions for now.
Please register first on PolyHub:
https://polyhub.hubble.xyz/
After registration, click your avatar in the top-right corner and open `Skills API Key` to apply.
Send me the generated key and I'll continue right away.
POLYHUB_API_KEY.jq -n instead of interpolating raw JSON.taskId with ^[0-9a-fA-F]{24}$.BASE="https://polyhub.skill-test.bedev.hubble-rpc.xyz"
AUTH=(-H "Authorization: Bearer $POLYHUB_API_KEY" -H "Content-Type: application/json")
GET /api/v1/copy-tasksGET /api/v1/copy-tasks/{taskId}POST /api/v1/copy-tasksPATCH /api/v1/copy-tasks/{taskId}GET /api/v1/copy-tasks/{taskId}/positions?status=active; if active positions exist, run POST /api/v1/copy-tasks/{taskId}/sell-all first, then DELETE /api/v1/copy-tasks/{taskId}sell-all where needed before POST /api/v1/copy-tasks/batch-deleteGET /api/v1/copy-signalsGET /api/v1/copy-signals/statssell or sell-all flows after confirmationif [[ ! "$TASK_ID" =~ ^[0-9a-fA-F]{24}$ ]]; then
echo "Invalid taskId"
exit 2
fi
curl -sS --fail-with-body "${AUTH[@]}" \
"$BASE/api/v1/copy-tasks?includeDeleted=true"
Guidance:
includeDeleted=true for history or deleted tasks.includeDeleted=false for active tasks only.Always ask for:
targetTraderAsk only when needed:
targetUsernamefilteredByTagtaskConfigtpslRulesPAYLOAD="$(jq -n --arg targetTrader "0x..." '{targetTrader: $targetTrader}')"
curl -sS --fail-with-body "${AUTH[@]}" \
-X POST "$BASE/api/v1/copy-tasks" \
-d "$PAYLOAD"
Common fields:
statustaskConfigfilteredByTagtargetUsernametpslRulesPAYLOAD="$(jq -n --arg status "PAUSED" '{status: $status}')"
curl -sS --fail-with-body "${AUTH[@]}" \
-X PATCH "$BASE/api/v1/copy-tasks/$TASK_ID" \
-d "$PAYLOAD"
Copy mode guidance:
ONE_TO_ONEFIXED_SIZE, which should include taskConfig.fixedAmountPAYLOAD="$(jq -n \
--argjson fixedAmount 5 \
'{taskConfig: {copyMode: "FIXED_SIZE", fixedAmount: $fixedAmount}}')"
Required flow:
taskId.curl -sS --fail-with-body "${AUTH[@]}" \
"$BASE/api/v1/copy-tasks/$TASK_ID/positions?status=active"
curl -sS --fail-with-body "${AUTH[@]}" \
-X POST "$BASE/api/v1/copy-tasks/$TASK_ID/sell-all"
curl -sS --fail-with-body "${AUTH[@]}" \
-X DELETE "$BASE/api/v1/copy-tasks/$TASK_ID"
Guidance:
sell-all.Required flow:
taskIds.sell-all first when needed.TASK_IDS=("64f0c7e7b8e4f8c1a1b2c3d4" "64f0c7e7b8e4f8c1a1b2c3d5")
PAYLOAD="$(jq -n \
--argjson taskIds "$(printf '%s\n' "${TASK_IDS[@]}" | jq -R . | jq -s .)" \
'{taskIds: $taskIds}')"
curl -sS --fail-with-body "${AUTH[@]}" \
-X POST "$BASE/api/v1/copy-tasks/batch-delete" \
-d "$PAYLOAD"
400: invalid payload401: missing or invalid API key404: resource not found5xx: server error