Skip to main content

RPC Endpoints

This guide covers EVM RPC endpoints for Monolythium.

Public Endpoints

Sprintnet

ServiceURL
JSON-RPChttps://rpc.sprintnet.monolythium.com:8545
WebSocketwss://rpc.sprintnet.monolythium.com:8546

Testnet

ServiceURL
JSON-RPChttps://rpc.testnet.monolythium.com:8545
WebSocketwss://rpc.testnet.monolythium.com:8546

Mainnet

ServiceURL
JSON-RPChttps://rpc.monolythium.com:8545
WebSocketwss://rpc.monolythium.com:8546

!!! note "Endpoint Availability" Public endpoints will be announced before each network launch.

Supported Methods

Standard Ethereum Methods

MethodSupported
eth_chainIdYes
eth_blockNumberYes
eth_getBalanceYes
eth_getTransactionCountYes
eth_sendRawTransactionYes
eth_callYes
eth_estimateGasYes
eth_getTransactionReceiptYes
eth_getBlockByNumberYes
eth_getBlockByHashYes
eth_getLogsYes
eth_subscribeYes (WebSocket)

Additional Methods

MethodDescription
eth_feeHistoryFee history data
debug_traceTransactionTransaction tracing
eth_getProofState proofs

Configuration Examples

ethers.js

const { ethers } = require('ethers');

// HTTP
const provider = new ethers.JsonRpcProvider(
'https://rpc.sprintnet.monolythium.com:8545'
);

// WebSocket
const wsProvider = new ethers.WebSocketProvider(
'wss://rpc.sprintnet.monolythium.com:8546'
);

web3.js

const Web3 = require('web3');

const web3 = new Web3('https://rpc.sprintnet.monolythium.com:8545');

Hardhat

module.exports = {
networks: {
sprintnet: {
url: 'https://rpc.sprintnet.monolythium.com:8545',
chainId: 262146
}
}
};

Foundry

[rpc_endpoints]
sprintnet = "https://rpc.sprintnet.monolythium.com:8545"

Running Your Own Endpoint

Enable EVM RPC in your node:

Configuration

Edit ~/.monod/config/app.toml:

[json-rpc]
enable = true
address = "0.0.0.0:8545"
ws-address = "0.0.0.0:8546"

# API namespaces
api = "eth,net,web3,txpool,debug"

# Gas cap for eth_call
gas-cap = 50000000

# EVM timeout
evm-timeout = "5s"

# Transaction fee cap
txfee-cap = 1

# Filter settings
filter-cap = 200
logs-cap = 10000
block-range-cap = 1000

Restart Node

sudo systemctl restart monod

Verify

curl -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' \
http://localhost:8545

Rate Limits

Public endpoints may have rate limits:

LimitValue
Requests per second~100
Requests per minute~1000
Concurrent connections~100

For heavy usage, run your own node.

WebSocket Subscriptions

const provider = new ethers.WebSocketProvider(
'wss://rpc.sprintnet.monolythium.com:8546'
);

// Subscribe to new blocks
provider.on('block', (blockNumber) => {
console.log('New block:', blockNumber);
});

// Subscribe to logs
const filter = {
address: '0x...',
topics: [ethers.id('Transfer(address,address,uint256)')]
};
provider.on(filter, (log) => {
console.log('Log:', log);
});

Troubleshooting

Connection Refused

  • Check endpoint URL is correct
  • Verify network connectivity
  • Try alternative endpoint

Rate Limited

  • Reduce request frequency
  • Use batch requests
  • Run your own node

Timeout

  • Increase timeout settings
  • Try simpler queries
  • Check node health

FAQ

What's the difference between HTTP and WebSocket?

HTTP is request-response. WebSocket maintains a connection for subscriptions and real-time updates.

Can I use Infura/Alchemy?

No. Those are for Ethereum. Use Monolythium RPC endpoints.

How do I get more throughput?

Run your own node or contact for enterprise solutions.