Skip to content

Launch a DEX

Your name, logo, theme, and enabled markets — on the platform’s execution, market-data, and risk engine. Traders get a full trading front end; you get the storefront.

DEX launch is signup-then-configure: you provision your tenant over the API, then brand and configure the storefront from the admin console.

signup ──▶ verify ──▶ tenant provisioned ──▶ brand & configure ──▶ live
(API) (API) + admin invite (admin console)

capabilityLayers defaults to ['L1_DEX'], so a plain signup already asks for a DEX.

Terminal window
curl -s https://api.troncharts.xyz/api/public/tenants/signup \
-H 'content-type: application/json' \
-d '{
"email": "founder@acme.xyz",
"slug": "acme",
"displayName": "Acme Markets"
}'
# → { "ok": true, "signupId": "…", "slug": "acme", "emailed": true, … }

Use the token from the email:

Terminal window
curl -s https://api.troncharts.xyz/api/public/tenants/verify \
-H 'content-type: application/json' \
-d '{ "token": "…" }'
# → { "tenant": { "id": "…", "capabilityLayers": ["L1_DEX"], … },
# "adminInvite": { "username": "…", "inviteUrl": "…" },
# "operatorCredential": { "apiKey": "…", "apiSecret": "…" } | null }

Accept the adminInvite to get into your admin console. If an operatorCredential came back, that is your API credential — the secret is shown once.

From the console:

Setting Where
Brand name, logo, colours Studio → Branding
Theme preset Studio → Theme
Feature flags Studio → Feature flags
Enabled venues and markets Risk → Markets → Venues

Read the effective config back over the API at any time — handy for mirroring it into your own front end. Mint $TOKEN from your credential at POST /api/auth/api-token, and send X-Tenant-Slug so the call resolves to your tenant — without it you get 404 {"error":"unknown_tenant_origin"}. See Tenancy.

Terminal window
curl -s https://api.troncharts.xyz/api/v1/tenants/me \
-H "authorization: Bearer $TOKEN" \
-H "x-tenant-slug: $TC_TENANT_SLUG"
# → { id, displayName, vertical, capabilityLayers, capitalMode,
# branding, theme, flags, venues, plan, … }

Sub-resources: /api/v1/tenants/me/branding, /theme, /flags, /venues, /plan. These are read-only unless your credential carries tenant:config, in which case branding, theme, and flags become writable over PATCH — the “bring your own front end” path. The operatorCredential from step 2 does not carry it: it is minted with firm:operate and prop:manage only, so ask for a tenant:config credential from the console if you want programmatic writes.

Once branding and venues are set, your trading front end is live at your configured domain. Traders authenticate, fund, and trade against the venues you enabled. The tenant is resolved from your domain, so no header wiring is needed in the browser — see Tenancy.

A DEX and a prop firm compose — run both from the same tenant. See Launch a prop firm.