Published methodology
Rankings compare trader terms, not payout history.
FirmFax assumes firms included in ranked comparison have paid traders. Payout information may still appear as research context, but payout context is not a scoring category.
Firms are separated by market: forex/CFD, exchange-traded futures, and crypto-native or crypto-supported products. Public rankings default to account-specific scores. Firm-level scores remain research context because rules can change materially between plans from the same company.
Fig. 01 — Master score weights
Five weighted factors
Rule fairness
Three published terms, multiplied together rather than averaged, so a hard term cannot be offset by a soft one: the drawdown model (static scores highest, then no drawdown, then end-of-day trailing, then intraday trailing), the consistency rule (a looser percentage scores higher, and a firm that publishes that no rule applies scores full marks), and the daily loss limit.
Track record
One input: operating age, from the firm’s founding year. The curve starts at a floor and reaches full marks at six years, because surviving three years of this sector is evidence rather than a near-zero. A firm whose founding year we cannot source is not scored on this factor at all.
Trader reputation
A public trader-review rating and the number of reviews behind it. A thin sample is pulled toward neutral so a handful of reviews cannot outrank a mature profile. A firm with no rating on record is not scored on this factor. Complaint themes are published as notes on the firm page; they are not inputs to this number.
Transparency
How checkable the firm’s own terms are: how many of its cited sources we hold readable content for, how confident our reading of them is, and how much of its rule-change history is on the record. A cited page that answers only a bot wall earns nothing, because a reader cannot check it either. The count asks who published a source: one that cannot carry a claim about the firm earns nothing here, on the same test the citation gate applies.
Accessibility
Starting price (45% of the factor), activation fee (35%), and how many platforms are supported (20%). A price of zero means the account is earned by passing an evaluation rather than bought, so it scores as neutral instead of as the cheapest thing on the site.
The five factors are averaged by weight, penalties come off that subtotal, and the result is clamped to 0-100 before it is lettered: A 85-100 · B 70-84 · C 55-69 · D 40-54 · F below 40 .
That mapping is unchanged. Since 9 September 2026 a letter is published only where the range behind the score sits inside one band. Where the range spans two, what is published in place of a letter is the range itself and the facts that would close it. What changed and why.
Plan scores
Plan grades use plan-specific rules.
When a firm offers multiple routes, the plan table grades the route itself. For example, Topstep Standard, Topstep No Activation Fee, XFA Standard, and XFA Consistency are not the same product, so they should not inherit one flat score.
Plan rules, price, activation fee, platforms and sources are read from the plan; track record and reputation are the firm’s and are shared across its plans. Status penalties are the same as below, except that the red-flag penalty is capped at 9 points rather than 15, because a firm-level concern should weigh less on one specific route than on the company as a whole.
A plan grade is held to the same rule as the firm grade above it. Where the range behind a plan’s score spans more than one band, the range is published in place of a letter.
Evidence tiers
Sources carry different weight.
These tiers are ordered by what a reader can check, not by how close the source sits to the firm. A trader can open a firm's own page. A trader can open a review site. Nobody outside FirmFax can open an email sent to FirmFax, so a firm's private communication ranks below both, however authoritative its origin.
Third-party ratings and reputation context help identify risk patterns, but they never override a public rule term.
Since 9 September 2026 a source is also classified by who published it, and the class decides what it can support. A page that is not the firm’s own domain, an archive of one of its pages, a documentation host it publishes on, a regulator record, its own company profile, or its own announcement account supports nothing, and a new citation to one fails our build. That gate decides whether a citation may appear at all. Which claim a source may stand behind is a rule we hold ourselves to and the build does not check it, because marking the source of one value rather than one firm is something this record cannot do. What each class supports.
Tier 1 - Official source
Firm help-center pages, legal terms, risk disclosures, program pages, and current rule documentation. Nearly every rule value published here traces to one of these. Sources are recorded per firm rather than per value, so where a value comes from something else, the record cannot mark that value individually.
Tier 2 - Third-party signal
Review-site reputation data, industry directories, and dated public complaint patterns. These feed the reputation factor and never override a published rule term. A cited third-party page earns nothing under transparency either, because that factor counts only the sources that could carry a claim about the firm.
Tier 3 - Attributed communication
Something a firm told us directly, in an email or a document it sent us. It is dated and credited to the firm. It is the only tier a reader cannot open and check for themselves, which is why it sits last. No attributed claim is stored today and none has been published, so what follows describes the rules that would govern one, not a practice in use.
A Tier 3 value never moves a score. It does not count toward the rule factors, it does not count toward transparency, and it does not count toward the verified tag. A firm that could raise its own grade by sending us an email would not have an independent grade. This holds because an attributed claim is stored apart from the field it is about and the scoring model never reads it, so it is a property of how the site is built rather than a rule somebody has to remember to apply.
An attributed claim has three endings and only one of them is the one we want. If a page the firm publishes is later found stating the same thing, the claim is resolved: the value becomes an ordinary sourced value and the record shows when it was confirmed. That outcome beats the clock, so a claim confirmed after a year reads as resolved rather than as expired.
Otherwise it expires ninety days after the date the firm stated it, which is not the date we recorded it. A document written six weeks before it reached us expires six weeks sooner. An expired claim is not deleted: it stays where it was, marked and dated, so a reader can see what the firm said, that no page the firm publishes was ever found stating it, and when FirmFax stopped carrying it. A claim we cannot date is never carried at all, because the figure and the date are one sentence and there is no way to print the first without the second.
Penalties
How penalties work
Red flags reduce the score after the weighted subtotal is calculated, on a sliding scale: the first costs 5 points, each further one costs less, and the total stops at 15. Documenting a firm carefully must never be the thing that sinks it, so status carries the weight instead — a watch status costs 10 points, a flagged status 40, and wound-down firms are capped at 20 regardless of past performance.
Two factors can drop out entirely. Track record needs a sourced founding year and trader reputation needs a review rating; without one, that factor is not scored, its weight moves to the factors that do have evidence, and the firm page names what was skipped. A missing founding year is a gap in our record, not a mark against the firm, and it must not read as a middling result.
Terms inside the other three used to be substituted when nobody had read them: an unrecorded consistency rule was scored at the median this dataset publishes. That substitution has been removed. A term nobody has read is not scored, the terms that were read carry the factor between them, and where less than half of a factor has evidence behind it the whole factor drops out the way track record and reputation do. Substituting a guess meant a firm that published a strict rule could score below a firm that published nothing, which is the opposite of what this site is for. A firm that publishes that no consistency rule applies still scores higher than one that simply says nothing.
This part of the model is still moving, and saying so is more useful than presenting it as settled. Removing the substitution corrected one bias and introduced a milder one running the other way, where a firm we have researched less can score slightly higher than the evidence warrants. A further revision is in progress and this paragraph will change with it. Nothing else on this page is provisional in that way.
- Rules are missing, contradictory, or materially different by account type without clear labeling.
- Important restrictions are hidden in support articles, agreements, or onboarding flows.
- Recent rule changes materially increase account-failure risk or reduce trader flexibility.
- Complaint themes cluster around unclear enforcement, support lockouts, or sudden account restrictions.
Limits
What the score does not mean
A high score does not mean a firm is risk-free, a payout is guaranteed, or a trader will pass. It means the comparable rule and reputation signals are stronger under this model.
Payout proof is treated as a profile note, not a rank input. If a firm stops paying or has a sourced operational issue, that becomes a status/red-flag question instead.
FirmFax labels serious concerns only when they are factual, attributed, and dated.
Every value above is read off a firm’s own pages, so a firm is better placed than we are to notice when we have one wrong. If a figure here does not match what your published pages say, send a correction with the page that shows it. Corrections change the data, and the score follows the data — the same log records the ones we checked and declined.
Confidence
What a verified tag means.
Every firm page carries a confidence tag. It describes the state of the evidence behind the record, not the quality of the firm — a partial tag says our work is unfinished, never that the firm is worse.
Right now 1 of 71 firms are tagged verified and 70 partial. The tag feeds the transparency factor, so finishing the work on a firm can move its score.
Verified
Every claim in the record was re-read against the firm’s own pages and none came back missing or contradicted, across at least eight confirmed claims. Claims a text check found ambiguous — a page saying “trailing drawdown” without naming the variant — do not block the tag, because in each case traced by hand the stored value was right and the ambiguity was ours. Clearing that bar makes a firm eligible, not automatically tagged: a record can pass for the wrong reason, so promotion is a judgement call and some eligible firms are deliberately held back.
Partial
The record is sourced and usable, but at least one claim is still open — a value that no public page states, or one the firm documents somewhere we have not yet been able to read. The firm page lists what is outstanding.
Order of work
Why the firms that pay us are researched first.
Every rule figure in this dataset is a verdict. The evidence behind it, the firm’s own sentence and the page it sits on, was read once and then discarded, because the record had nowhere to keep it. Attaching that evidence to the values already held is the largest research job this dataset has had, and it is being done on the 25 firms that pay a commission before the other 46.
The reason is practical and it is not a good enough reason on its own. Those 25 are the firms there is a working contact route to, so a figure that turns out to be wrong can be put to the firm and settled. The same work also decides whether those firms will be asked to link to their own record, and that ask cannot be made while the record behind it is unevidenced.
Scores on those firms can rise as a result, and the other 46 will not move while it happens. The transparency factor counts how many of a firm’s own pages are cited, in bands, and counts how much of its rule history is on the record. Research raises both. The scoring model cannot read which firms pay us and never will, which is the guarantee made above and it still holds. It does not cover this: the model is blind to commission, and the order the work was scheduled in was not.
What the work keeps finding is not a wrong figure. It is a figure that is correct for one of a firm's account types and recorded as though it covered all of them: a daily loss limit that is one number on a firm's one-step product and another on its two-step, a first payout available after a week on one account and three weeks on another. Both figures are the firm's own. Publishing one of them as the firm's answer is a claim nobody checked wearing the clothes of one somebody did, and it is a defect on this side rather than the firm's. Correcting it usually makes a record less definite than it looks today, not more.
So it is stated here before the numbers move rather than after. The scores were recorded before the first change and are recorded again after the last, so the movement is measured rather than estimated. The remaining 46 are queued behind these, not excluded from the work.
One lever is deliberately switched off for the duration. A record’s confidence tag feeds the transparency factor directly, and it is the one input that is an assessment of our own diligence rather than a count of anything a reader can check. No firm’s confidence tag is raised as part of this work, on any firm, for any reason. Nor is the definition of transparency changed while transparency is what is being measured.
The count of evidenced figures this produces is validated before it is published. Every field name written beside a quote is resolved against the schema, and one that does not resolve is refused rather than written. A quote attached to a field that does not exist would raise that count while evidencing nothing, and a number a typo can inflate is not a number worth printing.
Research base
Current source set
62 documents · link check 2026-09-09
These are the rule documents behind the model. Where a cited page sits on the domain of a firm we hold a commercial arrangement with, that citation is routed through our tracked redirect and marked sponsored — the original address is on the link’s title. Full terms on the disclosure page.
Model changes
When this model changed
This section records changes to how FirmFax scores, and nothing else. A change a firm makes to its own terms is published on the rule tape. A value we published wrongly is published on the corrections page. A change to what this model is willing to assert is published here.
10 September 2026
A company profile can carry a corporate fact
A firm’s own company profile on a business network is now a citable source, in a class of its own: it supports standing corporate facts the firm states about itself, and never a trading rule. It is a new class rather than a wider reading of the announcement rule, because the two describe opposite artefacts. A post is dated by construction. A profile is a standing self-description a firm maintains, and it can change without the change being dated.
Only a company page counts, so an individual’s profile is not the firm speaking. One thing is knowingly given up: a post by the firm on that same network is refused, because the address of a post cannot be told from anyone else’s. That is a limit we accepted, not one we overlooked.
Building it exposed a fault that had never fired. One list was answering two questions at once, whether a source may stand behind a trading rule and whether it may appear in the record at all, so a regulator record cited for a corporate fact would have been rejected for being the very thing a regulator record is for. No such citation is stored, which is the only reason nobody had met it, and the first one would have. It is the shape of the entry below: a list doing work it was never asked to do.
10 September 2026
Transparency stopped counting sources that cannot carry a claim
The transparency factor measures how checkable a firm’s own terms are, and it was counting every cited source. 23 citations across 18 firms cannot carry a claim about the firm they are filed under, and each of them was earning under that factor anyway.
No firm’s data is wrong. Those sources are real, correctly recorded and correctly classified. What was wrong is the count taken over them. That is why this is published here rather than on the corrections page or the rule tape: an error in our own model gets no entry under a firm’s name precisely because no firm’s record is wrong.
The count now applies the same test as the citation rule above it, so one definition governs both what may be cited and what a citation earns.
Five firm scores moved and one grade fell from D to F. One firm crossed into the ungraded set, so a letter that was on its page yesterday is a range today, which is the rule above working on the first change to run against it. 26 plan scores moved and three plan grades crossed a band.
Two of those five scores went up. Weight a factor cannot support moves to the factors that can, as set out under penalties, so removing sources does not only ever subtract. The change before this one withdrew a value and scores rose; this one withdraws sources and scores mostly fall. What both have in common is a count doing work this model never asked of it.
9 September 2026
A source is classified by who published it
A citation now carries a class, and the class decides what kind of claim it can carry. The firm’s own domain, or a web archive of one of its pages, supports anything, including rules, prices and fees. A documentation host a firm writes its own knowledge base on supports rules. A regulator, register or court record supports corporate facts and nothing about trading rules. The firm’s own announcement account supports a dated announcement and never a standing rule. Anything else supports nothing.
A page that is not the firm’s cannot state the firm’s terms. At best it repeats them, at worst it repeats last year’s, and the September accuracy audit found a directory carrying a cookie window six months longer than the firm’s own page stated.
A new citation that supports nothing fails our build. Citations stored before the rule are listed rather than removed, and that list can only shrink: an entry leaves it when the citation is replaced, and nothing may be added to it by hand. Nothing already published was removed when this landed.
9 September 2026
No letter where the range spans more than one band
24 headline plans and 101 plan rows across 23 firms stopped carrying a letter grade and a score. The remaining 48 of the 71 tracked firms are unchanged.
No firm’s data changed and no value moved. Every input behind those plans is the input we held yesterday. What changed is what this model is willing to assert from them. Where the range a plan’s score rests on covers more than one letter band, the letter was never a fact we held, and publishing one stated a precision the inputs do not carry.
A firm that showed a letter yesterday shows a range today. Each affected page names that range and the facts that would close it, in place of the letter.
Seven of the 23 firms are opened by reading a page, most often the firm’s founding year or the entry price. For the other 16, every route to a grade runs through a public trader-review rating, and that rating is withheld. Those are two different states and this page keeps them apart: the first is work we have not done, the second is work that does not exist to do.