mrkeyoor.com_
Sat 15 Aug 16:47 UTC
AI Toolsevaluationupdated 15 Aug 2026

nofx

NOFX is a self-hosted trading terminal that lets a language model inspect market and account data, propose actions, and place trades through connected exchanges. A Go runtime applies hard position, exposure, stop, cooldown, and drawdown rules outside the model, while a React dashboard records decisions and performance.

Verdict

NOFX is an ambitious and thoughtfully constrained experiment, not a system we would trust with meaningful unattended capital. The runtime checks, encrypted credential store, broad exchange surface, and visible reasoning make it worth studying on testnet. Until the project publishes immutable releases, reconciles its documentation with deployed behavior, completes an external security audit, and closes execution and backtest gaps, use a deterministic bot for real money.

Setup3/5Quick containers, followed by serious wallet and exchange setup
Docs3/5Substantial guides, but branch, provider, and version details drift
Community4/5Strong interest and current development, with a large open queue
Maturity2/5No tagged release, no external audit, and live trading bugs remain

Who it’s for

Experienced automated-trading developers evaluating how language models behave inside a constrained execution loop.
Researchers willing to use testnet accounts, tiny isolated balances, and constant monitoring.
Self-hosters who can secure exchange credentials, wallet keys, a public-facing API, and persistent trading data.
Contributors interested in exchange adapters, prompt contracts, risk controls, and auditable decision logs.

Who it’s NOT for

Anyone who cannot lose the full account balance: the project's disclaimer says the experimental software may behave unpredictably and losses can exceed the initial deposit.
Traders who need backtests to mirror live behavior before deployment: an open report documents different decision intervals that materially change trading frequency between the two modes.
Aster users depending on repeated AI-managed protective-order updates: an open issue and still-open fix describe duplicate stop orders reaching the exchange's order limit.
Security or compliance teams requiring an independently audited release: the security policy says no third-party audit is complete, while GitHub shows no releases or tags.
Operators who need reproducible upgrades: the production Compose file uses latest, and the installer explicitly pulls the newest image in place.
Users expecting a fully local system: trading needs exchange services, and the current path relies on external market data and metered model calls paid in USDC.

Setup reality

The Docker installer can put the dashboard on ports 3000 and 8080 in minutes, generating JWT, storage-encryption, and RSA keys into a local .env. A usable trader takes much more work: secure the host, complete the first owner registration before anyone else can, fund the Base fee wallet, connect and fund an exchange, restrict withdrawal rights, set risk limits, and verify every order type on testnet. The default images track latest, so preserve the Compose file, image digests, .env, database, and encryption keys before updating. Building from source adds Go 1.21 or newer, Node.js 18 or newer, separate backend and frontend processes, and documentation drift to resolve.

A serious shell around an unpredictable decision maker

NOFX is not merely a chat box that emits buy and sell suggestions. It is a full trading terminal with a Go API, React dashboard, SQLite storage, exchange adapters, strategy editor, market context builder, model client, and continuous execution loop. Every few minutes, a trader gathers balances, positions, recent trades, price candles, indicators, funding information, and optional quantitative data. A language model returns structured decisions, which the runtime validates before submitting orders.

That separation is the project's best idea. The model can propose an action, but code caps concurrent positions, notional exposure, and position multipliers. It also applies entry throttles and cooldowns, enters protective stop and target orders at the exchange, closes positions after excessive profit giveback, and stops opening new trades after repeated model failures. A launch check verifies model access, fee-wallet funds, strategy configuration, and exchange balance.

These controls reduce the model's freedom to make catastrophic requests. They do not make the strategy profitable or the execution path correct. The project's own disclaimer calls the system experimental, unaudited by financial professionals, vulnerable to bugs and outages, and capable of losing all or more than the initial investment. That is the right frame for the whole product.

The terminal is unusually complete

The dashboard covers positions, orders, performance statistics, model reasoning, strategy configuration, and a public competition ranked by realized return. Nine exchanges are listed in the README, covering centralized venues and perpetuals platforms. On Hyperliquid, the advertised market range extends beyond crypto to tokenized equities, commodities, indices, foreign exchange, and pre-IPO contracts. Availability and legality still depend on the venue and jurisdiction.

Strategy Studio exposes coin universes, candle intervals, technical indicators, entry confidence, risk limits, prompts, and style presets. The underlying strategy documentation clearly maps the path from candidate selection through context assembly, model call, parsing, validation, execution, fill confirmation, and persistence. Recording the full decision and rationale gives operators a useful audit trail when a trade behaves unexpectedly.

NOFX also encrypts stored exchange credentials with AES-GCM and supports RSA-protected transport from the browser. The installer generates the storage, RSA, and JWT secrets rather than shipping fixed values. This protects a copied database, but the decryption keys live beside the deployment in .env; anyone who compromises the running host can seek both. Dedicated exchange subaccounts, blocked withdrawals, IP allowlists, a small maximum balance, and host-level access control remain essential.

One-command installation hides the real job

The advertised installer downloads a Compose file, generates secrets, pulls prebuilt backend and frontend images, and opens the terminal on port 3000. The backend is also mapped to port 8080. The first registered account becomes the owner, so a remote server should not be left publicly reachable while registration is incomplete. Firewall rules and a properly authenticated HTTPS reverse proxy belong in the initial setup, not a later cleanup.

First-run Autopilot asks for at least one USDC on Base for metered model use and at least twelve USDC on Hyperliquid for trading. Those minimums demonstrate the flow; they are not evidence that the economics or risk make sense. Users also need gas, model and data-call costs, exchange fees, funding payments, slippage, and liquidation rules in their evaluation.

The project says credentials never leave the machine, but market and account context necessarily goes to the selected model service for decisions. Current development has also tightened around the Claw402 USDC payment gateway and the Vergex direction-data stack. A July default-branch change removed direct model-provider options from the application code even though the README still advertises eight bring-your-own-key providers. Read the deployed commit, not just the provider table.

Live-money rough edges are not theoretical

An open Aster issue reports that repeated model requests to move a stop created duplicate protective orders until the exchange limit was reached. The proposed fix adds open orders to model context, but its pull request remained open after further activity in August 2026. More broadly, exchange support should not be read as identical behavior across nine adapters. Test opening, resizing, stopping, taking profit, cancelling, reconciling, and emergency closing on each exact venue before trusting automation.

Backtesting also needs skepticism. An open report says the backtest loop and live loop use different decision timing, producing a large difference in action frequency under the example configuration. Another detailed issue describes stop, liquidation, intrabar-price, and same-cycle protection problems in the backtest engine. Even if a historical chart looks attractive, it may not represent the sequence or fills the live trader will experience.

The public leaderboard is interesting for comparison, but realized return alone does not establish repeatability, risk-adjusted quality, survivorship, or a fair benchmark. Model prompts, market window, capital, venue, costs, and exposure settings all shape the number. Use it to inspect behavior, not to select a money-making model.

Activity is high, release discipline is low

The default branch was pushed on August 15, 2026, and GitHub reported 518 open issues and PRs. Tests and container builds ran successfully on that push. Active work covers data feeds, wallet handling, payment accounting, exchange behavior, internationalization, and model integration. This is a lively project with substantial contributor interest.

The publishing story is the bigger concern. GitHub has no releases and no tags. The security policy says v3.x is the current stable release and recommends using it, but there is no immutable GitHub artifact matching that advice. Production Compose follows latest, and the update instruction pulls whatever image currently owns that tag. The repository's default branch is dev, while installation assets fetch main, adding another version boundary users must understand.

For an application handling credentials and autonomous orders, that is not sufficient provenance. Pin image digests, keep encrypted backups with the required keys, stage every update on testnet, and record the commit behind each deployment. Better yet, use NOFX as a research terminal until tagged, auditable releases and stronger live-execution evidence arrive. Its architecture is worth learning from; its operational contract is not yet strong enough for serious capital.

Alternatives

ProjectWhat it isPick it when
FreqtradeA mature open-source crypto bot centered on coded strategies, backtesting, optimization, and dry runs.pick this instead when repeatable rules and a well-established testing workflow matter more than language-model autonomy.
JesseA Python crypto trading framework for developing, testing, and running explicit strategies.pick this instead when you want to own strategy logic in Python and compare it against historical data before live use.
LEANA Python and C# algorithmic trading engine spanning research, backtesting, and live markets.pick this instead when multi-asset quantitative research and deterministic execution are the primary requirements.

What people are saying

  1. [github-trending] NoFxAiOS/nofx

Sources

  1. NOFX repository and README
  2. NOFX disclaimer
  3. NOFX security policy
  4. NOFX production Compose file
  5. NOFX strategy module documentation
  6. Aster duplicate stop-order report
  7. Backtest and live interval mismatch report
  8. Default-branch model-provider change