**Affiliate** in your admin sidebar holds six screens: **Affiliate overview**,
**Affiliates**, **Code requests**, **Affiliate payouts**, **Affiliate materials**
and **Affiliate program**. Traders who join see an affiliate section of their
own with an overview, their links, referrals, commissions and payouts,
materials once you have uploaded any, and, when you switch it on, a
leaderboard.

`view_affiliates` opens the overview, the list, code requests, pre-registrations,
materials and an affiliate's page. `manage_affiliates` approves and rejects
applications, adds a trader to the program, suspends and reactivates affiliates,
changes their deal, writes notes, reviews codes, switches links off, changes an
affiliate's default link, releases or voids commission, uploads materials, and
sends, dates and withdraws reservations. Payouts
have `view_affiliate_payouts` and `manage_affiliate_payouts` of their own, and
the program has `view_affiliate_settings` and `manage_affiliate_settings`.

## The overview

**Affiliate overview** shows how the program did over a period you pick: the last
7, 30 or 90 days, this month, last month, or two dates of your own up to two years
apart. Every figure is compared with the same number of days just before, in your
firm's timezone.

The money comes first, as four figures that are the tabs of one chart:

| Figure | What it counts |
| ------ | -------------- |
| Referred revenue | What traders who came through an affiliate paid for challenges in the period. |
| Commission earned | What affiliates earned on those purchases, with how much of it is on hold, available and paid out, and what refunds reversed. |
| Challenges sold | Challenges bought by referred traders, in every currency. |
| Owed to affiliates | What the program owes today: available, on hold and, for whoever may see payouts, requested. It does not move with the period. |

Under the chart a list shows who is behind the figure: every affiliate, or every
link, with a click, a sign-up or a sale in the period, sorted by the figure you
are looking at and searchable by name, email, code or ID. A row opens the
affiliate, and a right click copies their name, email, referral link or ID.

Then the way from click to purchase: clicks, sign-ups, buyers and conversion, the
funnel of the period, and how many of your active affiliates actually sold.
Conversion is measured on the traders who signed up in the period: the share of
them that has bought since. Sign-ups can outnumber clicks, because a trader can
also type a code.

On the right, what waits on the program: applications, code requests and
affiliate payouts, each for whoever may handle it. Amounts are in one currency at
a time, and a program that earned in more than one picks it in the header. The
export downloads the figures over time, the affiliates, the links or what is owed
as a CSV.

Whoever has `manage_affiliate_settings` can switch the program on or off from the
header, without going to **Affiliate program**. Off, links open the sign-up page
without crediting anyone, purchases earn no commission and affiliates lose their
pages until it is on again. Nothing is deleted.

### In the older designs

Propper - OG and Tactical keep the overview they launched with: five figure
cards, a chart for commission and revenue, one for clicks, sign-ups and sales,
the funnel, what waits, and the top eight affiliates and links.

## Who becomes an affiliate

General on **Affiliate program** picks one of three ways in:

| Enrollment  | What happens                                                  |
| ----------- | ------------------------------------------------------------- |
| Automatic   | Every trader is an affiliate from the start.                  |
| Opt-in      | A trader joins with one click and is active at once.          |
| Application | A trader applies, and waits in **Affiliates** for your decision. A rejection carries a reason they see. |

Before launch your website can reserve a link for someone through the
[pre-registration API](/docs/api/affiliates/pre-registrations). They claim it with
a code once they have an account, and keep the address they were already sharing.
Whether reservations are taken, and how long one waits to be claimed, is set under
General too. Every reservation is listed on [Pre-registrations](#pre-registrations).

## Links and codes

Every affiliate starts with a default link, `/r/` followed by a random code of
eight characters that avoids the ones people misread (0, O, 1, I, L). On top of
that they can add links of their own, each with a name, a landing page (sign-up,
the challenge list, or one challenge) and a code: random, or one they type.

A typed code is 3 to 32 letters, digits and single hyphens. It cannot be one of
the platform's own words (admin, support, login, payout and the like), cannot
contain your firm's name, and cannot contain a word on your blocked list. Codes
are compared without case or punctuation, so `Steady-Funded` and `steadyfunded`
are the same code. Whether a typed code works at once or waits in **Code
requests** for you is your choice under Links and codes, as is how many
links one affiliate may have. Active, paused and waiting links count against
that limit, and the Deal tab of one affiliate can give them a limit of their own.

An affiliate can pause, resume, archive and restore their own links. When you
pause or archive one from the affiliate's page, it is locked: they can still
rename it, but only you can turn it back on. The default link can be paused but
never archived.

The default link is the one the affiliate's overview shows and the materials
draw in. Either of you can make another active link the default, from the link's
menu on their Links page or on the Links tab of their page here. Only the default
moves: every link keeps its code, and what it brought in stays filed under it.
The old default can then be archived like any other link.

A click sets a cookie for the attribution window you set, and the trader who
signs up inside it is filed under that link. A newer click on another link
replaces the older one. A trader who is already signed in is nobody's referral
any more, and with self-referral blocked nobody earns on their own purchases.

## What a sale pays

The commission on a sale is the first of these that applies:

1. A **personal deal** for that affiliate, set on the Deal tab of their page. A
   deal that pays an amount per signup pays that amount on every signup through
   them, and their sales earn nothing on top.
2. A **rate for that challenge**, under Per challenge on the program screen.
3. The **volume tier** the affiliate has reached, measured by traders who bought
   or by sales volume. The highest tier reached counts.
4. The **program rule**: a percentage of what the buyer paid, a fixed amount per
   sale, or nothing per sale when you only pay per signup.

A signup bonus is separate and paid on top when a referred trader signs up.
Repeat purchases pay only when you switch that on, for the program or per
challenge. Commission, Per challenge and Discounts on the program screen work one sale through as
you type, so you see what the affiliate earns and what you keep before you save.

## Discounts

Two discounts can apply to a referred trader's first purchase, and they come out
of different pockets.

**Your discount** is a percentage or fixed amount you pay for, applied by itself
at checkout. A coupon the trader types replaces it.

**Their discount** is part of the affiliate's own commission passed on to the
buyer, set per link. It is taken from what is left after your discount, capped
by the largest share you allow under Discounts (or the one you agreed with
that affiliate on their Deal tab), and never more than the commission itself. Set that share to 0 and link discounts are off.

With a price of $200, a 10% discount of yours, a link sharing 5% and a 20%
commission, the buyer pays $171 and the affiliate earns the remaining 15% of
that, $25.65.

## Commission and payouts

Commission waits out the hold period you set before it can be withdrawn, so a
refund in the meantime takes it back. One affiliate can have a hold of their own,
which applies to commission they earn from then on. An affiliate requests a payout once their
available balance reaches your minimum, by bank transfer, crypto or PayPal. On
**Affiliate payouts** you approve the request, pay it outside the platform, and
mark it paid, as described [below](#affiliate-payouts).

On an affiliate's page the Commissions tab lists every line with how it was
worked out. A line still on hold can be released early, and any line not yet
paid can be voided with a reason.

## Affiliates

**Affiliates** lists everybody in the program, fifty to a page, across the whole
width until you pick one. Each row shows the affiliate's status and their clicks,
sign-ups, sales and commission over the period, plus what you owe them today.
Unless you sort otherwise, applications waiting for a decision come first. The header counts affiliates,
waiting applications and suspended affiliates, and the last two are filters you
can switch with one click. It also links to the codes waiting in **Code
requests** and to pre-registrations when there are any, and says so when the
program is off.

The period is the one on **Affiliate overview**: picking it on either screen
picks it on both. Search finds an affiliate by name, email, link code or ID. The
filter menu narrows the list by status, by whether they have a deal of their own,
and by whether you owe them commission today. It sorts by newest, name, clicks,
sign-ups, sales, commission or what is owed. Money is sorted in your firm's
currency and never added up across currencies. J and K move through the list,
and a right click on a row approves, rejects, suspends or reactivates, opens the
trader, or copies their referral link, email, code, ID or a link to the row.

Picking an affiliate opens them beside the list at their own address. The head
shows their status, who decided on them and why, any open fraud signals, and
codes of theirs that wait for your decision, which open the Links tab.
Under it are the deal they earn on, what is available and on hold, how many
traders they referred and bought, and how many links they use. The decisions sit
in the head, the likeliest as its button and the rest in its menu:

| Status | Decisions |
| ------ | --------- |
| Applied | Approve, or reject with a reason the applicant reads. Approving puts the codes they asked for live. |
| Active | Suspend from the menu, with a reason only your team sees. The button copies their referral link. |
| Suspended | Reactivate. |
| Rejected | Approve after all. |

Approving and rejecting send the trader a notification. While suspended, their
links still open your site but credit nobody, new sales earn nothing and they
cannot ask for a payout. Commission they already earned stays where it is, and
what they would have earned while suspended is not paid later.

The tabs:

| Tab | What it holds |
| --- | ------------- |
| Overview | Clicks, sign-ups, sales, revenue and commission over the period against the period before, the links that did most, commission becoming available by day, their application, and your team's notes, which can be pinned to the top of the record. |
| Links | Every link with its figures, and the limits they are held to. Approve or turn down a code, pause, resume, archive, restore, or make a link the default. |
| Referrals | Who they brought in over the period, with purchases, refunds and what each earned them. |
| Commissions | The ledger over the period, by status, with how each line was worked out. Release a line on hold early, or void one with a reason. |
| Payouts | Their balance, the hold and minimum that apply, where they want to be paid, and every payout request, each opening on **Affiliate payouts**. |
| Deal | Their own commission rule, repeat purchases, link limit, largest link discount and hold, each following the program until you set it. A summary works one sale of each challenge through the deal as it stands. |
| Fraud | Their fraud signals and restrictions, for whoever may open Fraud. |
| Activity | Every decision on them, every change to their deal and links, and every commission your team released or voided, for whoever may see the activity log. |

Overview, Referrals and Commissions can be narrowed to one link. The notes on
Overview and the deal on Deal each save from the save dock at the bottom, and
only what changed is sent. A right click on a link, a referral, a commission line
or a payout offers what can be done with it, and copies its code or ID.

**Add affiliate** makes one of your traders an affiliate at once, whatever the
enrollment mode, with a link of their own and, if you set one, a deal. They get a
notification. The team, inactive traders and anyone already in the program, in
any status, are not offered.

### In the older designs

Propper - OG and Tactical keep the list and the affiliate page they launched
with. The list has status filters above a table. The page shows the dashboard the
affiliate sees themselves over the period you pick, with tabs for their links,
referrals, commission ledger, payouts and the personal deal on Agreement. That
tab shows, per challenge, what they would earn without the deal and what the
deal makes of it. Adding a trader by hand and the per-affiliate link limit,
discount cap and hold are only in the new design, but limits set there apply in
every design.

## Code requests

**Code requests** is the queue of custom codes: every code an affiliate typed
themselves, such as `/r/mickfx`. Random codes are made by the platform and never
show here. It opens on the codes waiting for your decision, the one that has
waited longest first, across the whole width until you pick one. The header
counts all custom codes, the waiting ones and the ones you turned down, says
since when the oldest has waited, and says whether codes wait for review or go
live at once. The waiting and turned down counts are filters you can switch with
one click, and the list checks for new requests every minute.

Search finds a code by the code itself, a pasted referral link, the name of the
link, the affiliate's name or email, or the ID of the link, the affiliate or
their trader. The filter menu narrows the list by where the code stands (waiting,
approved by your team, turned down, live without review, or everything), where
the link lands, whether it shares a discount and the affiliate's own status, and
sorts it by the queue, newest or oldest request, code, affiliate, where the link
lands or the largest discount. Every column head of the wide list sorts the same
way. J and K move
through the list, and a right click on a row offers every decision without
opening the code, plus opening the affiliate or their trader, showing only that
affiliate's codes, and copying the code, the referral link, the email or an ID.

Picking a code opens it beside the list at its own address. The head shows the
affiliate with their status, any open fraud signals and whether your team
switched the link off, and under it how long the code has waited or who decided
on it, the discount it shares against what the affiliate may share, how many of
their link places are in use, and how many traders they brought in and how many
of those bought. The decisions sit in the head:

| Where the code stands | Decisions |
| --------------------- | --------- |
| Waiting | Approve, or turn down with an optional reason the affiliate reads. Both send them a notification. |
| Turned down | Approve after all, as long as the affiliate has a free link place. |
| Live or paused | Pause or resume, and archive unless it is their default link. A live code that is not their default can be made the default. |
| Archived | Restore. |

Approving or turning down the open code moves on to the next one still in the
list, so a morning's queue can be worked from top to bottom. A link you pause or
archive here is locked in the same way as from the affiliate's page.

The tabs:

| Tab | What it holds |
| --- | ------------- |
| Request | What could stand in the way, read again from your settings as they are now: a word that is reserved, your firm's name or on your blocked list, an affiliate without a free link place, a discount above what they may share, a challenge that is no longer on sale, an application that still waits, or a program that is off. Then the link as a visitor meets it, the decision with its reason, and other codes that look like this one. |
| Affiliate | Their application, the deal they earn on, every link they have with this one marked, and how many of their earlier custom codes you approved and turned down. |
| Activity | Every decision on the code and every time it was switched off or on, for whoever may see the activity log. |

**Settings** in the header opens how codes get in, for whoever also has
`view_affiliate_settings`: whether a custom code waits for review or works at
once, and the words no new code may contain, up to 200 of them. It is the same
setting as the Links and codes tab of **Affiliate program**. A summary beside it
says how many codes wait now, which existing codes hold a word you are about to
block, and that blocking a word refuses only new codes. Changes save from the
save dock at the bottom, with `manage_affiliate_settings`.

### In the older designs

Propper - OG and Tactical keep the screen they launched with: one table of custom
codes with buttons above it for waiting, approved and turned down, where a
waiting code can be approved or turned down with a reason. Code settings stay on the Links and
codes tab of **Affiliate program**.

## Pre-registrations

**Pre-registrations** lists every referral code your website reserved through the
[pre-registration API](/docs/api/affiliates/pre-registrations) before launch,
newest first, fifty to a page, across the whole width until you pick one. It has
no entry of its own in the sidebar: the count in the header of **Affiliates**
opens it. The header counts all reservations and the open ones, the ones that run
out within seven days and the open ones whose mail never went out, and each count
is a filter you can switch with one click. It also says when the program is off,
when reservations are switched off, and when the reservation mail is switched off
under **Email**.

Search finds a reservation by email address, the reserved code, a pasted referral
link, the name your website sent along, or the ID of the reservation, the trader
who claimed it or their affiliate. The filter menu narrows the list by status
(open, claimed, expired, withdrawn), by when it runs out (within seven days, or
never) and by whether the mail went out, and sorts it by newest or oldest, email,
code, what runs out first or status. A reservation past its date reads as
expired, also before anybody tried to claim it. J and K move through the list,
and a right click on a row sends the mail again, withdraws the reservation, opens
the affiliate or trader who claimed it, or copies the email, the code, the
referral link, the ID or a link to the row.

Picking a reservation opens it beside the list at its own address. The head shows
where it stands, who claimed it and whether the mail never went out, and under it
when it was reserved, until when it can be claimed, when the mail last went, and
where it came from or when it was claimed. While a reservation is open, **Send the
mail again** sits in the head. It sends the same mail with the same claim code and
asks first, and when the mail is switched off under **Email** it says so instead
of sending nothing. **Withdraw reservation** sits in its menu, asks first and
cannot be undone: the claim code stops working, and the code is never given to
anybody else.

The tabs:

| Tab | What it holds |
| --- | ------------- |
| Reservation | Until when it can be claimed, which you can change or take away from the save dock while the reservation is open or expired. A new date on an expired one makes it claimable again with the claim code it was sent. Then the link with its code, who claimed it and where they stand in the program, and where it came from: the API key that made it and what your website sent along. |
| Activity | Every mail sent again, new date, claim and withdrawal, for whoever may see the activity log. |

The email address and the code cannot be changed, and the claim code is never
shown to your team. Sending, dating and withdrawing need `manage_affiliates`.

**Settings** in the header opens how reservations are taken, for whoever also has
`view_affiliate_settings`: whether your website can reserve codes, and the claim
window a new reservation gets. They are the same settings as Reservations before
launch on General of **Affiliate program**. Beside them it says how many API keys
can reserve, how many reservations are open and how many of those never run out,
and whether the mail goes out. A new claim window applies to new reservations
only, and switching reservations off leaves the open ones claimable until their
date. Changes save from the save dock at the bottom, with
`manage_affiliate_settings`.

### In the older designs

Propper - OG and Tactical keep the screen they launched with: a count per status,
one table with a search field and a status filter, and per row sending the mail
again or withdrawing. A link to a single reservation opens that table searched for
its email address, and the address of the settings opens **Affiliate program**.
Changing the date and the reservation settings beside the list are only in the
new design, but a date changed there applies in every design.

## Affiliate payouts

**Affiliate payouts** is the queue of payout requests. It opens on what waits on
your team, requests to review first and then approved ones still to pay, the one
that has waited longest first, across the whole width until you pick one. The
header counts all payouts, the ones to review and the ones to pay, with what is
still to send, says since when the oldest has waited, and shows what was paid in
the last 30 days. The two counts are filters you can switch with one click, and
the list checks for new requests every minute.

Search finds a payout by the affiliate's name or email, one of their link codes,
the payment reference you gave it, its number (the last six characters of its
ID), or the ID of the payout, the affiliate or their trader. The filter menu
narrows the list by status (to review or to pay, to review, to pay, paid,
rejected, or everything), method, currency when the program pays in more than
one, when it was requested, and affiliates with open fraud flags. It sorts by the
queue, newest, oldest, largest amount or affiliate, and every column head of the
wide list sorts the same way. Amounts are never added up across currencies. J and
K move through the list, and a right click on a row offers every decision without
opening the payout, plus opening the affiliate, showing only that affiliate's
payouts, that status or that method, and copying the number, the ID, the email or
a link to the payout.

Picking a payout opens it beside the list at its own address. The head shows the
affiliate with their status in the program, whether their account was deleted or
switched off, whether they are on your team, whether fraud detection holds their
payouts, and whether this is their first payout or goes somewhere new. Notes your
team pinned to the payout or to the affiliate stand above the tabs. Under it are
the amount and how many commission lines it bundles, what the affiliate can still
ask for and what is on hold, what they were paid before in this currency, and how
long it has waited or who decided on it. The decisions sit in the head, and each
one asks first:

| Status | Decisions |
| ------ | --------- |
| Pending | Approve, with a note only your team sees, or reject with a reason the affiliate reads. |
| Approved | Mark paid once the money has gone out, with an optional payment reference only your team sees. Withdraw the approval from the menu, with a reason, when it should not be paid after all. |

Every decision sends the affiliate a notification. Rejecting, or withdrawing an
approval, puts the commission back in their balance to ask for again. Marking a
payout paid pays only the commission lines that still stand: a line a refund
voided in the meantime stays voided. Deciding the open payout moves on to the
next one still in the list.

The tabs:

| Tab | What it holds |
| --- | ------------- |
| Request | What to know before approving or paying, read again from the affiliate and their commission as they are now: an affiliate who is suspended, removed or cannot sign in, commission voided since the request so less stands than was asked, clawbacks inside it, an amount below your minimum, open fraud flags, held payouts, a first payout, or details that differ from the last payout paid. None of them stops you. Then where the money goes with each detail to copy, what happened so far, and your team's notes. |
| Commissions | Every commission line the payout bundles, with what was asked, what still stands, what was voided since and what was clawed back, and how each line was worked out. For whoever may open Affiliates it links to the affiliate's ledger. |
| Affiliate | Their standing in the program, who they brought in and what they earned, their balance besides this payout, the minimum and hold they are held to, their saved destination, and every payout they asked for, each opening here. |
| Fraud | Their fraud signals and restrictions, for whoever may open Fraud. |
| Activity | Every decision on the payout, its payment and the notes on it, for whoever may see the activity log. |

The notes on Request save from the save dock at the bottom, with
`manage_affiliate_payouts`. Whoever only has `view_affiliate_payouts` sees
everything without the decisions and the dock.

### In the older designs

Propper - OG and Tactical keep the screen they launched with: a table with
buttons above it for waiting, paid, rejected and everything, and a page per
payout with its details, the commission it bundles, and a form to approve or
reject it and then mark it paid. Rejecting there also tells the affiliate, and
marking paid there also leaves voided lines alone.

## Affiliate materials

**Affiliate materials** holds the banners and posters you hand your affiliates.
Each affiliate downloads a banner from the Materials page of their portal with
the QR code of their own link drawn into the spot you picked, so one upload
serves every affiliate. The screen opens on the list of banners across the whole
width until you pick one. The header counts the banners, says when the affiliate
program is off and nobody sees them, counts the downloads, and names every
language for which affiliates are offered nothing at all. The count of hidden
banners and the count of codes under 150 pixels wide are filters you can switch
with one click.

Search finds a banner by its title or its ID. The filter menu narrows the list
by language (one language, or banners made for every language), shape (square,
portrait, story, landscape or wide), whether affiliates are offered it, and the
QR code (with one, without one, or under 150 pixels wide). It sorts by the order
affiliates see, title, newest, most downloaded or last changed, and the column
heads of the wide list sort the same way. J and K move through the list, and a
right click on a row offers every action without opening the banner: see who
downloaded it, offer or hide it, duplicate it, move it up or down in the
affiliates' order, download a sample, open the original file, copy its title, ID
or link, and delete it.

Picking a banner opens it beside the list at its own address. The head shows the
banner with its shape, size in pixels, file size and type, whether it is hidden
and whether the program is off. A hidden banner offers **Offer to affiliates**
as its first action, any other banner **Download sample**, which is the banner
with the QR code of your own sign-up page in it. Under it are how often it was
downloaded and by how many affiliates, when it was last downloaded, its place on
the affiliates' Materials page, its language, and when it was uploaded and last
changed.

The tabs:

| Tab | What it holds |
| --- | ------------- |
| Banner | The title affiliates read, the language it is for, the image itself, whether a QR code is drawn, its size as a share of the banner's width, and whether affiliates are offered it. Beside it the banner as an affiliate gets it, with the code where it will be drawn. |
| Downloads | Every affiliate who downloaded the banner, how often, when last and the code of the link they downloaded it with, searched by name, email, code or ID. Downloads are counted from 11 October 2026. |
| Activity | When the banner was uploaded, every change your team saved with the old and the new value, and every move in the order, for whoever may see the activity log. |

The QR code goes where you click or drag on the banner, or where the arrow keys
move it once it has focus, with Shift for larger steps and plus and minus for
its size. Nine buttons put it in a corner, at an edge or in the middle with a
small margin. Beside the banner the screen says who finds it, where it stands on
their Materials page and what file they download, and warns when the program is
off, when the banner is hidden or is the only one offered, when it has no code,
and when the code is under 150 pixels wide and hard to scan once printed.
Changes save from the save dock at the bottom.

**Upload banner** opens an empty form in the same place. Pick a PNG, JPG or WebP
image or drop one on the form. The screen checks its type, size and dimensions
before anything is sent, and you place the code before the banner is uploaded. A
new banner goes to the top of the affiliates' page. Replacing the image of a
banner keeps its title, its downloads and the place of its code as a share of the
new image, and warns when the new image has another shape. **Duplicate** makes a
hidden copy at the top to work on. Deleting asks first, removes the file and the
record of its downloads, and leaves the copies affiliates already have.

`view_affiliates` sees everything here. Uploading, changing, offering, hiding,
moving, duplicating and deleting need `manage_affiliates`, and without it the
form is read only and the dock does not show.

### In the older designs

Propper - OG and Tactical keep the screen they launched with: a grid of banners
with a summary of which languages have one, a dialog to upload a banner with its
title and language, and a dialog per banner to place the QR code, set its size,
the language and whether affiliates are offered it. Downloads are counted there
too, and only show in the new design.

## Affiliate program

**Affiliate program** holds every setting of the program on one screen. A rail on
the left has a row per part, each ending in how it is set now, so the rail alone
says how the program runs. J and K move through it, and a right click opens a
row, switches the program, volume tiers, your discount or the leaderboard on or
off, or copies a link to the row. The open row is in the address, so a link lands
on it.

| Row | What it sets |
| --- | ------------ |
| General | Whether the program is live (the same switch as on **Features** and **Affiliate overview**), who can join, the terms traders read, the attribution window, self-referrals, and reservations before launch with their claim window. |
| Commission | The program rule (a percentage, a fixed amount or per signup only), whether repeat purchases pay, and the signup bonus, with the order in which a deal, a challenge rate, a tier and the program rule win. |
| Per challenge | For every challenge on sale, the program rule or a rate of its own as a percentage or a fixed amount, and whether its repeat purchases pay. The list is searched by name and filtered to the challenges with a rate of their own, the ones paying the program rule, or the ones you changed. |
| Volume tiers | Tiers on or off, measured by buyers or by sales volume, and up to 50 tiers, each with a name, a threshold and a percentage or fixed commission. Tiers can be prepared while they are off. |
| Payouts | The hold period and the minimum payout. |
| Links and codes | Whether custom codes wait for review or go live at once, how many links one affiliate may have, and your blocked words beside the words that are always refused. |
| Discounts | Your discount for referred traders, and the largest share of their commission affiliates may pass on through a link. |
| Leaderboard | On or off, ranked by commission or by sales, over this week, this month or all time, with the top five as the board stands now. |

Beside each row, on a wide enough screen, a column says what the setting reaches
before you save it: who is in the program, how many affiliates the program rule
pays and how many a deal of their own, recent sales through links per currency,
who stands on which tier with the tiers as you typed them, how many affiliates
could ask for a payout at the minimum you are typing, existing codes that hold a
word you are about to block, and live links that share more than a new cap. Each
setting that cannot work as it stands gets a warning, and a warning opens the
field it is about. Commission, Per challenge and Discounts also work one first
purchase through a link as you type: the price, both discounts, what the buyer
pays, what the affiliate earns and what you keep, for a challenge you pick. Under
it, the latest changes to that part and who made them.

Every change on every row collects in one save dock and is saved together, and
only what changed is sent: a colleague who changed another setting, another
challenge's rate, another tier or the blocked list on **Code requests** in the
meantime keeps what they set. A row with unsaved changes carries a dot. A save
that fails marks every row with an error and opens the first. Blocking a word
refuses new codes only, so codes that already hold it keep working, and changing
who can join leaves waiting applications as they are. Two tiers cannot start at
the same threshold.

A right click on a challenge, a tier or a blocked word opens its menu: how it
pays, undoing what you changed on it, removing it, opening the challenge, or
copying its name. Inside a field the browser's own menu stays, so pasting still
works.

`view_affiliate_settings` opens the screen and `manage_affiliate_settings`
changes it. Without the second the fields are read only and the dock does not
show. The figures about affiliates need `view_affiliates`, waiting payout
requests `view_affiliate_payouts`, and the latest changes `view_activity_logs`.

### In the older designs

Propper - OG and Tactical keep the screen they launched with: five tabs (Program,
Commission, Links and codes, Discount and Leaderboard) with switches on top and a
summary beside them that works one sale through. Per challenge rates and volume
tiers sit on the Commission tab and payouts on Program. What a setting reaches,
the warnings that open their field, the leaderboard preview and the latest changes
are only in the new design, and two tiers on the same threshold are a warning
there rather than refused.

## Leaderboard

Off by default. Switched on, affiliates see the top 25 for this week, this month
or all time, ranked by commission earned or by challenges sold, with their own
place underneath when they are lower. Affiliates appear under their handle and
avatar, never their real name, which never leaves the server.

## Fraud signals

The [Affiliates screen in Fraud](/docs/platform/admin/fraud) watches for
affiliates sharing a device or an address with their referrals, bursts of
signups from one address, and referrals who buy with a discount and get their
money back. Open signals show on the affiliate's page for anyone who may open
Fraud. None of them touches commission by itself: put the detector on
Restrict to hold the affiliate's payouts, and void single lines on their page.