For MT4 & MT5 developers
FXBotHub Developer Resources
Build, publish and grow your forex trading tools with FXBotHub. Explore resources for Expert Advisor developers, indicator creators, signal providers and technology partners building for the MetaTrader ecosystem.
Explore forex developer resources
MQL4 Development
Build and package Expert Advisors and indicators for MetaTrader 4, with links to the official MQL4 reference.
Read moreMQL5 Development
Resources for MetaTrader 5 trading robots, indicators and automation, and how MT5 products are listed here.
Read moreAPI Documentation
The license verification API your EA can call to check a buyer's license key and activation slots.
Read moreSeller Onboarding
Register, become a seller, build a listing in the product wizard and submit it for review.
Read moreProduct Submission Guidelines
Accepted file types and sizes, screenshots, descriptions, version numbers and compatibility details.
Read moreSecurity and Best Practices
Secure distribution, testing before release and keeping credentials out of your trading software.
Read moreDeveloper FAQs
Supported platforms, listing requirements, pricing options and how product updates reach buyers.
Read more
MetaTrader 4
MQL4 development resources
MetaTrader 4 Expert Advisors and indicators are written in MQL4 and compiled in MetaEditor. On FXBotHub you can list compiled .ex4 builds, MQL4 source (.mq4), preset files (.set) or a .zip package, and mark the listing as MT4 or Multi-platform.
- MQL4 Reference (official MetaQuotes documentation)(opens in a new tab)
- MetaTrader 4 Strategy Tester help(opens in a new tab)
See what is already listed: MT4 Expert Advisors and MT4 indicators.
MetaTrader 5
MQL5 development resources
MetaTrader 5 trading robots, indicators and scripts are written in MQL5. List compiled .ex5 builds, MQL5 source (.mq5), .set presets or a .zip package, marked as MT5 or Multi-platform. A single version can carry several files, for example separate MT4 and MT5 builds of the same product.
- MQL5 Reference (official MetaQuotes documentation)(opens in a new tab)
- MetaTrader 5 Strategy Tester help(opens in a new tab)
Browse MT5 Expert Advisors, MT5 indicators and all forex indicators.
Integration
API documentation: license verification
Every purchase on FXBotHub issues the buyer a license key. Your Expert Advisor can check that key against FXBotHub with three JSON endpoints. No session or secret is needed — the buyer's license key is the credential — and requests are rate-limited per IP address.
POST/api/licenses/verify
- JSON body
- { "licenseKey": "…" }
- Response
- valid, status, productId, expiresAt, activeActivations and maxActivations — or valid: false with status NOT_FOUND for an unknown key.
POST/api/licenses/activate
- JSON body
- { "licenseKey": "…", "machineId": "…" }
- Response
- activated: true with activatedAt, or activated: false with an error when the key is unusable or every activation slot is taken.
POST/api/licenses/deactivate
- JSON body
- { "licenseKey": "…", "machineId": "…" }
- Response
- deactivated: true, freeing that machine's slot so the buyer can activate elsewhere.
machineIdis a stable identifier you choose for the buyer's terminal or machine (up to 200 characters). Each license has a limited number of activation slots.- Calls from MQL use
WebRequest, which only works once the buyer adds the FXBotHub address to the allowed URLs in the terminal's Expert Advisors options. Per MetaQuotes' documentation it can't be called from indicators or in the Strategy Tester — see MQL4 WebRequest(opens in a new tab) and MQL5 WebRequest(opens in a new tab). - License checks confirm a key is valid; they are not copy protection built into your compiled file. Plan your product's protection with that in mind.
This is FXBotHub's only public developer API today. Catalogue and seller-management APIs are on the roadmap.
Get started
Seller onboarding: from account to published listing
- 1
Create a free account. Sign up with your email, or sign in if you already have one.
- 2
Become a seller. Choose a seller or business display name on Become a seller. It's instant and opens your seller dashboard.
- 3
Build your listing. The product wizard saves a draft you can resume at any time and walks through: Product type → Platform → Basic information → Description → Screenshots → Files → Pricing → Compatibility → Submit for review.
- 4
Submit for review. A moderator reviews each product, then publishes it or rejects it with a reason you can fix and resubmit. Nothing is public until it is approved.
- 5
Grow after launch. Track orders, analytics, reviews and your earnings ledger from the seller dashboard, and reply publicly to buyer reviews.
Listing requirements
Product submission guidelines
Uploads are checked against these limits before they are accepted:
| Upload | Accepted files | Max size |
|---|---|---|
| Product files | .ex4, .ex5, .mq4, .mq5, .mqh, .mql, .mql4, .mql5, .set, .tpl, .chr, .ini, .mqproj, .zip, .rar, .7z, .tar, .gz, .tgz, .exe, .dll, .msi, .bat, .pdf, .txt, .md, .csv, .json, .xml, .doc, .docx, .xls, .xlsx | 50 MB |
| Cover photo & screenshots | .png, .jpg, .jpeg, .webp | 8 MB |
| Documentation | .pdf, .md, .txt, .doc, .docx, .rtf, .csv | 15 MB |
- Name and summary: a product name of 3–120 characters and a short summary of 10–200 characters that says plainly what the tool does.
- Description and features: a full description plus up to 20 feature bullet points and up to 10 tags.
- Screenshots: real charts and settings from your product. A cover photo is recommended — it is shown above your title across the marketplace.
- Versions: every upload belongs to a version number (for example 1.0.0) with an optional changelog, so buyers can see what changed.
- Compatibility: state the platform (MT4, MT5 or both), requirements, installation instructions, compatibility notes and how buyers get support.
- Pricing: free, a one-time price, or a subscription.
Published listings show buyers a quality checklist — documentation, screenshots, compatibility details, recent updates, verified-seller status and verified-purchase reviews — which also feeds marketplace ranking. It reflects listing completeness, not trading performance.
Trust
Security and best practices
- Secure distribution: your files upload directly to private storage with a checksum recorded automatically. Buyers can only download after purchase, through short-lived links that are re-checked on every request.
- No secrets in your build: never embed broker logins, account passwords, API keys or private server credentials in an EA, indicator or preset file. Use the license API for license checks instead of hard-coded keys.
- Test before you publish: backtest in the Strategy Tester and run forward tests on a demo account; document the symbols, timeframes and settings you tested.
- Describe risk honestly: don't promise profits or guaranteed results. Forex trading carries risk, and listings should help buyers make informed decisions.
- Keep products current: publish fixes as new versions with a changelog so buyers know what changed.
Questions
Developer FAQs
Which platforms and product types can I list?
Do I need approval to start selling?
How long does product review take?
Can I offer free products or subscriptions?
How do I publish an update?
Can I upload MQL source code?
What does selling cost?
Planned
Developer roadmap
These resources are planned but not available yet:
PlannedPublic catalogue and seller APIs
Read access to published listings and an API for managing your own products. Not available yet — today the license API is the only public developer API.
PlannedMQL code samples for the license API
Ready-to-use MQL4 and MQL5 examples showing verify and activate calls with WebRequest.
PlannedDeveloper-focused guides
Walkthroughs for packaging and documenting EAs and indicators. Installing and backtesting are already covered in Tutorials, and selling in the Guides section.
PlannedDedicated developer support channel
A direct support contact for sellers. Until it launches, use the Community (see Support below).
PlannedAutomated seller payouts
Payouts are currently requested from your Payout page and processed manually once funds have moved.
Help
Contact support
A dedicated developer support contact is planned. In the meantime, ask your questions in the FXBotHub Community, where other developers and traders can help:
Questions about a specific product go to its seller through the Contact seller button on the product page.
Ready to sell your MT4 and MT5 trading tools?
Join the FXBotHub marketplace for Expert Advisors and forex indicators — set up takes minutes, and every listing is reviewed before it goes live.
Not selling, but recommending tools to other traders? Become an FXBotHub Partner.