NFT Staking and Native Interchain Transfer
A standard for enabling NFTs to be staked for yield and transferred natively between the X-Chain, C-Chain, and other supported chains via the Teleport Protocol.
Abstract
This LP proposes two interconnected features: a standard interface for staking Non-Fungible Tokens (NFTs) and a mechanism for their native, interchain transfer. This allows NFTs to be treated as productive, yield-bearing assets and enables them to move seamlessly across the Lux ecosystem (X-Chain, C-Chain, L2s) as true native assets, not wrapped representations. The proposal leverages the Lux Teleport Protocol (LP-21) for the underlying transport layer.
Motivation
NFTs are a rapidly growing asset class, but their utility is often limited to holding or trading. Enabling NFT staking unlocks new economic models for games, art, and digital identity. Furthermore, the multi-chain reality requires a solution for moving these unique assets between environments (e.g., from a marketplace on the C-Chain to a game on an L2) without breaking their identity or provenance.
This LP addresses:
- Idle Capital: Allows NFT holders to earn rewards, making NFTs a productive asset class.
- Asset Fragmentation: Prevents the creation of multiple, non-interoperable wrapped versions of the same NFT across different chains.
- Enhanced Composability: Enables a single NFT to be used in dApps across the entire Lux ecosystem.
Specification
1. NFT Staking Standard (LRC-23):
An interface, ILRC23Stakable, will be created. NFT contracts wishing to enable staking must implement this interface, which includes functions like:
stake(tokenId): Locks the NFT in the staking contract.unstake(tokenId): Releases the NFT to the owner.claimRewards(tokenId): Allows the owner to claim accumulated rewards.
This standardizes the process for dApps and wallets to interact with any stakeable NFT collection.
2. Native NFT Interchain Transfer:
The transfer mechanism leverages the burn-and-mint model of the Lux Teleport Protocol (LP-21).
- Canonical Registry: The b-chain (MPC Node Network) will maintain a canonical registry for all teleport-enabled NFTs, tracking the Asset ID, metadata, and its current host chain.
- Initiation (e.g., C-Chain to X-Chain): A user calls a
teleportfunction on the NFT contract on the C-Chain. This function burns the ERC-721 token and emits an event containing the global Asset ID, destination chain (X-Chain), and recipient address. - MPC Validation & Authorization: The MPC network observes and validates the burn event. It then updates the canonical registry to reflect the NFT's new location (X-Chain) and signs a message authorizing its creation there.
- Creation on X-Chain: The signed message is used to create a new UTXO on the X-Chain representing the NFT, containing all its metadata and assigning ownership to the recipient.
The process is reversed for transfers from the X-Chain to the C-Chain.
Rationale
Combining staking and native transfers in one LP ensures a holistic approach to NFT utility. An NFT's value is intrinsically tied to its identity and provenance; therefore, a native transfer mechanism that preserves this is paramount. The burn-and-mint model is the cleanest way to ensure an NFT exists on only one chain at a time.
Security Considerations
The security of NFT transfers relies entirely on the Lux Teleport Protocol (LP-21). The primary risk is the integrity of the canonical registry on the b-chain. An attack on the MPC network could theoretically alter this registry. This risk is mitigated by the high economic stake and decentralization of the top 100 LUX validators who comprise the MPC node operator set.
Implementation
NFT Standards Location
Repository: standard/
NFT Staking Interface (LRC-23)
- Source:
standard/src/ERC721.sol- Base NFT standard- NFT staking extensions (LRC-23Stakable interface)
- Reward distribution logic
Smart Contracts
-
Staking Contracts:
- Located in
standard/src/ - Implements ILRC23Stakable interface
- Reward calculation and distribution
- Emergency unstaking mechanisms
- Located in
-
Canonical Registry:
- MPC node network registry on b-chain
- Asset ID to host chain mapping
- Metadata storage for NFTs
Cross-Chain Transfer Implementation
-
Teleport Integration: Uses LP-21 protocol
- Burn on source chain
- Mint on destination chain
- Global asset ID tracking
-
Supported Chains:
- C-Chain (EVM) to X-Chain (UTXO)
- X-Chain to C-Chain
- L2 chains via shared validator set (LP-22)
Testing and Deployment
cd standard
# NFT staking tests
forge test --match "NFT"
# Cross-chain transfer tests
forge test --match "Teleport"
Example Implementation
// Reference: standard/src/ERC721.sol
contract StakableNFT is ERC721, ILRC23Stakable {
// Staking logic with reward distribution
}
GitHub References
- Standard Library: https://github.com/luxfi/standard
- NFT Contracts: https://github.com/luxfi/standard/tree/main/src
- Bridge Integration: https://github.com/luxfi/bridge
Integration Points
- LP-21: Teleport Protocol for cross-chain transfers
- LP-22: Warp 2.0 for fast intra-ecosystem transfers
- LP-20: LRC-20 for reward token distribution
Backwards Compatibility
This proposal is additive and does not alter existing formats or APIs. Migration is opt‑in per component.
Test Cases
Unit Tests
-
Message Validation
- Test message format
- Verify signature validation
- Test nonce handling
-
Asset Locking
- Test lock operations
- Verify unlock conditions
- Test timeout handling
-
Cross-Chain Verification
- Test proof verification
- Verify merkle proofs
- Test state synchronization
Integration Tests
-
Bridge Operations
- Test token bridging
- Verify finality waiting
- Test rollback scenarios
-
Multi-Chain Coordination
- Test concurrent bridges
- Verify ordering guarantees
- Test failure recovery