Summary
Sepolia is the primary Ethereum testnet for smart contract development. This page provides the official chain settings, RPC endpoints, faucet links, and common usage patterns to help you test dapps quickly. Whether you need a public endpoint or a dedicated RPC provider, we cover what to look for.
Sepolia RPC Decision Checklist
Before you start testing on Sepolia, make sure you have:
- A working RPC endpoint (public or private)
- Sufficient test ETH from a faucet
- Correct chain ID (11155111) in your wallet or app
- A block explorer (e.g., Sepolia Etherscan) for debugging
- An understanding of rate limits for public endpoints
What Is a Sepolia ETH RPC Endpoint?
A Sepolia ETH RPC endpoint is your gateway to the Ethereum testnet. Sepolia is the recommended Ethereum testnet for developers. It replaced Goerli and offers a more stable and faucet-friendly environment. A Sepolia RPC endpoint is the URL you use to interact with the Sepolia blockchain via JSON-RPC. You can either run your own node or use a provider like OnFinality to access a reliable endpoint without infrastructure overhead.
The Sepolia testnet is a permissionless Ethereum PoS network that closely mirrors mainnet. It supports all Ethereum Virtual Machine (EVM) features, making it ideal for testing smart contracts, dapps, and tooling before mainnet deployment.
Sepolia Chain Settings
Here are the official chain parameters:
| Parameter | Value |
|---|---|
| Network Name | Ethereum Sepolia |
| Chain ID | 11155111 (0xaa36a7) |
| Currency Symbol | SepoliaETH |
| RPC URL (Public) | https://ethereum-sepolia-rpc.publicnode.com |
| WebSocket URL | wss://ethereum-sepolia-rpc.publicnode.com |
| Block Explorer | https://sepolia.etherscan.io |
| Consensus | PoS (Beacon chain, validator exit) |
How to Get Sepolia ETH (Faucet)
SepoliaETH is required to pay gas fees on the testnet. Unlike mainnet, it has no real value and can be obtained from faucets. Popular faucets include:
- Alchemy Sepolia Faucet – requires account login
- Infura Faucet – requires Infura account
- Chainlink Faucet – easy to use with a wallet connect
- PublicNode Faucet – no login required, limited amount
Most faucets limit requests to once per day to prevent abuse. If you need more for heavy testing, consider running your own node or using a dedicated provider like the Ethereum Sepolia RPC from OnFinality.
Using the Sepolia RPC: Setup and Code Examples
Step 1: Choose Your Endpoint
Select a public or private RPC endpoint. For development, a public endpoint like https://ethereum-sepolia-rpc.publicnode.com works. For production testing, consider a dedicated Sepolia RPC provider with higher throughput.
Step 2: Configure Your Wallet or Application
- MetaMask: Go to Settings > Networks > Add Network. Enter:
- Network Name: Ethereum Sepolia
- RPC URL: Your chosen endpoint (e.g., public one)
- Chain ID: 11155111
- Currency Symbol: SepoliaETH
- Block Explorer: https://sepolia.etherscan.io Click Save.
- ethers.js: Use
new ethers.JsonRpcProvider("YOUR_RPC_URL")as shown below.
Step 3: Obtain SepoliaETH from a Faucet
Use one of the faucets listed above to fund your test wallet.
Step 4: Run Basic Queries
curl:
curl -X POST https://ethereum-sepolia-rpc.publicnode.com \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
JavaScript (ethers.js):
const { ethers } = require("ethers");
const provider = new ethers.JsonRpcProvider("https://ethereum-sepolia-rpc.publicnode.com");
async function getBlock() {
const blockNumber = await provider.getBlockNumber();
console.log("Sepolia block number:", blockNumber);
}
getBlock();
Sending a Transaction:
const privateKey = "YOUR_PRIVATE_KEY"; // From a wallet funded with SepoliaETH
const wallet = new ethers.Wallet(privateKey, provider);
const tx = {
to: "0xRecipientAddress",
value: ethers.parseEther("0.01"),
};
wallet.sendTransaction(tx).then(console.log);
Common Sepolia RPC Methods
Sepolia supports all standard Ethereum JSON-RPC methods. Here are the most common:
| Method | Description |
|---|---|
eth_blockNumber | Get the latest block number |
eth_getBalance | Get ETH balance of an address |
eth_sendRawTransaction | Submit a signed transaction |
eth_getTransactionReceipt | Get receipt by tx hash |
eth_call | Execute a contract call (read-only) |
eth_getLogs | Retrieve event logs |
eth_estimateGas | Estimate gas for a transaction |
Choosing a Sepolia RPC Provider: Evaluation Criteria
Public endpoints are free but often have rate limits (e.g., 100 req/sec). For production testing or CI/CD pipelines, a dedicated RPC provider offers higher throughput, WebSocket support, and archive data. Evaluate providers based on the following criteria:
| Criterion | What to Check | Why It Matters |
|---|---|---|
| Rate Limits | Requests per second, daily cap | Prevents interruptions during heavy testing |
| Uptime | Historical uptime data | Ensures availability for continuous integration |
| Supported Methods | Archive calls, trace, debug | Required for certain dapp features |
| WebSocket | Real-time event streaming | Essential for wallet and dapp subscriptions |
| Pricing | Free tier vs. paid plans | Aligns with development budget |
| Geographic Coverage | Multiple regions | Reduces latency globally |
| Documentation | API reference, examples | Speeds up integration |
OnFinality provides dedicated Sepolia RPC endpoints with scalable plans, WebSocket, and archive support. Compare our RPC pricing to find the best fit.
Troubleshooting and Debugging
- "Nonce too low": The transaction nonce is outdated. Use
eth_getTransactionCountwith"pending"parameter. - "Insufficient funds": You need more SepoliaETH. Use a faucet.
- Timeouts: Public endpoints may be slow during peak usage. Consider a dedicated provider.
- Block explorer not showing: Wait for block propagation. Sepolia blocks every 12s.
eth_getLogsreturns no logs: Verify the contract address and event signature. Use filter objects with correctfromBlockandtoBlock.- WebSocket disconnects: Ensure your provider supports WebSocket reconnection. Some public endpoints have connection limits.
- Rate limit exceeded: Public endpoints often cap requests. Switch to a provider with higher limits or add API key authentication.
Key Takeaways
- Sepolia is the primary Ethereum testnet; chain ID 11155111.
- Use a reliable RPC endpoint – public for quick tests, dedicated for serious development.
- Always obtain test ETH from a faucet before sending transactions.
- All standard Ethereum JSON-RPC methods are supported.
- Consider rate limits, WebSocket, and archive access when choosing a provider.
Frequently Asked Questions
What is the Sepolia RPC URL?
The public RPC URL is https://ethereum-sepolia-rpc.publicnode.com. Many providers offer alternative endpoints.
How do I add Sepolia to MetaMask? Open MetaMask > Settings > Networks > Add Network. Enter: Network Name: Ethereum Sepolia, RPC URL: [see above], Chain ID: 11155111, Currency Symbol: ETH, Block Explorer: https://sepolia.etherscan.io. Then save.
Is Sepolia still active? Yes, Sepolia is the recommended Ethereum testnet. The PoW testnet Goerli has been deprecated.
Can I use Sepolia for production? No, Sepolia is a testnet. Use Ethereum mainnet for production.
What's the difference between Sepolia and Holesky? Sepolia is for dapp testing; Holesky is for staking and infrastructure testing. Both are active.
How many transactions per second does Sepolia support? Sepolia roughly mirrors Ethereum mainnet, about 15 TPS depending on block gas limits.