Skip to content
Controls

The controls a regulator asks for, built into the run.

Not a policy document written afterwards to describe what happened. A gate the run has to pass before it can post, and a record of the fact that it did.

Separation of duties

Two people, or it does not post.

The two decisions that move money — changing the plan, and posting a period — each require a second operator. The refusal is in the database as well as in the application, so it survives somebody calling the API directly.

Owner

Holds everything, and is still refused a self-approval. A control that an owner can step around is not a control.

Comp admin — the maker

Drafts plan versions, runs and accommodations. Cannot approve any of them.

Finance — the checker

Approves runs, plan versions and overrides, marks payouts settled, distributes the pool. Cannot draft what it approves.

Compliance

Read access, disputes, and the data-subject and workspace exports. No money path.

Support

Member-facing reads and disputes. Cannot mark anyone paid, and cannot change a price.

Marketing

The marketing panel only — and it cannot approve its own asset.

A section an operator's role does not reach renders an access notice, never data. The distinction matters: a console that renders the figures and hides the buttons has already disclosed the figures.

The ceiling

A hard ceiling on total compensation.

Total compensation for a period is measured against that period's refund-net cash sales. Over the ceiling, the run cannot be approved — not flagged, not warned about. Refused.

Total compensation against the period's cash salesA scale from zero to one hundred per cent of the period's refund-net cash sales. Computed compensation stands at 41.00 per cent. A rule at 49.00 per cent marks the cap; the region beyond it is hatched and labelled cannot be approved. Below, the same 41.00 per cent decomposed by engine: direct 14.50, differential 12.25, same-rank 6.00, pool 5.75 and club 2.50.FULL SCALE = PERIOD CASH SALES, REFUND-NETCOMPUTED COMP 41.00%CANNOT BE APPROVED0102030405060708090100CAP 49.00% (DEFAULT)THE 41.00%, BY ENGINEDIRECT 14.50DIFFERENTIAL 12.25SAME-RANK 6.00POOL 5.75CLUB 2.50
Full scale is the period's refund-net cash sales. The ceiling ships at 49%, and it is yours to lower.

This is the number that decides whether a compensation plan is arithmetically capable of paying what it promises. A plan whose payouts can exceed its sales is not generous; it is funded by the next cohort. Measuring it every period, in the approval path, against sales net of refunds, is the difference between knowing that and finding out.

internal/runs · program config cap_pct_bps

Disclosure

An income disclosure computed over everyone.

Members, earners, non-earners, total, mean, median, 90th and 99th percentile and maximum — for a calendar year, over every enrolled position.

  1. 01

    Non-earners are in the denominator

    Every member who existed during the disclosed year counts, and a member who earned nothing counts as zero. Dropping non-earners is the standard way this report flatters a programme, and it is the reason a median can read as ten times the truth.
  2. 02

    A negative year is zero, not a negative income

    Where clawbacks exceed a member's earnings for the year, that member is disclosed at zero. Nobody's loss is netted off somebody else's income to improve the average.
  3. 03

    The prior year does not get diluted

    The denominator is members enrolled before the end of the disclosed year, so publishing 2025's distribution in 2026 is not quietly improved by everyone who joined since.
  4. 04

    It is computed, not written

    It comes out of the same ledger the payouts came out of. That is what makes it substantiation rather than marketing, and it is why the platform terms can require an operator making any earnings claim to publish one.

internal/exposure · internal/report

The books

Liability you can age, and hand to an accountant.

What is owed, how long it has been owed, and whether the ledger and the claims agree.

Aging

Outstanding liability bucketed 0–30, 31–60, 61–90 and 90+ days. A commission owed for four months is a different fact from one owed for four days, and a single total hides it.

internal/exposure

A journal, sign-correct

A period's accounting journal with debits and credits that balance, exported as CSV for whatever your accountant actually uses.

internal/report

Per-member tax statements

An annual statement per position, exportable in bulk. Members ask for these in January, every year, all at once.

internal/report

A liability cross-check

Settled ledger value against settled claims. When those two disagree, something is wrong, and the report says so rather than averaging it away.

internal/report

Eligibility

Who may take part, and on what evidence.

A geographic policy that ships switched off, a monitor mode that shows you what enforcing it would have done, and identity verification that keeps a decision rather than a document.

Which countries this platform is served inFifty ISO country codes carry a blocked row and are struck through, grouped by the reason each is in the set: the seven named countries, the twenty-seven EU member states, the three EEA states outside the EU, six EU outermost regions, six US territories and Saint-Martin. Thirty-five further codes are listed as deliberately served despite sitting next to that bloc. Every other assigned code is served by the absence of a row. The policy ships off, runs in monitor while an operator reads the projection, and is enforced only after that.WHERE THIS IS SERVEDSOURCE — migrations/0098_seed_blocked_set.sql · 50 blocked rows · reason_code regulatory · 0 carve-outs seededXXNOT SERVED · 50XXSERVED, DECIDED · 35EVERYWHERE ELSE · SERVED BY DEFAULT, NO ROWNAMED IN THE SET7USCAAUSGJPGBCHEU MEMBERSTATES27ATBEBGHRCYCZDKEEFIFRDEGRHUIEITLVLTLUMTNLPLPTROSKSIESSEEEA, NOT EU3NOISLIEU OUTERMOSTREGIONS6AXGFGPMQREYTUS TERRITORIES6PRVIGUASMPUMOUTERMOST,RE-FILED1MFSERVED BY DECISION ·EASTERN EUROPE14RUUABYTRRSBAMEMKALXKMDGEAMAZSERVED BY DECISION ·ADJACENT, NOT EEA21GGJEIMFOGLSJAWCWSXBQBLPMWFPFNCTFMCSMVAADGI†POLICY MODEOFFMONITORENFORCEA policy ships off, runs in monitor while an operator reads the projection, and is enforced only after that.249 ISO 3166-1 codes are assigned. 50 carry a blocked row. Absence of a row is served.† GI carries no row and is served. Widening the block is a recorded carve-out, not an edit to this list.
Source of truth: the seeded policy. Countries are listed with the reason code that put them there.

Country resolution runs inside the platform's own database rather than through a third-party lookup on the request path. That is a deliberate compliance decision: an answer that arrives over plaintext HTTP from a rate-limited public endpoint can be rewritten by anyone on the path, and a value an attacker can rewrite may inform a risk score but must not decide whether somebody can sign in.

Every blocked country carries a reason code — regulatory, sanctions, licence pending or business — so the list can be defended a year later by somebody who was not in the room. Exceptions are carve-outs, recorded with a name against them, rather than edits to a seed.

Identity verification runs on your own provider account. What comes back to the platform is a decision and a non-reversible handle — enough to enforce one person, one position, and nothing more. XEX does not hold your members' identity documents, because the safest way to hold documents is not to.

internal/geo · internal/verification

Availability
Programmes on XEX are not available everywhere. Availability depends on your country, on the programme's own rules, and on identity checks. Access may be refused or withdrawn where a programme is not permitted, and no refund of third-party costs follows from a refusal.
What your field says

Marketing that has to be approved before it ships.

The claim that gets a programme closed is almost never made by the operator. It is made by a member, in a group chat, about earnings.

Assets go through an approval that appends the compliance disclosure to the body — once, idempotently — so an approved asset cannot circulate without it. Team announcements go out from approved templates rather than free text. Marketing cannot approve its own asset; that is a role boundary, not a policy.

None of this stops a member writing whatever they like on their own account. What it does is give you an approved corpus, a record of what was approved and by whom, and a defensible answer when somebody asks what your programme told people.

internal/marketing · /admin/marketing

Not claimed

What we do not claim.

The most useful paragraph on this page, and the one most vendors leave out.

We do not hold a SOC 2 report. No third-party penetration test has been performed. We publish no availability commitment, because nothing here measures one yet. XEX gives you controls and records; it does not give you a licence, and it is not legal advice. Whether your compensation plan is lawful where you market it is yours to establish, and our platform terms require you to.
Your programme, your responsibility
XEX supplies the software. You remain solely responsible for your compensation plan, for every licence or registration your programme needs in the countries you market to, and for every claim you or your members make. Plans that pay primarily for recruitment rather than for genuine sales are prohibited on this platform and are unlawful in many countries.
What this platform is
XEX is software. Programmes listed here are operated by independent companies that set their own compensation plans, prices and terms. XEX does not operate a programme, does not endorse any programme, is not a party to any agreement between a programme and its members, and never holds member funds or private keys.
Next

Run it in a sandbox before you take our word for any of this.

The sandbox is the whole product. Configure a plan, buy a package as a member, compute a run, and read the disclosure it produces.