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.
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:
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.