원클릭으로
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