Skip to content

Commit e4171b5

Browse files
committed
docs: note public testnet RPC method differences across follow endpoints
1 parent ac565f2 commit e4171b5

1 file changed

Lines changed: 38 additions & 1 deletion

File tree

‎docs/running-an-arc-node.md‎

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,43 @@ companion execution layer.
225225
The consensus layer operates in the **follow** mode.
226226
We provide three endpoints from which the node retrieves finalized blocks.
227227

228+
> **Public testnet RPC methods are not identical across providers.** Note the
229+
> differing WebSocket paths in the command above when swapping providers.
230+
>
231+
> Follow sync needs `eth_getBlockByNumber`, `arc_getCertificate` (batched per
232+
> height), `eth_call`, `eth_chainId`, `net_listening`, and
233+
> `eth_subscribe("newHeads")` over the `wss=` URL.
234+
> `rpc.blockdaemon.testnet.arc.io` has no certificates below block 41,863,835
235+
> (2026-05-12), while still serving the blocks themselves. This is a fixed
236+
> floor, not a rolling window — it was unchanged across 2026-09-09 and
237+
> 2026-09-10 while the head advanced ~162k blocks — so use
238+
> `rpc.testnet.arc.io` or `rpc.drpc.testnet.arc.io` when catching up from
239+
> genesis or from any height below it. A missing certificate fails the whole
240+
> follow batch, not just that height.
241+
>
242+
> Application clients that need EIP-1186 proofs or access lists also see method
243+
> gaps. Observed 2026-09-09 against the wider public fleet (not only the three
244+
> follow endpoints above; see #371):
245+
>
246+
> | Endpoint | `eth_getProof` | `eth_createAccessList` |
247+
> |---|---|---|
248+
> | `rpc.testnet.arc.io` | unsupported (codes flip) | unsupported (`-32601`) |
249+
> | `rpc.drpc.testnet.arc.io` | OK | OK |
250+
> | `rpc.quicknode.testnet.arc.io` | unsupported (codes flip) | unsupported (`-32601`) |
251+
> | `rpc.blockdaemon.testnet.arc.io` | OK | filtered (`-32003`); a batch containing it is rejected in full, losing unrelated calls |
252+
>
253+
> Prefer `rpc.drpc.testnet.arc.io` when you need proofs or access lists. Some
254+
> hosts return `-32601` (method unsupported) for one call and `-32014` (data
255+
> unavailable) for the next, for the same request. Do not branch on the code —
256+
> treat any error from a capability probe as "unsupported on this host" and
257+
> fail over.
258+
>
259+
> ```bash
260+
> curl -s -X POST -H 'Content-Type: application/json' \
261+
> --data '{"jsonrpc":"2.0","id":1,"method":"eth_getProof","params":["0x3600000000000000000000000000000000000000",["0x0"],"latest"]}' \
262+
> https://rpc.testnet.arc.io
263+
> ```
264+
228265
### Verify operation
229266
230267
After starting both the consensus and execution layer, wait about 30 seconds.
@@ -405,7 +442,7 @@ rm -rf ~/.arc
405442

406443
> [!WARNING]
407444
> Running EL and CL on separate hosts requires the RPC/HTTP Engine API transport,
408-
> which will be deprecated in `v0.8.0` and will be removed in `v0.9.0`.
445+
> which is deprecated as of `v0.8.0` and will be removed in `v0.9.0`.
409446
> Run both layers on the same host and use IPC instead (see the
410447
> [Binaries](#binaries) section).
411448
> The consensus layer logs a startup warning when any RPC option is set.

0 commit comments

Comments
 (0)