PerpDEX 目前不支持 Broker API,其 API Key 和签名规则见PerpDEX 认证与签名。WebSocket 私有频道的认证以对应产品的 WebSocket 文档为准。
Key、Secret 与权限
Key用于标识 Broker,放入请求头KEY。Secret Key仅用于在 Broker 服务端生成签名,不随请求发送。- 调用前确认 Key 已开通目标产品及接口权限。只读权限用于查询;提交类操作需要读写权限。DexBuilder 平台接口还需要
dex_builder权限。 - 如果当前 Key 配置了 IP 白名单,应从已允许的服务端出口 IP 发起请求。
请求头
签名原文
按以下顺序连接五段内容,段与段之间使用一个换行符\n:
HTTP_METHOD使用大写方法名,例如GET、POST。REQUEST_PATH是实际请求的外部路径,包含/api/v4前缀,不包含域名和 Query。例如/api/v4/broker/prediction/positions。QUERY_STRING与实际请求参数的顺序一致;签名时使用未 URL 编码的参数串。没有 Query 时使用空字符串。REQUEST_BODY使用实际发送的请求体原文。没有请求体时,对空字符串计算 SHA512。JSON 序列化后的字段顺序、空格和换行变化会改变摘要。TIMESTAMP必须与请求头Timestamp的值完全一致。X-User-Wallet-Address是单独的请求头,不拼入上述签名原文。
/api/v4/dexbuilder/...,事件市场 Broker 私有接口为 /api/v4/broker/prediction/...,事件合约 Broker 私有接口为 /api/v4/broker/event_contracts/...。
GET 请求示例
下面的 Python 示例生成查询用户信息所需的SIGN。将 Broker 凭据保存在服务端环境变量中,生成的 Timestamp 和 SIGN 用于紧接着发送的同一请求。
SIGN,再发送请求;X-User-Wallet-Address 为目标用户的钱包地址。