Luno · AsyncAPI Specification

Luno Streaming API

Version 1

Real-time market data stream for the Luno Exchange. A client opens one WebSocket connection per trading pair, authenticates with its API key pair, receives an initial full order book snapshot, then a continuous sequence of update messages (create / delete / trade) that mutate the local order book. This AsyncAPI is an API Evangelist representation of the documented stream, not a Luno-published spec.

View Spec View on GitHub CompanyCryptocurrencyExchangeBitcoinEthereumTradingFintechWalletsBlockchainFinancial-ServicesAsyncAPIEventsWebSockets

Channels

/api/1/stream/{pair}
subscribe streamMarketUpdates

Servers

wss
production ws.luno.com
Luno market data streaming endpoint.

AsyncAPI Specification

Raw ↑
generated: '2026-07-20'
method: generated
source: https://www.luno.com/developers/api (Streaming API) + github.com/luno/luno-go/streaming
spec_type: AsyncAPI
asyncapi: 2.6.0
info:
  title: Luno Streaming API
  version: '1'
  description: >-
    Real-time market data stream for the Luno Exchange. A client opens one
    WebSocket connection per trading pair, authenticates with its API key pair,
    receives an initial full order book snapshot, then a continuous sequence of
    update messages (create / delete / trade) that mutate the local order book.
    This AsyncAPI is an API Evangelist representation of the documented stream,
    not a Luno-published spec.
servers:
  production:
    url: ws.luno.com
    protocol: wss
    description: Luno market data streaming endpoint.
channels:
  /api/1/stream/{pair}:
    parameters:
      pair:
        description: Trading pair / market id, e.g. XBTZAR, ETHZAR.
        schema:
          type: string
    subscribe:
      operationId: streamMarketUpdates
      message:
        oneOf:
          - name: orderBookSnapshot
            summary: Initial full order book (sent once on connect).
            payload:
              type: object
              properties:
                sequence: { type: string }
                asks: { type: array }
                bids: { type: array }
          - name: update
            summary: Incremental order book / trade update.
            payload:
              type: object
              properties:
                sequence: { type: string }
                trade_updates: { type: array }
                create_update: { type: object }
                delete_update: { type: object }
                status_update: { type: object }
                timestamp: { type: integer }
notes: >-
  Authentication is the same API Key ID / Secret pair used for the REST API,
  sent in the initial subscription frame. Luno does not offer outbound webhooks;
  this WebSocket stream is its event/streaming surface.

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/luno-streaming-asyncapi"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.