dfuse Streaming API for EOS2018-11-14T11:48:43+00:00

Using the WebSocket  Streaming API

Connect to the WebSocket endpoint

$ ws wss://mainnet.eos.dfuse.io/v1/stream?token=eyJhbGc...s8g

First, request your API key – it’s a JWT.

You can stream the EOS Mainnet or CryptoKylin.

Send a request to configure a listener

{
  "type": "get_actions",
  "listen": true,
  "data": {
    "account": "eosio.token",
    "action_name": "transfer",
    "receiver": "11111dfuseio"
  }
}

`get_actions` sets up a listener for actions matching the filter criteria. Other types of listeners also exist.

Receive streaming responses

{
  "type": "action_trace",
  "data": {
    "block_num": 14934816,
    "block_id": "00e3...6268",
    "trx_id": "e7d6...d75f",
    ...
    "trace": {
      "receipt": { ... },
      "act": {
        "account": "eosio.token",
        "name": "transfer",
        "authorization": [
          ...
        ],
        "data": {
          "from": "deathstarcom",
          "to": "11111dfuseio",
          "quantity": "5.0000 EOS",
          "memo": "It works!"
        }
      }
    }
  }
}

Responses contain detailed traces of events as they happen on the blockchain.

Key Features

Streaming API of actions

  • Filter on attributes like sender, receiver…
  • Detailed RAM costs of an action
  • Deferred transactions produced by each action
  • State changes produced by each action

Capacity to start from past blocks and continue in real-time

  • The API can process the whole chain history in one command, if needed
  • Gracefully handle disconnections, reconnect with the last block number seen, and continue without missing a beat

(Preview release) – Streaming API of changes to tables

  • Filterable by account, table, scope and/or primary key
  • Notification for transactions signed by a user
  • Including an initial, consistent table snapshot
  • Snapshot of all the balances for a given user with deltas and changes

Get started with a free dfuse streaming API account




During the beta period, we reserve the right to limit usage of certain features, volume of data or concurrent connections. At any time, you can ask us for high privilege keys.