Propper is a white label prop trading platform. You get your own branded
environment on your own domain, with your own rules, prices and payouts. Your
traders never see Propper.

This page lists what the platform does today. It is updated in the same commit
as the feature it describes, so it is never a roadmap and never a promise. What
is planned but not built lives on the [roadmap](/roadmap) instead.

:::note Reading this as a machine
Add `.md` to this URL for the plain markdown source, and see
[/docs/llms.txt](/docs/llms.txt) for an index of every page.
:::

## For your traders

### Trading

A full trading terminal in the browser. No download, no MetaTrader, no bridge.

The screen itself is the trader's to arrange. The terminal is a grid, and every
part of it is a module they drop where they want it: charts, the order ticket,
the depth ladder, open positions, pending orders, history, the news calendar,
market hours, the account summary, the feed indicator and a notepad. They choose
how fine the grid is, from six by three up to twenty four by twelve, and it
always fills the window rather than scrolling. Modules carry a colour, and
everything in the same colour follows the same symbol, so two charts, a ticket
and a ladder in red move together while a second set in blue stays where it was.

Arrangements are saved as named layouts on the server, so a trader's screen
follows them between devices, and each can be duplicated, renamed or set as the
one that opens by default. You set the layout a new trader starts on, and they
can always go back to it.

- Market orders and four pending order types: buy limit, buy stop, sell limit,
  sell stop.
- Stop loss and take profit, set from the order panel or dragged directly on the
  chart. Draft order lines appear on the chart before you commit.
- Partial closes, hedging and one click close all.
- A right click context menu on the chart for placing and modifying orders at the
  price you clicked.
- Chart tabs, as many as a trader wants, per chart module. Each tab keeps its own
  market and timeframe and stays loaded, so flipping between six markets is
  instant.
- Fourteen chart timeframes, from one minute to one month. The ones the venue
  does not publish are built from the ones it does, so a 30m chart is thirty
  minutes of trading rather than whatever interval the exchange fell back to.
- Live prices over WebSockets. No polling, no refresh button.
- A market hours widget showing which sessions are open, aware of the trading
  hours of the actual provider behind each instrument. Markets that keep local
  hours are handled in their own timezone, so US shares open at 09:30 New York
  the whole year round rather than an hour out every winter, and the exchange
  holiday calendar closes them on the days the exchange is shut and sends them
  home at one o'clock on a half day.
- A depth of market ladder, showing the resting bids and offers and the size at
  each price. It fills for the markets whose feed carries a book, which today
  means crypto. The licensed share and futures feeds sell top of book only, so it
  says so for those rather than drawing an empty ladder.
- News events on the chart, with pre execution blocking when your rules say so.

Two of the modules answer the question a chart cannot, which is what to trade at
all:

- A watchlist of everything you offer, searchable by ticker or by company name,
  so "Apple" finds AAPL and the row says NASDAQ. Filter by shares, ETFs, crypto
  or futures, each with a count, star the ones a trader follows, and see six
  weeks of closes as a line beside the live price and the change since the
  previous session. Clicking a row moves every module in the same colour to it.
- An instrument panel for whatever is in view: the day range and the year range
  drawn as bars with the current price marked on them, so a trader sees at a
  glance whether the price is high or low rather than working it out; the day's
  open, previous close and volume; and the leverage, lot sizes, tick size,
  spread, commission and swap your firm charges for it.

Two more modules put the rules on the same screen as the trading, as horizontal
bars rather than numbers to work out:

- Challenge progress: the profit target in money rather than percent, the
  trading days done against the minimum, and the calendar days used against the
  limit. The target shown is the one the account is really judged against, so a
  consistency rule that raised it says so.
- Rules: the daily loss and the drawdown, each filling toward its limit and
  turning amber at three quarters and red at nine tenths, with the exact equity
  the account fails at written under the bar. Both are measured against live
  equity rather than balance, so an open trade moves them, and the drawdown bar
  names which kind it is, since a trailing floor follows a trader's best moment
  up and never comes back down.

### Accounts

Every trader can hold several trading accounts at once, across phases and
challenge types. Balance, equity, drawdown headroom and open risk are computed
server side and pushed live.

Copy trading between a trader's own accounts is supported, with a configurable
lot ratio per link, so a trader can mirror one account into another.

### Challenges

Traders buy a challenge, pass the phases you defined, and become funded. They see
their targets, their remaining drawdown, days traded and days left, and exactly
which rule they are closest to breaking.

### Events

Trading competitions with a live leaderboard. Ranked by percentage return,
absolute profit or a risk adjusted metric, with prizes paid out as cash, a free
challenge or a coupon.

### Performance

Statistics per account and across accounts: win rate, average win and loss,
profit factor, drawdown curve, results by instrument, by session and by day of
week.

### Journal

An optional trade journal, enabled per propfirm.

- Strategies and a playbook, so a trade can be filed under the plan it came from.
- Tags with their own colours.
- Auto capture: closed trades land in the journal by themselves, no copy paste.
- Trade replay: step back through a trade bar by bar and see where you entered.
- Notes, a calendar view, and analytics over the journal itself so a trader can
  see which strategy actually pays.

### Payouts

Traders request a payout from a funded account and follow its status. The rules
around it are yours: profit split, payout frequency, first payout delay, minimum
and maximum amounts as a figure or as a percentage.

### Certificates

Automatically issued certificates for a payout, for getting funded, or for a
milestone you define. Traders download them as an image or PDF and share them.
Every certificate carries a serial and a QR code that lead to a public
verification page, so anyone can check it is genuine. The design comes from your
own template, see below.

### Affiliate

Traders can become affiliates and earn on the people they bring in, with their
own link, click and conversion statistics and their own payout requests. Enabled
per propfirm.

### Support

Traders reach you through a contact form and a ticket system with images and
message history. If you have the AI assistant switched on, they get an AI Chat
that answers from your own FAQs and settings first, and hands over to a human
when it cannot help. Typing `/` in the message box gives them two commands:
`/ai` to switch the assistant back on after a human took over, and `/close` to
end the conversation.

### Account security

- Two factor authentication with either a passkey or a TOTP app.
- KYC verification during onboarding, at the moment in the funnel you choose.
- Device and login history on the trader's own account.

### Language

The whole trader experience is available in English, Dutch, Spanish and
Portuguese, including the emails. Traders pick their own language and everything
follows, including messages sent from the backend.

The language is detected from the browser on the first visit and can be changed
from the login and registration screens, so a trader who has not signed up yet
already reads the pages in their own language.

## For your team

Everything below is a screen in your admin dashboard. Each one sits behind its
own permission, so you decide per role who sees what.

Every screen is also one keystroke away. Ctrl+K, or Cmd+K on a Mac, opens a
search bar over whatever you are doing and takes you anywhere by name. It only
ever offers what your own role can open, so a support agent searching for
"payouts" finds nothing there, and it remembers where you went last. Traders get
the same bar for their own side of the platform.

The same bar finds records, not just screens: a trader by name or email address,
a trading account by its number, a payout or a support ticket by the id someone
quoted at you, and any page of this documentation. Each of those follows your
permissions too, so what comes back is only what you could have opened by
clicking. Traders searching find their own accounts and their own tickets, and
nothing else.

It also does sums. Type "12500 \* 0.8" or "80% of 12500" and the answer sits at
the top, ready to copy. Type "1000 eur in usd" and it converts, using the
European Central Bank's daily reference rates with the date they were published
next to them, so you can see they are a reference and not a live quote.

It runs commands as well as finding things: switch theme, switch between the
admin and trader view, open a settings tab, change language, sign out. Typing
one of `>` for commands, `/` for screens, `@` for people or `#` for tickets
narrows the bar to that one kind.

When the bar cannot answer something, the last option is always to hand the
question to your AI assistant, which opens the chat with it already asked. That
one only appears when you have the assistant switched on.

The sidebar folds per section as well, and remembers which sections you closed.

### Overview

**Dashboard** gives you the state of the business: active traders, accounts by
phase, revenue, open payouts and what needs attention today. It follows the same
permissions as the rest: a role without access to revenue does not see the
revenue figures here either, and someone whose role opens no screen at all lands
on the first screen it does open.

**Revenue** goes deeper on the money: sales over time, conversion per challenge,
pass rates per phase, payout ratio, coupon use, and where your traders come from.

**Traffic** covers the behaviour behind those numbers: page views, visitors
and sessions over 7, 30 or 90 days or a full year, split between people who have
not signed in and your traders. Your own team is left out, because visitor
numbers should mean customers: anyone carrying one of your roles is counted as
staff on every screen they open, not only in the admin panel. One toggle puts
them back when you want the full picture. You get the pages people
open most, the pages that are failing ranked by what share of their traffic
fails rather than by raw count, average load time per page, and a list of the
actions people took rather than only the pages they looked at: registrations,
challenges bought, payouts requested. Over shorter ranges it also breaks traffic
down by referrer, campaign, device, browser and country.

This is measured on our own servers, not with a script in the browser. Nothing
is blocked by an ad blocker, no cookie is set, and no visitor is tracked from one
day to the next, so the figures are complete and there is no consent banner
standing between you and your own numbers. Our own visits to your environment
are excluded from what you see.

### Managing people and accounts

| Screen           | What it does                                                                                                                                                                                                                                                                                               |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Users            | Every trader, their accounts, their KYC status, their risk profile and their full history. Create one by hand with a generated password, and hand out a role from cards that name what each one actually grants before you pick it                                                                         |
| Trading Accounts | Every account across the firm, with the ability to intervene on a single one                                                                                                                                                                                                                               |
| Live Monitoring  | Every open position across every trader, live, with the risk picture next to it                                                                                                                                                                                                                            |
| Team             | Your own staff, invited by email, each carrying one of your roles                                                                                                                                                                                                                                          |
| Roles            | Build your own roles out of granular permissions instead of picking from fixed ones, and require two factor authentication per role. A role can also be set to hold every permission there is, which keeps including the ones added to the platform later, so your own full access role never falls behind |

### Product and pricing

**Challenges** is where you define what you sell. Per challenge template you set
the account size, the price, whether the fee is refundable, a purchase limit per
user, leverage overrides per instrument, and a consistency rule. Per phase inside
it you set:

- Profit target, maximum daily loss, maximum total loss.
- Drawdown as static, trailing or balance based.
- Minimum trading days and maximum calendar days.
- Whether weekend holding, news trading, hedging and EAs are allowed.
- Maximum lots per position, maximum open positions, maximum risk per trade.
- Minimum hold time, maximum trades per minute, lot deviation and lot
  consistency.
- Behaviour flags: HFT, tick scalping, latency arbitrage, grid and martingale,
  one sided bets, gambling, reverse trading, single trade target.
- For funded phases: profit split, payout frequency, first payout delay, and the
  minimum and maximum payout as an amount or a percentage.

Each phase gets its own tab in the editor, and the panel beside it converts the
percentages into money for the account size you picked, so a five percent daily
loss reads as an amount before you publish it. It also flags the combinations
that cannot work: no funded phase, a daily loss at or above the total loss, a
phase with no profit target.

**Coupons** are discount codes, flat or percentage, with a redemption limit, a
minimum price, a start and expiry date, and the challenges they apply to. The
editor generates a code for you and shows what a trader ends up paying on the
cheapest and the dearest challenge it covers. You can also hand a trader a free
challenge directly from their profile.

**Events** is the admin side of the competitions: create them, set the ranking
metric, define the prize table and award the prizes when they end.

**Payouts** is the queue of payout requests, with the trade history and account
statistics of the requester next to the decision, so you approve with the
evidence on screen.

### Marketing and growth

| Screen            | What it does                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Popups            | Start from a gallery of ready made designs in light and dark, or build your own with a visual editor or in HTML and CSS. Place lead capture fields anywhere in the design, target by audience, condition and frequency, and act on submissions. The editor names the rules that can show each popup and warns about the ones nothing points at, a code nothing hands out, and a popup a trader cannot close. See [Popups](/docs/platform/admin/popups)                                                |
| Waitlist          | Collect email addresses before you open and reward early signups with a code. See [Waitlist](/docs/platform/admin/waitlist)                                                                                                                                                                                                                                                                                                                                                                           |
| Waitlist settings | Open or close the list, switch the confirmation mail on or off, and choose the reward: none, one fixed coupon or a unique code per signup. See [Waitlist](/docs/platform/admin/waitlist)                                                                                                                                                                                                                                                                                                              |
| Affiliates        | Your affiliate programme on one screen, two tabs: the affiliates with their tiers, clicks, referrals and commissions, and the payout queue for those commissions. Both halves are gated separately, so somebody who only reviews payouts sees only that tab                                                                                                                                                                                                                                           |
| Affiliate program | The settings behind it: enrolment mode, commission type, tiers and cookie window                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Email             | Verify your own sending domain, keep a list of addresses on it on its own screen with who reads each one, compose and send campaigns from any of them, save reusable campaign templates, write signatures for the propfirm, one mailbox or one person and set which one each colleague starts with where, edit every transactional email and pick which address it sends from, and read the delivery log. Design what the mail itself looks like: see [Mail design](/docs/platform/admin/mail-design) |
| Inbox             | A mail client on your own domain, so support@ does not need a mailbox somewhere else. Point one MX record at us and mail to your addresses arrives here: folders, labels, search with operators, filing rules, attachments, internal notes, assignment to a colleague and a read log per message. See [Inbox](/docs/platform/admin/inbox)                                                                                                                                                             |
| Calendar          | A calendar for your team beside the mail, in day, week, month and schedule views. Personal calendars and calendars the whole team shares, labels, repeats, sharing at four levels, invitations that arrive and go out as real invitations, reminders and a free slot finder. See [Calendar](/docs/platform/admin/calendar)                                                                                                                                                                            |
| News              | Publish news to your traders and drive the rules that act on it. A rule picks impact levels, currencies, feeds and a window around the event, then either refuses the order before it executes or lets it through and logs it for review. The editor draws the window and names the challenge phases that allow news trading, because accounts on those skip every rule |
| FAQs              | Write an answer once and it lands in four places: the FAQ list on your contact page, the trader assistant, the first AI reply on a new ticket, and the assistant your own team asks. Pick which of those by choosing an audience of everyone, traders or your team. Group entries by category, order them, publish or hold them, and search the library by question, answer or category                                                                                                               |

### Fraud and abuse

**Fraud Detection** answers who is behind an account, which is a different
question from what they did with it. The challenge rules are enforced before
every execution and live with your challenges; this screen watches for the
patterns that cost prop firms money:

- IP and network analysis, including hosting and VPN detection.
- Geographic anomalies, such as a login that could not physically have happened.
- Device fingerprinting and shared device detection.
- Account linking: traders who look like one person behind several accounts.

Findings become risk flags with a category and a severity, on the trader's
profile, so a human decides what happens next.

**Activity Log** records what your team did, down to which admin opened which
page, and it cannot be switched off. The live log keeps the most recent 1000
events and 1500 page views; filter and export it as a CSV whenever you like, and
set a schedule on the same screen to have the whole thing emailed to your billing
address weekly, monthly, quarterly, half yearly or yearly, so the record outlives
the window.

### Configuration

| Screen           | What it does                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Theme            | Logos, colours and fonts, light and dark, live the moment you save. See [Branding](/docs/platform/admin/branding)                                                                                                                                                                                                                                                                                                                                                               |
| Login screen     | The heading, wording and background a trader sees before they are one, for both the login and the register page                                                                                                                                                                                                                                                                                                                                                                 |
| Status page      | Your own status page on status.yourdomain, in your own colours, once the subdomain is verified                                                                                                                                                                                                                                                                                                                                                                                  |
| Domain           | Your own domain with automatic DNS verification and SSL. Bot protection on the sign-in, registration and password reset forms runs on your own Cloudflare Turnstile widget: two keys from a free Cloudflare account, pasted here. The check is then tied to your domain instead of ours, and stays invisible unless a visitor has something to solve. Required before you go live; firms on a subdomain of the platform are covered without any setup                           |
| Legal            | Your own terms, privacy policy and risk disclosure, versioned and accepted per trader                                                                                                                                                                                                                                                                                                                                                                                           |
| Instruments      | Which instruments you offer, with your own spread, commission and leverage per instrument. Grouped by shares, ETFs and crypto, searchable, and priced in bulk: set one spread across every US share at once rather than 254 times                                                                                                                                                                                                                                                                                                                                                                                       |
| Data Providers   | Which market data provider feeds which instrument, per propfirm                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Configuration    | How trading works at your firm, on one screen: the leverage and profit split every new account starts with, whether positions still open at the 5 PM New York rollover are charged a swap fee, whether traders may copy each other, and whether the data provider's logo is drawn beside each instrument                                                                                                                                                                        |
| Terminal presets | The screen a new trader lands on the first time they open the terminal, arranged in the same grid editor they use. Several presets, one of them the one new traders get. They receive a copy, so changing a preset later never rearranges anybody's screen, and every trader has a button that puts your arrangement back |
| Payments         | Your own payment account, registered in any of the 44 countries Stripe supports, so the money goes to you and not through us                                                                                                                                                                                                                                                                                                                                                    |
| Certificates     | A designer for your certificate templates. Start from one of twelve ready made designs, in a light and a dark version, and keep editing on the visual canvas or write the HTML and CSS yourself. A visual design can be converted to HTML in one step when you want full control, and your own images, logo, brand colour and a verification QR code drop straight into either. Any template can be duplicated                                                                  |
| Onboarding       | The whole flow a new trader walks, laid out in the order they see it: the platform's own steps, your question steps in between, and the identity check at the end or deferred to the first payout. Questions come in eight types, each required or optional, and a preview beside the builder shows the screen the trader gets. Age limit 18 or 13, and the flow can be switched off entirely                                                                                   |
| Defaults         | The clock and the currency the rest of the platform falls back on. The currency follows the payment account you are paid out into, so a firm registered in the Netherlands prices in euros without setting it anywhere twice, and a firm that means something else can override it. New team calendars are created in the timezone you pick here                                                                                                                                |
| Features         | Which parts of the platform your traders get: the trade journal and the trading competitions, each a switch. Off takes it out of their navigation and closes the pages behind it, for your own team as well as for them. Both ship on. The affiliate programme, the AI assistant and copy trading are switches too, but they live on the screens that configure them, and this page says where                                                                                  |
| Tracking         | Your own Google Analytics, Tag Manager and Google Ads accounts, plus the Meta and TikTok pixels behind paid acquisition, on your own environment. Paste the ids and the scripts load themselves on every page of your domain, and only after a visitor accepts the cookie banner. Decline and nothing is loaded and nothing is sent                                                                                                                                             |
| Storage          | One storage bucket for your whole firm, with a page showing where it sits: per category, per person, per mailbox, the twenty five biggest items with a link to each, and a graph of how it grew. Cleanup rules for old attachments, unused pictures and AI files, every one off until you switch it on. Nothing is ever blocked when it fills up, not an upload and certainly not incoming mail. Free 50 GB, Plus 500 GB, Pro 2 TB. See [Storage](/docs/platform/admin/storage) |
| API keys         | Keys for the public API, per environment, each with its own page showing the calls it made, the failures and editable scopes. See [API keys](/docs/platform/admin/api-keys)                                                                                                                                                                                                                                                                                                     |
| AI Assistant     | Turn the AI on or off, pick its personality and set its budget                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Support settings | How traders reach you: AI first, human only, or off, plus your public contact details. See [Support](/docs/platform/admin/support)                                                                                                                                                                                                                                                                                                                                              |
| Tickets          | The inbox for everything your traders send you, with teams, tags and internal notes. A trader can answer the notification mail straight from their own mail client and it lands in the ticket, no DNS setup needed on your side. Commands in the reply box hand the next reply to the assistant or close the ticket, you see when a trader is typing, and a ticket waiting on someone who never answers closes itself. See [Tickets](/docs/platform/admin/tickets)              |

Your team also gets its own AI Chat, which answers questions about your own
figures rather than about the product.

## Under the hood

These are not screens, but they are the reason the screens can be trusted.

**We are the broker.** Order execution, fills and PnL all run on our own engine.
There is no third party in the middle deciding what a trader's fill was.

**Risk runs before execution.** A trade that breaks a rule is refused, not
reversed afterwards. That is a deliberate architectural choice and it is why the
rules above are enforceable rather than advisory.

**Real market data.** Futures and CFDs through Rithmic and dxFeed, crypto through
Binance, Bybit, OKX, Kraken, MEXC and WeEx. Instruments are mapped to providers
per propfirm, so you can switch a feed without your traders noticing.

**Isolation between propfirms** is enforced in the database itself with row level
security, not only in application code. One propfirm cannot read another's rows
even if the application asks it to.

**Real time throughout.** Prices, positions, risk alerts, news and ticket
messages all arrive over WebSockets.

**A public API.** Everything above has an HTTP API behind it, documented at
[API reference](/docs/api), with keys per environment, scopes per key and
idempotency on writes.

**Status and transparency.** A public status page per propfirm, and a public
roadmap so your traders can see what is coming.

## What is missing here

If you are reading this looking for something you cannot find, it is either on
the [roadmap](/roadmap) or it is not built. Ask us and we will tell you which.