A decentralized protocol for cross-chain token licensing and verification on blockchain networks.
Finality Connect enables:
- Cross-chain token licensing
- Flexible usage rights management
- Secure token verification
- Multi-tier access control
- Transparent licensing mechanisms
Key Features:
- Decentralized licensing infrastructure
- Flexible permission models
- Interoperable token verification
- Secure transfer of usage rights
- Blockchain-agnostic design
The protocol consists of two primary smart contracts handling core functionality:
graph TD
A[Finality Core Contract] --> B[Token Management]
A --> C[Ownership Tracking]
A --> D[Verification System]
A --> E[Rights Distribution]
F[Licensing Contract] --> G[Permission Configuration]
F --> H[License Issuance]
F --> I[Usage Verification]
F --> J[Access Control]
B --> K[Token Economy]
C --> K
D --> K
E --> K
G --> L[Usage Rights]
H --> L
I --> L
J --> L
The core contract manages fundamental token functionality:
- Token creation and ownership tracking
- Transfer and verification mechanisms
- Rights management
- Metadata handling
Key features:
- Configurable royalty percentages
- Platform fee support
- Metadata immutability
- Cross-chain compatibility
Handles token licensing and usage rights:
- Flexible licensing tiers
- Configurable access levels
- License verification system
- Usage tracking and management
- Clarinet
- Blockchain wallet
- Native tokens for transactions
- Creating a token:
(contract-call? .finality-core create-token "metadata-uri" u100)- Listing a token for sale:
(contract-call? .finality-core list-token token-id price)- Configuring a license:
(contract-call? .finality-licensing configure-license-tier token-id tier price duration-days max-licenses)(create-token (metadata-uri (string-utf8 256)) (royalty-percentage uint))
(update-token-metadata (token-id uint) (new-metadata-uri (string-utf8 256)))
(freeze-token-metadata (token-id uint))(list-token (token-id uint) (price uint))
(buy-token (token-id uint))
(make-offer (token-id uint) (offer-price uint) (expiry uint))
(accept-offer (token-id uint) (offerer principal))(configure-license-tier (token-id uint) (tier uint) (price uint) (duration-days uint) (max-licenses (optional uint)))
(purchase-license (token-id uint) (tier uint))
(renew-license (token-id uint) (tier uint))
(revoke-license (token-id uint) (tier uint) (licensee principal))Run tests using Clarinet:
clarinet test- Start local chain:
clarinet integrate- Deploy contracts:
clarinet deploy- Royalty calculations use basis points to avoid floating-point issues
- Ownership checks prevent unauthorized transfers
- Metadata freezing prevents post-sale modifications
- License validation prevents unauthorized usage
- Expiration tracking ensures proper access control
- Creator-only license configuration and revocation
- Maximum license count enforcement
- All financial transactions verify sufficient funds
- Access control checks on privileged operations
- State changes are atomic and consistent