Arc public RPC
Nodely runs a public RPC for Arc mainnet, Circle’s stablecoin L1, on its own node. No account, no keys.
Endpoints
Section titled “Endpoints”| Network | Chain ID | HTTP JSON-RPC | WebSocket |
|---|---|---|---|
| Arc mainnet | 5042 (0x13b2) |
https://arc.nodely.dev |
wss://arc.nodely.dev/ws |
- Served from our own node in Finland, running Circle’s arc-node. Transactions sent with
eth_sendRawTransactionare relayed to the Arc network. - Blocks come about every 0.5 seconds and are final once included: no reorgs, one confirmation is enough.
- Gas is paid in USDC. Native balances use 18 decimals; the USDC ERC-20 interface at
0x3600000000000000000000000000000000000000uses 6. - Arc drops transactions with a
maxFeePerGasbelow its 20 gwei minimum without an error, so they never get a receipt. - CORS is open, so browser apps and wallets can call the endpoint directly.
GET https://arc.nodely.dev/healthanswersok head <block> age <seconds>while the node is in sync.
Recent data only
Section titled “Recent data only”The node is pruned, not archival:
- State, blocks, receipts, logs, lookups by transaction hash and validator certificates cover the last 237,000 blocks, about 33 hours.
eth_call,eth_getBalanceand similar calls at older blocks fail.
Need full history? Talk to us.
Available methods
Section titled “Available methods”- All read methods in the
eth_namespace, pluseth_sendRawTransaction. Signing, mining and account methods (eth_sign*,eth_sendTransaction,eth_accounts, …) are disabled. arc_getCertificate(height)returns the validators’ commit certificate for a block,arc_getVersionthe node version.net_version,net_listening,net_peerCount,web3_clientVersion,web3_sha3eth_subscribeandeth_unsubscribe(newHeads,logs) on the WebSocket only.- Pending transactions are not exposed: the
pendingblock tag returnsnull, and pending-transaction filters and subscriptions return error-32001. Blocks are final in about 0.5 seconds, so uselatest.
Other namespaces (debug_*, trace_*, txpool_*, admin_*, …) return error -32601.
Connect
Section titled “Connect”curl https://arc.nodely.dev \ -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'import { createPublicClient, http, webSocket } from "viem";import { arc } from "viem/chains";
const client = createPublicClient({ chain: arc, transport: http("https://arc.nodely.dev") });console.log(await client.getBlockNumber());
const ws = createPublicClient({ chain: arc, transport: webSocket("wss://arc.nodely.dev/ws") });ws.watchBlockNumber({ onBlockNumber: (n) => console.log("new block", n) });import { JsonRpcProvider } from "ethers";
const provider = new JsonRpcProvider("https://arc.nodely.dev", 5042, { staticNetwork: true });console.log(await provider.getBlockNumber());If your wallet already lists Arc, edit the network and add https://arc.nodely.dev as its RPC URL. Otherwise add a network with:
| Field | Value |
|---|---|
| Network name | Arc |
| RPC URL | https://arc.nodely.dev |
| Chain ID | 5042 |
| Currency symbol | USDC |
| Block explorer | https://explorer.arc.io |
Limits
Section titled “Limits”Per client IP:
| Calls | Rate |
|---|---|
| Most calls | 25 per second (burst 50) |
Heavy calls: eth_getLogs, eth_call, eth_estimateGas, eth_createAccessList, eth_getBlockReceipts, eth_feeHistory, eth_simulateV1 |
5 per second (burst 10) |
eth_sendRawTransaction |
2 per second (burst 5) |
- Over the limit you get HTTP 429 and JSON-RPC error
-32005(rate limit exceeded). Back off and retry. - Batches of up to 20 calls; each call counts against the limits.
- 256 KB maximum request body, 4 WebSocket connections per IP.
eth_getLogsspans at most 10,000 blocks and returns at most 10,000 logs;eth_callgas cap 30M; responses up to 25 MB.
Need more? Talk to us about dedicated endpoints.