Skip to main content

The LUKSO Standard Proposals (LSPs)

Discover the LSPs, the standards that represent the foundation of LUKSO's ecosystem. They can be used as building blocks and combined to create new and innovative protocols or dApps on the LUKSO Blockchain.

info

👉 📺 Watch Fabian's Presentation from ETHCC6 2023 for a an high-level overview! 🦅

The LSPs introduce new concepts like blockchain-based accounts (e.g: Universal Profiles), Digital Assets, NFT 2.0 and Permissions Management. This section describes the fundamentals of the standards, their technical aspects and their applications and use cases across the LUKSO ecosystem.

The LUKSO Standards Proposals (LSPs) represent the main building blocks of the LUKSO ecosystem. People, groups, and organizations can use them to build blockchain-based applications that aim to maximize the user experience, allow more flexibility and interaction, and open doors to innovation.

The use of smart contracts and standards like the LSPs can mitigate some centralization risks by allowing for decentralized ownership and control of accounts and assets.

👤 LSP0

ERC725 Account

Blockchain account for asset ownership and use by individuals or entities.

📢 LSP1

Universal Receiver

Notification receiver for incoming and outgoing transactions or information.

🗄️ LSP2

ERC725Y JSON Schema

Describes ERC725Y data key-value pairs interpretation including encoding and decoding.

🌐 LSP3

Profile Metadata

Set of ERC725Y data keys describing a smart contract based blockchain profile.

🔍 LSP4

Digital Asset Metadata

Describes metadata of digital assets via a set of ERC725Y data keys.

📒 LSP5

Received Assets

Defines ERC725Y data keys storing addresses of received assets.

🔐 LSP6

Key Manager

Contract with permissions controlled through multiple addresses.

🪙 LSP7

Digital Asset

Standard for fungible or non-fungible digital assets with a unified interface.

🎨 LSP8

Identifiable Digital Asset

Interface for uniquely identifiable digital assets with specific metadata.

🏦 LSP9

Vault

ERC725 smart contract variant representing a blockchain vault.

📘 LSP10

Received Vaults

ERC725Y keys to list owned LSP9 Vaults.

🌱 LSP11

Basic Social Recovery

Contract that enables to recover access to any ERC725-based smart contract

📗 LSP12

Issued Assets

List of issued assets by an individual or entity via ERC725Y keys.

2️⃣ LSP14

Ownable 2 Steps

Module for secure two-step ownership management of smart contracts.

📬 LSP15

Transaction Relayer API

A standard set of API methods to create a service that acts as a relayer and dispatch transactions on behalf of users.

🏭 LSP16

Universal Factory

Factory that facilitates the deployment of smart contracts at the same address across multiple chains.

🧩 LSP17

Contract Extension

Extends smart contract functionalities with addable and removable plugins.

💸 LSP18

Royalties

Set of data keys to store informations about royalty recipient addresses and their claimable percentage.

🔄 LSP20

Call Verification

Facilitates smart contract interactions without resolving the owner first.

🏭 LSP23

Linked Contracts Factory

Factory pattern standard for deploying two linked contracts across chains.

⛽ LSP25

Execute Relay Call

Generic interface for meta transactions, so that interactions and gas can be paid on behalf of users.

🔍 LSP26

Follower System

Contract that act as a registry that keep track of a list of addresses that follow each other for social interactions.

note

LSPs are not order-dependent. They can be related to each other in a backward or forward order. Meaning a standard could use another one that comes after or before in order. For example LSP0 - ERC725Account uses LSP1 - UniversalReceiver, LSP2 - ERC725YJSONSchema and could use LSP3 - ProfileMetadata, etc.

Smart Contracts in Solidity

The default implementation of these standards in Solidity is available as Open Source Software. They can be used as a base by developers to build their applications.

See the Contracts section for the Solidity implementation of these standards and their ABI docs.

LSP Standard Specifications

See LUKSO Improvement Proposals - LIPs (GitHub) if you are looking for the design and formal specifications of each LSP Standards.

Developers wishing to understand the logic behind the standards and their tradeoffs within are well-advised to read these documents alongside the Solidity code itself.

Further Resources