Skip to content
aeon/feed

Kraken price feed

Long-standing regulated exchange. Streamed via the v2 WebSocket API. Every Kraken quote appears in ticker:<SYMBOL> messages with "ex":"kraken".

Only Kraken quotes
const ws = new WebSocket("wss://aeonfeed.com/ws?subscribe=ticker:BTCUSDT,ticker:ETHUSDT");
ws.onmessage = (e) => {
  const msg = JSON.parse(e.data);
  if (msg.type !== "ticker" && msg.type !== "snapshot") return;
  const quotes = (msg.data ?? []).filter((q) => q.ex === "kraken");
  for (const q of quotes) console.log(msg.s, q.b, q.a);
};

Kraken native format → Aeon format

What Kraken actually sends for BTC/USDT, captured from its public WebSocket, and the normalised quote you receive from Aeon Feed. Depth arrays are trimmed for readability. First message is a snapshot of the book; later messages are incremental updates (a qty of 0 removes a level).

Endpoint
wss://ws.kraken.com/v2
1 · Subscribe request sent to Kraken
{
  "method": "subscribe",
  "params": {
    "channel": "book",
    "symbol": [
      "BTC/USDT"
    ],
    "depth": 10
  }
}
2 · Native message from Kraken
{
  "channel": "book",
  "type": "snapshot",
  "data": [
    {
      "symbol": "BTC/USDT",
      "bids": [
        {
          "price": 73530.4,
          "qty": 0.01601202
        },
        {
          "price": 73529.2,
          "qty": 0.02498928
        },
        "…"
      ],
      "asks": [
        {
          "price": 73530.5,
          "qty": 0.00108658
        },
        {
          "price": 73531.1,
          "qty": 0.01
        },
        "…"
      ],
      "checksum": 1669304186,
      "timestamp": "2026-11-12T08:31:27.162153Z"
    }
  ]
}
Kraken fieldAeon field
data[0].symbol (BTC/USDT)symbol (BTCUSDT)
bids[] / asks[] {price, qty}local book: best bid → b, bq; best ask → a, aq
typesnapshot replaces the book, update patches levels (qty 0 = remove)
data[0].timestamp (RFC 3339)et (exchange event time)
3 · What you receive from Aeon Feed (ticker:BTCUSDT)
{
  "type": "ticker",
  "ts": 1794472287283,
  "channel": "ticker:BTCUSDT",
  "s": "BTCUSDT",
  "data": [
    {
      "ex": "kraken",
      "b": 73530.4,
      "a": 73530.5,
      "bq": 0.01601202,
      "aq": 0.00108658,
      "t": 1794472287282,
      "et": 1794472287162
    }
  ]
}

Pairs on Kraken

Checking which pairs are listed…

Aeon Feed is free, with no ads and no paid tier. Donations keep it that way.

  • Keeping the project alive: servers and bandwidth for a free, public real-time feed.
  • Maintenance: keeping up with exchange API changes, fixing bugs, adding pairs and exchanges.
  • New features: cross-exchange arbitrage signals are next on the roadmap.
Tron (TRC-20)
Tether (USDT)
TXFraDKB…ZCAmpi

Send USDT only on the network you selected. TRC-20 has the lowest fees.