A guided walkthrough from a fresh machine to a running AI trading floor. Seven steps, one optional on-chain layer (SKALE), and an honest estimate for everything that takes longer than the marketing page suggests.
A short list of what you need on your machine and what you can grab as you go. Anything tagged "Optional" can be added later from the dashboard without losing setup.
Download from docker.com. Mac, Windows, and Linux supported. Confirm by running docker --version in your terminal.
Generated when you sign up. Format looks like TF-XXXX-XXXX-XXXX. Stored locally only.
Binance, Bybit, OKX, or Hyperliquid. You will create a trading-only API key in Step 3, no withdrawals enabled.
Unlocks the LLM reasoning brains for each agent. Without it, agents fall back to pure quantitative strategies. Skip and add later if unsure.
Only needed if you want to enable the on-chain provenance layer. The setup wizard can generate a fresh wallet for you. Zero gas fees on SKALE.
Most users finish in 10. Step 3 (exchange API keys) is the slowest because exchanges have their own quirks. Plan accordingly.
TrAIding Floor ships as a Docker compose stack. You do not install Python, manage virtualenvs, or configure system services. Pull the repo, run one command, and the floor and dashboard come up together.
docker compose up -d to start everything in the background.If you do not have git installed, download the release zip from the releases page on GitHub and run the same docker compose up -d from inside the unzipped folder. The result is identical.
Most install failures are Docker not running. Open Docker Desktop, wait for the whale icon to stop animating, and retry. See Troubleshooting for the rest.
The setup wizard opens with the license screen. Paste your key, press Validate Key, then Continue.
user-data/license.key on your disk.The dashboard will not advance past Step 02 without one. Grab one from the marketing site or contact support, then come back. Your progress on Step 01 (Docker stack) stays as-is.
This is the one step that is genuinely worth slowing down on. You will create an API key on your exchange and paste it into the wizard. The single rule: disable the withdraw permission on the API key. Even if your laptop is compromised, an attacker cannot drain funds with a trade-only key.
| Permission | Setting | Why |
|---|---|---|
| Read | Enabled | Required for fetching balances, orderbooks, fills. |
| Spot & margin trade | Enabled | Required for placing and cancelling orders. |
| Futures trade | Enabled (if you want perp strategies) | Funding-rate arb, basis arb, and momentum perps need this. |
| Withdraw | Disabled | Never enable. The floor will never need it. This is your safety net. |
| Internal transfer | Disabled (recommended) | Optional. Some users enable for futures-spot rebalancing; only do this if you understand the risk. |
| IP whitelist | Set to your home/static IP if available | Cuts attack surface in half. Skip if your ISP rotates your IP frequently. |
Dropdown with Binance, Bybit, OKX, Hyperliquid. Hyperliquid uses wallet credentials instead of API keys.
OKX also asks for a passphrase. Hyperliquid asks for the wallet address and an API-only private key.
The wizard fetches your USDT balance over the API and reports success in under a second. Press Continue if green.
If you see a non-zero balance and a green confirmation, your keys are valid. If you see a 401 or "invalid signature", your secret was probably truncated when copy-pasting. Some exchanges break copy-paste with hidden characters at the end. Re-copy and try again.
Even with valid live keys, you can choose Paper mode in Step 05. The floor will use real prices but simulate orders, so nothing executes against your exchange account. Recommended for the first 24 to 72 hours.
Each agent has two layers: a deterministic strategy core, and a reasoning brain that uses Claude to interpret market regime, ratify or veto its own signals, and explain its decisions in plain English. The brain layer is optional. Without it, every strategy still runs and every agent still trades, just without the reasoning narrative.
Format starts with sk-ant-api03-. Stored locally in user-data/.env, never sent to us.
Sends a tiny test prompt to confirm the key works and you have credit.
If you want to start with quant-only strategies, click "Skip for now" instead. You can paste the key later from the dashboard settings panel.
Brains earn their keep when markets shift regime. In trendy or quiet markets, pure quant agents perform almost as well as brain-enabled agents. Save the brain budget for when you have actually run the floor for a few weeks and want the extra adaptability.
Three small choices. None of them are permanent: you can change capital, mode, and risk live from the dashboard at any tick.
A whole-USD number. The floor will allocate slices of this across the active agents. Most first-time users start with $1,000 in paper mode, then bump to a real amount once they trust the behavior.
| Level | Max drawdown | Max leverage | Recommended for |
|---|---|---|---|
| Safe | 10% | 2x | First-time users, small accounts, testing |
| Moderate | 20% | 4x | Default. Most active users sit here. |
| Aggressive | 30% | 6x | High conviction only. Larger swings expected. |
Start with Paper + Moderate + $1,000. Watch for one full trading day. Then either flip to Live + Moderate + your real size, or back off to Safe if the volatility was uncomfortable.
SKALE is a multi-hub Ethereum L2 with one key property: zero gas fees for end users. Each "hub" is a full EVM chain that the network operator subsidizes for application developers. We use it for things that should be cheap and frequent: writing an agent identity once, anchoring a hash for every trade decision, settling small machine-to-machine payments. On Ethereum mainnet, this would cost dollars per write. On SKALE, it costs nothing.
We default to SKALE on Base, the newest hub purpose-built for x402 and ERC-8004.
Mainnet chain id 1187947933, testnet (Sepolia) chain id 324705682.
First-time deployers always use testnet. There are eight production x402 facilitators to choose from
(autoincentive, corbits, relai, kobaru, payai, primer, x402x, ultravioleta) and the wizard lets you
pick whichever one your agents already trust.
Every floor agent gets a stable on-chain identity that any external system can resolve. This is how a third-party signal market knows that "head_trader@your-floor" is real and what its track record looks like.
Before each trade fires, the agent's reasoning is sha-256 hashed and written to a SKALE event log. The hash commits to the reasoning before the outcome is known. You can prove later what the AI was thinking, without ever revealing the raw reasoning.
The Head Trader can pay external signal providers in USDC via the x402 HTTP protocol, settled on SKALE per query. Your own agents can expose paid signals the same way. This is how machine-to-machine markets for alpha actually work.
| Item | On-chain? | Why |
|---|---|---|
| Agent identity bytes32 | Yes | Public ID for cross-system lookup. No personal data. |
| SHA-256 hash of trade reasoning | Yes | 32 bytes per trade. Tiny, append-only event log. |
| Pay-to address for x402 signals | Yes | Public, on purpose. So payers know where to send USDC. |
| Raw reasoning text | No | Stays in your JSONL log on disk. Hash commits to it without revealing it. |
| Exchange API key, secret, passphrase | Never | Lives in user-data/.env on your machine, full stop. |
| Position size, P&L, balances | No | Private to your floor. Hashes do not include them. |
The SKALE step in the setup wizard has three sub-screens. Each sub-screen has a clear default, so you can usually press Continue.
Disabled is the default. Trading works identically with it off. If you turn it on, the wizard reveals the wallet generation screen.
The wizard can generate a fresh BIP-39 mnemonic plus address for you. Save the mnemonic offline before continuing. Or paste an existing EVM address; the private key is optional.
Default is SKALE on Base testnet (chain id 324705682). Mainnet (1187947933) is one click away once you've shipped on testnet. Pick one of the eight production x402 facilitators, or leave blank to let the local sidecar verify on-chain directly.
If you want to actually anchor trades on-chain, you need three contracts deployed under your wallet: AgentRegistry (ERC-8004), TradeLedger (event log), and FLOOR (your governance token). The repo ships a one-shot deploy script that handles all three.
python -m contracts.deploy --generate-wallet
Mints a fresh BIP-39 mnemonic, prints the address, writes it to user-data/.env. The mnemonic is shown once.
python -m contracts.deploy --check
Polls the deployer balance every 5s, prints "ready" when sFUEL arrives.
python -m contracts.deploy --network skale-base-testnet
Compiles + deploys all three contracts, writes their addresses back to user-data/.env, sets SKALE_ENABLED=true. Mainnet uses --network skale-base.
python -m dashboard.health
Shows the live capability matrix in your terminal. The four SKALE-related rows should flip from "sim" to "LIVE".
The mnemonic is shown once. Write it down on paper, or save it in a password manager, before pressing Continue. We do not store it server-side because we have no server. If you lose it, the wallet is gone.
Then you skip the step. The floor runs with all 11 agents trading. The on-chain layer can be enabled later by re-opening the setup wizard at /setup and pressing through to Step 06. Existing trades will not be back-anchored, but new ones will.
Press Start Trading on the review screen. The wizard saves your config to
user-data/.env and settings-override.yaml, then redirects you to the dashboard.
/appThe Head Trader has its own page at /head-trader. It shows the rebalancing decisions as they happen, with a chat-like reasoning trail (if you enabled the AI brain in Step 04). This is where you will spend most of your inspection time after the first day.
The whole point is autonomy. After the first hour of watching, close the tab. The floor keeps running. Come back tomorrow, look at P&L, drawdown, and the head trader's reasoning. Adjust risk if needed.
Most users do nothing in the first 24 hours and that is correct. After your first session, here is what to look at.
Drag a slider to bias capital toward agents that are working in the current regime. The Head Trader will respect your bias unless its risk officer overrides it.
From /head-trader you can pin a strategy on or off, force a rebalance, or pause the entire floor. All overrides are logged.
Drop from Aggressive to Moderate at any tick. The Risk Officer redistributes within the new envelope on the next rebalance.
From the dashboard settings, flip the mode. The floor flushes paper positions and starts fresh against your real exchange. There is no migration of paper trades into live.
If you enabled SKALE in Step 06, you can see your agent identities, the trade ledger event log, and the x402 sidecar health from the dashboard's SKALE Floor view.
The Auto Ensemble agent learns weights for all the others and proposes new strategies after enough data. You will see them appear in the agent grid tagged "AI-Discovered".
The most common reasons setup or first-run fails. Try these before opening an issue.
Docker Desktop is not actually running. Open the app, wait 30 seconds for the whale icon to stop animating, then re-run docker compose up -d.
The dashboard container is still starting. Run docker compose ps to confirm the container is up. If it shows "Restarting", inspect logs with docker compose logs dashboard.
Your secret was probably truncated when copy-pasting. Re-copy from the exchange portal, paste into the wizard, and try again. Make sure no leading or trailing whitespace.
Your Anthropic account has zero credits. Top up at console.anthropic.com, or skip Step 04 and run quant-only mode.
Address must be 0x followed by 40 hex characters. Private keys (if provided) must be 0x followed by 64 hex characters. Re-paste, or click "Generate Wallet" to start fresh.
Setup did not finalize. Open user-data/.env and confirm it contains your real values. If it is empty, re-run the wizard at /setup and finish the Confirm step.
Open a GitHub issue with: your OS, the step that failed, and the last 50 lines of docker compose logs. Most issues are diagnosed in one round-trip.
TrAIding Floor © 2026
Trading software, not financial advice. Past performance does not guarantee future results.