Sell Your EA on Ultimate Extractor
Add license protection to your Expert Advisor with just 3 function calls. We handle payments, license keys, and seat management — you focus on building great EAs.
What You Get
Store Listing
Your EA listed in the UE Store with its own product page, description, and screenshots
License Protection
Compiled TridentGuard library prevents piracy — users need a valid license to run your EA
Payment Processing
Stripe handles one-time purchases and recurring subscriptions automatically
Seat Management
Customers activate/deactivate MT5 accounts from their dashboard — no work for you
Integration Steps
Get the TridentGuard Header
TridentGuard is a single header file — the full validation logic compiles directly into your EA's .ex5. No external library, nothing extra for your customers to install:
TridentGuard.mqhPlace next to your .mq5 source fileAdd TridentGuard to Your EA
Add the include and 3 function calls to your existing EA code:
#include "TridentGuard.mqh"
input string InpLicenseKey = ""; // License Key
input string InpHmacSecret = ""; // HMAC Secret
int OnInit()
{
// This MUST be first — blocks EA if license is invalid
if(TG_Init(InpLicenseKey, InpHmacSecret) != INIT_SUCCEEDED)
return INIT_FAILED;
// ... your existing init code ...
return INIT_SUCCEEDED;
}
void OnTick()
{
// This MUST be first — stops trading if license expires
if(!TG_IsValid()) return;
// Optional: stop opening new trades during shutdown
if(TG_IsClosingDown())
{
// License is failing — manage exits only
ManageExistingTrades();
return;
}
// ... your existing tick code ...
}
void OnDeinit(const int reason)
{
// Frees up the license seat when EA is removed
TG_Deinit();
// ... your existing deinit code ...
}TG_Init() in OnInit, TG_IsValid() in OnTick, TG_Deinit() in OnDeinit. Optional: TG_IsClosingDown() to handle graceful shutdown.Allow the API URL
TridentGuard validates licenses via HTTPS. Add the URL to MT5's allowed list:
Add URL:
https://ultimateextractor.comCompile & Submit
Compile your EA in MetaEditor and send us the following:
We Handle the Rest
What Your Customers Do
Purchase your EA on ultimateextractor.com
Download a single file: your EA's .ex5 — licensing is built in
Copy it to MQL5/Experts/ and allow https://ultimateextractor.com in MT5's WebRequest list
Attach EA to a chart, paste their License Key and HMAC Secret from their dashboard
EA validates and runs — seats managed automatically
Security & Protection
Compiled Binary
TridentGuard is distributed as a compiled .ex5 — source code is never exposed
HMAC-SHA256 Signing
Every server response is cryptographically signed to prevent tampering
Replay Protection
Unique nonce on every request prevents replay attacks
24h Re-validation
Licenses re-validate automatically — expired or revoked licenses stop working
DLL Injection Block
EA refuses to start if DLL imports are enabled, preventing runtime hooking attacks
3-Strike Graceful Shutdown
Re-validation failures use a 3-strike system with escalating warnings before stopping
Important Notes
- !Never distribute the TridentGuard.mq5 source file — only the compiled .ex5
- !Do not remove or bypass the TG_ function calls — purchases will not work without them
- !The licensing check happens on EA startup and re-validates every 24 hours
- !If a customer's subscription lapses, the EA stops on the next re-validation cycle (3-strike grace)
- !Customers must have DLL imports DISABLED in terminal settings (this is the default MT5 setting)
- !Use TG_IsClosingDown() in OnTick to stop opening new trades during the shutdown grace period
Developer Terms
Version 2026-07-24 · Accepted per submission when you submit an EA for review.
Revenue share. A 10% platform fee is deducted from each sale — you keep 90%, and Stripe payment-processing costs are covered by the platform’s share. You set your price and receive your share via Stripe Connect payouts.
Licensing. All listed EAs must integrate TridentGuard license protection. License keys, seats, and validation are operated by Ultimate Extractor.
Review & delisting. Submissions are reviewed before listing. Ultimate Extractor may request changes, decline, or delist a product at its discretion — including for misrepresented performance, malicious behavior, or unresolved customer issues.
Your responsibilities. You confirm you own or have the rights to the submitted software, that its description and results are truthful, and you remain responsible for the EA’s trading behavior and product support.
Ownership. You retain all intellectual property in your EA. Listing grants Ultimate Extractor the right to distribute the compiled product to purchasers and to use its name and images for the store listing.
No guarantees. Ultimate Extractor does not guarantee sales volume, placement, or continued availability of the store. Trading involves substantial risk; you must not market listed products with promises of profit.
Frequently Asked Questions
Ready to List Your EA?
Sign in to access the Developer Portal where you can upload your EA, set pricing, and submit for review.
Go to Developer Portal