# Hats Modules Registry Schema
```javascript
{
"name": "<module's name (string)>",
"details": [
"<first paragraph describing the module (string)>",
"<second paragraph describing the module (string)>"
],
## new
"admin-details": "<paragraph describing the module's admin or owner logic (string)>",
"links": [
{
"label": "<link's name/description>",
"link": "<link's URL>"
}
],
"parameters": [
{
"label": "<parameter's name/description>",
"functionName": "<parameter's function name to retrieve the parameter from its instance>",
"displayType": "<parameter's type of content, for display purpose>"
}
],
"type": {
"eligibility": "<whether the module is an eligiblity module (boolean)>",
"toggle": "<whether the module is a toggle module (boolean)>",
"hatter": "<whether the module is a hatter module (boolean)>",
## new
"eligibility-type": {
"eligible-sensitive": "<whether the eligibility module sets the eligible value (boolean)>",
"standing-sensitive": "<whether the eligibility module sets the standing value (boolean)>",
"eligible-default": "<whether the default eligible value is true or false (boolean)>",
"standing-default": "<whether the default standing value is true or false (boolean)>"
}
},
"implementationAddress": "<module's deployed implemenataion address (string)>",
"supported-chainIds": ["<chainId A>", "<chainId B", "chainId N"],
"creationArgs": {
"useHatId": "<True if the hatId property should be set with the ID of the hat for which the module is deployed, otherwise false>",
"immutable": [
{
"name": "<argument's name (string)>",
"description": "<short description (string)>",
"type": "<argument's solidity type, e.g. 'uint256' (string)>",
"example": "<example argument which will be used for automatic testing>",
"displayType": "<parameter's type of content, for display purpose>"
}
],
"mutable": [
{
"name": "<argument's name (string)>",
"description": "<short description (string)>",
"type": "<argument's solidity type, e.g. 'uint256' (string)>",
"example": "<example argument which will be used for automatic testing>",
"displayType": "<parameter's type of content, for display purpose>"
}
]
},
"abi": "<module's contract ABI>"
}
```