MMashDiv

Programs, applications and personal codes

The two programs the add-on can run — the Affiliate Program and the Referral Program — the two switches that decide who is in which and who may see the commission rates, how applications and personal referral codes work, and what changes for people who are already earning when you turn applications on.

11 min readUpdated 20 October 2026affiliate, referral program, applications, personal code, show commissions, visibility, approval

The add-on runs two programs side by side, and two switches on Admin → Affiliate → Settings decide how they behave.

Affiliate Program Referral Program
Who earns Approved affiliates Every other member
What it pays The commission conditions you build: per transaction, per period, every N days, or once One-time rewards only
Who else is paid Up the sponsor chain under BINARY and UNILEVEL Nobody. The direct sponsor, and the friend if you share the bonus
Rates shown to Whoever you allow (the Show Commissions switch) Anyone who opens the page
Personal referral code Yes No — the link built from the member's id
Where members find it Services → Affiliate Program Services → Referral Program, and the footer

A referrer is paid under exactly one program. An approved affiliate earns the Affiliate Program's conditions and none of the Referral Program's; a member who is not an affiliate earns the Referral Program's and none of the Affiliate Program's.

The two switches

Both are on the General and Commission tabs of Programme settings, and both default to how the add-on behaved before they existed: an install that never opens the screen is unchanged.

Require Affiliate Applications

affiliateApplicationRequiredtype: booleandefault: false
Whether a member has to apply, and be approved, to be an affiliate
  • Off — every signed-in member counts as an approved affiliate, exactly as before. Nobody applies, the Referral Program does not run and its conditions pay nobody, and the Referral Program menu entry and footer link are not shown.
  • On — only a member with an approved application counts as an affiliate. Everyone else is in the Referral Program. The Referral Program entry appears under Services and in the footer, Apply now replaces the join button on the Affiliate page, and the Affiliate dashboard becomes the application form for anyone who is not approved.

The switch does not remove anything: nobody's referrals, rewards or tree placement change, only which program a referrer is paid under.

The moment the switch is on, a referrer who is not an approved affiliate stops earning the Affiliate Program's commissions. Their referrals' activity pays the Referral Program's one-time rewards instead, and a referrer who has none of those conditions switched on is paid nothing. There is no grace period. A member who chose a personal code while the program was open was approved by doing so, so they are already on the list and keep earning.

Approve the people who are earning today before you turn it on. Open Admin → Affiliate → Program → Rewards to see who has earned, then add each one on Applications with Add an affiliate. Approving takes effect on the next transaction.

Approving someone later does not pay what they missed on the conditions that are paid at an event (a deposit, a trade, a stake). A condition on a schedule is read from the friend's activity, so the first hourly run after the approval pays its current and previous period, and a one-time scheduled condition pays on everything the friend has done to date.

On the other side, switching applications off again returns every member to the Affiliate Program at once. Applications and approvals stay in the table and come back into force if you switch it on again.

Show Commissions

affiliateShowCommissionstype: booleandefault: true
Whether the commission rates are shown to everyone or only to affiliates
  • On (and when the setting has never been saved) — the rates are public: the Affiliate page lists the commission rules, the statistics, the top affiliates and the recent rewards, the Commission Rates page lists every active Affiliate Program rule whose add-on you run, and the homepage's Affiliate Program tile shows how much the program has paid out.
  • Off — only a member who counts as an affiliate can see the rates. Everybody else, signed in or not, gets a few lines describing the program and an Apply now button (Application under review while theirs is waiting, or Join the program when applications are off and they have no account). The server sends them no rate, no leaderboard, no payout figure and no recent reward, so nothing is hidden by styling: there is nothing in the answer to find. The same goes for the public statistics endpoint, whose total paid out and average earnings read zero. It still sends how big the program is, such as the number of referrals on record, which says nothing about what it pays. The homepage is the public shop window and does not know who is looking: its Affiliate Program tile still announces the program and shows its count (the number of referrals on record, labelled "Affiliates"), but the "Rewards Paid" figure is gone for everyone, affiliates included. An affiliate sees the money on the Affiliate page, once signed in.

With applications off and Show Commissions off, "an affiliate" is every signed-in member, so the rates are hidden from visitors who have no account and shown to everyone who has one.

How the two combine

Require applications Show Commissions A visitor with no account A signed-in member who is not approved An approved affiliate
Off On Rates — (every signed-in member is an affiliate) Rates
Off Off Description and Join the program — Rates
On On Rates and Apply now Rates and Apply now; earns the Referral Program Rates
On Off Description and Apply now Description and Apply now; earns the Referral Program Rates

The Referral Program page itself is never hidden by Show Commissions: its rewards are what you are offering every member.

Applications

A member applies from Affiliate → Apply now, or from the Affiliate dashboard or the Commission Rates page when those are closed to them. The form asks for one optional free-text answer — how they plan to promote the platform — and keeps up to 1,000 characters. A visitor who is not signed in is asked to sign in or register first, because an application belongs to an account.

Status What the member sees What you can do
Applied, waiting "Your application is under review", with the date and what they wrote Approve, or reject with a reason
Approved "You are an approved affiliate" and a link to the dashboard Revoke, with a reason
Rejected "Your application was not approved", your note, and the form again Reconsider and approve
  • A member can have one application. Filing a second while one is waiting, or after approval, is refused. A rejected member may apply again; that re-opens the same application as waiting and clears the earlier decision.
  • Every user whose role includes edit.affiliate.referral gets a notification, "New affiliate application", that links to the queue.
  • The member gets a notification when a decision changes their standing. A rejection carries your reason, or "You can apply again from the Affiliate page" when you gave none; an approval carries a fixed message. The decision dialog requires a reason to reject or revoke and leaves it optional when you approve; an approval's note is kept with the application.
  • With Require Affiliate Applications off there is nothing to file: the form is refused with "The Affiliate Program is open to every member".

Work the queue on Applications. You can also add a member without an application, which is how you recruit by hand and how you carry over the people who earn today (see the warning above).

Personal referral codes

An approved affiliate can choose a short code — JEFF, JEFF20 — on their dashboard and tell their audience to type it when they sign up. The code is in addition to the link, never instead of it: a link built from the member's id keeps working for everything already shared.

  • Format: 3 to 32 characters, letters, numbers, hyphens and underscores, starting with a letter or a number. Case does not matter; the code is stored in capitals, so jeff and JEFF are the same code and only one member can hold it.
  • Reserved words nobody can take: NULL, UNDEFINED, NONE, TRUE, FALSE, ADMIN, ADMINISTRATOR, SUPPORT, STAFF, OFFICIAL and MODERATOR. (A careless client prints null or undefined for a missing value, and a code spelled that way would catch every such sign-up.) A code can never be mistaken for a user id: an id is 36 characters and a code is at most 32.
  • The dashboard checks the code while the member types: it says whether the code is free, taken, reserved or malformed. That check is advisory — saving claims the code, and the database's uniqueness rule decides if two members save the same one at the same moment.
  • Changing or removing it retires the old code at once. A removed code is free for anyone else.
  • Only an approved affiliate has one. When you revoke or reject a member, or delete their standing, their code stops resolving immediately. A revoked member's code stays reserved to them (so it cannot be handed to somebody else by accident) until you delete their row, which frees it. The member can also clear it themselves through the API, which the dashboard does not offer once they are no longer approved.

Once a member has a code, the link on their dashboard and the Link Generator carries the code (…/register?ref=JEFF20) in place of the user id, and the short form …/ref/JEFF20 works too.

Where a visitor types it

The sign-up form has a Have a referral code? link between the Email and Password fields. It opens an optional Referral code field, and a link that already carries a code (?ref= or /ref/) opens it filled in. After a short pause the form looks the code up and shows You Were Referred By and the member's username, or says that the code is not recognised. A code that is not recognised does not block the sign-up: the account is created and nobody is credited, exactly as for a ref that names no user.

The same field accepts a user id, so a link pasted from before personal codes existed still works. The mobile app's sign-up already has an optional referral code field that sends the same value, so a code typed there is read the same way.

Like the link, a code is read once, when the account is created. A member who already has an account cannot attach themselves to anyone afterwards, by a code or by anything else; only an administrator can add the relationship by hand — see Referral structures.

The Referral Program

The Referral Program is the offer for everyone who is not an affiliate. It is made of ordinary conditions with Program = Referral Program, and it differs from the Affiliate Program in three ways:

  • Every reward is one-time — once per friend, ever. The condition editor fixes the schedule to One time for a Referral Program condition.
  • It pays the direct sponsor only. Under BINARY or UNILEVEL the Affiliate Program splits a commission up the chain; the Referral Program never does.
  • The friend can share the bonus. Each condition has a Friend's share next to the referrer's reward, in the same type and currency: a 5% deposit bonus with a 5% friend's share is a 10% bonus split between the two, paid as two rewards on the same first deposit. A condition can pay only the friend (a welcome bonus), or only the referrer.

It runs only while Require Affiliate Applications is on. With the switch off the Referral Program's conditions pay nobody, and the Referral Program page tells visitors it is not running.

Three conditions ship for it, all switched off, so the program starts empty until you decide what to spend:

Condition Paid when Referrer Friend
REFERRAL_WELCOME_BONUS The first USDT deposit that reaches 100 (a USDT deposit, like the welcome bonus it rides on) Nothing 5 USDT
REFERRAL_DEPOSIT_BONUS The first deposit that reaches 10 5% of it 5% of it
REFERRAL_COPY_TRADING_BONUS The friend starts copy trading, from 50 5 USDT 5 USDT

"The first deposit that reaches" is deliberate. The bonus asks whether it has already been paid to this friend, not whether this is their very first deposit, so a deposit under the minimum pays nothing and does not use the bonus up: the next one that reaches it pays. The minimum is compared with the amount of the deposit itself, in the currency it was made in.

The amounts are starting points — edit them on Admin → Affiliate → Program → Conditions → Referral Program, and add your own with New condition (see Commission conditions). Turn a condition on and its title, description and both halves of the reward appear on the Referral Program page. A condition that is off is not listed, and neither is one whose add-on you do not run (the copy-trading bonus without Copy Trading), so nobody is offered a bonus they cannot earn.

The friend's share is a reward like any other: it appears on their Rewards screen with a "Referral Bonus Earned" notification, and they claim it into a wallet through the same claim, payout threshold and KYC gate as an affiliate's.

Setting it up

  1. List who earns today. Open Admin → Affiliate → Program → Rewards and note the referrers who have rewards. They are the people to approve first. Anyone who has already chosen a personal code is approved and needs nothing.

  2. Add them as affiliates. On Applications, open Add an affiliate, choose the member and optionally leave a note. Repeat for each one. They are told they have been approved.

  3. Turn on Require Affiliate Applications on Settings, General tab. From here on, new members who want commissions apply.

  4. Set the Referral Program's rewards. On Conditions, open the Referral Program group, edit the three seeded conditions to the amounts you want and switch on the ones you will honour.

  5. Decide whether the rates are public. Switch Show Commissions off on the Commission tab to keep the rates for approved affiliates.

  6. Look at it as a member does. In a private window, open the Affiliate page and the Referral Program page; then register a throwaway account through a referral link and check the rewards that follow.

Nothing needs a restart: both switches are read from the settings cache, which refreshes when the settings screen saves.

What this does not change

  • Attribution. A referral is still recorded at sign-up, one sponsor per account, and Require Approval on the same screen still decides whether each new referral starts pending. That switch is about referrals; this page's is about affiliates. See Programme settings.
  • Rewards already earned. Nothing is revoked or re-priced. Revoking an affiliate takes away their standing and stops their code resolving; the referrals and rewards they already have stay exactly as they were.
  • How a reward is paid out. Claiming, the payout threshold, the KYC gate and paying in a token apply to both programs. See Rewards and payouts.