> For the complete documentation index, see [llms.txt](https://documentation.rcore.cz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.rcore.cz/paid-resources/rcore_housing/configuration/keys.md).

# Keys

Edit `rcore_housing/configs/config.keys.lua` to control the physical-key system and the optional keychain.

## 🔑 Keys

```lua
Config.Keys = {
    UseKeysOnItem         = false,
    Limit                 = 8,
    Price                 = 300,
    LockReplacementPrice  = 1000,
    RemoveOnRentEnd       = true,
    AutoGiveOnPurchase    = true,
    RequireInsideInterior = false,
}
```

| Option                  | Description                                                                             |
| ----------------------- | --------------------------------------------------------------------------------------- |
| `UseKeysOnItem`         | When `true`, keys are physical inventory items. When `false`, access is purely virtual. |
| `Limit`                 | Max number of keys that can be generated per property.                                  |
| `Price`                 | Cost to generate a new physical key.                                                    |
| `LockReplacementPrice`  | Cost to replace all locks (invalidates all existing keys).                              |
| `RemoveOnRentEnd`       | Strip keys from a tenant's inventory when their rent ends.                              |
| `AutoGiveOnPurchase`    | Auto-give the master key to the owner on purchase.                                      |
| `RequireInsideInterior` | When `true`, players inside still need keys to use interior doors.                      |

## 🗝️ Keychain

```lua
Config.Keychain = {
    Enabled       = false,
    MaxKeys       = 10,
    Price         = 500,
    AllowRenaming = true,
    DefaultLabel  = 'Property Key',
}
```

The keychain is an optional single inventory item that holds multiple keys. Enable it if you want to keep slot usage low when players collect many keys.
