standard · metadata

LUKSO LSP5 Received Assets Standard

LSP·5 · Metadata

The data keys that let an account list every asset it has ever received.

LSP·5 interface solidity
// Array stored at:
//   LSP5ReceivedAssets[]   → bytes (length)
//   LSP5ReceivedAssets[]<index> → address
//   LSP5ReceivedAssetsMap:<address> → bytes12 (interfaceId + index)

LSP5 is small and quietly important. Because LSP1 fires on transfer, and because Universal Profiles ship with a Universal Receiver Delegate that writes to LSP5, an account knows the full list of asset contracts that have ever sent it value — without an off-chain indexer.

The same companion shape (LSP12) does the dual: assets this account issued. Together, LSP5 + LSP12 give a profile a self-contained inventory.

What it solves.

  • no account-level asset inventory without a subgraph

What it does not solve.

Anti-overselling is a feature.

  • LSP5 doesn't validate that the asset is one you wanted. Spam filtering lives in the Universal Receiver Delegate.
  • It records the *contract*, not balances — that's still on the asset contract.

Companions.

Standards this composes with.

Read the source.