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

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.

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.

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.
  • machineId is 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. 1

    Create a free account. Sign up with your email, or sign in if you already have one.

  2. 2

    Become a seller. Choose a seller or business display name on Become a seller. It's instant and opens your seller dashboard.

  3. 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. 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. 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:

Accepted upload types and size limits
UploadAccepted filesMax 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, .xlsx50 MB
Cover photo & screenshots.png, .jpg, .jpeg, .webp8 MB
Documentation.pdf, .md, .txt, .doc, .docx, .rtf, .csv15 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?

Expert Advisors, indicators, signal tools, trading tools and other MetaTrader products, built for MetaTrader 4, MetaTrader 5 or both (choose Multi-platform in the wizard).

Do I need approval to start selling?

No — becoming a seller is instant and self-service from Become a seller. Each product is reviewed before it goes live: a moderator either publishes it or rejects it with a reason you can address and resubmit.

How long does product review take?

There is no fixed review timeline. You are notified of the outcome in your account notifications.

Can I offer free products or subscriptions?

Yes. Products can be free, a one-time purchase, or a subscription billed roughly every 30 days until the buyer or seller cancels.

How do I publish an update?

Upload the new build as a new version with its version number and changelog. Buyers who favourited your product are notified when a new version is released.

Can I upload MQL source code?

Yes — .mq4 and .mq5 files are accepted alongside compiled .ex4/.ex5 builds. Whether to ship source is your decision; buyers can only download files after purchase.

What does selling cost?

Each sale records the marketplace commission at the current rate in your seller ledger, alongside the sale itself, so your balance always shows exactly what you have earned. You can see this on your Payout page once you are a seller.

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.