Docs

XDC Network, Enterprise-Grade Hybrid Blockchain

Build on XDC Network with Dwellir's globally distributed RPC endpoints. Hybrid public/private architecture, fast finality, and institutional-grade tooling.

XDC Network RPC

With Dwellir, you get access to our global XDC Network network which always routes your API requests to the nearest available location, ensuring low latency and the fastest speeds.

Get your API key

Why Build on XDC Network

  • Enterprise ready: Optimized for trade finance, tokenized real-world assets, and enterprise-grade integrations
  • Hybrid architecture: Public network with optional private state channels for sensitive data
  • Ethereum-compatible tooling: Seamless migration for Solidity smart contracts and EVM tooling
  • ISO 20022 alignment: Built with financial messaging standards and compliance workflows in mind
  • Efficient consensus: XinFin Delegated Proof of Stake (XDPoS) delivers ~2 second block times and low fees

Quick Start

Connect Endpoints

XDC Network RPC Endpoints
HTTPS
curl -sS -X POST https://api-xdc-mainnet.n.dwellir.com/<API_Keys_Are_Not_Made_for_Bots> \  -H 'Content-Type: application/json' \  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
import { JsonRpcProvider } from 'ethers';const provider = new JsonRpcProvider(  'https://api-xdc-mainnet.n.dwellir.com/<API_Keys_Are_Not_Made_for_Bots>');const latest = await provider.getBlockNumber();console.log('block', latest);
import requestsurl = 'https://api-xdc-mainnet.n.dwellir.com/<API_Keys_Are_Not_Made_for_Bots>'payload = {  'jsonrpc': '2.0', 'id': 1,  'method': 'eth_blockNumber', 'params': []}resp = requests.post(url, json=payload)print(resp.json())
package mainimport (  "bytes"  "fmt"  "io"  "net/http")func main() {  url := "https://api-xdc-mainnet.n.dwellir.com/<API_Keys_Are_Not_Made_for_Bots>"  payload := []byte(`{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}`)  resp, err := http.Post(url, "application/json",    bytes.NewBuffer(payload))  if err != nil { panic(err) }  defer resp.Body.Close()  body, _ := io.ReadAll(resp.Body)  fmt.Println(string(body))}

Network Information

ParameterValueDetails
Mainnet Chain ID50 (0x32)
Testnet Chain ID51 (0x33), Apothem
Native TokenXDC
Average Block Time~2 seconds

Installation & Setup

JavaScript
import { JsonRpcProvider } from 'ethers';

// Connect to XDC Network mainnet
const provider = new JsonRpcProvider('https://api-xdc-mainnet.n.dwellir.com/YOUR_API_KEY');

// Verify connection
const { chainId } = await provider.getNetwork();
console.log('Connected to XDC Network:', chainId === 50n);

// Fetch latest block
const block = await provider.getBlock('latest');
console.log('Latest block:', block.number);
JavaScript
import Web3 from 'web3';

const web3 = new Web3('https://api-xdc-mainnet.n.dwellir.com/YOUR_API_KEY');

const chainId = await web3.eth.getChainId();
console.log('Connected to XDC Network:', chainId === 50);

const gasPrice = await web3.eth.getGasPrice();
console.log('Current gas price (XDC):', gasPrice);
TypeScript
import { createPublicClient, defineChain, http } from 'viem';

const xdc = defineChain({
  id: 50,
  name: 'XDC Network',
  nativeCurrency: { name: 'XDC', symbol: 'XDC', decimals: 18 },
  rpcUrls: {
    default: { http: ['https://api-xdc-mainnet.n.dwellir.com/YOUR_API_KEY'] }
  }
});

const client = createPublicClient({ chain: xdc, transport: http() });

const blockNumber = await client.getBlockNumber();
console.log('Latest block:', blockNumber);
Python
from web3 import Web3

w3 = Web3(Web3.HTTPProvider('https://api-xdc-mainnet.n.dwellir.com/YOUR_API_KEY'))

if w3.is_connected():
    chain_id = w3.eth.chain_id
    print(f'Connected to XDC Network (chain ID: {chain_id})')

balance = w3.eth.get_balance('0x0000000000000000000000000000000000000000')
print('Foundation balance (wei):', balance)

Consensus & Validator Model

ParameterValueDetails
ConsensusXDPoS 2.0Delegated Proof of Stake
Finality~2sFast settlement
Validator Set108Masternodes and delegates

Core Features

  • Hybrid privacy: Permissionless public ledger with optional private side-channels for data confidentiality
  • Low cost transactions: Typical fees under $0.0002 per transfer, enabling micro-settlement use cases
  • Asset tokenization: Native support for security tokens, invoice financing, and RWA issuance
  • Interoperability: Bridges to Ethereum, Polygon, BNB Chain, and Corda-based networks
  • Regulatory readiness: Compliance-first tooling, identity layers, and notarization workflows

API Reference

Detailed method guides for XDC Network are coming soon. Standard Ethereum JSON-RPC calls (eth_blockNumber, eth_getBalance, eth_sendRawTransaction, etc.) are fully supported today.

Want early access?

Reach out to the Dwellir team if you need a specific method guide prioritized.

Tooling & Integrations

  • Explorer: XDC Scan
  • Faucet: Apothem Faucet
  • Wallets: XDC Pay, Ledger (with Chainlist), D'Cent
  • Bridges: XDC Web Wallet bridge, Prime Numbers bridge

Developer Resources

Next Steps

  1. Request your dedicated API key from the Dwellir dashboard
  2. Point your existing EVM tooling to the endpoints above
  3. Start deploying Solidity contracts or minting assets on XDC Network

Build confidently on XDC Network with globally distributed, low-latency RPC access from Dwellir.