Public

The publicProvider configures the chains with a public RPC URL and also provides an ethers.js getpublicProvider.


Visit ethers.js getpublicProvider.

Usage

import { chain, configureChains } from 'vagmi';import { publicProvider } from 'vagmi/providers/public';const { chains, provider } = configureChains(  [chain.mainnet, chain.polygon],  [publicProvider()],);
Only having `publicProvider` in your providers will make the chain use the public RPC URL which could lead to rate-limiting. It is recommended to also include another provider in your list (such as: `alchemyProvider`, `infuraProvider` or `jsonRpcProvider`).

Return Value

{  chains: Chain[],  provider: BaseProvider,  webSocketProvider: WebSocketProvider}

Configuration

pollingInterval (optional)

The frequency in milliseconds at which the provider polls.

import { chain, configureChains } from 'vagmi';import { publicProvider } from 'vagmi/providers/public';const { chains, provider } = configureChains(  [chain.mainnet, chain.polygon],  [publicProvider({ pollingInterval: 5000 })],);

priority (optional)

The priority used for the provider. Lower-value priorities are favoured over higher-value priorities. If multiple providers share the same priority, they are chosen at random.

import { chain, configureChains } from 'vagmi';import { publicProvider } from 'vagmi/providers/public';const alchemyId = import.meta.env..ALCHEMY_ID;const { chains, provider } = configureChains(  [chain.mainnet, chain.polygon],  [    alchemyProvider({ alchemyId, priority: 0 }),    publicProvider({ priority: 1 }),  ],);

stallTimeout (optional)

The timeout in milliseconds after which another provider will be attempted.

import { chain, configureChains } from 'vagmi';import { publicProvider } from 'vagmi/providers/public';const alchemyId = import.meta.env..ALCHEMY_ID;const { chains, provider } = configureChains(  [chain.mainnet, chain.polygon],  [    alchemyProvider({ alchemyId, stallTimeout: 1000 }),    publicProvider({ stallTimeout: 1000 }),  ],);

weight (optional)

The weight a response from this provider provides. This can be used if a given provider is more trusted.

import { chain, configureChains } from 'vagmi';import { publicProvider } from 'vagmi/providers/public';const alchemyId = import.meta.env..ALCHEMY_ID;const { chains, provider } = configureChains(  [chain.mainnet, chain.polygon],  [alchemyProvider({ alchemyId, weight: 1 }), publicProvider({ weight: 2 })],);