AI Desk · :8030 Suite Home
:8030

AI Desk

Connect any AI to your own Gunbot. The desk screens your enabled pairs, asks your model to pick one, runs the answer through a fail-closed risk gate, and delivers the surviving order as a signed webhook, a REST call, or both. Your exchange keys never enter the desk — they stay in the bot you already control.

Default mode PAPER
Providers 14 + any compatible endpoint
Exchange keys never enter the desk
Your model decides. The desk decides what it is allowed to decide.
Propose, never dispose

The model picks from a pre-filtered candidate list, by index. There is no field through which it can name a pair, a size or a price, because there is no code path that would read one.

Your keys stay put

Exchange credentials never reach this desk. It acts by asking a Gunbot you already run. AI provider keys are sealed per user in an encrypted vault that fails closed without its master key.

Fail closed, everywhere

Missing limits, an unknown pair, no real price, an unarmed desk, a damaged config file — each one blocks the order instead of guessing. A store it cannot read is never read as empty.

Bring your own model

OpenAI, Anthropic, Gemini, Grok, every open-weight model on OpenRouter behind one key, a local Ollama, or any OpenAI-compatible endpoint you host yourself.

Signed delivery

Outbound signed webhook, Gunbot REST, or both. Idempotent so a retry cannot double an order, retry-bounded so it cannot hammer, and SSRF-guarded so it cannot be pointed inward.

A chat trading floor

Run LibreChat in front of the desk and every conversation becomes one AI trader — its own market, its own bankroll, its own risk budget. Ask it to trade; it still goes through the gate.

What happens between your model and your exchange
01
Universe
Your Gunbot-enabled pairs, minus anything you have paused, intersected with your mandate's allowlist. Nothing outside that set is visible to the model.
02
Screen
The quant screener scores the survivors and hands over a short candidate list, each with the actions that are actually legal for it right now.
03
Propose
Your model picks one candidate by index, names an action from the offered set, and states a confidence. A baseline picks too, so you can see who was right.
04
Gate
Order size, open positions, total exposure, price deviation, orders per minute, the daily loss limit, the arm state. Any one of them refuses and the order stops here.
05
Deliver
The surviving order goes to your Gunbot, signed — or to the paper ledger. Either way the journal records the decision, the refusals, and which it was.
Seven things have to be true before a real order leaves
1 · The environment lock

An environment variable set outside the UI. Nothing you can click turns this on.

2 · Paper mode off

Through its own guarded setter, which refuses without the lock above. A general config patch cannot reach it.

3 · An arm token

Presented deliberately to arm the desk — and it lapses. An arm does not survive forever, or a restart.

4 · A transport that can deliver

A configured, enabled webhook or REST destination. No destination means paper, and the result says so.

5 · A real price

Live orders are refused unless a real price for that pair came back from Gunbot. A real order sized off a simulated price is the one bug this desk will not ship.

6 · Every risk cap satisfied

Read from your limits file at order time. If that file is damaged the cycle refuses rather than falling back to somebody else's defaults.

7 · The kill switch clear

One switch halts the desk, and a daily loss limit trips it on its own. Reset is deliberate.

And no silent substitution

If your model is unreachable, the cycle skips. It does not quietly trade its own baseline under your model's name, and every surface reports live as live and paper as paper.

One process, on your machine
bash
# your Gunbot is already local — this keeps the rest local too
$ pip install -r requirements.txt
$ python run_local.py

# UI and API on one port, bound to loopback only
http://127.0.0.1:8030
# first run generates real secrets, builds the UI, starts in paper mode

Pair it with a local Ollama and nothing leaves your computer at all. Exchange keys stay in Gunbot, AI keys stay in the vault, orders go to a bot on the same machine. For a deployment other people reach, there is a Docker compose file and a deployment guide — read the guide first.