Chainstack · AsyncAPI Specification

Chainstack RPC WebSocket APIs

Version 1.0.0

AsyncAPI 2.6 specification for Chainstack's JSON-RPC WebSocket (WSS) subscription APIs. Chainstack-managed nodes expose a persistent WebSocket endpoint per node that accepts JSON-RPC 2.0 messages. Clients open a single `wss://` connection, send an `eth_subscribe` (EVM chains), `*Subscribe` (Solana), or other chain-specific subscription request, and then receive a stream of push notifications until they call the corresponding unsubscribe method or close the socket. Every channel, message and parameter in this document is sourced from Chainstack's public Developer Portal (https://docs.chainstack.com). Only subscriptions that Chainstack explicitly documents are included. Connection limits documented by Chainstack for managed nodes: - 3,600 second (1 hour) idle timeout per WebSocket connection. - Maximum 500 concurrent WebSocket connections per node. - Each pushed notification is billable as one request unit (except on Unlimited Nodes). Reference: https://docs.chainstack.com/docs/handle-real-time-data-using-websockets-with-javascript-and-python

View Spec View on GitHub BlockchainMulti-ChainRPCNode InfrastructureWeb3CryptoEthereumSolanaBitcoinDeFiMEVTrader NodeArchive DataMCPAI AgentsAsyncAPIWebhooksEvents

Channels

ethereum/eth_subscribe/newHeads
publish ethereumSubscribeNewHeads
Subscribe to newHeads on Ethereum
Subscribe to new Ethereum block headers via WebSocket. Server pushes one notification per new canonical block.
ethereum/eth_subscribe/logs
publish ethereumSubscribeLogs
Subscribe to logs on Ethereum
Subscribe to Ethereum event logs matching an optional address/topics filter.
ethereum/eth_subscribe/newPendingTransactions
publish ethereumSubscribeNewPendingTransactions
Subscribe to newPendingTransactions on Ethereum
Subscribe to the hash (or full body) of every new pending transaction entering the Ethereum mempool.
ethereum/eth_subscribe/syncing
publish ethereumSubscribeSyncing
Subscribe to syncing on Ethereum
Subscribe to Ethereum node syncing status. Pushes a sync object while syncing; pushes `false` once synced.
ethereum/eth_unsubscribe
publish ethereumUnsubscribe
Cancel an Ethereum subscription
Cancel any active eth_subscribe subscription on an Ethereum node.
polygon/eth_subscribe/newHeads
publish polygonSubscribeNewHeads
Subscribe to newHeads on Polygon
Subscribe to new Polygon PoS block headers via WebSocket.
polygon/eth_subscribe/logs
publish polygonSubscribeLogs
Subscribe to logs on Polygon
Subscribe to Polygon event logs matching an optional address/topics filter.
polygon/eth_subscribe/newPendingTransactions
publish polygonSubscribeNewPendingTransactions
Subscribe to newPendingTransactions on Polygon
Subscribe to new pending transactions in the Polygon mempool.
polygon/eth_subscribe/syncing
publish polygonSubscribeSyncing
Subscribe to syncing on Polygon
Subscribe to Polygon node syncing status.
polygon/eth_unsubscribe
publish polygonUnsubscribe
Cancel a Polygon subscription
Cancel any active eth_subscribe subscription on a Polygon node.
arbitrum/eth_subscribe/newHeads
publish arbitrumSubscribeNewHeads
Subscribe to newHeads on Arbitrum
Subscribe to new Arbitrum block headers via WebSocket.
arbitrum/eth_subscribe/logs
publish arbitrumSubscribeLogs
Subscribe to logs on Arbitrum
Subscribe to Arbitrum event logs matching an optional address/topics filter.
arbitrum/eth_subscribe/syncing
publish arbitrumSubscribeSyncing
Subscribe to syncing on Arbitrum
Subscribe to Arbitrum node syncing status.
arbitrum/eth_unsubscribe
publish arbitrumUnsubscribe
Cancel an Arbitrum subscription
Cancel any active eth_subscribe subscription on an Arbitrum node.
optimism/eth_subscribe/newHeads
publish optimismSubscribeNewHeads
Subscribe to newHeads on Optimism
Subscribe to new Optimism block headers via WebSocket.
optimism/eth_subscribe/logs
publish optimismSubscribeLogs
Subscribe to logs on Optimism
Subscribe to Optimism event logs matching an optional address/topics filter.
optimism/eth_unsubscribe
publish optimismUnsubscribe
Cancel an Optimism subscription
Cancel any active eth_subscribe subscription on an Optimism node.
base/eth_subscribe/newFlashblocks
publish baseSubscribeNewFlashblocks
Subscribe to newFlashblocks on Base
Subscribe to Chainstack Base Flashblocks preconfirmations. Streams a block snapshot approximately every 200 ms while a block is forming. The snapshot's `hash` and `stateRoot` are zero until the block is finalized.
base/eth_subscribe/newFlashblockTransactions
publish baseSubscribeNewFlashblockTransactions
Subscribe to newFlashblockTransactions on Base
Subscribe to transactions inside Base Flashblocks preconfirmations. The optional boolean parameter `true` requests full transaction objects (and associated logs) in each notification; otherwise minimal data is returned.
base/eth_subscribe/pendingLogs
publish baseSubscribePendingLogs
Subscribe to pendingLogs on Base
Subscribe to event logs emitted by pre-confirmed Flashblock transactions on Base. Delivered roughly every 200 ms over WebSocket and filtered by address/topics.
base/eth_unsubscribe
publish baseUnsubscribe
Cancel a Base subscription
Cancel any active eth_subscribe subscription on a Base node.
avalanche/eth_subscribe/newHeads
publish avalancheSubscribeNewHeads
Subscribe to newHeads on Avalanche
Subscribe to new Avalanche C-Chain block headers via WebSocket.
avalanche/eth_subscribe/logs
publish avalancheSubscribeLogs
Subscribe to logs on Avalanche
Subscribe to Avalanche event logs matching an optional address/topics filter.
avalanche/eth_subscribe/newPendingTransactions
publish avalancheSubscribeNewPendingTransactions
Subscribe to newPendingTransactions on Avalanche
Subscribe to new pending transactions in the Avalanche mempool.
avalanche/eth_subscribe/syncing
publish avalancheSubscribeSyncing
Subscribe to syncing on Avalanche
Subscribe to Avalanche node syncing status.
avalanche/eth_unsubscribe
publish avalancheUnsubscribe
Cancel an Avalanche subscription
Cancel any active eth_subscribe subscription on an Avalanche node.
gnosis/eth_subscribe/newHeads
publish gnosisSubscribeNewHeads
Subscribe to newHeads on Gnosis
Subscribe to new Gnosis Chain block headers via WebSocket.
gnosis/eth_subscribe/logs
publish gnosisSubscribeLogs
Subscribe to logs on Gnosis
Subscribe to Gnosis Chain event logs matching an optional address/topics filter.
gnosis/eth_subscribe/newPendingTransactions
publish gnosisSubscribeNewPendingTransactions
Subscribe to newPendingTransactions on Gnosis
Subscribe to new pending transactions in the Gnosis Chain mempool.
gnosis/eth_subscribe/syncing
publish gnosisSubscribeSyncing
Subscribe to syncing on Gnosis
Subscribe to Gnosis Chain node syncing status.
gnosis/eth_unsubscribe
publish gnosisUnsubscribe
Cancel a Gnosis subscription
Cancel any active eth_subscribe subscription on a Gnosis Chain node.
ronin/eth_subscribe/newHeads
publish roninSubscribeNewHeads
Subscribe to newHeads on Ronin
Subscribe to new Ronin block headers via WebSocket.
ronin/eth_subscribe/logs
publish roninSubscribeLogs
Subscribe to logs on Ronin
Subscribe to Ronin event logs matching an optional address/topics filter.
ronin/eth_subscribe/newPendingTransactions
publish roninSubscribeNewPendingTransactions
Subscribe to newPendingTransactions on Ronin
Subscribe to new pending transactions in the Ronin mempool.
ronin/eth_unsubscribe
publish roninUnsubscribe
Cancel a Ronin subscription
Cancel any active eth_subscribe subscription on a Ronin node.
hyperliquid/eth_subscribe/newHeads
publish hyperliquidSubscribeNewHeads
Subscribe to newHeads on Hyperliquid HyperEVM
Subscribe to new HyperEVM block headers via WebSocket.
hyperliquid/eth_subscribe/logs
publish hyperliquidSubscribeLogs
Subscribe to logs on Hyperliquid HyperEVM
Subscribe to HyperEVM event logs matching an optional address/topics filter.
hyperliquid/eth_subscribe/syncing
publish hyperliquidSubscribeSyncing
Subscribe to syncing on Hyperliquid HyperEVM
Subscribe to HyperEVM node syncing status.
hyperliquid/eth_unsubscribe
publish hyperliquidUnsubscribe
Cancel a Hyperliquid HyperEVM subscription
Cancel any active eth_subscribe subscription on a HyperEVM node.
monad/eth_subscribe/monadNewHeads
publish monadSubscribeMonadNewHeads
Subscribe to monadNewHeads on Monad
Subscribe to Monad block headers via the consensus lifecycle. Each notification includes a `blockId` and `commitState` (Proposed / Voted / Finalized / Verified). The same block number may appear multiple times as its `commitState` advances. Typically delivers roughly one second ahead of the standard `newHeads` event.
solana/accountSubscribe
publish solanaAccountSubscribe
Subscribe to a Solana account
Subscribe to changes on a single Solana account.
solana/accountUnsubscribe
publish solanaAccountUnsubscribe
Cancel a Solana accountSubscribe
Cancel an existing accountSubscribe subscription.
solana/programSubscribe
publish solanaProgramSubscribe
Subscribe to a Solana program
Subscribe to changes on all accounts owned by a Solana program.
solana/programUnsubscribe
publish solanaProgramUnsubscribe
Cancel a Solana programSubscribe
Cancel an existing programSubscribe subscription.
solana/logsSubscribe
publish solanaLogsSubscribe
Subscribe to Solana logs
Subscribe to transaction logs on Solana, optionally filtered by mentioned accounts.
solana/logsUnsubscribe
publish solanaLogsUnsubscribe
Cancel a Solana logsSubscribe
Cancel an existing logsSubscribe subscription.
solana/signatureSubscribe
publish solanaSignatureSubscribe
Subscribe to a Solana transaction signature
Subscribe to status changes for a specific transaction signature.
solana/signatureUnsubscribe
publish solanaSignatureUnsubscribe
Cancel a Solana signatureSubscribe
Cancel an existing signatureSubscribe subscription.
solana/slotSubscribe
publish solanaSlotSubscribe
Subscribe to Solana slots
Subscribe to notifications about new Solana slots being processed by the validator.
solana/slotUnsubscribe
publish solanaSlotUnsubscribe
Cancel a Solana slotSubscribe
Cancel an existing slotSubscribe subscription.
solana/slotsUpdatesSubscribe
publish solanaSlotsUpdatesSubscribe
Subscribe to Solana slots updates
Subscribe to detailed slot update notifications (first shred received, completed, created bank, frozen, optimistically confirmed, root).
solana/slotsUpdatesUnsubscribe
publish solanaSlotsUpdatesUnsubscribe
Cancel a Solana slotsUpdatesSubscribe
Cancel an existing slotsUpdatesSubscribe subscription.
solana/blockSubscribe
publish solanaBlockSubscribe
Subscribe to Solana blocks
Subscribe to confirmed Solana blocks. Available on Chainstack Solana Mainnet and Devnet (per the Chainstack August 15, 2024 release).
solana/blockUnsubscribe
publish solanaBlockUnsubscribe
Cancel a Solana blockSubscribe
Cancel an existing blockSubscribe subscription.
solana/rootSubscribe
publish solanaRootSubscribe
Subscribe to Solana root slots
Subscribe to root slot notifications (rooted slot number + estimated production timestamp).
solana/rootUnsubscribe
publish solanaRootUnsubscribe
Cancel a Solana rootSubscribe
Cancel an existing rootSubscribe subscription.

Messages

EthSubscribeNewHeadsRequest
eth_subscribe ("newHeads") request
JSON-RPC 2.0 request to subscribe to new block headers.
EthSubscribeLogsRequest
eth_subscribe ("logs") request
JSON-RPC 2.0 request to subscribe to event logs matching an address/topics filter.
EthSubscribeNewPendingTransactionsRequest
eth_subscribe ("newPendingTransactions") request
JSON-RPC 2.0 request to subscribe to new pending transactions.
EthSubscribeSyncingRequest
eth_subscribe ("syncing") request
JSON-RPC 2.0 request to subscribe to node sync status changes.
EthUnsubscribeRequest
eth_unsubscribe request
JSON-RPC 2.0 request to cancel an existing subscription.
BaseSubscribeNewFlashblocksRequest
eth_subscribe ("newFlashblocks") request (Base)
Subscribe to Chainstack Base Flashblocks preconfirmation snapshots (~200 ms cadence).
BaseSubscribeNewFlashblockTransactionsRequest
eth_subscribe ("newFlashblockTransactions") request (Base)
Subscribe to transactions inside Base Flashblocks preconfirmations.
BaseSubscribePendingLogsRequest
eth_subscribe ("pendingLogs") request (Base)
Subscribe to event logs from pre-confirmed Flashblock transactions on Base.
MonadSubscribeMonadNewHeadsRequest
eth_subscribe ("monadNewHeads") request (Monad)
Subscribe to Monad block headers across the consensus lifecycle.
EthSubscriptionNewHeadsNotification
eth_subscription notification (newHeads)
Push notification carrying a new block header.
EthSubscriptionLogNotification
eth_subscription notification (logs / pendingLogs)
Push notification carrying an event log.
EthSubscriptionPendingTxNotification
eth_subscription notification (newPendingTransactions)
Push notification carrying a pending transaction hash or full transaction object.
EthSubscriptionSyncingNotification
eth_subscription notification (syncing)
Push notification carrying a sync status object or `false`.
EthSubscriptionFlashblockNotification
eth_subscription notification (newFlashblocks)
Push notification carrying a Base Flashblocks block-in-progress snapshot.
EthSubscriptionFlashblockTxNotification
eth_subscription notification (newFlashblockTransactions)
Push notification carrying a transaction included in a Base Flashblocks preconfirmation.
MonadSubscriptionMonadNewHeadsNotification
eth_subscription notification (monadNewHeads)
Push notification carrying a Monad block header tagged with its commitState.
SolanaAccountSubscribeRequest
accountSubscribe request (Solana)
SolanaProgramSubscribeRequest
programSubscribe request (Solana)
SolanaLogsSubscribeRequest
logsSubscribe request (Solana)
SolanaSignatureSubscribeRequest
signatureSubscribe request (Solana)
SolanaSlotSubscribeRequest
slotSubscribe request (Solana)
SolanaSlotsUpdatesSubscribeRequest
slotsUpdatesSubscribe request (Solana)
SolanaBlockSubscribeRequest
blockSubscribe request (Solana)
SolanaRootSubscribeRequest
rootSubscribe request (Solana)
SolanaUnsubscribeRequest
Solana unsubscribe request
Cancel an existing Solana subscription by ID. The method name varies (accountUnsubscribe, programUnsubscribe, logsUnsubscribe, signatureUnsubscribe, slotUnsubscribe, slotsUpdatesUnsubscribe, blockUnsubscribe, rootUnsubscribe).
SolanaAccountNotification
accountNotification (Solana)
SolanaProgramNotification
programNotification (Solana)
SolanaLogsNotification
logsNotification (Solana)
SolanaSignatureNotification
signatureNotification (Solana)
SolanaSlotNotification
slotNotification (Solana)
SolanaSlotsUpdatesNotification
slotsUpdatesNotification (Solana)
SolanaBlockNotification
blockNotification (Solana)
SolanaRootNotification
rootNotification (Solana)

Servers

wss
evm-mainnet wss://{network}.core.chainstack.com/{auth_key}
Canonical Chainstack-managed EVM node WebSocket endpoint. The {network} segment identifies the chain/network (for example `ethereum-mainnet`, `polygon-mainnet`, `bsc-mainnet`, `arbitrum-mainnet`, `optimism-mainnet`, `base-mainnet`, `avalanche-mainnet`, `gnosis-mainnet`, `hyperliquid-mainnet`). The {auth_key} path segment is the per-node access key issued by the Chainstack platform. Example: wss://ethereum-mainnet.core.chainstack.com/AUTH_KEY. Source: https://docs.chainstack.com/docs/evm-node-connection-http-vs-websocket
wss
dedicated-node wss://{node_id}.p2pify.com/{auth_key}
Chainstack Dedicated / Trader Node WebSocket endpoint. The {node_id} is the provisioned per-node identifier (for example `nd-422-757-666`) and {auth_key} is the per-node access key. Example: wss://nd-422-757-666.p2pify.com/AUTH_KEY.

AsyncAPI Specification

Raw ↑
asyncapi: 2.6.0
info:
  title: Chainstack RPC WebSocket APIs
  version: 1.0.0
  description: |
    AsyncAPI 2.6 specification for Chainstack's JSON-RPC WebSocket (WSS) subscription APIs.

    Chainstack-managed nodes expose a persistent WebSocket endpoint per node that accepts JSON-RPC
    2.0 messages. Clients open a single `wss://` connection, send an `eth_subscribe` (EVM chains),
    `*Subscribe` (Solana), or other chain-specific subscription request, and then receive a stream
    of push notifications until they call the corresponding unsubscribe method or close the socket.

    Every channel, message and parameter in this document is sourced from Chainstack's public
    Developer Portal (https://docs.chainstack.com). Only subscriptions that Chainstack explicitly
    documents are included.

    Connection limits documented by Chainstack for managed nodes:
      - 3,600 second (1 hour) idle timeout per WebSocket connection.
      - Maximum 500 concurrent WebSocket connections per node.
      - Each pushed notification is billable as one request unit (except on Unlimited Nodes).

    Reference: https://docs.chainstack.com/docs/handle-real-time-data-using-websockets-with-javascript-and-python
  contact:
    name: Chainstack API Support
    email: [email protected]
    url: https://support.chainstack.com
  license:
    name: Chainstack Terms of Service
    url: https://chainstack.com/terms-of-service/
  termsOfService: https://chainstack.com/terms-of-service/
  x-documentation: https://docs.chainstack.com
  x-source: https://docs.chainstack.com/llms.txt

defaultContentType: application/json

servers:
  evm-mainnet:
    url: wss://{network}.core.chainstack.com/{auth_key}
    protocol: wss
    description: |
      Canonical Chainstack-managed EVM node WebSocket endpoint. The {network} segment
      identifies the chain/network (for example `ethereum-mainnet`, `polygon-mainnet`,
      `bsc-mainnet`, `arbitrum-mainnet`, `optimism-mainnet`, `base-mainnet`,
      `avalanche-mainnet`, `gnosis-mainnet`, `hyperliquid-mainnet`). The {auth_key}
      path segment is the per-node access key issued by the Chainstack platform.
      Example: wss://ethereum-mainnet.core.chainstack.com/AUTH_KEY.
      Source: https://docs.chainstack.com/docs/evm-node-connection-http-vs-websocket
    variables:
      network:
        default: ethereum-mainnet
        description: Network slug for the Chainstack-managed chain (e.g. ethereum-mainnet, polygon-mainnet).
      auth_key:
        default: AUTH_KEY
        description: Per-node access key issued by the Chainstack platform.
  dedicated-node:
    url: wss://{node_id}.p2pify.com/{auth_key}
    protocol: wss
    description: |
      Chainstack Dedicated / Trader Node WebSocket endpoint. The {node_id} is the
      provisioned per-node identifier (for example `nd-422-757-666`) and {auth_key}
      is the per-node access key. Example: wss://nd-422-757-666.p2pify.com/AUTH_KEY.
    variables:
      node_id:
        default: nd-000-000-000
        description: Per-node identifier provisioned by the Chainstack platform.
      auth_key:
        default: AUTH_KEY
        description: Per-node access key issued by the Chainstack platform.

tags:
  - name: EVM
    description: EVM-compatible JSON-RPC subscriptions exposed via eth_subscribe.
  - name: Ethereum
    description: Ethereum mainnet and testnet WebSocket subscriptions.
  - name: Polygon
    description: Polygon PoS WebSocket subscriptions.
  - name: Arbitrum
    description: Arbitrum WebSocket subscriptions.
  - name: Optimism
    description: Optimism WebSocket subscriptions.
  - name: Base
    description: Base WebSocket subscriptions including Flashblocks preconfirmations.
  - name: Avalanche
    description: Avalanche C-Chain WebSocket subscriptions.
  - name: Gnosis
    description: Gnosis Chain WebSocket subscriptions.
  - name: Ronin
    description: Ronin WebSocket subscriptions.
  - name: Hyperliquid
    description: Hyperliquid HyperEVM WebSocket subscriptions.
  - name: Monad
    description: Monad WebSocket subscriptions including monadNewHeads lifecycle stream.
  - name: Solana
    description: Solana WebSocket pub/sub subscriptions.
  - name: Subscribe
    description: Channels that initiate a JSON-RPC subscription.
  - name: Unsubscribe
    description: Channels that cancel an existing JSON-RPC subscription.
  - name: Notification
    description: Server-pushed subscription notifications.

channels:

  # ---------------------------------------------------------------------------
  # Ethereum eth_subscribe
  # https://docs.chainstack.com/reference/ethereum-subscribenewblockheaders
  # https://docs.chainstack.com/reference/ethereum-subscribelogs
  # https://docs.chainstack.com/reference/ethereum-subscribependingtransactions
  # https://docs.chainstack.com/reference/ethereum-subscribesyncing
  # https://docs.chainstack.com/reference/ethereum-native-subscribe-newheads
  # https://docs.chainstack.com/reference/ethereum-native-subscribe-logs
  # https://docs.chainstack.com/reference/ethereum-native-subscribe-newpendingtransactions
  # https://docs.chainstack.com/reference/ethereum-native-unsubscribe
  # ---------------------------------------------------------------------------
  ethereum/eth_subscribe/newHeads:
    description: Subscribe to new Ethereum block headers via WebSocket. Server pushes one notification per new canonical block.
    publish:
      operationId: ethereumSubscribeNewHeads
      summary: Subscribe to newHeads on Ethereum
      tags:
        - name: Ethereum
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewHeadsRequest'
    subscribe:
      operationId: ethereumNewHeadsNotification
      summary: Receive Ethereum newHeads notifications
      tags:
        - name: Ethereum
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionNewHeadsNotification'

  ethereum/eth_subscribe/logs:
    description: Subscribe to Ethereum event logs matching an optional address/topics filter.
    publish:
      operationId: ethereumSubscribeLogs
      summary: Subscribe to logs on Ethereum
      tags:
        - name: Ethereum
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeLogsRequest'
    subscribe:
      operationId: ethereumLogsNotification
      summary: Receive Ethereum logs notifications
      tags:
        - name: Ethereum
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionLogNotification'

  ethereum/eth_subscribe/newPendingTransactions:
    description: Subscribe to the hash (or full body) of every new pending transaction entering the Ethereum mempool.
    publish:
      operationId: ethereumSubscribeNewPendingTransactions
      summary: Subscribe to newPendingTransactions on Ethereum
      tags:
        - name: Ethereum
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewPendingTransactionsRequest'
    subscribe:
      operationId: ethereumNewPendingTransactionsNotification
      summary: Receive Ethereum newPendingTransactions notifications
      tags:
        - name: Ethereum
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionPendingTxNotification'

  ethereum/eth_subscribe/syncing:
    description: Subscribe to Ethereum node syncing status. Pushes a sync object while syncing; pushes `false` once synced.
    publish:
      operationId: ethereumSubscribeSyncing
      summary: Subscribe to syncing on Ethereum
      tags:
        - name: Ethereum
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeSyncingRequest'
    subscribe:
      operationId: ethereumSyncingNotification
      summary: Receive Ethereum syncing notifications
      tags:
        - name: Ethereum
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionSyncingNotification'

  ethereum/eth_unsubscribe:
    description: Cancel any active eth_subscribe subscription on an Ethereum node.
    publish:
      operationId: ethereumUnsubscribe
      summary: Cancel an Ethereum subscription
      tags:
        - name: Ethereum
        - name: EVM
        - name: Unsubscribe
      message:
        $ref: '#/components/messages/EthUnsubscribeRequest'

  # ---------------------------------------------------------------------------
  # Polygon eth_subscribe
  # https://docs.chainstack.com/reference/polygon-subscribenewblockheaders
  # https://docs.chainstack.com/reference/polygon-subscribelogs
  # https://docs.chainstack.com/reference/polygon-subscribependingtransactions
  # https://docs.chainstack.com/reference/polygon-subscribesyncing
  # https://docs.chainstack.com/reference/polygon-native-subscribe-newheads
  # https://docs.chainstack.com/reference/polygon-native-subscribe-logs
  # https://docs.chainstack.com/reference/polygon-native-subscribe-newpendingtransactions
  # https://docs.chainstack.com/reference/polygon-native-unsubscribe
  # ---------------------------------------------------------------------------
  polygon/eth_subscribe/newHeads:
    description: Subscribe to new Polygon PoS block headers via WebSocket.
    publish:
      operationId: polygonSubscribeNewHeads
      summary: Subscribe to newHeads on Polygon
      tags:
        - name: Polygon
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewHeadsRequest'
    subscribe:
      operationId: polygonNewHeadsNotification
      summary: Receive Polygon newHeads notifications
      tags:
        - name: Polygon
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionNewHeadsNotification'

  polygon/eth_subscribe/logs:
    description: Subscribe to Polygon event logs matching an optional address/topics filter.
    publish:
      operationId: polygonSubscribeLogs
      summary: Subscribe to logs on Polygon
      tags:
        - name: Polygon
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeLogsRequest'
    subscribe:
      operationId: polygonLogsNotification
      summary: Receive Polygon logs notifications
      tags:
        - name: Polygon
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionLogNotification'

  polygon/eth_subscribe/newPendingTransactions:
    description: Subscribe to new pending transactions in the Polygon mempool.
    publish:
      operationId: polygonSubscribeNewPendingTransactions
      summary: Subscribe to newPendingTransactions on Polygon
      tags:
        - name: Polygon
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewPendingTransactionsRequest'
    subscribe:
      operationId: polygonNewPendingTransactionsNotification
      summary: Receive Polygon newPendingTransactions notifications
      tags:
        - name: Polygon
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionPendingTxNotification'

  polygon/eth_subscribe/syncing:
    description: Subscribe to Polygon node syncing status.
    publish:
      operationId: polygonSubscribeSyncing
      summary: Subscribe to syncing on Polygon
      tags:
        - name: Polygon
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeSyncingRequest'
    subscribe:
      operationId: polygonSyncingNotification
      summary: Receive Polygon syncing notifications
      tags:
        - name: Polygon
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionSyncingNotification'

  polygon/eth_unsubscribe:
    description: Cancel any active eth_subscribe subscription on a Polygon node.
    publish:
      operationId: polygonUnsubscribe
      summary: Cancel a Polygon subscription
      tags:
        - name: Polygon
        - name: EVM
        - name: Unsubscribe
      message:
        $ref: '#/components/messages/EthUnsubscribeRequest'

  # ---------------------------------------------------------------------------
  # Arbitrum eth_subscribe
  # https://docs.chainstack.com/reference/arbitrum-subscribenewblockheaders
  # https://docs.chainstack.com/reference/arbitrum-subscribelogs
  # https://docs.chainstack.com/reference/arbitrum-subscribesyncing
  # https://docs.chainstack.com/reference/arbitrum-native-subscribe-newheads
  # https://docs.chainstack.com/reference/arbitrum-native-subscribe-logs
  # https://docs.chainstack.com/reference/arbitrum-native-unsubscribe
  # ---------------------------------------------------------------------------
  arbitrum/eth_subscribe/newHeads:
    description: Subscribe to new Arbitrum block headers via WebSocket.
    publish:
      operationId: arbitrumSubscribeNewHeads
      summary: Subscribe to newHeads on Arbitrum
      tags:
        - name: Arbitrum
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewHeadsRequest'
    subscribe:
      operationId: arbitrumNewHeadsNotification
      summary: Receive Arbitrum newHeads notifications
      tags:
        - name: Arbitrum
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionNewHeadsNotification'

  arbitrum/eth_subscribe/logs:
    description: Subscribe to Arbitrum event logs matching an optional address/topics filter.
    publish:
      operationId: arbitrumSubscribeLogs
      summary: Subscribe to logs on Arbitrum
      tags:
        - name: Arbitrum
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeLogsRequest'
    subscribe:
      operationId: arbitrumLogsNotification
      summary: Receive Arbitrum logs notifications
      tags:
        - name: Arbitrum
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionLogNotification'

  arbitrum/eth_subscribe/syncing:
    description: Subscribe to Arbitrum node syncing status.
    publish:
      operationId: arbitrumSubscribeSyncing
      summary: Subscribe to syncing on Arbitrum
      tags:
        - name: Arbitrum
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeSyncingRequest'
    subscribe:
      operationId: arbitrumSyncingNotification
      summary: Receive Arbitrum syncing notifications
      tags:
        - name: Arbitrum
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionSyncingNotification'

  arbitrum/eth_unsubscribe:
    description: Cancel any active eth_subscribe subscription on an Arbitrum node.
    publish:
      operationId: arbitrumUnsubscribe
      summary: Cancel an Arbitrum subscription
      tags:
        - name: Arbitrum
        - name: EVM
        - name: Unsubscribe
      message:
        $ref: '#/components/messages/EthUnsubscribeRequest'

  # ---------------------------------------------------------------------------
  # Optimism eth_subscribe
  # https://docs.chainstack.com/reference/optimism-subscribenewheads
  # https://docs.chainstack.com/reference/optimism-subscribelogs
  # https://docs.chainstack.com/reference/optimism-unsubscribe
  # ---------------------------------------------------------------------------
  optimism/eth_subscribe/newHeads:
    description: Subscribe to new Optimism block headers via WebSocket.
    publish:
      operationId: optimismSubscribeNewHeads
      summary: Subscribe to newHeads on Optimism
      tags:
        - name: Optimism
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewHeadsRequest'
    subscribe:
      operationId: optimismNewHeadsNotification
      summary: Receive Optimism newHeads notifications
      tags:
        - name: Optimism
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionNewHeadsNotification'

  optimism/eth_subscribe/logs:
    description: Subscribe to Optimism event logs matching an optional address/topics filter.
    publish:
      operationId: optimismSubscribeLogs
      summary: Subscribe to logs on Optimism
      tags:
        - name: Optimism
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeLogsRequest'
    subscribe:
      operationId: optimismLogsNotification
      summary: Receive Optimism logs notifications
      tags:
        - name: Optimism
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionLogNotification'

  optimism/eth_unsubscribe:
    description: Cancel any active eth_subscribe subscription on an Optimism node.
    publish:
      operationId: optimismUnsubscribe
      summary: Cancel an Optimism subscription
      tags:
        - name: Optimism
        - name: EVM
        - name: Unsubscribe
      message:
        $ref: '#/components/messages/EthUnsubscribeRequest'

  # ---------------------------------------------------------------------------
  # Base eth_subscribe (including Flashblocks preconfirmations)
  # https://docs.chainstack.com/reference/base-subscribe-newflashblocks
  # https://docs.chainstack.com/reference/base-subscribe-newflashblocktransactions
  # https://docs.chainstack.com/reference/base-subscribe-pendinglogs
  # https://docs.chainstack.com/reference/base-unsubscribe
  # ---------------------------------------------------------------------------
  base/eth_subscribe/newFlashblocks:
    description: |
      Subscribe to Chainstack Base Flashblocks preconfirmations. Streams a block snapshot
      approximately every 200 ms while a block is forming. The snapshot's `hash` and
      `stateRoot` are zero until the block is finalized.
    publish:
      operationId: baseSubscribeNewFlashblocks
      summary: Subscribe to newFlashblocks on Base
      tags:
        - name: Base
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/BaseSubscribeNewFlashblocksRequest'
    subscribe:
      operationId: baseNewFlashblocksNotification
      summary: Receive Base newFlashblocks notifications
      tags:
        - name: Base
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionFlashblockNotification'

  base/eth_subscribe/newFlashblockTransactions:
    description: |
      Subscribe to transactions inside Base Flashblocks preconfirmations. The optional
      boolean parameter `true` requests full transaction objects (and associated logs)
      in each notification; otherwise minimal data is returned.
    publish:
      operationId: baseSubscribeNewFlashblockTransactions
      summary: Subscribe to newFlashblockTransactions on Base
      tags:
        - name: Base
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/BaseSubscribeNewFlashblockTransactionsRequest'
    subscribe:
      operationId: baseNewFlashblockTransactionsNotification
      summary: Receive Base newFlashblockTransactions notifications
      tags:
        - name: Base
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionFlashblockTxNotification'

  base/eth_subscribe/pendingLogs:
    description: |
      Subscribe to event logs emitted by pre-confirmed Flashblock transactions on Base.
      Delivered roughly every 200 ms over WebSocket and filtered by address/topics.
    publish:
      operationId: baseSubscribePendingLogs
      summary: Subscribe to pendingLogs on Base
      tags:
        - name: Base
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/BaseSubscribePendingLogsRequest'
    subscribe:
      operationId: basePendingLogsNotification
      summary: Receive Base pendingLogs notifications
      tags:
        - name: Base
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionLogNotification'

  base/eth_unsubscribe:
    description: Cancel any active eth_subscribe subscription on a Base node.
    publish:
      operationId: baseUnsubscribe
      summary: Cancel a Base subscription
      tags:
        - name: Base
        - name: EVM
        - name: Unsubscribe
      message:
        $ref: '#/components/messages/EthUnsubscribeRequest'

  # ---------------------------------------------------------------------------
  # Avalanche eth_subscribe
  # https://docs.chainstack.com/reference/avalanche-subscribenewblockheaders
  # https://docs.chainstack.com/reference/avalanche-subscribelogs
  # https://docs.chainstack.com/reference/avalanche-subscribependingtransactions
  # https://docs.chainstack.com/reference/avalanche-subscribesyncing
  # https://docs.chainstack.com/reference/avalanche-native-subscribe-newheads
  # https://docs.chainstack.com/reference/avalanche-native-subscribe-logs
  # https://docs.chainstack.com/reference/avalanche-native-subscribe-newpendingtransactions
  # https://docs.chainstack.com/reference/avalanche-native-unsubscribe
  # ---------------------------------------------------------------------------
  avalanche/eth_subscribe/newHeads:
    description: Subscribe to new Avalanche C-Chain block headers via WebSocket.
    publish:
      operationId: avalancheSubscribeNewHeads
      summary: Subscribe to newHeads on Avalanche
      tags:
        - name: Avalanche
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewHeadsRequest'
    subscribe:
      operationId: avalancheNewHeadsNotification
      summary: Receive Avalanche newHeads notifications
      tags:
        - name: Avalanche
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionNewHeadsNotification'

  avalanche/eth_subscribe/logs:
    description: Subscribe to Avalanche event logs matching an optional address/topics filter.
    publish:
      operationId: avalancheSubscribeLogs
      summary: Subscribe to logs on Avalanche
      tags:
        - name: Avalanche
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeLogsRequest'
    subscribe:
      operationId: avalancheLogsNotification
      summary: Receive Avalanche logs notifications
      tags:
        - name: Avalanche
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionLogNotification'

  avalanche/eth_subscribe/newPendingTransactions:
    description: Subscribe to new pending transactions in the Avalanche mempool.
    publish:
      operationId: avalancheSubscribeNewPendingTransactions
      summary: Subscribe to newPendingTransactions on Avalanche
      tags:
        - name: Avalanche
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewPendingTransactionsRequest'
    subscribe:
      operationId: avalancheNewPendingTransactionsNotification
      summary: Receive Avalanche newPendingTransactions notifications
      tags:
        - name: Avalanche
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionPendingTxNotification'

  avalanche/eth_subscribe/syncing:
    description: Subscribe to Avalanche node syncing status.
    publish:
      operationId: avalancheSubscribeSyncing
      summary: Subscribe to syncing on Avalanche
      tags:
        - name: Avalanche
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeSyncingRequest'
    subscribe:
      operationId: avalancheSyncingNotification
      summary: Receive Avalanche syncing notifications
      tags:
        - name: Avalanche
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionSyncingNotification'

  avalanche/eth_unsubscribe:
    description: Cancel any active eth_subscribe subscription on an Avalanche node.
    publish:
      operationId: avalancheUnsubscribe
      summary: Cancel an Avalanche subscription
      tags:
        - name: Avalanche
        - name: EVM
        - name: Unsubscribe
      message:
        $ref: '#/components/messages/EthUnsubscribeRequest'

  # ---------------------------------------------------------------------------
  # Gnosis eth_subscribe
  # https://docs.chainstack.com/reference/gnosis-subscribenewblockheaders
  # https://docs.chainstack.com/reference/gnosis-subscribelogs
  # https://docs.chainstack.com/reference/gnosis-subscribependingtransactions
  # https://docs.chainstack.com/reference/gnosis-subscribesyncing
  # https://docs.chainstack.com/reference/gnosis-native-subscribe-newheads
  # https://docs.chainstack.com/reference/gnosis-native-subscribe-logs
  # https://docs.chainstack.com/reference/gnosis-native-subscribe-newpendingtransactions
  # https://docs.chainstack.com/reference/gnosis-native-unsubscribe
  # ---------------------------------------------------------------------------
  gnosis/eth_subscribe/newHeads:
    description: Subscribe to new Gnosis Chain block headers via WebSocket.
    publish:
      operationId: gnosisSubscribeNewHeads
      summary: Subscribe to newHeads on Gnosis
      tags:
        - name: Gnosis
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewHeadsRequest'
    subscribe:
      operationId: gnosisNewHeadsNotification
      summary: Receive Gnosis newHeads notifications
      tags:
        - name: Gnosis
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionNewHeadsNotification'

  gnosis/eth_subscribe/logs:
    description: Subscribe to Gnosis Chain event logs matching an optional address/topics filter.
    publish:
      operationId: gnosisSubscribeLogs
      summary: Subscribe to logs on Gnosis
      tags:
        - name: Gnosis
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeLogsRequest'
    subscribe:
      operationId: gnosisLogsNotification
      summary: Receive Gnosis logs notifications
      tags:
        - name: Gnosis
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionLogNotification'

  gnosis/eth_subscribe/newPendingTransactions:
    description: Subscribe to new pending transactions in the Gnosis Chain mempool.
    publish:
      operationId: gnosisSubscribeNewPendingTransactions
      summary: Subscribe to newPendingTransactions on Gnosis
      tags:
        - name: Gnosis
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewPendingTransactionsRequest'
    subscribe:
      operationId: gnosisNewPendingTransactionsNotification
      summary: Receive Gnosis newPendingTransactions notifications
      tags:
        - name: Gnosis
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionPendingTxNotification'

  gnosis/eth_subscribe/syncing:
    description: Subscribe to Gnosis Chain node syncing status.
    publish:
      operationId: gnosisSubscribeSyncing
      summary: Subscribe to syncing on Gnosis
      tags:
        - name: Gnosis
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeSyncingRequest'
    subscribe:
      operationId: gnosisSyncingNotification
      summary: Receive Gnosis syncing notifications
      tags:
        - name: Gnosis
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionSyncingNotification'

  gnosis/eth_unsubscribe:
    description: Cancel any active eth_subscribe subscription on a Gnosis Chain node.
    publish:
      operationId: gnosisUnsubscribe
      summary: Cancel a Gnosis subscription
      tags:
        - name: Gnosis
        - name: EVM
        - name: Unsubscribe
      message:
        $ref: '#/components/messages/EthUnsubscribeRequest'

  # ---------------------------------------------------------------------------
  # Ronin eth_subscribe
  # https://docs.chainstack.com/reference/ronin-subscribenewheads
  # https://docs.chainstack.com/reference/ronin-subscribelogs
  # https://docs.chainstack.com/reference/ronin-subscribenewpendingtransactions
  # https://docs.chainstack.com/reference/ronin-unsubscribe
  # ---------------------------------------------------------------------------
  ronin/eth_subscribe/newHeads:
    description: Subscribe to new Ronin block headers via WebSocket.
    publish:
      operationId: roninSubscribeNewHeads
      summary: Subscribe to newHeads on Ronin
      tags:
        - name: Ronin
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewHeadsRequest'
    subscribe:
      operationId: roninNewHeadsNotification
      summary: Receive Ronin newHeads notifications
      tags:
        - name: Ronin
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionNewHeadsNotification'

  ronin/eth_subscribe/logs:
    description: Subscribe to Ronin event logs matching an optional address/topics filter.
    publish:
      operationId: roninSubscribeLogs
      summary: Subscribe to logs on Ronin
      tags:
        - name: Ronin
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeLogsRequest'
    subscribe:
      operationId: roninLogsNotification
      summary: Receive Ronin logs notifications
      tags:
        - name: Ronin
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionLogNotification'

  ronin/eth_subscribe/newPendingTransactions:
    description: Subscribe to new pending transactions in the Ronin mempool.
    publish:
      operationId: roninSubscribeNewPendingTransactions
      summary: Subscribe to newPendingTransactions on Ronin
      tags:
        - name: Ronin
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewPendingTransactionsRequest'
    subscribe:
      operationId: roninNewPendingTransactionsNotification
      summary: Receive Ronin newPendingTransactions notifications
      tags:
        - name: Ronin
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionPendingTxNotification'

  ronin/eth_unsubscribe:
    description: Cancel any active eth_subscribe subscription on a Ronin node.
    publish:
      operationId: roninUnsubscribe
      summary: Cancel a Ronin subscription
      tags:
        - name: Ronin
        - name: EVM
        - name: Unsubscribe
      message:
        $ref: '#/components/messages/EthUnsubscribeRequest'

  # ---------------------------------------------------------------------------
  # Hyperliquid EVM eth_subscribe
  # https://docs.chainstack.com/reference/hyperliquid-evm-eth-subscribe-newheads
  # https://docs.chainstack.com/reference/hyperliquid-evm-eth-subscribe-logs
  # https://docs.chainstack.com/reference/hyperliquid-evm-eth-subscribe-syncing
  # https://docs.chainstack.com/reference/hyperliquid-evm-eth-unsubscribe
  # ---------------------------------------------------------------------------
  hyperliquid/eth_subscribe/newHeads:
    description: Subscribe to new HyperEVM block headers via WebSocket.
    publish:
      operationId: hyperliquidSubscribeNewHeads
      summary: Subscribe to newHeads on Hyperliquid HyperEVM
      tags:
        - name: Hyperliquid
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeNewHeadsRequest'
    subscribe:
      operationId: hyperliquidNewHeadsNotification
      summary: Receive Hyperliquid newHeads notifications
      tags:
        - name: Hyperliquid
        - name: Notification
      message:
        $ref: '#/components/messages/EthSubscriptionNewHeadsNotification'

  hyperliquid/eth_subscribe/logs:
    description: Subscribe to HyperEVM event logs matching an optional address/topics filter.
    publish:
      operationId: hyperliquidSubscribeLogs
      summary: Subscribe to logs on Hyperliquid HyperEVM
      tags:
        - name: Hyperliquid
        - name: EVM
        - name: Subscribe
      message:
        $ref: '#/components/messages/EthSubscribeLogsRequest'
    subscribe:
      operationId: hyperliquidLogsNotification
      summary: Receive Hyperliquid logs notifications
      tags:
        - name: Hype

# --- truncated at 32 KB (92 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/chainstack/refs/heads/main/asyncapi/chainstack-asyncapi.yml