Our pricing is simple: 1 RU per full request, 2 RUs per archive. For which EVM methods are full vs archive, see Request units — EVM methods affected by block age.
Arc is an EVM-compatible layer 1 from Circle. It pairs the Reth execution client with Malachite BFT consensus, and it uses USDC for gas. The availability below is verified against Chainstack Arc nodes.
Arc namespace
Arc adds a custom arc_* namespace on top of the standard Reth surface:
arc_getVersion — returns the execution layer build information: git_version, git_commit, git_short_hash, and cargo_version.
arc_getCertificate — takes a block height and returns the consensus commit certificate for that height: the round, the block hash, and the validator signatures. This is the finality proof for a block.
rpc_modules does not list arc in its response, because the namespace is registered outside the standard module registry. The methods work regardless — do not use rpc_modules to decide whether they are available.
Pending transactions are not available
Arc disables pending-transaction visibility. Both eth_newPendingTransactionFilter and eth_subscribe("newPendingTransactions") return -32001, with Pending transaction filters are not allowed and Subscriptions to pending transactions are not allowed respectively.
The txpool_* methods do work, so you can still inspect the pool with txpool_status, txpool_content, and txpool_inspect. You just cannot stream new pending transactions as they arrive. See What gives you mempool access for how this compares with the other EVM chains.
Block time and archive billing
Arc produces a block roughly every 0.5 seconds. The standard EVM rule — 127 or more blocks behind the tip bills as archive — therefore covers only about a minute of history, against roughly 25 minutes on Ethereum. On Arc, expect most historical queries to bill as archive.
Legacy debug methods
Reth registers a number of Geth-era debug_* methods but returns null for them rather than an error. They are marked as unavailable below, because a null response carries no data. Use debug_traceTransaction, debug_traceBlockByNumber, debug_traceBlockByHash, and debug_traceCall instead, or eth_getStorageAt in place of debug_storageRangeAt — see Using eth_getStorageAt instead of debug_storageRangeAt on Reth.
Method availability
eth_createAccessList needs an explicit gas value in the call object. Without one it returns -32000 intrinsic gas too high.