---
title: "Ebbo"
url: https://docs.truemarkets.co/api/websocket/institutional/ebbo
description: "Message sent from server containing the latest exchange best bid and offer information for a subscribed instrument."
---

Docs index: https://docs.truemarkets.co/llms.txt

# Ebbo

True Markets CeFi WebSocket sends these messages to you.

Address: `/v1/cefi/market`

## Servers

- `wss://api.truemarkets.co` (Production, wss)
- `wss://api.uat.truemarkets.co` (Uat, wss)

## Messages

### ebbo

Payload: `EbboPayload`

Example payload:

```json
{
  "seqnum": "string",
  "channel": "EBBO",
  "update": "SNAPSHOT",
  "data": {
    "id": "string",
    "symbol": "string",
    "info": {
      "last_trade": {
        "price": "string",
        "qty": "string",
        "timestamp": "string"
      },
      "best_bid": {
        "price": "string",
        "qty": "string",
        "depth": "string"
      },
      "best_ask": {
        "price": "string",
        "qty": "string",
        "depth": "string"
      },
      "last_update": "string"
    }
  }
}
```

## Types

```ts
export type EbboMessage = EbboPayload;

export type EbboPayload =
  | {
  /** Current sequence number of the channel. */
  seqnum: string;
  channel: "EBBO";
  update: "SNAPSHOT" | "UPDATE";
  data: MarketData;
}
  | {
  /** Current sequence number of the channel. */
  seqnum: string;
  channel: "EBBO";
  update: "SNAPSHOT_COMPLETE";

  /** The subscribed item whose snapshot is complete. */
  item: string;
};

export interface MarketData {
  /** Exchange assigned ID of the market data. */
  id?: string;

  /** Human readable representation of the instrument. */
  symbol?: string;
  info?: {
    /** Last trade information. */
    last_trade?: MarketQuote & Record<string, unknown>;

    /** Current exchange best bid. */
    best_bid?: MarketLevel & Record<string, unknown>;

    /** Current exchange best ask. */
    best_ask?: MarketLevel & Record<string, unknown>;

    /** A UTC Unix epoch in nanoseconds indicating when the book was last updated. */
    last_update?: string;
  };
}

export interface MarketQuote {
  price?: string;
  qty?: string;

  /** The Unix UTC timestamp (in nanoseconds) when the event occurred. */
  timestamp?: string;
}

export interface MarketLevel {
  /** Price at this level. */
  price?: string;

  /** Aggregate quantity resting at this level. */
  qty?: string;

  /** Number of orders resting at this level. */
  depth?: string;
}
```