HyperPaxeer NetworkPaxeer Network

Network Configuration

Configure Paxeer Network in your applications using various libraries and frameworks

Overview

Configure Paxeer Network in your applications using wagmi, viem, ethers.js, or web3.js.

Network Details

ParameterValue
Chain ID125
Network NamePaxeer Network
Native CurrencyPAX (Paxeer)
Decimals18
RPC Endpointhttps://public-rpc.paxeer.app/rpc
Block Explorerhttps://paxscan.paxeer.app
Explorer APIhttps://paxscan.paxeer.app/api

Configuration by Library

wagmi Configuration

Setup Paxeer Network with wagmi for React applications.

import { createConfig, http } from 'wagmi'
import { defineChain } from 'viem'

export const paxeer = defineChain({
  id: 125,
  name: 'Paxeer Network',
  network: 'paxeer',
  nativeCurrency: {
    decimals: 18,
    name: 'Paxeer',
    symbol: 'PAX',
  },
  rpcUrls: {
    default: {
      http: ['https://public-rpc.paxeer.app/rpc'],
    },
    public: {
      http: ['https://public-rpc.paxeer.app/rpc'],
    },
  },
  blockExplorers: {
    default: {
      name: 'PaxeerScan',
      url: 'https://paxscan.paxeer.app',
      apiUrl: 'https://paxscan.paxeer.app/api',
    },
  },
})

export const config = createConfig({
  chains: [paxeer],
  transports: {
    [paxeer.id]: http(),
  },
})

Usage in React

import { WagmiProvider } from 'wagmi'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { config } from './wagmi-config'

const queryClient = new QueryClient()

function App() {
  return (
    <WagmiProvider config={config}>
      <QueryClientProvider client={queryClient}>
        <YourApp />
      </QueryClientProvider>
    </WagmiProvider>
  )
}

Tip

Install required packages: npm install wagmi viem @tanstack/react-query

viem Configuration

Setup Paxeer Network with viem for TypeScript applications.

import { createPublicClient, http, defineChain } from 'viem'

export const paxeer = defineChain({
  id: 125,
  name: 'Paxeer Network',
  network: 'paxeer',
  nativeCurrency: {
    decimals: 18,
    name: 'Paxeer',
    symbol: 'PAX',
  },
  rpcUrls: {
    default: {
      http: ['https://public-rpc.paxeer.app/rpc'],
    },
  },
  blockExplorers: {
    default: {
      name: 'PaxeerScan',
      url: 'https://paxscan.paxeer.app',
    },
  },
})

export const publicClient = createPublicClient({
  chain: paxeer,
  transport: http(),
})

Usage

import { publicClient } from './viem-config'

// Get block number
const blockNumber = await publicClient.getBlockNumber()

// Get balance
const balance = await publicClient.getBalance({
  address: '0x...',
})

// Read contract
const data = await publicClient.readContract({
  address: '0x...',
  abi: contractAbi,
  functionName: 'balanceOf',
  args: ['0x...'],
})

Tip

Install viem: npm install viem

ethers.js Configuration

Setup Paxeer Network with ethers.js v6.

import { ethers } from 'ethers'

const paxeerNetwork = {
  chainId: 125,
  name: 'Paxeer Network',
}

// Connect to Paxeer Network
const provider = new ethers.JsonRpcProvider(
  'https://public-rpc.paxeer.app/rpc',
  paxeerNetwork
)

export { provider }

Usage

import { provider } from './ethers-config'

// Get block number
const blockNumber = await provider.getBlockNumber()
console.log('Current block:', blockNumber)

// Get balance
const balance = await provider.getBalance('0x...')
console.log('Balance:', ethers.formatEther(balance), 'PAX')

// Get signer from MetaMask
const signer = await provider.getSigner()

// Send transaction
const tx = await signer.sendTransaction({
  to: '0x...',
  value: ethers.parseEther('1.0'),
})
await tx.wait()

// Interact with contract
const contract = new ethers.Contract(
  contractAddress,
  contractABI,
  signer
)
await contract.transfer('0x...', ethers.parseEther('10'))

Tip

Install ethers: npm install ethers@6

web3.js Configuration

Setup Paxeer Network with web3.js v4.

import Web3 from 'web3'

// Connect to Paxeer Network
const web3 = new Web3('https://public-rpc.paxeer.app/rpc')

export { web3 }

Usage

import { web3 } from './web3-config'

// Get network ID
const networkId = await web3.eth.net.getId()
console.log('Network ID:', networkId) // 125

// Get current block number
const blockNumber = await web3.eth.getBlockNumber()
console.log('Current block:', blockNumber)

// Get balance
const balance = await web3.eth.getBalance(address)
console.log('Balance:', web3.utils.fromWei(balance, 'ether'), 'PAX')

// Send transaction
const receipt = await web3.eth.sendTransaction({
  from: fromAddress,
  to: toAddress,
  value: web3.utils.toWei('1', 'ether'),
})

// Interact with contract
const contract = new web3.eth.Contract(contractABI, contractAddress)
await contract.methods.transfer(toAddress, amount).send({
  from: fromAddress,
})

Tip

Install web3.js: npm install web3@4

MetaMask Configuration

Add Paxeer Network to MetaMask programmatically:

async function addPaxeerNetwork() {
  try {
    await window.ethereum.request({
      method: 'wallet_addEthereumChain',
      params: [
        {
          chainId: '0xe5', // 125 in hex
          chainName: 'Paxeer Network',
          nativeCurrency: {
            name: 'Paxeer',
            symbol: 'PAX',
            decimals: 18,
          },
          rpcUrls: ['https://public-rpc.paxeer.app/rpc'],
          blockExplorerUrls: ['https://paxscan.paxeer.app'],
        },
      ],
    });
    console.log('Paxeer Network added to MetaMask');
  } catch (error) {
    console.error('Error adding network:', error);
  }
}

Environment Variables

Store your configuration in environment variables:

# Paxeer Network Configuration
PAXEER_RPC_URL=https://public-rpc.paxeer.app/rpc
PAXEER_CHAIN_ID=125
PAXEER_EXPLORER=https://paxscan.paxeer.app

# Your private key (NEVER commit this!)
PRIVATE_KEY=your_private_key_here

Never commit private keys or sensitive credentials to version control. Use environment variables and add .env to your .gitignore.

Hardhat Configuration

require("@nomicfoundation/hardhat-toolbox");
require('dotenv').config();

module.exports = {
  solidity: "0.8.20",
  networks: {
    paxeer: {
      url: process.env.PAXEER_RPC_URL,
      chainId: parseInt(process.env.PAXEER_CHAIN_ID),
      accounts: [process.env.PRIVATE_KEY],
    },
  },
  etherscan: {
    apiKey: {
      paxeer: process.env.ETHERSCAN_API_KEY || "YOUR_API_KEY",
    },
    customChains: [
      {
        network: "paxeer",
        chainId: 125,
        urls: {
          apiURL: "https://paxscan.paxeer.app/api",
          browserURL: "https://paxscan.paxeer.app",
        },
      },
    ],
  },
};

Foundry Configuration

[profile.default]
src = "src"
out = "out"
libs = ["lib"]
solc_version = "0.8.20"

[rpc_endpoints]
paxeer = "https://public-rpc.paxeer.app/rpc"

[etherscan]
paxeer = { key = "${ETHERSCAN_API_KEY}", url = "https://paxscan.paxeer.app/api" }

Testing Connection

Verify your configuration is working:

import { publicClient } from './viem-config'

async function testConnection() {
  try {
    const blockNumber = await publicClient.getBlockNumber()
    console.log('✅ Connected! Current block:', blockNumber)
    console.log('✅ Chain ID:', publicClient.chain.id)
  } catch (error) {
    console.error('❌ Connection failed:', error)
  }
}

testConnection()
import { provider } from './ethers-config'

async function testConnection() {
  try {
    const network = await provider.getNetwork()
    const blockNumber = await provider.getBlockNumber()
    console.log('✅ Connected! Chain ID:', network.chainId)
    console.log('✅ Current block:', blockNumber)
  } catch (error) {
    console.error('❌ Connection failed:', error)
  }
}

testConnection()
from web3 import Web3

w3 = Web3(Web3.HTTPProvider('https://public-rpc.paxeer.app/rpc'))

if w3.is_connected():
    print(f'✅ Connected! Chain ID: {w3.eth.chain_id}')
    print(f'✅ Current block: {w3.eth.block_number}')
else:
    print('❌ Connection failed')

Next Steps

How is this guide?

On this page