License validation ensures only authorized users can access your software.
## Validation Process
1. User provides license key
2. Your application sends validation request to LicenseChain
3. LicenseChain checks:
- License exists and is valid
- License hasn't expired
- User/device limits not exceeded
- Features are enabled
- License isn't revoked
4. LicenseChain returns validation result
## Validation Methods
### Online Validation
Real-time validation via API. Most secure but requires internet connection.
### Offline Validation
Validate using cached license data. Requires periodic online sync.
### Hybrid Validation
Combine online and offline validation for best user experience.
## Validation Responses
### Valid License
Returns license details including ID, type, expiration, and enabled features.
### Invalid License
Returns validation failure with reason code and descriptive message.
## Common Validation Reasons
- LICENSE_EXPIRED: License has passed expiration date
- LICENSE_INVALID: License key doesn't exist
- LICENSE_REVOKED: License was manually revoked
- USER_LIMIT_EXCEEDED: Maximum users reached
- DEVICE_LIMIT_EXCEEDED: Maximum devices reached
- FEATURE_NOT_ENABLED: Requested feature not available
## Caching
Cache validation results to reduce API calls:
- Cache valid licenses for 1-24 hours
- Immediately revalidate on feature checks
- Clear cache on license updates