Changelog
Notable changes to the WebSocket feed, its message schema, and its tiers. Newest first.
Dates are the day the change landed in the service. Only user-visible changes are listed — if a change would alter what your client receives or how you connect, it belongs here.
Forward compatibility. New fields and new listingType values may ship at any time without
a changelog entry of their own — that is why your parser must ignore unknown fields. Breaking
changes to existing fields are announced on @CLWfeed before they
land. The machine-readable schema is /docs/asyncapi.yaml.
2026-07-13 — Free-tier keys are 1-week and renewable
SpeedTrialandFreeDelayedkeys are issued for 1 week, renewable on request. They were previously advertised as free for an unlimited period. Nothing changed in what the two tiers deliver — only how long a key stays valid before renewal. Ask on @CLWfeed to renew.- Documented the default distinct-IP allowance per key: 1 (was described as “configurable”). The per-IP cap (3) and absolute cap (20) are unchanged. See Rate Limits.
2026-06-18 — not_listing is Binance-only
- Upbit was removed from the
not_listingrow of every event-type table. Upbit announcements are delivered asspot_listing,spot_delisting, orcaution_released— nevernot_listing. Documentation fix; no dispatch behaviour changed.
2026-06-17 — Announcement channel is @CLWfeed
- The Telegram channel for keys, support, and breaking-change notices is @CLWfeed.
2026-06-16 — Seoul endpoint is Upbit-only
- Documented that
wss://kr.cryptolisting.wscarries Upbit only. Bithumb is dispatched from the Tokyo endpoint (wss://cryptolisting.ws), as is Binance. If your bot needs Bithumb or Binance, connect to Tokyo. See WebSocket API.
2026-06-12 — Upbit stream narrowed to actionable signals
- On both endpoints, the Upbit stream carries only the events that drive trades. Upbit notices that are not a listing, delisting, or caution release are no longer broadcast to subscribers.
2026-06-09 — Per-IP connection cap lowered to 3
- The per-key, per-IP concurrent-connection cap went from 5 to 3. The absolute cap across all
IPs (20) is unchanged.
welcome.maxConnectionsPerIpreports the live value — read it rather than hard-coding. See Rate Limits.
2026-06-06 — SpeedTrial and FreeDelayed tiers
- The
freetier is nowSpeedTrial: same dispatch path aspremiumwith zero added delay, buttickeris""andtitlecarries an upgrade notice on every event exceptnot_listing. All other fields —publisher,listingType, microsecond timestamps — stay fully accurate, so detection speed remains independently verifiable. - New
FreeDelayedtier: the full feed,titleandtickerincluded, free, with a +240 ms delivery delay on announcements. Heartbeats are unaffected. welcome.tiernow returnsSpeedTrial,FreeDelayed,basic, orpremium. Clients that matched on the oldfreestring must be updated. See Tier behavior.
2026-05-03 — Caution lifecycle narrowed to two stages
- Upbit and Bithumb both run a multi-stage caution lifecycle on tokens already trading
(pre-warning, designation, extension, release, delisting). The feed carries the two stages that
drive trades:
caution_releasedandspot_delisting. Intermediate stages are kept off the bus. - Composite announcements covering several tickers across stages are split into multiple
WebSocket events with distinct
listingTypevalues.
2026-05-02 — Risk events: caution_released and Monitoring Tag
- New
listingTypevaluecaution_released(Bithumb, Upbit) — a caution designation being lifted, historically a positive technical signal. - New
listingTypevaluesmonitoring_tag_extendandmonitoring_tag_remove(Binance) — a token entering or leaving Binance’s Monitoring Tag. - Clients validating
listingTypeagainst a closed list had to widen it. This is the change the forward-compatibility rule exists for: unknownlistingTypevalues must be inert, not fatal.
2026-04-30 — Seoul endpoint
wss://kr.cryptolisting.wswent live in AWS Seoul (ap-northeast-2c, apne2-az3), alongside the existing Tokyo endpoint. It removes the Seoul → Tokyo network hop for Korea-based bots trading Upbit. The same API key authenticates on both endpoints; connection caps are tracked independently per endpoint. Pick one endpoint per bot.
2026-04-13 — abnormalDetectionLatency flag
- Announcements carry a boolean
abnormalDetectionLatency.truemeans the exchange publish → detection interval was abnormally high for that event. The payload stays valid — treat the flag as a hint that the event may be stale by the time it reaches you.
2026-04-12 — Test announcements use DUMMYTOKEN
{"type":"test"}returns atest_announcementwith the tickerDUMMYTOKEN. It is identical in shape to a real announcement and always carries the full payload regardless of tier — use it to validate a parser on any tier, SpeedTrial included. See Test Announcement.