Planner
Turns a budget and a time window into a bounded list of intents. It knows nothing about signing or RPC; it knows how much value may move, across which venues, and by when.
in: budget, window, venue mix -> out: intent[]Strip the marketing off a Solana volume bot and you are left with six components, five boundaries between them, and a long list of things that go wrong at each boundary. Engine Room documents those parts the way an engineer would draw them: contract in, contract out, failure mode, trade-off.
General patterns and public Solana mechanics. No vendor internals, no runnable automation.
Almost every automated trading system on Solana decomposes into the same six responsibilities, whether it is one file on a laptop or a hosted service. The names differ. The boundaries do not, because the protocol imposes them: something has to hold keys, something has to build a transaction that fits in a packet, and something has to decide what a missing confirmation means.
Turns a budget and a time window into a bounded list of intents. It knows nothing about signing or RPC; it knows how much value may move, across which venues, and by when.
in: budget, window, venue mix -> out: intent[]A pool of signing accounts treated as one addressable resource. The fleet answers a single question for the rest of the engine: which account can safely sign the next intent right now.
in: lease request -> out: account + nonce stateDecides when each intent is released. It holds the pacing model, the jitter, the concurrency ceiling and the pause switch, and it is the only component allowed to slow the engine down.
in: intent[] -> out: timed releaseConverts one intent into one signed transaction: route quote, instruction list, compute budget, lookup tables, blockhash, signature. Deterministic given the same inputs.
in: intent + route -> out: signed txOwns the network boundary. Submits, resends the identical bytes, tracks credits against endpoint limits, and hands every attempt to the confirmation tracker with a deadline attached.
in: signed tx -> out: signature + attempt logRecords what was intended, what was signed, what landed, what it cost and what it produced. Everything the operator sees is a projection of this store, not a separate count.
in: events -> out: run state, metrics, historyFour notes that carry the rest of the site. Read them in this order if you are trying to build a mental model rather than look up a single mechanism.
The six components every volume engine contains, the data that crosses each boundary, and why the interesting engineering sits in the queue rather than the swap call.
Open the note 02Intent to confirmation in seven stages, the contract each stage owes the next, and the specific way each one fails when the network is busy.
Open the note 03Why a resend on Solana is safe and a rebuild is not, what the blockhash actually guarantees, and how to make the retry loop terminate on evidence rather than on hope.
Open the note 04Treating many signing accounts as one addressable resource: derivation, roles, balance floors, lease semantics and the ledger that keeps the fleet reconcilable.
Open the noteArchitecture answers what the parts are. Pipeline answers what happens to one transaction. Reliability answers what happens when the answer to either of those is no.
An engine that submits perfectly on a quiet afternoon tells you nothing. The interesting behaviour is what it does when the endpoint returns 429, when a blockhash expires mid-flight, and when a signature that never appeared in a confirmation response turns out to have landed anyway.
Why a 1232-byte packet, not compute, is usually the first wall you hit.
Two separate levers, one fee, and how to set both from simulation.
Queue depth as a control signal instead of a symptom.
Turning a budget into a stream of releases that is not a metronome.
The metric set that survives contact with an operator asking what happened.
Four ceilings that stop an engine before compute does.
Both answers are defensible. Building gives you the ledger, the pacing model and the keys, and costs you the weeks it takes to make retries idempotent and rate limits survivable. Running a hosted engine skips that work and moves the trust question somewhere else: you now depend on someone else's queue, someone else's endpoint budget and someone else's definition of a confirmed swap. If you want to look at a working console before deciding which half of the trade you would rather own, the one this desk points at routes across Solana venues and reports each run as a list of signatures.
Engine Room is a documentation desk, not a vendor and not a lab with privileged access. Everything below is a constraint we hold ourselves to, and it is the reason some questions on this site end with "we do not know" instead of a number.
Protocol behaviour comes from Solana's own documentation and from responses anyone can reproduce against a public endpoint. Where a claim depends on a specific validator build or a private endpoint policy, the note says the claim is unverified rather than rounding it into a fact.
We do not claim to know how any particular product is implemented. When a hosted engine is mentioned, it is described by what it exposes to a user, never by an imagined queue or a guessed architecture. A diagram here is a general pattern, not a leak.
Notes publish component contracts, sequence steps and pseudocode. They do not publish copy-paste automation, because a working script is a different artefact with different consequences and it teaches less about why the boundary exists.
A design decision is only useful next to what it costs. More wallets means more rent and more reconciliation. Higher priority fees means better landing and worse cost per successful swap. Notes state both sides or they are not finished.
Protocol constants are stated as constants. Arithmetic is labelled illustrative and uses inputs you supply. There are no performance statistics on this site, no benchmark tables from runs you cannot inspect, and no ratings.
When a note is wrong, it gets rewritten and the change is described in the editorial policy rather than quietly patched. The desk byline is the author because the work is collective and no individual credential is being sold to you.