aid: ankr generated: '2026-05-29' target: AsyncAPI 2.6 spec for Ankr's WebSocket-based RPC subscriptions status: partial summary: | Ankr publicly documents that WSS is supported on ~50 EVM/EVM-adjacent chains and on Solana, and that WebSocket traffic is metered as Subscription + Notification actions. However, Ankr's documentation does NOT enumerate the specific subscription types (e.g. newHeads, logs, newPendingTransactions, syncing for EVM; accountSubscribe, logsSubscribe, programSubscribe, signatureSubscribe, slotSubscribe, blockSubscribe, rootSubscribe, voteSubscribe, slotsUpdatesSubscribe for Solana). Per the hard rule "every subscription from official Ankr docs — no fabrication", the resulting AsyncAPI spec is intentionally conservative: it models the JSON-RPC-over-WebSocket envelope and the eth_subscribe / eth_unsubscribe operations Ankr commits to, plus the Solana subscribe/unsubscribe namespace, without enumerating individual subscription types Ankr has not itself named. sources_consulted: - url: https://www.ankr.com/docs/rpc-service/chains/chains-list/ github_path: pages/rpc-service/chains/chains-list.mdx status: fetched notes: | Authoritative source for which chains/networks expose WSS. Lists 50+ EVM chains and Solana Mainnet+Devnet as `HTTPS and WSS`. For each chain's WSS surface, the only explicitly unsupported methods are `txpool_content`, `txpool_inspect`, `txpool_status`, `txpool_contentFrom`. Confirms Solana WSS support; only `getLargestAccounts` is listed as unsupported for Solana (no subscribe methods enumerated). - url: https://www.ankr.com/docs/rpc-service/service-plans/ github_path: pages/rpc-service/service-plans.mdx status: fetched notes: | Confirms WSS connection requires Freemium/Premium plan. Documents WebSocket interaction as two actions: Subscription (establishing WSS + subscribing to events) and Notification (receiving events). Prices Solana subscriptions at 500 credits and EVM-compatible at 200 credits; Solana notifications at 500 credits, "Other" notifications at 100 credits. - url: https://www.ankr.com/docs/rpc-service/pricing/ github_path: pages/rpc-service/pricing.mdx status: fetched notes: Same WSS pricing table as service-plans.mdx. - url: https://www.ankr.com/docs/rpc-service/chains/chains-api/ethereum/ github_path: pages/rpc-service/chains/chains-api/ethereum.mdx status: fetched notes: | Documents standard Ethereum JSON-RPC methods (web3_*, net_*, eth_*) over HTTPS. Does NOT document eth_subscribe, eth_unsubscribe, or any specific subscription type (newHeads, logs, newPendingTransactions, syncing). The docs implicitly cover them via the "all applicable methods except those listed as unsupported" statement on chains-list.mdx. - url: https://www.ankr.com/docs/rpc-service/chains/chains-api/solana/ github_path: pages/rpc-service/chains/chains-api/solana.mdx status: fetched notes: | Documents 50 Solana HTTP JSON-RPC methods (getAccountInfo, getBalance, getBlock, sendTransaction, simulateTransaction, etc.). Does NOT document any *Subscribe method (accountSubscribe, logsSubscribe, programSubscribe, signatureSubscribe, slotSubscribe, blockSubscribe, rootSubscribe, voteSubscribe, slotsUpdatesSubscribe). The chains-list page asserts WSS is supported on Solana Mainnet and Devnet without enumerating subscription types. - url: https://www.ankr.com/docs/rpc-service/chains/chains-api/websocket/ status: not_found notes: | No dedicated WebSocket subscriptions page exists in the Ankr documentation repository (Ankr-network/ankr-docs on branch `stage`). A repository-wide search for `websocket|subscribe|wss://` produced no dedicated reference page for eth_subscribe types or Solana subscription methods. documentation_gaps: - gap: Ankr publishes no canonical wss:// URL example anywhere in its docs decision: | Followed the implicit Web3 convention used by the documented HTTPS endpoints — wss://rpc.ankr.com/{chain_slug}/{apiKey} — and called this assumption out explicitly in spec comments. Chain slugs reused from documented HTTPS URLs. - gap: | Ankr does not enumerate which specific eth_subscribe types it accepts (newHeads, logs, newPendingTransactions, syncing). decision: | The AsyncAPI spec does NOT enumerate specific subscription type strings to avoid fabrication. It models eth_subscribe / eth_unsubscribe as the request methods with the first param being a `subscription_type` string, leaving the type taxonomy to upstream Ethereum execution-API spec (https://github.com/ethereum/execution-apis), which Ankr's chains-list page references as the canonical surface ("we support blockchain interaction via all the applicable methods except for those listed as unsupported"). - gap: | Ankr's Solana page does not list any *Subscribe method by name. decision: | AsyncAPI spec defers to the canonical Solana RPC websocket spec (https://solana.com/docs/rpc/websocket) for the subscribe method taxonomy and does not enumerate individual methods Ankr has not itself documented. chains_with_documented_wss_support: source: pages/rpc-service/chains/chains-list.mdx evm_compatible: - chain: Arbitrum slug: arbitrum networks: [Mainnet, Testnet] - chain: Arbitrum Nova slug: arbitrumnova networks: [Mainnet] - chain: Atleta slug: atleta_olympia networks: [Olympia] - chain: Avalanche slug: avalanche networks: [Standard EVM Mainnet] - chain: B2 Network slug: b2 networks: [Mainnet, Testnet] - chain: Bahamut slug: bahamut networks: [Mainnet, Testnet] - chain: Base slug: base networks: [Mainnet, Sepolia] - chain: Bitlayer slug: bitlayer networks: [Mainnet, Testnet] - chain: Blast slug: blast_testnet_sepolia networks: [Mainnet, Sepolia Testnet] - chain: BNB Smart Chain slug: bsc networks: [Mainnet, Chapel Testnet] - chain: Botanix slug: botanix_testnet networks: [Mainnet, Testnet] - chain: Celo slug: celo networks: [Mainnet, Testnet] - chain: Chiliz slug: chiliz networks: [Mainnet] - chain: Core slug: core networks: [Mainnet] - chain: Corn slug: corn_maizenet networks: [Mainnet, Testnet] - chain: Electroneum slug: electroneum networks: [Mainnet, Testnet] - chain: Ethereum slug: eth networks: [Mainnet, Holesky, Sepolia] - chain: Etherlink slug: etherlink_mainnet networks: [Mainnet, Testnet] - chain: Fantom slug: fantom networks: [Mainnet, Testnet] - chain: Filecoin slug: filecoin networks: [Mainnet, Testnet] - chain: Flare slug: flare networks: [Standard EVM Mainnet] - chain: Gnosis slug: gnosis networks: [Mainnet, Testnet] - chain: GOAT slug: goat_testnet networks: [Testnet] - chain: Gravity slug: gravity networks: [Mainnet] - chain: Linea slug: linea networks: [Mainnet] - chain: Harmony slug: harmony networks: [Mainnet] - chain: Huobi ECO Chain slug: heco networks: [Mainnet] - chain: Horizen EON slug: horizen_eon networks: [Mainnet, Gobi Testnet] - chain: IOTA EVM slug: iota_evm networks: [Mainnet, Testnet] - chain: IoTeX slug: iotex networks: [Mainnet, Testnet] - chain: Kaia slug: kaia networks: [Mainnet, Testnet] - chain: Kava slug: kava_evm networks: [EVM Mainnet] - chain: Kinto slug: kinto networks: [Mainnet] - chain: Mantle slug: mantle networks: [Mainnet, Sepolia Testnet] - chain: Matchain slug: matchain_mainnet networks: [Mainnet] - chain: Metis slug: metis networks: [Mainnet] - chain: Monad slug: monad_testnet networks: [Mainnet, Testnet] - chain: Moonbeam slug: moonbeam networks: [Mainnet] - chain: Neura slug: neura_testnet networks: [Testnet] - chain: Optimism slug: optimism networks: [Mainnet, Sepolia] - chain: Polygon slug: polygon networks: [Mainnet, Amoy Testnet] - chain: Rollux slug: rollux networks: [Mainnet, Testnet] - chain: Scroll slug: scroll networks: [Mainnet, Sepolia Testnet] - chain: Sei slug: sei_evm networks: [EVM Mainnet] - chain: Somnia slug: somnia_testnet networks: [Testnet] - chain: Sonic slug: sonic_mainnet networks: [Mainnet, Testnet] - chain: Story slug: story_mainnet networks: [Mainnet, Testnet] - chain: Swell slug: swell networks: [Mainnet, Sepolia] - chain: Syscoin slug: syscoin networks: [Mainnet] - chain: TAC slug: tac_turin networks: [Mainnet, SPB, Turin] - chain: Taiko slug: taiko_hekla networks: [Hekla Testnet] - chain: Kite AI slug: kite_mainnet networks: [Mainnet] - chain: Telos slug: telos networks: [Mainnet, Testnet] - chain: Tenet slug: tenet_evm networks: [Mainnet Beta] - chain: Xai slug: xai networks: [Mainnet, Testnet] - chain: XDC Network slug: xdc networks: [Mainnet, Testnet] - chain: X Layer slug: xlayer networks: [Mainnet, Testnet] - chain: Xphere slug: xphere_mainnet networks: [Mainnet, Testnet] - chain: zkSync Era slug: zksync_era networks: [Mainnet, Testnet] non_evm: - chain: Solana slug: solana networks: [Mainnet, Devnet] - chain: XRP slug: xrp_mainnet networks: [Mainnet] - chain: TON slug: ton_api_v2 networks: [JSON-RPC Mainnet] - chain: Polkadot slug: polkadot networks: [Mainnet] - chain: Kusama slug: kusama networks: [Mainnet] - chain: Sui slug: sui networks: [Mainnet, Testnet] - chain: Nervos slug: nervos networks: [Nervos CKB Mainnet] - chain: Allora slug: allora_testnet networks: [Tendermint RPC Testnet] - chain: 0G slug: 0g_galileo_testnet_evm networks: [EVM Testnet, Tendermint Testnet] - chain: Atleta slug: atleta_olympia networks: [Olympia] - chain: Avail slug: avail_turing_testnet networks: [Turing Testnet] - chain: Secret Network slug: scrt networks: [Tendermint Mainnet] - chain: Midnight slug: midnight_testnet networks: [Testnet] what_was_produced: - file: asyncapi/ankr-asyncapi.yml scope: | AsyncAPI 2.6 spec covering the JSON-RPC-over-WebSocket envelope Ankr commits to via the chains-list and service-plans pages. Servers include the EVM chains and Solana documented as `HTTPS and WSS`. Channels are scoped to eth_subscribe / eth_unsubscribe (EVM) and the Solana subscribe/unsubscribe method namespace, with a `subscription_type` parameter intentionally left unenumerated so the spec does not invent commitments Ankr has not made. - file: asyncapi/review.yml scope: This file. Documents what the docs do and do not commit to.