Skip to main content

Overview

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

Network Details

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

Configuration by Library

wagmi Configuration

Setup Paxeer Network with wagmi for React applications.
wagmi-config.ts
import { createConfig, http } from 'wagmi'
import { defineChain } from 'viem'

export const paxeer = defineChain({
  id: 229,
  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://scan.paxeer.app',
      apiUrl: 'https://scan.paxeer.app/api',
    },
  },
})

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

Usage in React

App.tsx
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>
  )
}
Install required packages: npm install wagmi viem @tanstack/react-query

MetaMask Configuration

Add Paxeer Network to MetaMask programmatically:
async function addPaxeerNetwork() {
  try {
    await window.ethereum.request({
      method: 'wallet_addEthereumChain',
      params: [
        {
          chainId: '0xe5', // 229 in hex
          chainName: 'Paxeer Network',
          nativeCurrency: {
            name: 'Paxeer',
            symbol: 'PAX',
            decimals: 18,
          },
          rpcUrls: ['https://public-rpc.paxeer.app/rpc'],
          blockExplorerUrls: ['https://scan.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:
.env
# Paxeer Network Configuration
PAXEER_RPC_URL=https://public-rpc.paxeer.app/rpc
PAXEER_CHAIN_ID=229
PAXEER_EXPLORER=https://scan.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

hardhat.config.js
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: 229,
        urls: {
          apiURL: "https://scan.paxeer.app/api",
          browserURL: "https://scan.paxeer.app",
        },
      },
    ],
  },
};

Foundry Configuration

foundry.toml
[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://scan.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()

Next Steps