指南

WebSocket

用同一把 key 和余额接收实时数据流(成交、盘口、mempool、社交动态)。Pikeway 代理 WebSocket 连接,并在连接关闭时结算这次会话。

连接

流式端点在 API 的市场页面上标有 WS。连接网关而不是提供者,路径和查询参数保持与提供者一致:

GETwss://gw.pikeway.ai/ws/<slug>/<path>
javascript
import WebSocket from 'ws';

// Server-side: send the key as a header
const ws = new WebSocket('wss://gw.pikeway.ai/ws/<slug>/<path>', {
  headers: { Authorization: `Bearer ${process.env.PIKEWAY_KEY}` },
});

ws.on('open', () => ws.send(JSON.stringify({ op: 'subscribe', channel: 'trades' })));
ws.on('message', (data) => console.log(data.toString()));
ws.on('close', (code, reason) => {
  if (code === 4402) console.log('balance or key limit ran out');
  if (code === 4408) console.log('max session length reached, reconnect');
});
鉴权
Authorization: Bearer pk-…
服务端和 agent 推荐使用。
?key=pk-…
用于浏览器(浏览器无法给 WebSocket 设置请求头)。网关在转发给提供者之前会去掉这个参数。

你请求的子协议会透传给提供者。握手响应里带有 X-Pikeway-Call-Id,对应调用日志里的这次会话。

计费

一次会话最多包含三部分费用,由提供者设定并显示在端点上:

建连费USD
每次会话收一次,默认等于端点的单价。订阅套餐还有包含额度时免收。
按消息USD
提供者发给你的每条消息收费。你发出的消息免费。
按分钟USD
按连接时长收费,不足一分钟按一分钟计。

会话费用实时累计,在连接关闭时一次性扣费。如果提供者的服务器拒绝连接,握手会返回 HTTP 错误,不会扣费。

限制与关闭码

  • 建连前,余额(或 key 剩余额度,取较小者)必须够付建连费,否则握手返回 402。
  • 每把 key 最多 10 个并发连接,第 11 个返回 429。
  • 会话最长 60 分钟,提供者可以另设上限(最长 24 小时)。到时请重新连接。
关闭码
4402
会话中途余额或 key 消费上限用完。触发超额的那条消息不会送达,也不收费。充值后重新连接。
4408
达到会话最长时长。重新连接即可继续。

握手错误

401
缺少 key,或 key 无效、已吊销。
403
key 的 IP 或站点限制不允许,或该 API 需要订阅。
404
API 不存在,或没有匹配该路径的 WebSocket 端点。
426
请求不是 WebSocket 升级请求。
429
触发限流或 10 个连接的上限。
要在网页里接入数据流?把 ?key= 和 浏览器 key 以及消费上限一起使用,这样从页面里复制走的 key 无法在别处使用。