Setting Up License Verification
This guide covers the setup process for both sides of the license system: sellers enabling licensing on their products, and buyers activating their licenses after purchase.
For Sellers
Enabling licensing on your product adds domain-locked protection that ensures only authorized deployments can run your dApp. You enable licensing during product creation or by editing an existing listing.
Enabling Licensing on a Product
Navigate to your product settings
Go to your Seller Dashboard and select the product you want to protect. Click Edit Product to open the product settings.
Enable the license flag
In the product settings, find the License Protection section. Toggle Enable Licensing to on. This sets the license_enabled flag on your product.
When licensing is enabled, every future purchase of this product will automatically generate a unique license key for the buyer.
Save your product
Click Save to apply the changes. All new purchases from this point forward will include a license key. Existing purchases made before licensing was enabled are not affected.
Enabling licensing on a product means you need to integrate the verification API call into your dApp’s code before distributing it. Without the verification check in your code, the license key is generated but not enforced. See the Integration Guide for implementation details.
Setting Up License Expiration
By default, all licenses are perpetual and never expire. If you want to offer time-limited licenses (for subscription-style products or trial periods), you can configure an expiration period in the License Protection section of your product settings.
Expiration options include:
- 30 days — Suitable for trial or monthly subscription products
- 90 days — Quarterly access
- 1 year — Annual license
- Custom — Set any duration in days
- Perpetual (default) — No expiration
When a license expires, it will fail verification until the buyer renews.
For Buyers
After purchasing a product with licensing enabled, you will need to locate your license key and activate it on your deployment domain before the dApp will pass verification checks.
Finding Your License Key
Go to your dashboard
Log in to Web3.Market and navigate to your Dashboard.
Open My Licenses
In the dashboard sidebar, click My Licenses. This section lists all license keys associated with your purchases. Each entry shows:
- Product name — The product the license belongs to
- License key — Your unique key in the format
LIC-XXXX-XXXX-XXXX-XXXX - Status — Active, suspended, revoked, or expired
- Domain — The currently activated domain (if any)
- Expiration — The expiration date, or “Perpetual” if the license does not expire
Copy your license key
Click the copy icon next to your license key to copy it to your clipboard. You will need this key for domain activation and for configuring your dApp.
Your license key is also included in the order confirmation email sent after purchase. Check your inbox if you need to reference it before logging into the dashboard.
Activating Your First Domain
Once you have your license key, activate the domain where you plan to deploy the dApp.
Click Activate Domain
In the My Licenses section, find the license you want to activate and click the Activate Domain button.
Enter your domain
Type the domain where you will deploy the dApp. For example: mydapp.com. The system normalizes your input automatically (strips protocol, path, port, and converts to lowercase).
Confirm activation
Click Activate to confirm. The domain will appear in your list of authorized domains for that license. Your dApp deployed to this domain will now pass verification.
Verifying Your Setup
After activating your domain and deploying the dApp, you can manually verify that your license is working by calling the verification endpoint:
curl "https://verify.web3.market/verify?license_key=LIC-A3F9-K2M7-P8X1-Q4R6&domain=mydapp.com"A successful response:
{
"valid": true,
"license": {
"expires_at": null
}
}If verification fails, the response will include a reason:
{
"valid": false,
"error": "invalid_domain"
}Common failure reasons:
| Reason | Description | Solution |
|---|---|---|
invalid_key | License key does not exist | Double-check the key for typos |
suspended | License has been suspended | Contact the seller or support |
revoked | License has been permanently revoked | Contact support |
expired | License has passed its expiration date | Renew the license |
invalid_domain | Domain is not activated for this license | Activate the domain in your dashboard |
Once verification succeeds, your setup is complete. The dApp will perform this same check automatically at runtime. See the Integration Guide for details on how to implement the verification call in your dApp code.