An Extension is a smart contract linked to a single Items Collection. Each Extension is cloned by the Extension Factory, guaranteeing its validity and integrity.
The Items protocol is designed in such a way that the host of an Items Collection can't interact directly with the Core to perform its host operations (such as create a Collection, mint Items, change Metadata etc..) but he must interact with the Extension hosting the Collection which in turn interacts with the Core.
For example, to mint new Items it is not possible to call directly the Main Interface mintItems function but the host must call the Extension mintItems function that inside has the logic to call the Main Interface mintItems function .
The Items holders instead can both interact directly with the Core and with the Extension to transfer, burn etc.. their items.
These are particular singleton Extensions that allow users to wrap their tokens in Wrapped Items and Decks. ERC20/ETH/ERC721/ERC1155 can be wrapped in Wrapped Items, ERC721 and ERC1155 can be wrapped in Decks.