I want to set up an automated licensing system for MT4 and MT5 EAs using WooCommerce and the plugin License Manager for WooCommerce. The system should:
Generate license keys automatically after purchase
Bind the license to the customer’s specific computer (Windows or Mac)
Verify the license each time the EA is loaded
Include a “Clear Activations” button in the user’s account to allow resetting the device binding
Use the License Manager for WooCommerce plugin to issue and manage license keys.
After purchase, the system automatically generates and sends a license key to the customer.
Each license key must be bound to only one device (using a combination of hardware info such as HDD serial, computer name, MAC address, etc.).
MT4 and MT5 licenses must be separated:
Each EA version (MT4 and MT5) is sold as a separate WooCommerce product.
MT4 EAs should only accept MT4 keys, and MT5 EAs should only accept MT5 keys.
Add a “Clear Activations” button next to each license key in the user’s “My Account” page, allowing the customer to unbind the license from the current device and activate it on a new one.
When first loaded, the EA will ask the user to enter their license key.
The EA should:
Save the license key locally (so the user doesn’t need to re-enter it).
Collect device info and send it with the license key to the server for verification.
If the key is valid and the device matches → EA runs as normal.
If the key is invalid or the device doesn't match → show an error message (easy to customize) and automatically remove the EA from the chart.
The system must support both Windows and Mac users (including Mac users running Windows via virtual machines).
Optionally, the EA may continue running for a short period if the user loses internet connection (e.g., 24h offline grace period).
The system must ensure that license keys are only valid for the correct product (MT4/MT5).
Device binding should use a secure fingerprint created using hashed values (e.g., SHA256) of multiple hardware identifiers.
API requests should be protected with a shared secret (API key) to prevent abuse.
The system should prevent brute-force or license sharing (limit requests per IP, etc.).
Advice needed on how to protect the system in case the website is hacked, such as:
Using a firewall plugin (e.g., Wordfence)
Disabling XML-RPC
Isolating the license API on a subdomain (e.g., api.mysite.com )
Backing up regularly
You (the developer) should provide:
Custom plugin code or add-on to:
Store device information upon first activation
Verify the license key and device with each EA request
Add the “Clear Activations” button to the user’s account page
Clear instructions on how to install and use the plugin on my live site
Sample code to be integrated into both MT4 and MT5 EAs
Features:
Request license verification from the server
Store and load the key from local cache
Show customizable error messages
Easy-to-follow instructions for integration
The whole system must be:
Simple and seamless for end users
Highly secure and resistant to abuse
Easy to update and maintain
If you are a developer and can help with this, please respond with:
Estimated timeline
Rough pricing (per part or full package)
Any questions or clarifications needed