THESIS docs
v1.1.0
Live demo Get help
● Set up · Your brand

Rebranding
name, colour, logo, copy.

Most of the brand is a setting: change it in the admin and it applies at once. A few strings are written into the HTML files (page title, social preview, favicon); change those once in the code and rebuild.

01In the console, no code and no rebuild

Sign in at /admin, open a section, change the field and press Save changes. The desk and the landing page read the new values the next time they load (users with an open tab see them after a reload). Every save is range-checked and written to the audit log; History can roll it back. Managers and owners can edit; viewers can only read.

What you can changeConsole sectionWhere it shows
Product name (40 characters), tagline (80)Brand (also asked by Get started)Desk top bar, landing page, the browser tab title of both pages once they have loaded, the console's sidebar and sign-in screen
Accent colour (six-digit hex)Brand (also Get started)Desk and landing (swapped at runtime), and the console
Logo (upload PNG, SVG, WebP or JPEG up to 150 kB; links are refused by the security policy)BrandDesk and landing
Support email, support linkBrandLanding page footer
Risk notice (footer), up to 1,500 charactersLegalFooter of desk and landing
Headline, sub-headline, button label, FAQ (up to 20 entries), show or hide the "for operators" section and the FAQLanding pageLanding page
Maintenance mode and message, announcement banner and its style, blocked countriesAccessDesk and landing
Ticker strip, default coin and interval, intervals offered, tradable coinsMarketsLanding and desk
AI on/off, model, effort, hourly and daily limits, house rules for the promptAI chart readingDesk
Paper/testnet/mainnet switches, paper balance, max notional per order, agent key validity, live slippage, the restricted-jurisdiction textTradingDesk
Max leverage, risk per trade, daily loss, trades per dayRisk capsDesk (they can only tighten)
Minimum grade for live runs, walk-forward folds, Monte Carlo runsRobustness labDesk
Which of the three starter templates are offeredTemplatesDesk strategy gallery
Backtest taker fee and slippageBacktest costsDesk backtests
Builder fee, Pro plan (name, price, period, pay-to address, AI quotas, perks), referral link and disclosureBuilder fee, Plans, Referral linkDesk and landing (Earnings)
Anthropic key (owner only), webhook URL and signing secretIntegrations, NotificationsServer only
Team members and roles, two-factor rules, alert rulesTeam, Security & alertsConsole
Brand section of the console with default values: product name THESIS, tagline, accent colour #D7F84A and an empty logo; captured on the read-only demo console, where fields are locked
Brand settings with their defaults, captured on the read-only demo console.
Trading section with its defaults: paper and testnet on, mainnet off, paper balance 10000, max notional 5000, agent key validity 7 days, live order slippage 30 bps
Trading settings with their defaults on a fresh install.

02Walkthrough: your name and colour, before and after

A complete small rebrand, start to finish. The example renames the product to "Northwind Desk" with a blue accent; use your own name and colour.

StepWhat you doBeforeAfter
1. ConsoleSign in at /admin, open Brand, type the new product name and tagline, set the accent to #2F6BFF, press Save changes.Top bar says THESIS, lime accent #D7F84AReload the desk: the top bar, buttons and links use "Northwind Desk" and blue. No rebuild.
2. LogoStill in Brand, upload a PNG or SVG under 150 kB and save.The THESIS markYour logo on the desk and the landing page.
3. Static tagsIn index.html and app.html replace the <title>, og:title and the favicon, then run pnpm build and redeploy.A link preview in a chat app shows "THESIS"The link preview and the browser tab show your name from the first moment.
4. First paintIn src/design/tokens.css set --accent (and --accent-pressed, --accent-soft) to your colour; rebuild.A brief lime flash before settings load on a first visitNo colour flash.
5. CheckOpen the landing page and the desk in a private window.Your name, colour and logo everywhere; History in the console shows the saves and can roll them back.

03What the console cannot change

To be clear about the limits: these are not settings. They need a code change and, for the pages, pnpm build and a redeploy.

  • The title, social preview tags and favicon written in index.html and app.html: link previews and search engines usually read these static values, and they show for a moment before settings load (see the next section).
  • Colours other than the accent, fonts, layout and the dark/light look of the desk: src/design/tokens.css and the files under src/ui/.
  • Language: the interface is English; there is no translation system.
  • The logo in the console: the console shows your product name and accent colour, not the uploaded logo.
  • New strategy templates, indicators or rule types: src/templates.ts and src/strategy/. The console only switches the three existing templates on or off.
  • The list of AI models offered in the console: AI_MODELS in src/shared/settings.ts.
  • Exchanges and markets beyond Hyperliquid perps, and any extra host the browser should reach (which must also be added to the security policy in server/csp.ts and vercel.json).
  • Hard limits: the allowed ranges of every setting (src/shared/settings.ts) and the 0.1 % builder-fee cap.
  • Server settings: ADMIN_SECRET_KEY, DATABASE_URL and the other environment variables (Configuration); they need a restart or redeploy, not a rebuild.

04In the code (rebuild)

Which terminal

The commands on this page are written for the shell of macOS and Linux (bash or zsh). On Windows, run them in WSL (Windows Subsystem for Linux, Ubuntu) or Git Bash: commands such as cp, openssl, set -a && . ./.env and multi-line curl with \ do not work as written in PowerShell or cmd. The node and pnpm commands work in any of them.

The few brand strings that live in files, for a complete rebrand:

FileWhat to change
index.html<title>, og:title, og:description, twitter:title, the favicon (an inline SVG in <link rel="icon">) and the product name written in the page before settings load.
app.html<title>, favicon, the name in id="brand".
src/design/tokens.cssThe default accent (--accent, --accent-pressed, --accent-soft) shown before settings load, plus the rest of the colour tokens.
src/shared/settings.tsDefaults for a fresh install: brand name, tagline, accent, landing copy, FAQ, risk notice.
package.jsonname and description (internal only).
pnpm build                     # after changing any of the files above
Keep the chart attribution

The TradingView logo on the chart is required by the Lightweight Charts licence. Leave it on (Credits).

05Domain and language

  • Domain: the pages use relative addresses, so any domain works. Point it at your host (Deployment).
  • Language: the interface is English, with strings in the TypeScript files under src/ui/ and src/landing/. There is no translation system; translating means editing those strings.