Responding to Solana network conditions while you are still trading

Knowing that the network is contended does not by itself tell you what to do about it. Response is a separate discipline, and it splits cleanly in two. While a condition is running you are managing exposure with degraded information, so the useful moves are the ones that reduce the cost of being wrong. After it clears you have complete information for the first time, so the useful move is a single deliberate change to the settings that failed you.

Both halves work better when they are decided in advance. A stopping rule written on a calm day is a rule; the same decision made during a bad session is a mood. This section covers the working posture for a contended period and the reading pass that turns the session afterwards into something you can act on.

during reduce cost Smaller units, explicit deadlines, honest fee budget, safe retries
stop rule pre-written A threshold decided calmly, not a judgement made while losing
after read first Your own timeline, then the official write-up, then one change
change one at a time Two simultaneous changes teach you nothing about either

2 reports in this section

What to change while conditions are bad and what to do once they clear: sizing, fee posture, retry discipline, pausing rules, and the reading pass that turns an incident into a settings change.

Trading through congestion

A working posture for periods when inclusion is expensive and uncertain: smaller units, explicit deadlines, honest fee budgets, idempotent retries and a rule that tells you when to stop.

Open the report

After an incident

The reading pass that turns a bad afternoon into a settings change: reconstructing your own timeline, matching it against official post-incident publications, and deciding what to alter.

Open the report

The rule that saves the most money

Stop sending. It sounds too simple to be a technique, and it is the response most operators reach last, after an hour of raising fees into a window that was never going to include them. A contended period ends. The trade you wanted may not still be there afterwards, which is a real cost, and it is a smaller cost than an unbounded retry loop paying for inclusion it does not get. Write the threshold down before you need it, and let the rule make the decision.

SituationWeak responseBetter responseWhy
Repeated rejections on one pairRaise the fee and resend fasterHalve the size, widen the deadline, resend onceContention is per account; smaller and slower competes better than louder
Every venue failing at onceRewrite the routing logicPause and check for a declared incidentA chain-wide condition is not fixed by your code
Unknown outcome after a timeoutSend a replacement immediatelyResolve the original signature firstA replacement can execute alongside the original
Session over, still angryChange five settings tonightWrite the timeline, change one settingOnly one change per event is attributable to the event