🏷️White-Label
Overview
MetaCopier’s White Label setup lets you create your own branded version of the platform using your name, logo, and website address. It is a great option if you want to offer copy trading to your clients without building your own system. This guide will help you through every step of the setup process. You will learn how to add your logo, connect your domain, customize settings, and get your platform ready to launch. Everything is explained in simple terms so you can feel confident as you go.
If you don’t have a Stripe account or a custom domain, there are other ways you can connect MetaCopier to your customers. For example, you can use our Signal Sharing feature or build your own app and connect it to our APIs.
Requirements & Prerequisites
Before you start setting up your white label platform, please review the limitations and ensure that you have the following prepared:
Credit Card
To enable the white-label feature, a valid credit card is required. Once added, you still have full flexibility: you can choose to manually fund your project at any time, or allow automatic monthly billing, which will be processed at the beginning of each month.
Stripe Key
To process payments and issue invoices through your white-label platform, you’ll need a live API key from Stripe. Stripe is used as the billing and CRM system and is therefore mandatory.
If you don’t yet have a Stripe account, you can create one at stripe.com. Please note that Stripe requires business verification as part of the setup process. This includes providing a website that clearly describes your product or service, so make sure your homepage is ready before applying.
If you prefer to handle invoicing yourself, you may alternatively use a test API key. In that case, automatic Stripe charges are disabled and you take care of billing, either fully outside MetaCopier, or via the built-in Manual collection mode that still generates real-amount invoices and tracks paid/unpaid status for you. See Manual billing for the full workflow.
Domain Name with DNS Access
To use your own web address (like www.yourbrand.com), you need to have a domain name and access to its DNS settings. This is where you will connect your domain to the MetaCopier white label platform. If you are not sure how to do this, your domain provider (like GoDaddy or Namecheap) usually has a control panel where you can manage DNS settings.
Initial Configuration
First, you need to create an account on MetaCopier and add a project. If you need help with this step, please check our Quick Start Guide. Once your project is set up, select it from your dashboard and go to the White Label section in the left-hand menu.

Now it's time to fill in the configuration settings for your white label platform. Here’s what you’ll need to do:
Stripe Setup
Enter your Stripe live key in this section. This key allows the platform to generate and send invoices on your behalf. Once you save it, the system will automatically check if the key is valid.
Domain Verification
Brand or Business Name: Enter the name you want to display throughout your platform. This could be your company name or your personal brand.
Subdomain: Choose the URL where your white label platform will be hosted, for example
trade.example.com. Important: You must use a subdomain. Top-level or apex domains (likeexample.com) are not supported. Also, make sure the domain matches the one configured in your Stripe account.
Once you enter your subdomain, the system will show you the DNS records you need to add. Follow the instructions provided to update your DNS settings. Please note that it might take a few minutes (in some cases up to 24 hours) for the changes to take effect, depending on your DNS provider.
If the check fails, a DNS verification window opens and lists every required record separately, so you can see exactly which one is missing or points to the wrong target. Each entry shows the record type, the name to create, the expected value and the value your nameservers actually returned. You can copy any value with one click and press Check again after you have corrected your DNS settings, without leaving the page. The same window is available at any time through the DNS details button.
Branding
Customize how your platform looks and feels to match your brand identity.
Logo URL: Provide a publicly accessible URL (PNG) or a CDN path to your logo. The logo will be used in system emails and throughout the white-label user interface.
Theme (Pro): Select a visual theme for the white-label solution, including colors and general styling. This option is available with the PRO plan.
Layout (Pro): Choose the layout structure of the white-label interface, defining how navigation and content are arranged. This option is available with the PRO plan.
Additional settings
Configure pricing, feature availability, and usage limits for your white-label platform. Default values follow MetaCopier standards.
Pricing configuration
Account Price (Shared): Daily price (USD) for shared projects.
Feature Price (Pro): Daily price (USD) for PRO features.
Account Price (Dedicated): Daily price (USD) for dedicated projects.
Account Price (Dedicated – Minimum): Minimum daily price (USD) for dedicated projects after volume discounts.
Allowed account types
Allowed account types: Select which account types are available for the white-label solution. If not specified, all account types are allowed.
Allowed regions
Allowed regions: Select which regions are available for account deployment on the white-label platform. If not specified, all regions are allowed. When configured, users will only be able to select from the allowed regions when adding a new account.
Broker OAuth credentials (cTrader & Tradovate)
cTrader and Tradovate use OAuth-based authentication, where users connect their broker account by logging in through the broker's own login page. On a white-label, that login page must be tied to your own OAuth application rather than MetaCopier's. Otherwise the broker would display "MetaCopier" to your customers and the connection would be tied to our app instead of yours.
For this reason, if you want to offer cTrader and/or Tradovate on your white-label, you must register your own OAuth application with each broker and enter the resulting credentials below.
How the credentials interact with the Allowed account types field:
If you explicitly include cTrader or Tradovate in the allowed account types list, the matching client ID and secret are required. Saving the white-label settings without them will be rejected with a validation error.
If the allowed account types list is left empty (which means "all account types are allowed"), saving is not blocked even when the OAuth credentials are missing. In that case, cTrader and/or Tradovate will simply not appear in the account-type dropdown on your white-label until you add the corresponding credentials. This lets you launch the white-label first and add broker-specific OAuth apps later, without being forced to fill them in up front.
cTrader Client ID: Your cTrader OAuth Client ID, used to enable support for cTrader accounts on your white-label platform. Generate it from the cTrader Open API portal.
Permission: Access any available account and trade
cTrader Client Secret: Your cTrader OAuth Client Secret, used together with the Client ID to authenticate cTrader account connections.
Tradovate Client ID: Your Tradovate OAuth Client ID, used to enable support for Tradovate accounts on your white-label platform. Generate it from the Tradovate API/OAuth portal.

Tradovate Client Secret: Your Tradovate OAuth Client Secret, used together with the Client ID to authenticate Tradovate account connections.
Redirect URLs to register at each broker
When you create the OAuth application at cTrader and Tradovate, both portals will ask you for a redirect URL (sometimes called "callback URL" or "redirect URI"). This is the page the broker sends users back to after they have logged in and approved the connection. It must point to your white-label subdomain, not to MetaCopier's domain.
Replace trade.example.com in the examples below with the exact subdomain you configured in the Domain Verification step. The URL is case-sensitive, must use https://, and must match what the broker portal has on file character-for-character, including the trailing path and no trailing slash.
cTrader
https://trade.example.com/ctrader
Tradovate
https://trade.example.com/tradovate
Specifically:
cTrader: In the cTrader Open API portal, open your application, scroll down to the Redirect URIs section, and add
https://<your-subdomain>/ctrader. You can register multiple redirect URIs on the same application if needed. Note that Spotware manually reviews and approves new Open API applications, so submit the application early and provide a clear description of how it will be used (a copy-trading white-label built on top of MetaCopier).Tradovate: When you register your OAuth application with Tradovate, set the
redirect_uritohttps://<your-subdomain>/tradovate. Tradovate does not currently expose a self-service OAuth-app portal the way cTrader does. To obtain aclient_id/client_secretfor OAuth, you generally need an active Tradovate account with API access and have to contact Tradovate (or your introducing broker) to register the application and whitelist your redirect URI. See the Tradovate OAuth example and the Tradovate API documentation for details. The same OAuth credentials are used against bothlive.tradovateapi.com(real accounts) anddemo.tradovateapi.com(simulation), so a single registered redirect URI covers both.
If the redirect URL configured at the broker does not exactly match your white-label subdomain, the OAuth popup will close with an error (typically "invalid redirect_uri") and users will not be able to connect. Double-check protocol (https), host, path (/ctrader or /tradovate), and the absence of a trailing slash.
Feature controls
Disable invoicing: Disable automatic invoice generation. When enabled, no Stripe charge is attempted and your customers are not billed by MetaCopier. By default, invoices are still produced for audit purposes but with a zero amount. Combine this with Manual collection below if you want real-amount invoices that you collect yourself.
Manual collection (real amount, no auto-charge): Available only when Disable invoicing is on. When enabled, MetaCopier still generates invoices using the prices configured in your white-label settings, with the real amount, but never charges them through Stripe. The invoices stay in
OPENstatus and you collect payment from each customer externally (bank transfer, crypto, cash, etc.). Once paid, mark the invoice as paid from the admin dashboard. See Manual billing for the full workflow.Send statement email to customers: Available only when Manual collection is on. When enabled, each customer receives a branded "Your monthly statement" email at the start of the billing cycle, containing the invoice details and the payment instructions you configured. When disabled, customers are not emailed and you handle communication yourself.
Payment instructions: A free-text block (up to 2,000 characters) included in the customer statement email. Use it to specify your IBAN, crypto wallet, PayPal link, expected reference, payment deadline, etc. Required when Send statement email to customers is on.
Accept crypto payments (self-custody): Let your customers top up their project balance by paying in crypto directly to your own wallet. You provide an extended public key (xpub) per chain and the platform derives a permanent receive address per project and chain, and it never holds your keys or your funds. See Accepting crypto payments for the full setup.
Disable adding copiers: Disable the ability to add new copiers. When enabled, users cannot add new copiers.
Disable dedicated projects: Disable the creation of dedicated projects. When enabled, users can only create shared projects.
Disable dedicated IP purchase: Disable the purchase of dedicated IPs. When enabled, users cannot buy dedicated IPs.
Hide broker in signal provider: Broker information is hidden in signal provider listings.
Hide current balance in signal provider: When enabled, balance and equity values are hidden in signal provider listings, detail pages, and analytics dialogs. The growth chart remains visible. This is useful for privacy when you don't want to expose your account balance to followers.
Disable marketplace subscription: Disable the Subscribe button on the marketplace. When enabled, the Subscribe button is hidden on all signal provider listings, preventing users from subscribing to signals directly from the marketplace.
Show score on marketplace: Show signal scores on the marketplace. When enabled, signal scores are visible to users on the white-label marketplace.
Enable TradingView Webhook: Enable the TradingView Webhook feature for your white-label platform. When enabled, users can create TradingView webhook accounts to receive and execute alerts from TradingView. This feature requires a DNS alias and ingress configuration on our side, so please contact support after enabling this option to complete the activation.
Enable Telegram Signals: Enable the Telegram Signal Integration feature for your white-label platform. When enabled, users can create Telegram connector accounts to receive and execute trading signals from Telegram channels and groups.
Signal Provider alias: Replace the "Signal Provider" / "Signal" terminology throughout your white-label UI with a custom term (max 30 characters). This is useful for regulatory reasons or to better match your brand language. For example, setting the alias to "EA Expert" will replace all occurrences of "Signal Provider" with "EA Expert" and "Signal" with "EA Expert" in the marketplace and related pages. Leave empty to use the default terminology.
Navigation links
Home link: An optional URL that adds a "Home" menu item to the left-hand navigation of your white-label dashboard. When set, clicking the logo will also navigate to this URL instead of the internal dashboard. Useful for linking back to your main website. Leave empty to hide the menu item.
Support link: An optional URL that adds a "Support" menu item to the navigation. This allows your customers to quickly reach your help desk or support page. Leave empty to hide the menu item.
Registration restriction (Pro)
Restrict access to your white-label platform to specific email addresses or email domains. When enabled, only users whose email matches the allowed list can access the platform. Users with unauthorized emails will be shown an error message and logged out automatically.
Restrict registration: Toggle to enable or disable registration restriction. When disabled, any user can register.
Registration page link: A URL to redirect unauthorized users to when they are denied access (e.g., your signup or contact page). This field is required when registration restriction is enabled. Users who fail the restriction check will be logged out and redirected to this URL.
Allowed email addresses: A list of specific email addresses that are authorized to access your platform (e.g.,
john@company.com,jane@company.com).Allowed email domains: A list of email domains (without
@) that are authorized (e.g.,company.com,partner.org). All emails from these domains will be allowed.
You can manage both lists using either an interactive list view (add/remove individual entries) or a bulk textarea view (one entry per line). Switch between views using the toggle buttons.
Make sure to include your own email address or domain in the allowed list. Otherwise, you may lock yourself out of your own platform.
Resource limits
Maximum accounts per project: Maximum number of accounts allowed per project. Set to
0to use the platform default.Maximum projects per user: Maximum number of projects a user can create. Set to
0to use the platform default.
Custom CSS & JavaScript (Pro)
Custom JavaScript runs with full access to the page. Only use trusted scripts from verified providers. Malicious or broken scripts may affect the user experience on your platform.
Inject custom CSS or JavaScript into your white-label frontend to further customize the user experience. This is useful for integrating third-party tools (e.g., chatbots, analytics, or tracking scripts) or applying custom styling beyond the built-in theme options.
Custom CSS: Add custom CSS rules that will be injected into the
<head>of your white-label platform. Use this to override styles, adjust colors, hide elements, or add custom fonts. Maximum 50,000 characters.Custom JavaScript: Add custom JavaScript or HTML script tags that will be injected into the
<body>of your white-label platform. Use this to embed third-party widgets like chatbots (e.g., Intercom, Crisp, Tidio), analytics tools (e.g., Google Analytics, Hotjar), or any other script-based integration. Maximum 50,000 characters.
Example – Embedding a chatbot:
Example – Custom CSS:
Example – Custom chat widget (full working example):
The following example creates a floating chat button with a contact dialog. Paste the CSS into the Custom CSS field and the JavaScript into the Custom JavaScript field.
Custom CSS:
Custom JavaScript:
After completing the initial configuration, you should be able to view your portal by visiting your URL in a browser. If needed, you can revisit the configuration settings at any time to make adjustments.
Functional configuration
Signal sharing
If you want to provide your customers with a signal to follow, you can do so using the Signal sharing feature. You can set up a signal provider as explained in the Signal Sharing section, and your customers will be able to follow that signal within your white label platform.
In a white label setup, the signal provider works just like it does on MetaCopier, with a couple of key differences:
Your public signals are only visible to your white label customers. MetaCopier users outside of your platform will not see them.
Your white label customers cannot create their own signals. Only you, as the provider, can share a signal with them.
This makes it a great option if you want to broadcast a strategy or share your trades with your user base in a simple and controlled way.
Signal providers must be created after the white label configuration is complete
Billing
The white-label billing system involves two separate invoices each month: one for your customers and one for you as the platform owner.
How it works
1. Your customers receive an invoice (2nd of each month)
On the 2nd of each month, MetaCopier generates an invoice for each of your customer's projects. The invoice is charged through your connected Stripe account, so all customer payments go directly to you without any middleman.
The pricing on these invoices is based on the prices you configured in your white-label settings:
Account (Shared)
0.27 USD / account / day
Yes
Account (Dedicated)
0.32 USD / account / day
Yes
Account (Dedicated – Minimum)
0.22 USD / account / day
Yes
Feature PRO
0.10 USD / account / day
Yes
You can set your own prices for each of these in the white-label configuration. For example, you could charge your customers 0.50 USD per account per day on a shared project while MetaCopier charges you the platform rate.
Billing is calculated per account-day: each account is billed for the exact number of days it was active during the month. If an account was created on the 10th and the month has 30 days, it is billed for 21 days.
2. You receive an invoice from MetaCopier (15th of each month)
On the 15th of each month, MetaCopier generates an invoice for you as the white-label owner. This invoice covers MetaCopier's platform cost for all accounts across all customer projects linked to your white-label.
This invoice is charged at MetaCopier's base platform rates (not your custom prices):
Account (Shared)
0.27 USD / account / day
Account (Dedicated)
Volume-based (starting at 0.32 USD)
Feature PRO
0.10 USD / account / day
Dedicated IP
6.00 USD / IP / month
The white-label owner invoice aggregates all paid customer invoices from the previous period and sums up the whitelabel amount stored in each customer invoice. This ensures you are only billed for usage that has actually been invoiced and processed on the customer side.
Billing examples
Example 1: Shared project – 25 accounts, full month
You run a white-label platform and set the shared account price to 0.50 USD/day for your customers. One of your customers has a project with 25 accounts that were active for the entire month (30 days).
Your customer's invoice (charged via your Stripe):
25 accounts × 30 days × 0.50 USD
25 × 30 × 0.50
375.00 USD
Your invoice from MetaCopier (charged on the 15th):
25 accounts × 30 days × 0.27 USD
25 × 30 × 0.27
202.50 USD
Your margin: 375.00 − 202.50 = 172.50 USD
Example 2: Multiple customers, mixed activity
You have 3 customers on your white-label (shared price set to 0.40 USD/day):
Customer A
10
30 (full month)
10 × 30 × 0.40 = 120.00 USD
10 × 30 × 0.27 = 81.00 USD
Customer B
8
30 (full month)
8 × 30 × 0.40 = 96.00 USD
8 × 30 × 0.27 = 64.80 USD
Customer C
5
15 (added mid-month)
5 × 15 × 0.40 = 30.00 USD
5 × 15 × 0.27 = 20.25 USD
Total you collect from customers: 120.00 + 96.00 + 30.00 = 246.00 USD Your invoice from MetaCopier: 81.00 + 64.80 + 20.25 = 166.05 USD Your margin: 246.00 − 166.05 = 79.95 USD
Example 3: With PRO features
A customer has 10 accounts, of which 4 have PRO features enabled for the full month (30 days). Your prices: shared = 0.40 USD/day, PRO = 0.15 USD/day.
Your customer's invoice:
10 accounts × 30 days × 0.40 USD
120.00 USD
4 PRO features × 30 days × 0.15 USD
18.00 USD
Total
138.00 USD
Your invoice from MetaCopier:
10 accounts × 30 days × 0.27 USD
81.00 USD
4 PRO features × 30 days × 0.10 USD
12.00 USD
Total
93.00 USD
Your margin: 138.00 − 93.00 = 45.00 USD
White-Label PRO fee
If you have enabled the PRO plan for your white-label and the total number of active or stopped accounts across all your white-label customer projects is 50 or fewer, a flat fee of 99.00 USD/month is added to your MetaCopier invoice. Once you exceed 50 accounts, this fee is waived.
Currency handling
All prices are calculated in USD. If a customer's project uses a different currency, the amount is converted using the current exchange rate. The same conversion is applied to your MetaCopier invoice if your project currency is not USD.
Manual billing (real amount, no auto-charge)
If you do not want MetaCopier to auto-charge your customers (e.g. you collect payment by bank transfer, crypto, cash, or your own external invoicing tool), you can use the built-in Manual collection mode. MetaCopier still generates the monthly invoices with the real amount and keeps a per-customer billing dashboard for you, but it never attempts a Stripe charge.
How to enable it:
Open your white-label configuration and enable Disable invoicing in the Feature controls section.
Enable Manual collection (real amount, no auto-charge) directly below it.
Optional: enable Send statement email to customers and fill in the Payment instructions field (IBAN, crypto wallet, PayPal link, payment reference, due date, etc.) if you want each customer to receive a branded statement email at the start of the cycle. If you turn this off, no email is sent and you handle communication yourself.
Save. Existing white-labels are not affected by this change, so you have to explicitly opt in.
What happens each month:
On the 2nd of the month, MetaCopier generates an invoice per customer project with the real amount, using the prices you configured. The invoice is created in
OPENstatus and no Stripe charge is attempted.If you enabled the customer statement email, each customer receives a branded email with their invoice details and your payment instructions.
On the 3rd of the month, you (the white-label owner) receive a digest email summarising every customer with an outstanding balance, with a link back to your white-label admin dashboard.
Customers pay you directly through whatever channel you specified.
You record each payment in the admin dashboard (see below). Once an invoice is marked as paid, it transitions from
OPENtoPAIDand is removed from the outstanding list.
Marking invoices as paid:
The white-label admin dashboard shows a per-customer view of outstanding amounts, current-month charges, and lifetime paid totals (only when manual collection is on). For each customer you can:
Open the Customer details drilldown to see all open invoices and mark them paid one at a time.
Use Mark all paid on the customer row to settle every open invoice for that customer in one click (useful when a customer pays a single bank transfer covering multiple months).
When you mark an invoice as paid, you can optionally record:
External reference (max 100 characters), for example
WIRE-2026-04-15-001, the transaction ID from your payment provider, the crypto tx hash, etc.Note (max 120 characters), for example
Paid in cash on 2026-04-15.
Both fields are stored on the invoice and on the resulting internal transaction for your records. Once marked paid, an invoice cannot be marked paid again, and auto-charged invoices (from white-labels not in manual collection mode) cannot be marked paid with this action: only the dedicated manual flow can.
Automating via REST API:
Everything you can do from the admin dashboard is also exposed through the MetaCopier REST API, so you can wire it up to your own bookkeeping, accounting tool, or payment-reconciliation workflow. The relevant endpoints (scoped to your white-label project and feature) are:
GET /projects/{projectId}/features/{featureId}/whitelabel/customers/{customerId}/invoices?status=OPEN: list invoices for a single customer, optionally filtered by status.PUT /projects/{projectId}/features/{featureId}/whitelabel/invoices/{invoiceNumber}/paid: mark a single invoice as paid. Body:{ "externalReference": "...", "note": "..." }(both optional).PUT /projects/{projectId}/features/{featureId}/whitelabel/customers/{customerId}/invoices/paid: mark every open invoice of a single customer as paid in one call (same optional body).
Typical automation patterns:
Bank-feed reconciliation: poll your bank statement for incoming wire transfers, match by reference, and call the per-invoice endpoint with the transaction ID as
externalReference.Crypto payment provider: listen for the provider's "invoice paid" webhook and trigger the corresponding
PUTcall with the on-chain tx hash asexternalReference.Bulk settlement: when a customer pays multiple months in a single transfer, call the per-customer endpoint to close all open invoices at once.
Authentication uses your existing project API key (see Access Policy). The same validation rules as the dashboard apply: only the white-label owner can mark invoices as paid, the invoice must be in OPEN status, and only invoices generated in manual-collection mode are eligible.
Validation rules:
Manual collection can only be enabled together with Disable invoicing.
Send statement email to customers requires Manual collection to be enabled.
Payment instructions are required when the customer statement email is enabled.
Switching back to Stripe-driven billing at any time is just a matter of turning the toggles off and re-enabling a live Stripe key. Already-generated manual invoices stay where they are; future months go back to auto-charge.
Alternative: invoice fully outside MetaCopier
If you prefer to invoice fully outside MetaCopier (no per-customer dashboard, no statement emails, no OPEN/PAID state), keep Disable invoicing on and leave Manual collection off. In that case MetaCopier will not produce real-amount invoices for your customers at all, so you are entirely responsible for tracking who pays you and for revoking access to non-payers. The signal-provider followers list (see Signal sharing) is a convenient place to find each customer's email address.
Because there are no invoices in this mode, MetaCopier cannot auto-block non-payers for you (auto-block is only triggered by unpaid invoices, whether Stripe-charged or manually collected). To help you revoke access without going project by project, the admin dashboard exposes a Block customer action that stops and deletes every project of a given customer email under your white-label. See Blocking non-paying customers.
Accepting crypto payments (self-custody)
In addition to Stripe, you can let your customers top up their project balance by paying in crypto. The funds land directly in your own wallet. MetaCopier is fully non-custodial: it only ever holds your public keys, derives receive addresses from them, and never has access to your private keys or your money.
Once a payment is confirmed on-chain, the customer's project balance is credited. From there, your monthly service fees are deducted from that balance exactly the same way they are for a Stripe or card top-up. In other words, crypto is just another way for your customers to add balance, and everything downstream (invoicing, fees, blocking) is unchanged.
Because you provide only an extended public key (xpub), the platform can generate unlimited receive addresses but can never move your funds. Your coins go straight from your customer's wallet to yours.
How it works
You enable the feature and paste one extended public key (xpub) per chain you want to accept.
A customer opens Fund project ▸ Crypto on your white-label, picks a coin/network, and enters an amount in their project currency.
The platform derives a permanent receive address for that project and chain from your xpub, and shows it to the customer with a QR code and a live price quote. The same customer gets the same address on every later top-up.
The customer pays from their own wallet. The platform's chain watcher tracks confirmations.
Once enough confirmations are reached, the customer's project balance is credited and the funds are already in your wallet.
Anything that arrives on that address later, with or without an open payment window, is credited automatically at the exchange rate of the moment it arrives.
Enabling it
Open your white-label configuration, scroll to the Feature controls section, and turn on Accept crypto payments (self-custody). A sub-panel appears where you configure your wallet:
Chain xpubs: paste your extended public key for each chain you want to offer:
TRON xpub: for USDT on TRC-20 (derivation path
m/44'/195'/0').Ethereum xpub: for ETH and USDT / USDC on ERC-20 (
m/44'/60'/0').Bitcoin zpub: for native BTC, native segwit (
m/84'/0'/0').
Validate: next to each field, the Validate button checks the key server-side and shows the first derived receive address, so you can confirm in your own wallet that it belongs to you before saving.
Coins offered to users: tick which coin/network pairs appear at checkout. A coin only works if its chain's xpub is set, so untick anything you have not configured.
Never paste a private key or seed phrase. Only extended public keys are accepted: xpub… for TRON/Ethereum and zpub… for Bitcoin. If you paste an xprv/zprv or a 12/24-word mnemonic, the form warns you instantly and the server rejects it. Anyone with your private key can steal your funds.
Supported coins & networks
The platform offers USD stablecoins on TRON and Ethereum. As a white-label owner you can additionally offer native ETH and BTC simply by providing the corresponding xpub, with no extra approval needed.
USDT
TRON (TRC-20)
TRON xpub
19
USDT
Ethereum (ERC-20)
Ethereum xpub
12
USDC
Ethereum (ERC-20)
Ethereum xpub
12
ETH
Ethereum
Ethereum xpub
12
BTC
Bitcoin (native segwit)
Bitcoin zpub
2
Each payment must be between the platform's configured minimum and maximum amount (by default 20–5,000 USD per top-up).
Getting your xpub (step by step)
You provide one account-level extended public key per chain. It is always a public key on mainnet (live): MetaCopier does not accept testnet keys. Never export or paste your seed phrase or a private key (xprv/zprv).
Recap of what each chain needs:
TRON
xpub…
m/44'/195'/0'
Ethereum
xpub…
m/44'/60'/0'
Bitcoin
zpub… (native segwit)
m/84'/0'/0'
Pick the option that matches the wallet you already use. Bitcoin exports a zpub out of the box; TRON and Ethereum wallets often hide the account key, so for those the offline tool in Option C is usually the cleanest route.
The extended public key lets anyone see all past and future addresses and balances of that account. Treat it as sensitive (privacy), even though it can never move funds. Consider using a dedicated account (a fresh derivation index or a separate wallet) just for MetaCopier deposits.
Which tool should I use?
You do not need to be technical. Install one of these free, well-known apps and copy the key it shows. For most owners the friendliest combination is:
Bitcoin zpub
Sparrow Wallet (sparrowwallet.com) or Electrum (electrum.org)
the zpub shown in wallet info
TRON / Ethereum xpub
BIP39 tool (download the offline bip39-standalone.html from github.com/iancoleman/bip39/releases)
the "Account Extended Public Key" (xpub)
You use a hardware wallet
Trezor Suite (trezor.io) or Ledger Live (ledger.com) + Sparrow
the xpub/zpub shown per account
Beginner-friendly path (recommended if you are unsure): create a dedicated deposit wallet just for MetaCopier. Download the offline BIP39 tool, open it on a computer disconnected from the internet, click Generate to create a brand-new seed phrase, write that phrase down and store it safely, then copy the xpub for TRON and Ethereum (and the zpub for Bitcoin) from the same screen. This keeps your existing wallets untouched, and because you own the fresh seed you can always sweep the collected funds later. Nothing about your main wallet is ever exposed.
The detailed, click-by-click steps for each tool follow below.
Option A: Hardware wallet (recommended)
The most secure route, because the seed never leaves the device.
Trezor (Bitcoin zpub, easiest):
Open Trezor Suite and select (or create) a Bitcoin account of type Native SegWit (bc1...). This is exactly the
m/84'/0'/0'path.Go to the account, open the menu (three dots) and choose Show public key (XPUB).
Confirm on the device and copy the shown key. For a native-segwit account it is your
zpub. Paste it into the Bitcoin zpub field in MetaCopier.
Ledger (Bitcoin zpub, via a watch-only companion):
Install the Bitcoin app on the Ledger via Ledger Live.
Open Sparrow Wallet (free, desktop), choose New Wallet, then Connect Hardware Wallet and select your Ledger.
Set the Script Type to Native SegWit (P2WPKH), which uses
m/84'/0'/0'.After import, open Settings of that wallet and copy the extended public key shown as
zpub. Paste it into the Bitcoin zpub field.
For Ethereum and TRON with a hardware wallet, the companion apps rarely expose the account xpub directly. Use Option C below (offline, still safe: the account xpub is public).
Option B: Watch-only desktop wallet (Bitcoin zpub)
If you do not use a hardware wallet, a watch-only Bitcoin wallet still lets you export the zpub cleanly.
Electrum:
Create a Standard wallet, choose Native segwit (p2wpkh) when asked for the seed type (this is
m/84'/0'/0').Open Wallet -> Information.
Copy the Master Public Key (starts with
zpub) and paste it into the Bitcoin zpub field.
Sparrow: same steps as in Option A, but create a software wallet instead of connecting a hardware device.
Option C: Offline derivation for TRON and Ethereum xpub (advanced)
TRON (TronLink) and Ethereum (MetaMask) wallets usually do not show the account xpub. Derive it yourself from your seed on an air-gapped machine. Only the resulting public key ever leaves the offline machine.
On a computer with no internet (ideally a live USB session that forgets everything on shutdown), open the offline Ian Coleman BIP39 tool (the
bip39-standalone.htmlfile, downloaded and verified beforehand).Enter your BIP39 mnemonic (your seed). Because the machine is offline and wiped afterwards, the seed never touches the network.
Set Coin to the chain and read the Account Extended Public Key at the account path:
TRON: derivation path
m/44'/195'/0'Ethereum: derivation path
m/44'/60'/0'
Copy only the value labelled Account Extended Public Key (it starts with
xpub). Do not copy the "Account Extended Private Key" (xprv) or the seed.Transfer just that
xpub(e.g. via a QR code or a USB text file) and paste it into the matching TRON xpub / Ethereum xpub field. Then wipe the offline session.
On the BIP39 tool you will see both an xpub (public) and an xprv (private) per account. MetaCopier needs only the xpub. If you ever paste an xprv or the mnemonic, the form blocks it and the server rejects it, but you should never get that far. Keep the seed offline, always.
Verify before you go live
After pasting each key, click Validate next to the field. MetaCopier derives the first receive address from your xpub/zpub and shows it. Open your own wallet, look up that same first address on the external chain, and confirm it matches. Only then save. This one check catches a wrong key, a wrong chain, or a wrong script type before a single customer pays.
What your customer sees
When crypto is enabled, your customers get a Crypto option in the Fund project dialog. They pick a coin and network, enter an amount in their project currency, and receive a payment screen with the receive address, a QR code, the exact amount in coin, and a countdown for the locked quote. The dialog polls for confirmations and shows the credit as soon as it lands. Because the address is permanent, a customer who returns for a second top-up sees the address they already know.
Things to keep in mind
Works for USD, EUR and CHF projects. The customer enters the amount in their project currency and the platform converts it to the stablecoin amount at the current rate. The balance is credited in the project currency.
Network fees are on the customer. The customer's wallet pays the blockchain fee on top of the transfer, so the full requested amount reaches your wallet. MetaCopier credits the customer's balance based on what actually arrives on-chain. If a customer sends too little (for example an exchange deducted its withdrawal fee from the amount), the shortfall can be topped up to the same address at any time, so you still receive the full amount.
The quote expires, the address does not. Only the locked price has a deadline. Funds that arrive afterwards, or without any payment window at all, are still credited, using the exchange rate at the time of arrival.
Payments are irreversible. Crypto transactions cannot be reversed or charged back. Since the funds arrive directly in your wallet, any refund to a customer is handled by you, outside MetaCopier.
You are the custodian. MetaCopier never holds the funds or the keys. Securing your wallet and its seed is entirely your responsibility.
One address per project and chain. A customer keeps the same address across top-ups, which makes it reusable and hard to get wrong. Addresses are never shared between projects, so your per-project accounting stays clean.
Admin dashboard
The admin dashboard gives you a quick overview of your white label platform, including the number of created projects and active accounts. It’s an easy way to track usage and growth.

Manual-collection billing overview
When Manual collection is enabled (see Manual billing), the dashboard switches to a per-customer billing view designed for owners who collect payment externally:
Total outstanding banner at the top of the dashboard, summing all unpaid invoices across every customer in the current cycle.
Customer drilldown with three monetary columns visible only in manual-collection mode:
Outstanding: sum of all
OPENinvoices for this customer.This month: outstanding amount limited to the current billing cycle.
Paid lifetime: total amount this customer has paid you so far.
Per-row actions to mark a single invoice as paid (with optional external reference and note) or to mark every open invoice of a customer as paid in one click.
Manual / Auto badge on the All-invoices view so you can tell at a glance which invoices were generated under manual collection.
These views appear automatically when manual collection is on and disappear when you turn it off, so your existing Stripe-driven dashboards are unchanged.
What happens when a customer does not pay
Whenever a customer invoice stays in OPEN status, MetaCopier escalates automatically. This applies to Stripe auto-charge invoices and to manual-collection invoices in exactly the same way, and the thresholds are the same for your white-label customers as for direct MetaCopier customers. All days are counted from the invoice date (invoices are generated on the 2nd of each month).
7
A reminder email is sent to the customer. Depending on the situation it says that no payment method is set or that the payment attempt failed. Nothing is blocked yet.
12
The customer is blocked. They can still sign in, but they land on a blocking dialog and cannot use the platform until the outstanding amount is settled. They receive one email, branded with your white-label name and sent from your domain, explaining that the account is suspended because of an outstanding invoice. Trading continues, nothing is deleted.
22
The copiers are paused. Every active copier of the project is switched to monitor-only, so open positions are left untouched but no new trades are copied.
30
The project is removed. All copiers are deleted, all accounts are stopped and deleted, and the project itself is deleted and flagged as blocked.
The customer can unblock themselves. A blocked customer who signs in sees a dialog listing the outstanding amount per project, with a payment button that opens a checkout in your Stripe account. Once the payment goes through, the block is lifted automatically and the platform reloads.
Payment resets the escalation. As soon as an invoice moves from OPEN to PAID, the customer is unblocked automatically. This works for a successful Stripe charge as well as for an invoice you mark as paid or void yourself from the admin dashboard, so settling a bank transfer or a crypto payment on your side restores access immediately.
In manual-collection mode you have to keep the invoice list clean. Manually collected invoices are never auto-charged, so they stay in OPEN status until you mark them as paid. The escalation above looks only at the invoice status, not at how the invoice is collected. If a customer pays you by bank transfer and you forget to record it, MetaCopier will still block that customer on day 12 and delete the project on day 30. Since your customers settle with you outside the platform in this mode, they cannot clear the block themselves through the payment dialog, so marking invoices as paid (or voiding them) as soon as the money arrives is your responsibility, ideally automated through the REST API.
Unblocking restores access, it does not restore trading state. Copiers that were switched to monitor-only at day 22 stay in monitor-only and have to be re-enabled manually by the customer or by you. Accounts and projects removed at day 30 cannot be restored.
Safeguards built into the process:
Open positions are protected. A copier is only paused when its account currently has no open positions and no pending orders. Accounts that are in the market keep copying until they are flat.
Large projects are never touched automatically. If a project has more than 10 active accounts, the pause and the deletion steps are skipped and MetaCopier support is notified instead, so a big customer is reviewed by a human before anything happens.
Your own white-label project is exempt. The owner project that hosts the white-label feature is never auto-deleted, because that would take down all of your customers at once. If your own invoices to MetaCopier stay unpaid, support contacts you directly.
No repeated block emails. A customer who has been blocked is not blocked and emailed again for 14 days, so a customer who is unable to pay does not receive a suspension email on every run.
You keep full control at any time. Independently of the automatic escalation, you can settle, void or refund an invoice, or block a customer and remove all their projects immediately, without waiting for day 30. See Marking invoices as paid and Blocking non-paying customers below.
Blocking non-paying customers
This action is intended for the "invoice fully outside MetaCopier" mode (Disable invoicing on, Manual collection off). In that mode there are no MetaCopier invoices, so auto-block never triggers and you (the white-label owner) have to revoke access yourself when a customer stops paying. In Stripe auto-charge mode and in manual-collection mode you normally do not need this: unpaid invoices already trigger the standard auto-block flow.
How it works:
Open the Customers dialog from the white-label admin dashboard.
Click the red Block icon on the row of the non-paying customer, or open the customer drilldown and use the Block customer button at the top.
In the confirmation dialog, retype the customer email to confirm the destructive action. Optionally add a reason (max 255 characters) that will be included in the summary email.
The request is accepted immediately (the UI does not wait for the block to finish) and MetaCopier schedules the block on an internal worker.
What gets blocked:
Every project of that customer that is linked to your white-label. Projects the same customer owns under other white-labels or standalone are never touched.
All accounts inside each blocked project are stopped and deleted.
Each project is flagged as blocked and hidden from the customer.
Your own white-label owner project is never blocked, even if you accidentally enter your own email.
What is not sent:
The blocked customer does not receive any notification from MetaCopier. Communicating the block (and its reason) to the customer is your responsibility as the white-label owner.
Summary email to you:
When the background job finishes, you receive an internal MetaCopier notification email at your account address containing:
The customer email that was blocked and the optional reason you provided.
The list of blocked project IDs with per-project status.
The number of successful and failed blocks and the total duration.
If no matching projects were found under your white-label, the email still arrives so you know the request was processed.
This email is deliberately sent from metacopier.io (not from your white-label domain) because it is an internal admin notification to you, not a customer-facing message.
Automating via REST API:
The same action is exposed through the MetaCopier REST API:
PUT /projects/{projectId}/features/{featureId}/whitelabel/customers/block: schedule a block for the given customer email. Body:{ "email": "customer@example.com", "reason": "Non-payment of 3 months" }(reasonis optional). Response:{ "accepted": true, "email": "customer@example.com", "queuedProjectCount": 4, "queuedProjectIds": ["..."], "notificationEmail": "owner@example.com" }.
The endpoint returns 202-style right away and the actual block runs in the background. Only the white-label owner can call this endpoint. It works in every mode, but as noted above, in modes with real invoices you rarely need it because auto-block already handles non-payers.
Blocking is destructive and permanent. Blocked projects are hidden and their accounts are stopped and deleted. There is no unblock in MetaCopier: neither from the UI, the API, nor through support. Use the retype-email confirmation as your last chance to abort.
Pricing
White Label is available in a Basic plan, with a Pro plan. Enjoy our Basic plan at no cost. Upgrade to the Pro plan for just 99 USD/month, or get it for free if your average number of connected accounts is over 50. Here's a quick overview:
Admin dashboard
Custom domain
Custom logo
Custom domain address sender
Stripe integration
SSL certificate
Web Application Firewall
DDoS protection
Navigation links (Home / Support)
Registration restriction
No "Powered by MetaCopier"
Priority support
Advanced customization
Security Specifications
Our platform includes several built-in protections to help keep your white label instance fast, secure, and reliable, even under challenging conditions. While no system can offer perfect protection, these measures are designed to significantly reduce risk and improve stability.
Defend against common attacks with WAF The Web Application Firewall (WAF) helps protect your platform from many of the most common online threats, including vulnerabilities highlighted by OWASP. This covers risks such as SQL injection, cross-site scripting, and other well-known attack patterns.
Protect against zero-day threats The WAF also includes mechanisms to help detect and block some types of zero-day vulnerabilities before they can be exploited.
DDoS protection The platform is equipped with strong protection against Distributed Denial of Service attacks. Although no solution can offer absolute prevention, this system ensures your platform remains stable and accessible, even during heavy or malicious traffic. It delivers reliability that is as close as possible to full uptime.
Maintenance & Updates
Your white label platform runs on top of the MetaCopier system, which means you automatically get all the latest improvements, security updates, and new features. There is no need to manage any technical updates yourself. We take care of everything in the background so you can focus on your users and your business. If an update includes something that may affect the look or feel of your platform, we make sure your branding stays in place. You can always go back to your settings and adjust them if needed. For larger changes, we will let you know in advance so you have time to prepare.
Troubleshooting & FAQ
Do you have a demo site where I can check how it looks?
We don't have a separate demo site at the moment. However, the white label platform looks very similar to MetaCopier itself, just with your own branding, domain, and pricing. If you're familiar with MetaCopier, you'll have a good idea of what your white label version will look and feel like.
Can I customize the branding?
Absolutely. You can fully customize the platform to match your brand. This includes uploading your logo, setting brand colors, using your own domain, and even customizing pricing. All branding options are available in the White Label section of your project dashboard.
Will my customers receive the MetaCopier newsletter?
No, your customers will not receive any emails or newsletters from MetaCopier. Since your platform is fully white labeled, all communication with your users is under your brand.
Can I disable the free trial balance for white label customers?
At the moment, this is not possible. The trial balance is enabled by default to help new users explore the platform and understand how copy trading works before connecting a real account. It lowers the entry barrier, builds trust, and often leads to higher conversion rates. We may consider adding an option to disable it in future updates based on demand.
How can I delete a white label setup?
At the moment, there is no direct "delete" button for a white label configuration. However, you can contact our support team, and we will assist you in removing or resetting the setup for your project. We’re also working on adding this functionality to the dashboard in a future update.
Limitations
While the white label platform offers a wide range of features and flexibility, there are still a few things to keep in mind. Below are some current limitations you should be aware of when setting up and using your branded version.
No Social Login: At the moment, users cannot log in using social accounts like Google or Facebook. All users must register and sign in with an email and password.
cTrader and Tradovate Require Your Own OAuth Credentials: If you plan to offer cTrader or Tradovate accounts through your white-label platform, you must generate your own OAuth client ID and secret directly from each broker (cTrader Open API portal / Tradovate API portal) and enter them in the white-label settings. This step cannot be handled automatically from the MetaCopier side and must be done manually. If you explicitly add cTrader or Tradovate to the allowed account types but the matching credentials are missing, saving the white-label settings will be rejected. If the allowed account types list is left empty (all types allowed) and the credentials are missing, saving still works, but cTrader and Tradovate will simply be hidden from the account-type dropdown on your white-label until you add the credentials.
Telegram notifications: Telegram notifications are not available yet, but they’re on our roadmap and coming soon. Once released, you’ll be able to send important updates, like trade alerts or system messages, directly to your users via Telegram. We’ll let you know as soon as this feature is ready so you can start using it right away.
No Affiliations: The affiliate system is not available for white label platforms because you operate under your own brand and pricing. Our affiliate program is tied to the main MetaCopier platform and designed for direct referrals.
Single Signal Provider: Only the owner of the white label platform can share trading signals with their users. Customers within your white label environment cannot create, share, or sell their own signals. This ensures that all signals and strategies remain exclusive to the platform owner’s management.
E-mail Notifications: Email notifications (such as registration emails) are sent via Mailgun. If you are already using Mailgun with your top-level domain, you will not be able to authenticate Mailgun again for the MetaCopier white label. In this case, there is currently no workaround, and we recommend using a separate domain for the white label application.
No Documentation Link in UI: The white label interface does not include a direct link to documentation, as documentation is not embedded within the white label environment.
Last updated