Here you can find the address and associated ENS name (if available) for all of the World ID contracts. For verifying proofs, the only contract you need to interact with is the WorldIdRouter contract, which will properly route the call to the correct contract based on the groupId argument.
Only the Orb verification level is supported on-chain, so your groupId should always be 1.

Ethereum

ContractEthereum MainnetEthereum Sepolia Testnet
World ID Routerid.worldcoin.eth0x469449f2…2157
Identity Manager0xf7134CE1…ddEa0xb2ead588…7076

World Chain

ContractWorld ChainWorld Chain Sepolia Testnet
World ID Router0x17B354dD…A2780x57f92815…f611
Bridged World ID0xdFCa0A88…09E0xE177F37A…0AA4

Optimism

ContractOptimism MainnetOptimism Sepolia Testnet
World ID Routeroptimism.id.worldcoin.eth0x11cA3127…4334
Bridged World ID0xB3E7771a…eb7d0xf07d3efa…47Ba

Polygon

World ID is currently unavailable on Polygon testnets. Support for Polygon Amoy is coming soon.
ContractPolygon Mainnet
World ID Routerpolygon.id.worldcoin.eth
Bridged World ID0xa6d85F3b…b79F

Base (Sepolia)

ContractBase Sepolia Testnet
World ID Router0x42FF98C4…C02
Bridged World ID0x163b09b4…2432