Choose between LSP7 or LSP8
This page provides guidance on which standard and combination to choose for your project. Both LSP7 and LSP8 coupled with the LSP4TokenType data key allow to create NFT collections on LUKSO. From simple to more complex!
Available Optionsβ
There are 4 x main popular combination of LSP7 / LSP8 + the LSP4TokenType.
| Description | Standard | LSP4 Token Type | |||
|---|---|---|---|---|---|
| LSP7 | LSP8 | (0) Token | (1) NFT | (2) Collection | |
| Fungible Token | β | β | |||
| "NFT-like" digital item with multiple ownable quantities | β | β | |||
| A collection of unique items | β | β | |||
| An "umbrella" collection containing multiple sub-collections | β | β | |||
Fungible Tokenβ

Characteristicsβ
- divisible (unless
decimals()overwritten to0). - 18 decimals by default (unless overwritten to have less decimals, like USDT for example which has 6 decimals).
- The
LSP4Metadatarepresents the metadata of the fungible token.
Example Use Casesβ
- a digital currency
- a meme coin
- a share in a com
- a voting token.
- a reward token.
- a utility token.
Multiple Ownable Digital Itemsβ

Characteristicsβ
- Non divisible (decimals is
0). - Each items can't be uniquely identified by an ID in the collection. They are all the same.
- All items share the same metadata. There is no metadata specific per item.
- The
LSP4Metadatarepresents the metadata of each item (they are all the same).
Example Use Casesβ
- a contract with 500 x digital t-shirts.
- a contract with 1000 x digital tickets.
Standard NFT Collectionβ

Characteristicsβ
- The
LSP4Metadatarepresents the metadata of the whole NFT Collection. - All the NFTs live in the same smart contract.
- Each NFT can be uniquely identified by a
tokenIdin the collection. - Each NFT can have its own custom metadata. This can be set via:
setDataForTokenId(...)for each NFT.- by setting the
LSP8MetadataBaseURIand appending thetokenIdto the base URI.
Example Use Casesβ
- a collection of unique watches with their serial number.
- a collection of unique digital art pieces.
Collection of Sub-Collectionsβ

Characteristicsβ
- Each tokenId is a of
LSP8TokenIdFormatofAddress. - Each sub-collection is a smart contract that can be either an LSP7 or LSP8
Example Use Casesβ
- a creator collection grouping several NFT drops.
- a game collection grouping character, item, and badge contracts.
- a brand collection grouping several editions or product lines.
ERC1155-style multi-asset projectsβ
If you come from ERC1155, first decide whether your assets are mostly interchangeable quantities or unique identifiable items. LUKSO projects usually model these cases with LSP7 and LSP8 instead of one mixed contract interface.
| ERC1155-style need | LUKSO pattern |
|---|---|
| Many identical editions of one item | LSP7 with LSP4TokenType set to NFT |
| A collection of unique items | LSP8 with LSP4TokenType set to NFT |
| A parent collection that points to several child collections | LSP8 with LSP4TokenType set to Collection |
| Fungible game points, rewards, or credits | LSP7 with LSP4TokenType set to Token |
This split makes indexing and metadata clearer: fungible balances, semi-fungible editions, unique NFTs, and umbrella collections each expose their own LSP4/ERC725Y metadata and LSP1-aware transfer behavior.