用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/johnalbertini14-glitch/openclaw-skills --skill gate-crossex命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Use this skill to create a Polymarket wallet for your agent and trade on prediction markets. Browse markets, place bets, manage positions — all without exposing private keys.
ClawSec suite manager with embedded advisory-feed monitoring, cryptographic signature verification, approval-gated malicious-skill response, and guided setup for additional security skills.
Automated daily security audits for OpenClaw agents with email reporting. Runs deep audits and sends formatted reports.
正在显示 SKILL.md
基于 SOC 职业分类
| name | gate-crossex |
| version | 1.0.0 |
| description | Gate CrossEx 跨交易所统一交易接口技能 - 支持币安、欧易、Gate.io 统一账户交易 |
| author | Gate.io 开发者团队 |
| license | MIT |
| tags | ["trading","cryptocurrency","cross-exchange","gate.io","binance","okx","api","quantification"] |
| requires | ["python >= 3.7","requests"] |
| capabilities | ["跨所账户管理","资产划转","订单管理(下单、撤单、改单)","仓位查询","市场数据查询","闪兑交易"] |
| env_vars | {"GATE_API_KEY":"API 密钥(必需)","GATE_API_SECRET":"API 签名密钥(必需)"} |
| config_paths | ["~/.openclaw/credentials/gate.json","~/.gate/credentials.json"] |
| binaries | [{"openssl":"签名加密"}] |
| permissions | [{"needs_credentials":true},{"network_access":true}] |
| always | false |
Gate CrossEx 是 Gate.io 推出的跨交易所交易平台技能,允许用户通过统一账户在多个主流交易所(币安、欧易、Gate.io)进行交易,提供完整的账户管理、资产划转、下单和仓位管理功能。
在使用本技能前,需要配置 Gate CrossEx API 凭证:
export GATE_API_KEY="your_api_key_here"
export GATE_API_SECRET="your_api_secret_here"
将 API 凭证保存到 ~/.openclaw/credentials/gate.json:
{
"apiKey": "your_api_key_here",
"secretKey": "your_api_secret_here"
}
⚠️ 安全提示:
600(仅所有者可读写)Gate CrossEx 使用 HMAC-SHA512 签名算法:
import time
import hashlib
import hmac
def gen_sign(method, url, query_string=None, payload_string=):
key = os.getenv()
secret = os.getenv()
t = ((time.time()))
m = hashlib.sha512()
m.update((payload_string ).encode())
hashed_payload = m.hexdigest()
s = % (
method, url, query_string , hashed_payload, t
)
sign = hmac.new(
secret.encode(),
s.encode(),
hashlib.sha512
).hexdigest()
{
: key,
: t,
: sign,
: ,
:
}
https://api.gateio.ws/api/v4/crossex# 查询币对信息
GET /rule/symbols
# 查询风险限额信息
GET /rule/risk_limits
# 查询划转币种支持
GET /rule/support_currencies
# 查询账户资产
GET /accounts
# 查询杠杆仓位
GET /position/margin
# 查询合约仓位
GET /position/futures
# 资金划转
POST /wallet/transfers
# 查询资金划转历史
GET /wallet/transfers
# 下单
POST /orders
# 撤单
DELETE /orders
# 改单
PUT /orders/{order_id}
# 查询订单详情
GET /orders/{order_id}
# 查询当前所有挂单
GET /orders
# 闪兑询价
POST /convert/quote
# 闪兑交易
POST /convert/execute
# coding: utf-8
import os
import time
import hashlib
import hmac
import requests
# 从环境变量获取 API 凭证
API_KEY = os.getenv('GATE_API_KEY')
API_SECRET = os.getenv('GATE_API_SECRET')
def gen_sign(method, url, query_string=None, payload_string=None):
"""生成 Gate CrossEx API 签名"""
t = str(int(time.time()))
m = hashlib.sha512()
m.update((payload_string or '').encode('utf-8'))
hashed_payload = m.hexdigest()
s = '%s\n%s\n%s\n%s\n%s' % (
method, url, query_string or '', hashed_payload, t
)
sign = hmac.new(
API_SECRET.encode('utf-8'),
s.encode('utf-8'),
hashlib.sha512
).hexdigest()
return {
'KEY': API_KEY,
'Timestamp': t,
'SIGN': sign,
'Accept': 'application/json',
'Content-Type': 'application/json'
}
# 查询账户资产
host = 'https://api.gateio.ws'
prefix = '/api/v4/crossex'
url = '/accounts'
headers = gen_sign('GET', prefix + url)
response = requests.get(host + prefix + url, headers=headers)
print(response.json())
#!/bin/bash
# 使用 openssl 生成签名
API_KEY="your_api_key"
API_SECRET="your_api_secret"
TIMESTAMP=$(date +%s)
PAYLOAD_HASH=$(echo -n "" | openssl dgst -sha512 -hex | awk '{print $2}')
SIGNATURE_STRING="GET\n/api/v4/crossex/rule/symbols\n\n${PAYLOAD_HASH}\n${TIMESTAMP}"
SIGNATURE=$(echo -n "${SIGNATURE_STRING}" | openssl dgst -sha512 -hmac "${API_SECRET}" -hex | awk '{print $2}')
# 查询币对信息
curl -X GET "https://api.gateio.ws/api/v4/crossex/rule/symbols" \
-H "KEY: ${API_KEY}" \
-H "Timestamp: ${TIMESTAMP}" \
-H "SIGN: ${SIGNATURE}" \
-H "Accept: application/json" \
-H "Content-Type: application/json"
# 查询不同交易所的 BTC 价格
symbols = ["BINANCE_FUTURE_BTC_USDT", "OKX_FUTURE_BTC_USDT", "GATE_FUTURE_BTC_USDT"]
for symbol in symbols:
response = requests.get(f"{host}{prefix}/rule/symbols?symbols={symbol}")
print(f"{symbol}: {response.json()}")
# 查询跨所账户总资产
response = requests.get(f"{host}{prefix}/accounts", headers=headers)
account_data = response.json()
print(f"总资产: {account_data.get('total_balance')} USDT")
print(f"可用保证金: {account_data.get('available_margin')} USDT")
# 从统一账户划转到子账户
transfer_data = {
"currency": "USDT",
"amount": "1000",
"from": "UNIFIED",
"to": "BINANCE"
}
response = requests.post(
f"{host}{prefix}/wallet/transfers",
headers=headers,
json=transfer_data
)
print(response.json())
{
"label": "COMMON_PARAM_BIND_ERROR",
"message": "参数非法,请查阅api文档"
}
| Label | 含义 |
|---|---|
COMMON_PARAM_BIND_ERROR | 参数非法 |
TRADE_UNSUPPORTED_OPERATION | 当前操作不被允许 |
USER_NOT_EXIST | 用户不存在 |
TRADE_INVALID_SYMBOL | 当前 symbol 不支持 |
TRADE_ORDER_NOT_FOUND_ERROR | 订单不存在或已终态 |
MARGIN_ORDER_NOT_SUPPORT | 分所模式暂不支持现货杠杆功能 |
import requests
try:
response = requests.get(url, headers=headers)
response.raise_for_status()
data = response.json()
except requests.HTTPError as e:
error_data = response.json()
label = error_data.get('label')
if label == 'INVALID_API_KEY':
print("❌ API Key 无效或已过期")
elif label == 'TRADE_UNSUPPORTED_OPERATION':
print("❌ 当前操作不被支持")
else:
print(f"❌ 请求失败: {error_data}")
# 设置正确的文件权限
chmod 600 ~/.openclaw/credentials/gate.json
⚠️ 重要提示:
永远不要向任何人(包括客服)透露您的 API Key 或 Secret。 如果 API Key 意外泄露,请立即删除并重新创建。
数字货币交易具有极高风险,市场价格可能在短时间内大幅波动。本技能仅供学习和研究目的,使用本技能进行实盘交易的一切风险由使用者自行承担。
请确保您:
文档版本: v1.0.0 最后更新: 2026-02-23 维护者: Gate.io 开发者团队 许可协议: MIT License