RPC Endpoints
BESC Hyperchain operates two geographically distributed RPC endpoints, load-balanced by location for the lowest possible latency regardless of where your users or infrastructure are.
Public RPC Endpoints
USA (New York)
HTTPS: https://hyper.beschyperchain.com
WSS: wss://hyper.beschyperchain.com/wsHosted in New York, USA. Optimized for users and infrastructure in North America and Europe.
Global (Asia-Pacific)
HTTPS: https://rpc.beschyperchain.com
WSS: wss://rpc.beschyperchain.com/wsHosted on the other side of the globe. Optimized for users in Asia, Oceania, and other regions.
Supported Namespaces
Both endpoints expose the following JSON-RPC namespaces:
| Namespace | Description |
|---|---|
eth_* | Standard Ethereum API — transactions, blocks, state, logs |
net_* | Network info (chainId, peer count, listening) |
web3_* | Utility methods (sha3, clientVersion) |
txpool_* | Transaction pool inspection |
ibft_* | IBFT 2.0 validator queries |
debug_* | Debug trace methods |
trace_* | Transaction trace methods |
Rate Limits
The public RPC endpoints support up to 500 concurrent connections per endpoint. For high-volume applications (> 100 req/s sustained), consider running your own node. See Node Installation →.
Verifying Connectivity
bash
# Check chain ID
curl -s -X POST https://hyper.beschyperchain.com \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
# → {"result":"0x944"} (2372)
# Get latest block
curl -s -X POST https://hyper.beschyperchain.com \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
# Get current validators (IBFT)
curl -s -X POST https://hyper.beschyperchain.com \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"ibft_getValidatorsByBlockNumber","params":["latest"],"id":1}'WebSocket Usage
WebSocket connections support the same methods as HTTP, plus subscriptions:
javascript
const ws = new WebSocket('wss://hyper.beschyperchain.com/ws');
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'eth_subscribe',
params: ['newHeads'],
id: 1,
}));
ws.onmessage = (e) => {
const data = JSON.parse(e.data);
console.log('New block:', data.params?.result?.number);
};Framework Configuration
ethers.js v6
javascript
import { JsonRpcProvider } from 'ethers';
const provider = new JsonRpcProvider('https://hyper.beschyperchain.com');
const network = await provider.getNetwork();
// network.chainId === 2372nviem
javascript
import { createPublicClient, http } from 'viem';
import { defineChain } from 'viem';
const bescHyperchain = defineChain({
id: 2372,
name: 'BESC Hyperchain',
nativeCurrency: { name: 'BESC', symbol: 'BESC', decimals: 18 },
rpcUrls: {
default: { http: ['https://hyper.beschyperchain.com'] },
},
blockExplorers: {
default: { name: 'BESC Explorer', url: 'https://explorer2.beschyperchain.com' },
},
});
const client = createPublicClient({ chain: bescHyperchain, transport: http() });Hardhat
javascript
// hardhat.config.js
module.exports = {
networks: {
besc: {
url: 'https://hyper.beschyperchain.com',
chainId: 2372,
accounts: [process.env.PRIVATE_KEY],
gasPrice: 1000000000000, // 1000 Gwei minimum
},
},
};Foundry
toml
# foundry.toml
[profile.default]
eth_rpc_url = "https://hyper.beschyperchain.com"
# Or set per-command:
# forge script ... --rpc-url https://hyper.beschyperchain.com --chain-id 2372