okx-exchange-websocket-skill
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseOKX Exchange WebSocket Skill
OKX交易平台WebSocket技能
Use this skill to run OKX public exchange WebSocket channels through raw WebSocket mode.
uxc subscribeReuse the skill for generic runtime behavior, sink handling, and event-envelope parsing.
uxc使用此技能通过原生WebSocket模式运行OKX公开交易平台的WebSocket频道。
uxc subscribe复用技能实现通用运行时行为、接收器处理和事件信封解析。
uxcPrerequisites
前置条件
- is installed and available in
uxc.PATH - Network access to the OKX public WebSocket endpoint.
- A writable sink path for NDJSON output.
- 已安装并可在
uxc中访问。PATH - 能够访问OKX公开WebSocket端点的网络权限。
- 用于NDJSON输出的可写入接收器路径。
Scope
适用范围
This skill covers OKX public exchange channels such as:
- tickers
- trades
- books and books5
- candle channels
This skill does not cover:
- OKX OnchainOS MCP
- private WebSocket login flows
- trading, account, or order-management channels
- REST API workflows
此技能覆盖OKX公开交易频道,例如:
- tickers
- trades
- books和books5
- candle频道
此技能不覆盖:
- OKX OnchainOS MCP
- 私有WebSocket登录流程
- 交易、账户或订单管理频道
- REST API工作流
Endpoint Model
端点模型
Use the OKX public WebSocket endpoint:
wss://ws.okx.com:8443/ws/v5/public
OKX public channels require a subscribe frame after connect, for example:
json
{"op":"subscribe","args":[{"channel":"tickers","instId":"BTC-USDT"}]}使用OKX公开WebSocket端点:
wss://ws.okx.com:8443/ws/v5/public
OKX公开频道在连接后需要发送订阅帧,例如:
json
{"op":"subscribe","args":[{"channel":"tickers","instId":"BTC-USDT"}]}Core Workflow
核心工作流
- Start a raw WebSocket subscription:
uxc subscribe start wss://ws.okx.com:8443/ws/v5/public --transport websocket --init-frame '{"op":"subscribe","args":[{"channel":"tickers","instId":"BTC-USDT"}]}' --sink file:$HOME/.uxc/subscriptions/okx-btcusdt-ticker.ndjson
- Inspect sink output:
tail -n 5 $HOME/.uxc/subscriptions/okx-btcusdt-ticker.ndjson
- Query runtime status:
uxc subscribe listuxc subscribe status <job_id>
- Stop the job when finished:
uxc subscribe stop <job_id>
- 启动原生WebSocket订阅:
uxc subscribe start wss://ws.okx.com:8443/ws/v5/public --transport websocket --init-frame '{"op":"subscribe","args":[{"channel":"tickers","instId":"BTC-USDT"}]}' --sink file:$HOME/.uxc/subscriptions/okx-btcusdt-ticker.ndjson
- 检查接收器输出:
tail -n 5 $HOME/.uxc/subscriptions/okx-btcusdt-ticker.ndjson
- 查询运行时状态:
uxc subscribe listuxc subscribe status <job_id>
- 完成后停止任务:
uxc subscribe stop <job_id>
Common Subscribe Frames
常用订阅帧
- tickers:
{"op":"subscribe","args":[{"channel":"tickers","instId":"BTC-USDT"}]}
- trades:
{"op":"subscribe","args":[{"channel":"trades","instId":"BTC-USDT"}]}
- books5:
{"op":"subscribe","args":[{"channel":"books5","instId":"BTC-USDT"}]}
- candles:
{"op":"subscribe","args":[{"channel":"candle1m","instId":"BTC-USDT"}]}
- tickers:
{"op":"subscribe","args":[{"channel":"tickers","instId":"BTC-USDT"}]}
- trades:
{"op":"subscribe","args":[{"channel":"trades","instId":"BTC-USDT"}]}
- books5:
{"op":"subscribe","args":[{"channel":"books5","instId":"BTC-USDT"}]}
- candles:
{"op":"subscribe","args":[{"channel":"candle1m","instId":"BTC-USDT"}]}
Runtime Validation
运行时验证
The following live raw WebSocket flow has been validated successfully through :
uxc- endpoint:
wss://ws.okx.com:8443/ws/v5/public - transport:
--transport websocket - init frame:
{"op":"subscribe","args":[{"channel":"tickers","instId":"BTC-USDT"}]}
Observed sink behavior:
- initial
open - JSON event for subscription acknowledgement
data - repeated events carrying ticker payloads under:
dataarg.channelarg.instIddata[0].lastdata[0].bidPxdata[0].askPxdata[0].ts
以下原生WebSocket流程已通过成功验证:
uxc- 端点:
wss://ws.okx.com:8443/ws/v5/public - 传输方式:
--transport websocket - 初始化帧:
{"op":"subscribe","args":[{"channel":"tickers","instId":"BTC-USDT"}]}
观察到的接收器行为:
- 初始事件
open - 包含订阅确认信息的JSON 事件
data - 重复的事件,携带ticker负载,包含以下字段:
dataarg.channelarg.instIddata[0].lastdata[0].bidPxdata[0].askPxdata[0].ts
Guardrails
注意事项
- Keep automation on the JSON output envelope; do not use .
--text - Parse stable event fields first: ,
event_kind,data.meta - Always pass for this skill.
--transport websocket - Public OKX channels do not require login. Do not mix this skill with private WebSocket auth flows.
- is required because OKX public channels are multiplexed behind one endpoint.
--init-frame - values use OKX instrument naming such as
instId.BTC-USDT - is the intended execution path for this skill;
uxc subscribe start ... --transport websocketis not the main interface because channel selection lives in the subscribe frame.uxc link
- 针对JSON输出信封实现自动化,请勿使用参数。
--text - 优先解析稳定事件字段:、
event_kind、data。meta - 使用此技能时务必传入参数。
--transport websocket - OKX公开频道无需登录。请勿将此技能与私有WebSocket认证流程混用。
- 必须传入参数,因为OKX公开频道在单个端点后实现多路复用。
--init-frame - 值需使用OKX工具命名规则,例如
instId。BTC-USDT - 此技能的预期执行路径为;
uxc subscribe start ... --transport websocket并非主接口,因为频道选择需在订阅帧中设置。uxc link
References
参考资料
- Usage patterns:
references/usage-patterns.md
- OKX WebSocket API:
- 使用模式:
references/usage-patterns.md
- OKX WebSocket API: