Register a Module
Registering a module makes it discoverable and reusable through the shared Verax deployment.
Onchain interface
Modules are registered in ModuleRegistry:
function register(string calldata name, string calldata description, address moduleAddress) public;
Protocol checks:
namemust be non-empty;moduleAddressmust be a deployed contract;- the contract must support the
AbstractModuleV2interface; - the same address cannot be registered twice.
On mainnets, registration is allowlist-gated. On testnets, it is permissionless.
SDK
await veraxSdk.module.register("ExampleModule", "Example validation module", "0xModuleAddress", {
waitForConfirmation: true,
});
Explorer or manual contract call

Example explorer form for calling register on ModuleRegistry.
- Find the
ModuleRegistryaddress in Networks and Addresses. - Open the contract page in your network explorer.
- Go to the write interface.
- Call
register(name, description, moduleAddress).
Reusing an existing module
You do not need to deploy your own module if an existing deployment already fits your use case. Search the explorer or subgraph for existing modules first.