[](https://opensource.org/licenses/MIT)
[](https://lukso.network)
[](https://docs.soliditylang.org/)
This repository contains the smart contracts for Subz, a decentralized subscription management platform built on LUKSO. The contracts enable creators to deploy their own subscription services with NFT-powered benefits using LSP7 Digital Asset standard.
The Factory contract is responsible for deploying individual subscription contracts for creators. It:
- Manages deployment of new subscription contracts
- Maintains registry of deployed contracts
- Handles platform fee collection (2%)
- Enforces standardization across deployments
Each subscription contract is an LSP7-compliant token that:
- Manages subscription logic and payments
- Handles subscriber permissions via
authorizeOperator - Processes fixed monthly charges
- Mints NFTs representing active subscriptions
- Enforces immutable pricing
- Fixed-price immutable subscriptions
- Limited operator permissions
- No unlimited allowances
- Automated compliance checks
- LSP7 Digital Asset standard
- Universal Profile compatibility
- Future support for LSP1 (batch transactions)
- Contract Deployment
function createSubscription(
string memory name,
address recipient,
address stablecoin
) external returns (address);- Subscription Authorization
function authorizeOperator(
address operator,
uint256 amount
) external;- Payment Processing
function _chargeSubscriber(
address subscriber
) internal returns (bool);- Fixed Price Protection
modifier onlyFixedPrice() {
require(msg.value == subscriptionPrice, "Invalid payment amount");
_;
}- Operator Limitations
modifier onlyAuthorizedAmount(uint256 amount) {
require(amount == subscriptionPrice, "Invalid operator amount");
_;
}-
Enhanced LSP Integration
- Native LYX payment support via TRANSFER VALUE
- Improved LSP4 metadata for subscription tiers
- LSP1 batch transaction support
-
Multiple Tiers
- Tiered subscription levels
- Unique NFTs per tier
- Dynamic pricing models
-
Advanced Features
- Content gating mechanisms
- Loyalty rewards
- Automated airdrops
This project is in beta. Use at your own risk.
- Fixed price model
- Single token support per contract
- Manual renewal triggers
- Fork the repository
- Create feature branch
- Commit changes
- Push to branch
- Open pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Discord: Join our community
- Twitter: @SubzApp