Skip to content

How Harness works

The technical documentation: how the system is built, what an account is, how a trade is sized, how the agent runs, and exactly what the harness will and will not do to a live position.

Harness is a discretionary trading harness. You decide what to trade and why; it holds the parts of trading that punish a person for being one — sizing off a real invalidation, caps that hold when you would rather they did not, and execution that does not hesitate.

The name is the method. After losing to Deep Blue, Kasparov ran tournaments where a person and an engine played one side, and the strongest entrant was neither a grandmaster nor a supercomputer. The engine removed the blunders; the human kept the question of which position was worth steering toward. This is that division, applied to a book.

On an account you connect to a venue, it places real orders. With credentials you supply it can open a position, move a stop or a take-profit, reduce a position and cancel an order — on your instruction, or on its own within the permissions and risk limits you set.

On a journal account it places nothing. There is no venue and no credentials; fills go in by hand from wherever you actually traded. The same agent, the same review, the same notes — one of them just has a venue behind it.

It is not a broker, an exchange or a custodian, and it holds no funds: your balance stays in your own account at the venue. It is also not the matching engine — orders are routed to Hyperliquid or Lighter, which is a distinction that matters more now that it places them, not less. The full terms are in Terms of Service.

Six pages, in reading order. The two worth starting with depend on what you came for: the risk model if you want to know whether the method is sound, architecture if you want to know whether the thing is built properly.

  • Architecture — Two apps, nine backend services, one database, and why the router is the only way in.
  • Accounts — Two axes rather than a type: what a journal and a desk each are, and what follows from the pair.
  • Risk model — Risk in dollars is the free parameter. Size, leverage and the entry are solved from it.
  • Agent runtime — One loop per account, threads as the unit of work, and what wakes them.
  • Execution — What the harness does to a live position, under which permission, and what it will not do.

Identifiers appear as capabilitiesFor(kind, venue) where naming the actual function is clearer than describing it. This documents the system as it is running, not a plan for it.