> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getpara.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure RPC Endpoints

> Set up custom RPC endpoints and chains with Web3 libraries on React Native

Configure custom RPC endpoints and chains for networks using Web3 libraries. This guide uses public testnet RPCs for demonstration and shows minimal setup with predefined and custom chains where applicable.

<Card title="Setup EVM Libraries First" description="Install and configure Ethers.js or Viem before using EVM operations" href="/v3/react-native/guides/web3-operations/evm/setup-libraries" horizontal />

<Note>
  Wagmi is not available on React Native. Use Ethers.js or Viem for EVM operations.
</Note>

## Configure Custom RPC Endpoints

<Tabs>
  <Tab title="Ethers.js">
    ```typescript theme={null}
    import { ethers } from "ethers";
    import { ParaEthersSigner } from "@getpara/ethers-v6-integration";

    const chainId = 11155111;
    const rpcUrl = "https://ethereum-sepolia-rpc.publicnode.com";

    const provider = new ethers.JsonRpcProvider(rpcUrl, chainId, {
      staticNetwork: true
    });

    const signer = new ParaEthersSigner(para, provider);
    ```
  </Tab>

  <Tab title="Viem">
    ```typescript theme={null}
    import { createPublicClient, http } from "viem";
    import { sepolia } from "viem/chains";
    import { createParaViemClient, createParaViemAccount } from "@getpara/viem-v2-integration";

    const chain = sepolia;
    const transport = http("https://ethereum-sepolia-rpc.publicnode.com");

    const publicClient = createPublicClient({ chain, transport });

    const account = await createParaViemAccount(para);
    const walletClient = createParaViemClient(para, { account, chain, transport });
    ```

    For custom chains:

    ```typescript theme={null}
    const customChain = {
      id: 99999,
      name: "Custom Chain",
      network: "custom",
      nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
      rpcUrls: {
        default: { http: ["https://custom-rpc.example.com"] },
      },
    };

    const customTransport = http("https://custom-rpc.example.com");

    const customPublicClient = createPublicClient({
      chain: customChain,
      transport: customTransport
    });

    const customAccount = await createParaViemAccount(para);
    const customWalletClient = createParaViemClient(para, {
      account: customAccount,
      chain: customChain,
      transport: customTransport
    });
    ```
  </Tab>
</Tabs>

## Next Steps

<CardGroup cols={3}>
  <Card title="Query Balances" description="Check ETH and token balances across networks" href="/v3/react-native/guides/web3-operations/evm/query-balances" icon="coins" />

  <Card title="Send Tokens" description="Transfer assets on configured networks" href="/v3/react-native/guides/web3-operations/evm/send-tokens" icon="paper-plane" />

  <Card title="Estimate Gas" description="Calculate gas costs for transactions" href="/v3/react-native/guides/web3-operations/evm/estimate-gas" icon="gas-pump" />
</CardGroup>
