Configuration surface

There is no settings screen for AI Investments — this is every lever that actually exists, where each one lives, and the controls people expect to find and will not.

5 min readUpdated 3 August 2026settings, configuration, kyc, cron

Most addons on this platform ship a settings screen. This one does not, and that is not an omission waiting to be filled — the product has no platform settings rows of its own. Nothing under Admin → Settings, nothing in .env, and nothing in the settings table is specific to AI Investments.

The configuration surface is the plan row. Everything else on this page is a platform-level control that happens to affect the addon.

The plan is the configuration

Every commercial decision this product makes is a column on ai_investment_plan:

Decision Field
What the return is profitPercentage
Whether users win or lose defaultResult
Smallest and largest ticket minAmount, maxAmount
Which terms it can be bought on the attached durations
Whether it is offered at all status

There is no global default for any of them. A new plan starts empty and you set all of it. Two plans can disagree completely, and a user choosing between them is choosing between two entirely separate products.

See Plans for every field and Durations for the terms.

Platform controls that affect the addon

The extension flag

/admin/system/extension, the ai_investment row. This is the master switch. It controls three things at once: the admin menu entry, the AI Investment tab in the trade order form, and whether the hourly settlement task is registered at all.

The cron registry re-evaluates the flag periodically, so turning the extension off deregisters the settlement job without a restart — and leaves every ACTIVE investment unsettled for as long as it stays off. Users can still read and cancel their investments through the API while the extension is disabled; they simply cannot see the tab.

KYC feature enforcement

Two platform settings decide whether the invest_ai gate is real:

The platform-wide KYC master switch. With it off, no feature gate anywhere is enforced.
Whether per-feature verification is enforced. Off by default, so enabling KYC alone changes nothing.

Both live under Admin → Settings → Features, in the Verification group. With both on, a user may only open an investment if their verification level has the AI Investments feature ticked in the level builder under Admin → CRM → KYC.

There is no separate gate for browsing plans, reading investments or cancelling. invest_ai covers the purchase and nothing else.

The cron

/admin/system/cron lists Process AI Investments under the ai_investment category.

The interval is hard-coded at one hour. There is no screen, no settings row and no environment variable that changes it.

You can trigger a run by hand from the cron screen, which is the correct response to a batch of investments that should have settled and have not. What you cannot do is make it run more often — if you sell hourly terms and the up-to-an-hour settlement lag matters, the only lever you have is that the user's own investment list settles their matured investments in-line when they open it.

The Super Admin

A LOSS settlement credits the forfeited principal to the wallet of the oldest user holding the Super Admin role, and records it as platform revenue. This is not configurable — there is no treasury account setting and no way to nominate a different wallet.

With no Super Admin, that revenue is dropped and logged as [CRITICAL]. When the investor is the Super Admin, it is skipped entirely rather than credited back to themselves.

WIN settlements record a platform loss and involve no wallet, so they are unaffected.

Notification templates

/admin/system/notification/template holds the three seeded templates — NewAiInvestmentCreated, AiInvestmentCompleted and AiInvestmentCanceled. Each has its own email, SMS and push toggles and its own body, and all three ship enabled on all three channels.

AiInvestmentCanceled is never sent by anything in this addon, so its toggles have no effect.

MAIL_DISABLED=true in .env stops the platform attempting any outbound delivery at all. Useful while testing — settlement emits one completion email per investment — and it should be unset in production.

Affiliate conditions

If the mlm extension is enabled, the seeded AI_INVESTMENT condition pays the referrer a percentage of every investment opened by a referred user. It ships at 2% with a minimum of 25 and is enabled; both figures are editable in the affiliate conditions screen.

AI_INVESTMENT_PROFIT is seeded, disabled, and never fired by this addon — enabling it will not make it pay. Settlement deliberately does not process rewards, so the referrer is paid once, on the way in.

Permissions

Fifteen keys, assigned per role at /admin/crm/role. They are listed in full on the install page. The one to be deliberate about is edit.ai.investment, which gates the status actions and therefore the ability to pay out or refund.

Levers that do not exist

Worth knowing before you go looking. None of the following is configurable anywhere, in any screen, setting or environment variable:

There is none. The platform's economics here are entirely the spread between what you take on LOSS plans and what you pay on WIN plans. No fee is charged on opening an investment, on settlement, or on cancellation.

A user cancelling an ACTIVE investment gets the full principal back, always. There is no fee, no forfeited interest and no minimum holding period.

maxAmount on the plan caps a single ticket and nothing else. One user can open any number of investments at the ceiling, and there is no total-book limit that stops the addon accepting more liability than you can fund.

Watch Capital Deployed on the Investment Logs analytics — it is the only place your outstanding liability is stated as a single number.

A plan pays the same percentage on a 1 HOUR term as on a 12 MONTH one. If you want longer terms to pay more, that is a second plan.

minProfit and maxProfit on the plan look like a range the return is drawn from. Nothing reads them. Every investment against a plan settles at exactly the same rate.

There is no screen where you set the result for one specific investment before it settles — other than editing the result column on an ACTIVE row in the Investment Logs table, which is a raw field edit rather than a designed feature.

An investment settles once and ends. Nothing rolls over.

One hourly task settles everything on the install. There is no per-plan or per-duration schedule.

Next: API and data model if you are integrating, or Troubleshooting if something is already wrong.