Skip to content

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/ws

Hosted 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/ws

Hosted 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:

NamespaceDescription
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 === 2372n

viem

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

BESC Hyperchain — Built for Institutions.