[{"_path":"/client","_draft":false,"_partial":false,"_empty":false,"title":"Client","description":"The vagmi Client manages wallet connection state and configuration, such as: auto-connection, connectors, and ethers providers.","excerpt":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"import { configureChains, createClient, defaultChains } from 'vagmi';\nimport { publicProvider } from 'vagmi/providers/public';\n\nconst { provider, webSocketProvider } = configureChains(defaultChains, [\n  publicProvider(),\n]);\n\nconst client = createClient({\n  provider,\n  webSocketProvider,\n});\n","language":"js"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { configureChains, createClient, defaultChains } from 'vagmi';\nimport { publicProvider } from 'vagmi/providers/public';\n\nconst { provider, webSocketProvider } = configureChains(defaultChains, [\n  publicProvider(),\n]);\n\nconst client = createClient({\n  provider,\n  webSocketProvider,\n});\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"configuration"},"children":[{"type":"text","value":"Configuration"}]},{"type":"element","tag":"h3","props":{"id":"autoconnect-optional"},"children":[{"type":"text","value":"autoConnect (optional)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Enables reconnecting to last used connector on mount. Defaults to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"false"}]},{"type":"text","value":"."}]},{"type":"element","tag":"code","props":{"code":"import { configureChains, createClient, defaultChains } from 'vagmi';\nimport { publicProvider } from 'vagmi/providers/public';\n\nconst { provider } = configureChains(defaultChains, [\n  publicProvider(),\n]);\n\nconst client = createClient({\n  autoConnect: true,\n  provider,\n});\n","language":"js"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { configureChains, createClient, defaultChains } from 'vagmi';\nimport { publicProvider } from 'vagmi/providers/public';\n\nconst { provider } = configureChains(defaultChains, [\n  publicProvider(),\n]);\n\nconst client = createClient({\n  autoConnect: true,\n  provider,\n});\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"connectors-optional"},"children":[{"type":"text","value":"connectors (optional)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Connectors used for linking accounts. Defaults to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"[new InjectedConnector()]"}]},{"type":"text","value":"."}]},{"type":"element","tag":"code","props":{"code":"import { configureChains, createClient, defaultChains } from 'vagmi';\nimport { publicProvider } from 'vagmi/providers/public';\nimport { InjectedConnector } from 'vagmi/connectors/injected';\nimport { WalletConnectConnector } from 'vagmi/connectors/walletConnect';\n\nconst { chains, provider } = configureChains(defaultChains, [publicProvider()]);\n\nconst client = createClient({\n  connectors: [\n    new InjectedConnector({ chains }),\n    new WalletConnectConnector({\n      chains,\n      options: {\n        qrcode: true,\n      },\n    }),\n  ],\n  provider,\n});\n","language":"js"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { configureChains, createClient, defaultChains } from 'vagmi';\nimport { publicProvider } from 'vagmi/providers/public';\nimport { InjectedConnector } from 'vagmi/connectors/injected';\nimport { WalletConnectConnector } from 'vagmi/connectors/walletConnect';\n\nconst { chains, provider } = configureChains(defaultChains, [publicProvider()]);\n\nconst client = createClient({\n  connectors: [\n    new InjectedConnector({ chains }),\n    new WalletConnectConnector({\n      chains,\n      options: {\n        qrcode: true,\n      },\n    }),\n  ],\n  provider,\n});\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"provider-optional"},"children":[{"type":"text","value":"provider (optional)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ethers "},{"type":"element","tag":"a","props":{"href":"https://docs.ethers.io/v5/api/providers/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"interface"}]},{"type":"text","value":" for connecting to the Ethereum network."}]},{"type":"element","tag":"code","props":{"code":"import { configureChains, createClient, defaultChains } from 'vagmi';\nimport { publicProvider } from 'vagmi/providers/public';\n\nconst { provider } = configureChains(defaultChains, [publicProvider()]);\n\nconst client = createClient({\n  provider,\n});\n","language":"js"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { configureChains, createClient, defaultChains } from 'vagmi';\nimport { publicProvider } from 'vagmi/providers/public';\n\nconst { provider } = configureChains(defaultChains, [publicProvider()]);\n\nconst client = createClient({\n  provider,\n});\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"websocketprovider-optional"},"children":[{"type":"text","value":"webSocketProvider (optional)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ethers WebSocket interface for connecting to the Ethereum network. If you provide a WebSocket provider, it will be used instead of polling in certain instances."}]},{"type":"element","tag":"code","props":{"code":"import { configureChains, createClient, defaultChains } from 'vagmi';\nimport { publicProvider } from 'vagmi/providers/public';\n\nconst { provider, webSocketProvider } = configureChains(defaultChains, [\n  publicProvider(),\n]);\n\nconst client = createClient({\n  provider,\n  webSocketProvider,\n});\n","language":"js"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { configureChains, createClient, defaultChains } from 'vagmi';\nimport { publicProvider } from 'vagmi/providers/public';\n\nconst { provider, webSocketProvider } = configureChains(defaultChains, [\n  publicProvider(),\n]);\n\nconst client = createClient({\n  provider,\n  webSocketProvider,\n});\n"}]}]}]}]},"_type":"markdown","_id":"content:2.client.md","_source":"content","_file":"2.client.md","_extension":"md"},{"_path":"/providers/alchemy","_draft":false,"_partial":false,"_empty":false,"title":"Alchemy","description":"The alchemyProvider configures the chains with Alchemy RPC URLs and also provides an ethers.js AlchemyProvider.","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Visit "},{"type":"element","tag":"a","props":{"href":"https://docs.ethers.io/v5/api/providers/api-providers/#AlchemyProvider","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"ethers.js "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"AlchemyProvider"}]}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"import { chain, configureChains } from 'vagmi';\nimport { alchemyProvider } from 'vagmi/providers/alchemy';\n\nconst alchemyId = import.meta.env.ALCHEMY_ID;\n\nconst { chains, provider } = configureChains(\n  [chain.mainnet, chain.polygon],\n  [alchemyProvider({ alchemyId })],\n);\n","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { chain, configureChains } from 'vagmi';\nimport { alchemyProvider } from 'vagmi/providers/alchemy';\n\nconst alchemyId = import.meta.env.ALCHEMY_ID;\n\nconst { chains, provider } = configureChains(\n  [chain.mainnet, chain.polygon],\n  [alchemyProvider({ alchemyId })],\n);\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"return-value"},"children":[{"type":"text","value":"Return Value"}]},{"type":"element","tag":"code","props":{"code":"{\n  chains: Chain[],\n  provider: AlchemyProvider,\n  webSocketProvider: AlchemyWebSocketProvider\n}\n","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"{\n  chains: Chain[],\n  provider: AlchemyProvider,\n  webSocketProvider: AlchemyWebSocketProvider\n}\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"configuration"},"children":[{"type":"text","value":"Configuration"}]},{"type":"element","tag":"h3","props":{"id":"alchemyid-optional"},"children":[{"type":"text","value":"alchemyId (optional)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Your Alchemy ID from the "},{"type":"element","tag":"a","props":{"href":"https://dashboard.alchemyapi.io/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"Alchemy Dashboard"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If no Alchemy ID is provided, it will use the public Alchemy ID. It is recommended to provide your own Alchemy ID to prevent being rate-limited."}]},{"type":"element","tag":"code","props":{"code":"import { chain, configureChains } from 'vagmi';\nimport { alchemyProvider } from 'vagmi/providers/alchemy';\n\nconst alchemyId = import.meta.env.ALCHEMY_ID;\n\nconst { chains, provider } = configureChains(\n  [chain.mainnet, chain.polygon],\n  [alchemyProvider({ alchemyId })],\n);\n","highlights":[8],"language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { chain, configureChains } from 'vagmi';\nimport { alchemyProvider } from 'vagmi/providers/alchemy';\n\nconst alchemyId = import.meta.env.ALCHEMY_ID;\n\nconst { chains, provider } = configureChains(\n  [chain.mainnet, chain.polygon],\n  [alchemyProvider({ alchemyId })],\n);\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"pollinginterval-optional"},"children":[{"type":"text","value":"pollingInterval (optional)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The frequency in milliseconds at which the provider polls."}]},{"type":"element","tag":"code","props":{"code":"import { chain, configureChains } from 'vagmi';\nimport { alchemyProvider } from 'vagmi/providers/alchemy';\n\nconst alchemyId = import.meta.env.ALCHEMY_ID;\n\nconst { chains, provider } = configureChains(\n  [chain.mainnet, chain.polygon],\n  [alchemyProvider({ alchemyId, pollingInterval: 5000 })],\n);\n","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { chain, configureChains } from 'vagmi';\nimport { alchemyProvider } from 'vagmi/providers/alchemy';\n\nconst alchemyId = import.meta.env.ALCHEMY_ID;\n\nconst { chains, provider } = configureChains(\n  [chain.mainnet, chain.polygon],\n  [alchemyProvider({ alchemyId, pollingInterval: 5000 })],\n);\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"priority-optional"},"children":[{"type":"text","value":"priority (optional)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"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."}]},{"type":"element","tag":"code","props":{"code":"import { chain, configureChains } from 'vagmi';\nimport { alchemyProvider } from 'vagmi/providers/alchemy';\n\nconst alchemyId = import.meta.env.ALCHEMY_ID;\nconst infuraId = import.meta.env.INFURA_ID;\n\nconst { chains, provider } = configureChains(\n  [chain.mainnet, chain.polygon],\n  [\n    alchemyProvider({ alchemyId, priority: 0 }),\n    infuraProvider({ infuraId, priority: 1 }),\n  ],\n);\n","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { chain, configureChains } from 'vagmi';\nimport { alchemyProvider } from 'vagmi/providers/alchemy';\n\nconst alchemyId = import.meta.env.ALCHEMY_ID;\nconst infuraId = import.meta.env.INFURA_ID;\n\nconst { chains, provider } = configureChains(\n  [chain.mainnet, chain.polygon],\n  [\n    alchemyProvider({ alchemyId, priority: 0 }),\n    infuraProvider({ infuraId, priority: 1 }),\n  ],\n);\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"stalltimeout-optional"},"children":[{"type":"text","value":"stallTimeout (optional)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The timeout in milliseconds after which another provider will be attempted."}]},{"type":"element","tag":"code","props":{"code":"import { chain, configureChains } from 'vagmi';\nimport { alchemyProvider } from 'vagmi/providers/alchemy';\n\nconst alchemyId = import.meta.env.ALCHEMY_ID;\nconst infuraId = import.meta.env.INFURA_ID;\n\nconst { chains, provider } = configureChains(\n  [chain.mainnet, chain.polygon],\n  [\n    alchemyProvider({ alchemyId, stallTimeout: 1000 }),\n    infuraProvider({ infuraId, stallTimeout: 1000 }),\n  ],\n);\n","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { chain, configureChains } from 'vagmi';\nimport { alchemyProvider } from 'vagmi/providers/alchemy';\n\nconst alchemyId = import.meta.env.ALCHEMY_ID;\nconst infuraId = import.meta.env.INFURA_ID;\n\nconst { chains, provider } = configureChains(\n  [chain.mainnet, chain.polygon],\n  [\n    alchemyProvider({ alchemyId, stallTimeout: 1000 }),\n    infuraProvider({ infuraId, stallTimeout: 1000 }),\n  ],\n);\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"weight-optional"},"children":[{"type":"text","value":"weight (optional)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The weight a response from this provider provides. This can be used if a given provider is more trusted."}]},{"type":"element","tag":"code","props":{"code":"import { chain, configureChains } from 'vagmi';\nimport { alchemyProvider } from 'vagmi/providers/alchemy';\n\nconst alchemyId = import.meta.env.ALCHEMY_ID;\nconst infuraId = import.meta.env.INFURA_ID;\n\nconst { chains, provider } = configureChains(\n  [chain.mainnet, chain.polygon],\n  [\n    alchemyProvider({ alchemyId, weight: 1 }),\n    infuraProvider({ infuraId, weight: 2 }),\n  ],\n);\n","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { chain, configureChains } from 'vagmi';\nimport { alchemyProvider } from 'vagmi/providers/alchemy';\n\nconst alchemyId = import.meta.env.ALCHEMY_ID;\nconst infuraId = import.meta.env.INFURA_ID;\n\nconst { chains, provider } = configureChains(\n  [chain.mainnet, chain.polygon],\n  [\n    alchemyProvider({ alchemyId, weight: 1 }),\n    infuraProvider({ infuraId, weight: 2 }),\n  ],\n);\n"}]}]}]}]},"_type":"markdown","_id":"content:3.providers:2.alchemy.md","_source":"content","_file":"3.providers/2.alchemy.md","_extension":"md"}]