ERC-721L: Licensing-Aware NFTs
Status: Proposed companion standard (pending ERC number assignment)
ERC-721L adds on-chain, machine-readable licensing to NFTs. It’s a companion to ERC-8170 because agents need to know what rights they have with the NFT they’re bound to.
Why agents need licensing
When an AI agent binds to an NFT (via ERC-8171), the agent inherits the NFT’s visual identity. But what can the agent actually do with it?
- Can it use the PFP commercially?
- Can it create derivatives?
- Can it monetize content featuring the artwork?
- Can it sublicense to clones?
Without on-chain licensing, these questions have no verifiable answer. The agent has to trust off-chain legal documents that may not even exist.
ERC-721L makes licensing queryable on-chain, so an agent can programmatically check: “What am I allowed to do with this NFT?”
Core concept
ERC-721L treats an NFT as a programmable rights object. Each token carries:
- Ownership (standard ERC-721)
- Licensing tier (what rights the holder has)
- Transferability state (soulbound vs transferable)
- Upgrade state (can rights be expanded)
Two implementation paths
For new collections (ERC-721L Native)
Build licensing directly into the contract. The NFT is minted with a license tier baked in.
ERC-721L NFT (native licensing)
+ optional ERC-8171 (AI agent binding)
For existing collections (metadata-based)
Existing ERC-721 collections can adopt licensing through metadata without contract changes:
{
"license_tier": 4,
"license_name": "COMMERCIAL_DERIVS_NONEXCLUSIVE",
"license_uri": "https://example.com/license/tier4.pdf",
"transferable": true
}
This is backward compatible. Any NFT can add licensing metadata today.
Licensing tier ladder
| Tier | Name | Rights |
|---|---|---|
| 0 | UNSET | No rights declared |
| 1 | PERSONAL_USE | Display, PFP use only |
| 2 | COMMERCIAL_NO_DERIVS | Commercial use of original artwork, no modifications |
| 3 | NONCOMMERCIAL_DERIVS | Derivatives allowed, non-commercial only |
| 4 | COMMERCIAL_DERIVS_NONEXCLUSIVE | Commercial derivatives, non-exclusive |
| 5 | COMMERCIAL_DERIVS_EXCLUSIVE | Commercial derivatives, exclusive to holder |
| 6 | COMMERCIAL_DERIVS_SHAREALIKE | Commercial derivatives with share-alike terms |
| 7 | CC0 | Public domain, no restrictions |
The monotonic rule
transferableTier >= baseTier
Upgrading a token from soulbound to transferable must never reduce rights. If an NFT starts as PERSONAL_USE in participation mode, its transferable mode must be PERSONAL_USE or higher.
Two-phase model (optional)
ERC-721L supports an optional upgrade pattern:
Phase 1: Participation Mode (default)
- Non-transferable (SBT-like)
- Lower license tier
- Identity and display use
Phase 2: Ownership Mode (upgrade)
- Transferable
- Higher license tier
- Full commercial rights
This enables mass participation without dilution. Anyone can hold an identity NFT. Only those who upgrade get full ownership rights.
How agents use licensing
An AI agent bound to an ERC-721L NFT can query its rights:
// What can I do with this NFT right now?
uint8 tier = getCurrentLicenseTier(tokenId);
if (tier >= 4) {
// I can create and sell derivatives
} else if (tier >= 2) {
// I can use the artwork commercially but can't modify it
} else if (tier >= 1) {
// Display only
}
This enables rights-aware agent behavior. The agent automatically adjusts what it does based on the licensing tier of its bound NFT.
Agent capabilities by tier
| License Tier | Agent Can |
|---|---|
| 1 PERSONAL_USE | Display as PFP, identity use, non-commercial interaction |
| 2 COMMERCIAL_NO_DERIVS | Brand presence, commercial display, original artwork in products |
| 4 COMMERCIAL_DERIVS | Create content, build products, monetize, sublicense to clones |
| 5 EXCLUSIVE | All of the above, exclusively |
| 7 CC0 | Unrestricted, fully open |
Connection to ERC-8170
ERC-721L and ERC-8170 are independent standards that compose well together:
- ERC-8170 answers: Who is this agent? (identity, memory, lifecycle)
- ERC-8171 answers: Which NFT is this agent bound to? (registry)
- ERC-721L answers: What rights does the agent have with that NFT? (licensing)
Together they form the identity + rights stack. An agent has a persistent identity (8170), is bound to an NFT (8171), and knows what it can do with that NFT (721L).
Contract interface (native mode)
interface IERC721L {
/// @notice Get the current effective license tier
function getCurrentLicenseTier(uint256 tokenId) external view returns (uint8);
/// @notice Get the base (participation mode) license tier
function getBaseLicenseTier(uint256 tokenId) external view returns (uint8);
/// @notice Get the upgraded (ownership mode) license tier
function getUpgradedLicenseTier(uint256 tokenId) external view returns (uint8);
/// @notice Check if token is in transferable (ownership) mode
function isTokenTransferable(uint256 tokenId) external view returns (bool);
/// @notice Upgrade token to transferable mode
function upgradeToTransferable(uint256 tokenId) external payable;
}
Marketplace support
Marketplaces should display:
- Current license tier with human-readable name
- Transferable status
- Upgrade availability and price (if applicable)
- What rights the buyer receives
See Marketplace Integration Guide for full implementation details.
Status
ERC-721L is a proposed standard currently being prepared for Ethereum Magicians discussion. It is designed as an optional companion to ERC-8170 and works with any ERC-721 collection.
- Spec document: Available upon request
- Reference implementation: In development
- Ethereum Magicians: Topic pending