diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe.mdx index c265697ca..06da8430f 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe.mdx @@ -7,7 +7,7 @@ description: 'Creates a real-time WebSocket subscription. Flashblocks endpoints Creates a real-time event subscription over a WebSocket connection. Returns a subscription ID; events are pushed as `eth_subscription` notifications without the client needing to poll. -**Flashblocks:** On `wss://mainnet-preconf.base.org`, `newHeads` emits every ~200ms (once per Flashblock) instead of every ~2 seconds. Three additional subscription types are also available: [`newFlashblockTransactions`](/base-chain/api-reference/flashblocks-api/newFlashblockTransactions), [`pendingLogs`](/base-chain/api-reference/flashblocks-api/pendingLogs), and [`newFlashblocks`](/base-chain/api-reference/flashblocks-api/newFlashblocks). +**Flashblocks:** On a Flashblocks-aware provider or self-hosted node, `newHeads` emits every ~200ms (once per Flashblock) instead of every ~2 seconds. Three additional subscription types are also available: [`newFlashblockTransactions`](/base-chain/api-reference/flashblocks-api/newFlashblockTransactions), [`pendingLogs`](/base-chain/api-reference/flashblocks-api/pendingLogs), and [`newFlashblocks`](/base-chain/api-reference/flashblocks-api/newFlashblocks). The public `wss://*.base.org` endpoints listed in the RPC overview do not currently accept WebSocket upgrades. ## Parameters diff --git a/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx b/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx index 582955e5f..c38d6b813 100644 --- a/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx +++ b/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx @@ -7,7 +7,7 @@ description: 'Subscribe to receive each transaction as it is pre-confirmed into Subscribe via `eth_subscribe` to receive each transaction as it is pre-confirmed into a Flashblock. Pass `true` as the second parameter to receive full transaction and log data. -Only available on Flashblocks WebSocket endpoints: `wss://mainnet-preconf.base.org` / `wss://sepolia-preconf.base.org`. +Only available on Flashblocks-aware WebSocket endpoints exposed by a node provider or your own node. The public `wss://*.base.org` endpoints do not currently accept WebSocket upgrades. diff --git a/docs/base-chain/api-reference/flashblocks-api/newFlashblocks.mdx b/docs/base-chain/api-reference/flashblocks-api/newFlashblocks.mdx index 1eea35ba8..9862f72dd 100644 --- a/docs/base-chain/api-reference/flashblocks-api/newFlashblocks.mdx +++ b/docs/base-chain/api-reference/flashblocks-api/newFlashblocks.mdx @@ -7,7 +7,7 @@ description: 'Subscribe to receive full Flashblock payload stream as each pre-co Subscribe via `eth_subscribe` to receive full block state updates as each Flashblock is built. Each message contains the accumulated pre-confirmed state for the block in progress. -Only available on Flashblocks WebSocket endpoints: `wss://mainnet-preconf.base.org` and `wss://sepolia-preconf.base.org`. +Only available on Flashblocks-aware WebSocket endpoints exposed by a node provider or your own node. The public `wss://*.base.org` endpoints do not currently accept WebSocket upgrades. @@ -44,8 +44,8 @@ Each subscription emits **one Flashblock Object per WebSocket message**. Events ```javascript JavaScript import WebSocket from 'ws'; -// Use a Flashblocks-enabled provider WSS endpoint in production -const ws = new WebSocket('wss://mainnet-preconf.base.org'); +// Replace with your provider or self-hosted Flashblocks WebSocket endpoint +const ws = new WebSocket(process.env.BASE_FLASHBLOCKS_WSS_URL || 'wss://your-provider.example/ws'); ws.on('open', () => { ws.send(JSON.stringify({ diff --git a/docs/base-chain/api-reference/flashblocks-api/pendingLogs.mdx b/docs/base-chain/api-reference/flashblocks-api/pendingLogs.mdx index b17e9c4a3..3f45a0af0 100644 --- a/docs/base-chain/api-reference/flashblocks-api/pendingLogs.mdx +++ b/docs/base-chain/api-reference/flashblocks-api/pendingLogs.mdx @@ -7,7 +7,7 @@ description: 'Subscribe to logs from pre-confirmed transactions matching an opti Subscribe via `eth_subscribe` to receive logs from pre-confirmed transactions matching an optional filter. Useful for monitoring contract events with sub-block latency. -Only available on Flashblocks WebSocket endpoints: `wss://mainnet-preconf.base.org` / `wss://sepolia-preconf.base.org`. +Only available on Flashblocks-aware WebSocket endpoints exposed by a node provider or your own node. The public `wss://*.base.org` endpoints do not currently accept WebSocket upgrades. diff --git a/docs/base-chain/api-reference/rpc-overview.mdx b/docs/base-chain/api-reference/rpc-overview.mdx index 688e56fcb..9d025f343 100644 --- a/docs/base-chain/api-reference/rpc-overview.mdx +++ b/docs/base-chain/api-reference/rpc-overview.mdx @@ -30,8 +30,12 @@ Base exposes a single, fully EVM-compatible JSON-RPC API across two performance + +Public `base.org` RPC endpoints currently support HTTP only. WebSocket upgrade requests to the `wss://*.base.org` URLs above return `405 Method Not Allowed` as of May 2026. If you need `eth_subscribe`, `newFlashblocks`, `pendingLogs`, or `newFlashblockTransactions`, use a [node provider](/base-chain/node-operators/node-providers) or run your own [Flashblocks-aware node](/base-chain/node-operators/run-a-base-node#enable-flashblocks). + + -The public endpoints above are rate-limited and not suitable for production traffic. For production use, connect through a [node provider](/base-chain/node-operators/node-providers). +The public HTTP endpoints above are rate-limited and not suitable for production traffic. For production use, connect through a [node provider](/base-chain/node-operators/node-providers). ## What is the Flashblocks Tier? @@ -80,8 +84,8 @@ Methods marked ✓ support the `"pending"` block tag on Flashblocks endpoints. | [eth_syncing](/base-chain/api-reference/ethereum-json-rpc-api/eth_syncing) | Node sync status | — | | [net_version](/base-chain/api-reference/ethereum-json-rpc-api/net_version) | Network version ID | — | | [web3_clientVersion](/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion) | Client version string | — | -| [eth_subscribe](/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe) | Subscribe to events (WSS) | ✓ | -| [eth_unsubscribe](/base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe) | Cancel a subscription (WSS) | — | +| [eth_subscribe](/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe) | Subscribe to events (provider or self-hosted WSS) | ✓ | +| [eth_unsubscribe](/base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe) | Cancel a subscription (provider or self-hosted WSS) | — | ### Flashblocks API diff --git a/docs/base-chain/flashblocks/faq.mdx b/docs/base-chain/flashblocks/faq.mdx index 84afdaabe..93a0d38e9 100644 --- a/docs/base-chain/flashblocks/faq.mdx +++ b/docs/base-chain/flashblocks/faq.mdx @@ -105,11 +105,13 @@ For a comprehensive introduction to how Flashblocks work, see the [Flashblocks O Transaction data in the [`diff.transactions`](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview#diff-object) array is Recursive Length Prefix (RLP) encoded. - - The public WebSocket has a maximum connection limit. For production use, we recommend: + + The public `wss://*.base.org` endpoints do not currently accept WebSocket upgrade requests. If you need subscription-based Flashblocks data, use: 1. Running your own [Flashblocks-aware RPC node](/base-chain/node-operators/run-a-base-node#enable-flashblocks) 2. Using a third-party node provider with Flashblocks support + + The public HTTP endpoints remain available for standard JSON-RPC requests.