ethereum-optimism / ethereum-optimism/optimism

bug(op-node): L2 RPC request occasionally failing with custom Base Sequencer config

Open
#18,364 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
6.5k
Forks
4k
Avg merge
2d 38m
Merged PRs (30d)
164

Description

**Bug Description**

When attempting to deploy smart contracts and execute L2 transactions through a custom Base Sequencer configuration, RPC requests intermittently fail with timeout errors. This issue affects contract deployment workflows and transaction execution reliability on Base Mainnet.

**Steps to Reproduce**

1. Configure a custom Base Sequencer setup pointing to Base Mainnet (Chain ID: 8453)
2. Set up RPC endpoint: `https://mainnet.base.org`
3. Attempt to deploy a standard ERC-20 contract using the following configuration:
```javascript
const provider = new ethers.JsonRpcProvider('https://mainnet.base.org');
const wallet = new ethers.Wallet(privateKey, provider);
const contractFactory = new ethers.ContractFactory(abi, bytecode, wallet);
```
4. Execute contract deployment transaction
5. Repeat the deployment process 10 times

**This was reproduced using an RPC pointed at Base Mainnet and occurs approximately 1 in 10 attempts.**

**Expected Behavior**

The transaction/query should succeed consistently. Contract deployments should complete without RPC timeouts, and all L2 transactions should be processed reliably through the Base Sequencer.

**Actual Behavior**

It returns an RPC error approximately 10% of the time:
```
Error: timeout of 30000ms exceeded
at XMLHttpRequest.handleTimeout
RPC Error: Request timeout
Code: -32603
Message: Internal JSON-RPC error
```

**Environment Information**

- **Chain**: Base Mainnet (Chain ID: 8453)
- **RPC Endpoint**: https://mainnet.base.org
- **Node Version**: v18.17.0
- **ethers.js Version**: ^6.8.0
- **OS**: macOS 14.1
- **Network**: Stable broadband connection (100+ Mbps)
- **Gas Configuration**: Standard Base Mainnet settings
- **Sequencer Config**: Custom configuration with standard Base parameters

**Additional Context**

- Issue appears to be related to Base Sequencer load balancing during high network activity
- Occurs more frequently during peak usage hours (UTC 14:00-18:00)
- Workaround: Implementing retry logic with exponential backoff reduces failure rate to ~2%
- Similar pattern observed by other Base developers in community Discord
- Does not occur when using alternative RPC providers (Alchemy, Infura)

**Impact**

- Affects production dApp reliability on Base Mainnet
- Causes failed contract deployments requiring manual retry
- Degrades user experience for Base ecosystem applications
- Increases development complexity due to required error handling

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.