LUKSO LSP3 Profile Metadata Standard
LSP·3 · Metadata
The standard keys for what a Universal Profile is — name, image, links, tags.
// LSP3 is a set of well-known ERC-725Y data keys.
// Read with the standard ERC-725Y getter:
function getData(bytes32 dataKey) external view returns (bytes memory);
// Canonical keys (named):
// LSP3Profile → JSON pointer or VerifiableURI
// LSP3Profile-Avatar → image reference
// LSP12IssuedAssets[] → assets this profile issued
// LSP5ReceivedAssets[] → assets this profile received
LSP3 is small. It says: if every Universal Profile uses these data keys for the same things, every app can read every profile without per-app conventions. The profile itself is a contract (LSP0), the information about the profile lives in ERC-725Y data keys, and LSP3 names the canonical ones.
Pair with LSP5 (received assets) and LSP12 (issued assets) for the full identity-side picture of what a profile holds and what it created.
What it solves.
- no standard place for account-level identity (vs app DBs)
- EOA wallet limits
What it does not solve.
Anti-overselling is a feature.
- LSP3 isn't an identity protocol. It's a key schema.
- It doesn't validate the avatar URL or the link contents — that's the app's job.
Companions.
Standards this composes with.