Skip to main content
v0.1.0 · the camp is open

Permafrost. Your AI trading desk,
locked in the ice.

A Go framework for self-custodied algorithmic trading. Write deterministic strategies, optionally augment them with an LLM, and run them locally on a real arctic-themed operator dashboard.

Pole the Polar Bear, Camp Director
Camp Director
quick start

One command, from clone to decisions

~/permafrost
# Clone, build, run. Idempotent: re-run any time. $ git clone https://github.com/teslashibe/permafrost.git $ cd permafrost $ make demo # Brings up Postgres + permafrostd in Docker, runs the init wizard, # spins up a paper-mode noop agent, and tails its decisions.  Pip is on the ice. [tick 1] confidence=0.00 swaps=0 orders=0 notes="noop" [tick 2] confidence=0.00 swaps=0 orders=0 notes="noop"

What you get out of the box

Six things the framework gives you on day one. Bring your own strategy.

Open framework, your strategies

Drop a folder under strategies/, register in init(), add one blank import to enable it. Same shape as Hummingbot, in Go.

Self-custodied by design

Spot positions live in your own wallet. Perp orders are signed by your local keystore. No exchange custody, no rehypothecation.

AI augments, never invents

Strategies are deterministic Go. The LLM can veto entries, score candidates, and tune thresholds -- but never produces orders directly.

Auditable to the prompt

Every decision is persisted with the exact prompt, model response, and resulting on-chain action. Joinable in TimescaleDB.

Real killswitch

agent stop --all cancels every open order, flattens shorts via reduce-only market orders, and (opt-in) liquidates spot legs back to USDC.

Reconciliation built in

Framework state matches venue truth after every tick. Drift is detected and surfaces in the decision log; the killswitch can engage on persistent drift.

The Expedition

Permafrost uses a polar-camp metaphor for every moving part of the framework. Click any character to see what they do.

Ready to ship a strategy?

Five minutes from clone to a working scaffold. Write the logic; the framework handles the rest.