watchBlockNumber 
Action that watches for block number changes.
Import 
ts
import { watchBlockNumber } from '@wagmi/core'Usage 
ts
import { watchBlockNumber } from '@wagmi/core'
import { config } from './config'
const unwatch = watchBlockNumber(config, {
  onBlockNumber(blockNumber) {
    console.log('Block number changed!', blockNumber)
  },
})
unwatch()ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})Parameters 
ts
import { type WatchBlockNumberParameters } from '@wagmi/core'chainId 
config['chains'][number]['id'] | undefined
ID of chain to use when fetching data.
ts
import { watchBlockNumber } from '@wagmi/core'
import { mainnet } from '@wagmi/core/chains'
import { config } from './config'
const unwatch = watchBlockNumber(config, {
  chainId: mainnet.id, 
  onBlockNumber(blockNumber) {
    console.log('Block number changed!', blockNumber)
  },
})
unwatch()ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})emitOnBegin 
boolean | undefined
Whether or not to emit the latest block number to the callback when the subscription opens.
ts
import { watchBlockNumber } from '@wagmi/core'
import { config } from './config'
const unwatch = watchBlockNumber(config, {
  emitOnBegin: true, 
  onBlockNumber(blockNumber) {
    console.log('Block number changed!', blockNumber)
  },
})
unwatch()ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})emitMissed 
boolean | undefined
Whether or not to emit the missed block numbers to the callback.
ts
import { watchBlockNumber } from '@wagmi/core'
import { config } from './config'
const unwatch = watchBlockNumber(config, {
  emitMissed: true, 
  onBlockNumber(blockNumber) {
    console.log('Block number changed!', blockNumber)
  },
})
unwatch()ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})onBlockNumber 
(blockNumber: bigint, prevBlockNumber: bigint | undefined) => void
Callback for when block number changes.
ts
import { watchBlockNumber } from '@wagmi/core'
import { config } from './config'
const unwatch = watchBlockNumber(config, {
  onBlockNumber(blockNumber) { 
    console.log('Block number changed!', blockNumber) 
  }, 
})
unwatch()ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})onError 
((error: Error) => void) | undefined
Error thrown from getting the block number.
ts
import { watchBlockNumber } from '@wagmi/core'
import { config } from './config'
const unwatch = watchBlockNumber(config, {
  onBlockNumber(blockNumber) { 
    console.log('Block number changed!', blockNumber) 
  }, 
  onError(error) { 
    console.error('Block number error', error) 
  }, 
})
unwatch()ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})poll 
boolean | undefined
- Whether or not to use a polling mechanism to check for new blocks instead of a WebSocket subscription.
- Defaults to falsefor WebSocket Clients, andtruefor non-WebSocket Clients.
ts
import { watchBlockNumber } from '@wagmi/core'
import { config } from './config'
const unwatch = watchBlockNumber(config, {
  onBlockNumber(blockNumber) { 
    console.log('Block number changed!', blockNumber) 
  }, 
  poll: true, 
})
unwatch()ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})pollingInterval 
number | undefined
- Polling frequency (in milliseconds).
- Defaults to the Config's pollingIntervalconfig.
ts
import { watchBlockNumber } from '@wagmi/core'
import { config } from './config'
const unwatch = watchBlockNumber(config, {
  onBlockNumber(blockNumber) { 
    console.log('Block number changed!', blockNumber) 
  }, 
  pollingInterval: 1_000, 
})
unwatch()ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})syncConnectedChain 
boolean | undefined
- Set up subscriber for connected chain changes.
- Defaults to Config['syncConnectedChain'].
ts
import { watchBlockNumber } from '@wagmi/core'
import { config } from './config'
const unwatch = watchBlockNumber(config, {
  onBlockNumber(blockNumber) {
    console.log('Block number changed!', blockNumber)
  },
  syncConnectedChain: false, 
})
unwatch()ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})Return Type 
ts
import { type WatchBlockNumberReturnType } from '@wagmi/core'Function for cleaning up watcher.