Invalidation, Not Hope: The Sentence You Write Before Entry
An invalidation is not a stop loss and not a target. It is the condition that makes the reason for your trade untrue, written down before you enter, in terms specific enough that checking it requires no judgement and ending the position requires no new argument.
- Situation
- A position is open and the reason for it may or may not still hold
- Mechanism
- A reason stated in observable terms can be checked; a feeling cannot
- Rule
- Every position carries one written invalidation, checked on a fixed schedule
- Cost
- Invalidations fire on noise and end trades that would have recovered
- Invalidation
- The invalidation itself references something you can no longer observe
An invalidation is a sentence, written before entry, stating the observation that would make the reason for your trade untrue. It is not a target and not a money limit. Its test is simple: when the condition is met, closing the position should require no new argument, because the argument was already made and has now been contradicted.
What an invalidation is and is not
Start with the distinction that causes the most confusion. A stop loss answers the question of how much this trade may cost. An invalidation answers the question of whether the trade is still the trade you took. Those are different questions and they resolve at different moments. A position can be wrong long before it is expensive, and expensive long before the reason for it has been contradicted.
An invalidation is also not a target. A target says where you would like to be right. An invalidation says where you accept you were wrong. Traders write targets easily and invalidations reluctantly, which is itself informative: the second requires admitting in advance that the trade might not work, in specific terms, in writing.
The defining property is that it removes the need to think at the worst moment. If the sentence is specific, checking it is a lookup and acting on it is mechanical. If the sentence is vague, then at the moment it matters you will be constructing an argument, under pressure, with an unrealised loss on the screen, and the argument will reliably conclude that you should wait.
One more thing it is not: a prediction. Writing an invalidation does not commit you to a view about what price will do if the condition is met. It commits you to leaving. What happens afterwards is not your concern and, importantly, is not evidence that the rule was wrong. A rule that is judged by what happened after you left is not a rule.
Four kinds of invalidation
| Kind | Belongs to a trade entered because | How it is checked | Characteristic weakness | Cost |
|---|---|---|---|---|
| Structural | A market-structure fact was true, such as pool depth or venue coverage | Read the pool account or the venue and compare against the recorded figure | Structure can degrade slowly and never cross the threshold cleanly | You will exit on temporary withdrawals that reverse an hour later |
| Flow | Observed order flow had a particular character | Recount distinct signers and buy and sell balance over a fresh window | Flow measurement is noisy over short windows | Frequent false triggers unless the window is long enough to be slow |
| Price | Price itself was the reason, such as a level that had held repeatedly | Read the quote | Easy to check, and easy to apply to trades whose reason was not price | In thin pairs the level is often crossed in a single transaction |
| Time | The situation had a natural lifespan, such as a first hour or a migration | Look at the clock | Knows nothing about conditions at all | Ends positions mid-move with no reference to the market |
The table is meant to be read with your entry reason in hand. The rule is that the kind of invalidation must match the kind of reason. A structural entry with a price invalidation is a mismatch, and mismatches are where the sentence stops doing any work: price can wander far without the structure changing, and the structure can collapse while price is briefly flat.
How to write one
- State the reason for the trade in one sentence. If this takes more than one sentence, the trade has more than one reason and needs more than one invalidation, which usually means it should be smaller.
- Identify the observable the reason depends on. Depth, signer count, venue, holder concentration, price, elapsed time. Pick the one that would change first if the reason stopped being true.
- Record its current value. The number you can see now, from a named source. Without this the later comparison has nothing to compare against.
- Choose the threshold. The value at which you would no longer have taken the trade. Not the value at which you would panic, and not a round number chosen for its shape.
- Write the sentence. "If quote-side reserves fall below 180 SOL as read from the pool account, the position closes." One clause, one observable, one action.
- Write the check interval. How often you will look, decided now, so that the schedule is not set by how the position feels later.
- Write what you will do if you cannot check. Interfaces fail and data goes missing. An unverifiable invalidation is a triggered invalidation unless you decided otherwise in advance.
Bad invalidations rewritten
"I will get out if it breaks down" is not an invalidation, because breaks down has no definition and the sentence contains no observable. The rewrite depends entirely on why you entered. If the reason was that a pool held depth adequate for your size, the rewrite is a reserve threshold. If the reason was that flow looked distributed, the rewrite is a signer count over a defined window.
"I will exit if the thesis changes" is the same failure in more sophisticated language. A thesis that can change without any observable changing is not a thesis, it is a mood. The rewrite is to name the observation the thesis rests on and set the threshold there.
"I will give it room" is the most dangerous of the three, because it sounds like patience and functions as an unlimited extension. If room is genuinely required, that is a sizing decision made before entry, not a licence granted afterwards. A position sized so that it does not need room is the honest version of the same instinct.
The silent widening
The characteristic failure is not ignoring an invalidation. It is moving it. The condition approaches, a reason to wait appears, and the threshold shifts a little. Nothing is written down because nothing feels like a decision. The defence is mechanical: the original sentence is in the journal with a timestamp, and any change is recorded as a change, with the date and the reason. A widening that survives being written down is at least a choice.
A worked example, entry to close
Illustrative walkthrough
Invented figures, describing no real trade. The reason for the entry is structural: a post-migration pool holds 240 SOL on the quote side, which permits a position whose full exit stays inside a two percent impact limit. That is the whole reason, and it references exactly one observable.
The invalidation follows directly. The threshold is the reserve level at which the existing position would no longer satisfy the impact limit, which here is 150 SOL. The sentence reads: if quote-side reserves fall below 150 SOL as read from the pool account, the position closes on that reading. The check interval is every two hours, and the fallback for an unreadable pool account is to treat the condition as met.
Three hours in, price has fallen eighteen percent and reserves read 232 SOL. Nothing has been contradicted. The reason for the trade was depth, not direction, so an eighteen percent drawdown is uncomfortable and irrelevant to this particular sentence. If eighteen percent is intolerable, that is a sizing error made earlier, and the honest correction is to size differently next time rather than to invent a new exit now.
Six hours in, reserves read 143 SOL. The condition is met and the position closes. Whether price rises afterwards is not evidence about the rule, because the rule was never a forecast. What the record now contains is a reason, a threshold, a reading and an action, which is enough for a review to say something useful about the method.
The walkthrough is deliberately undramatic, and the undramatic part is the point. Most of the value of an invalidation appears in the hours when nothing needs to be done, because the sentence is what stops a drawdown that contradicts nothing from being converted into a decision.
Checking on a schedule, not on a feeling
Continuous monitoring feels diligent and is corrosive. Every fluctuation becomes a decision point, and decisions made repeatedly under mild stress converge on whatever reduces immediate discomfort. Checking when the position feels bad is worse, because the schedule is then set by exactly the input the whole method exists to exclude.
A fixed interval avoids both. The interval should match the situation: a first-hour trade may warrant checks every few minutes, a post-migration position every few hours, a structural position daily. What matters is that the number was chosen before the position existed and is recorded next to it.
The interval also bounds a real cost. Checking has a price in attention and in transaction costs when checks lead to adjustments. A trader running many positions with continuous invalidation monitoring is running an operations job, and the honest response is to hold fewer positions rather than to check less carefully.
Risks you cannot invalidate against
Some risks have no observable that precedes them, and pretending otherwise is worse than admitting the gap. A liquidity position being withdrawn in a single transaction is one: you can observe it afterwards, not before. A large holder deciding to sell is another. Contract-level failures are a third.
For these the only instrument is size. If a risk cannot be invalidated against, it must be sized against, which means the position is small enough that the unobservable event is survivable. This is the point at which sizing and invalidation stop being separate topics: every risk you cannot write a sentence about is a risk that has to be paid for with a smaller position.
Delegated execution belongs in this category. The moment a program, a service or a bot acts on your behalf, you inherit risks that no price-based condition covers: key handling, permissions, execution failures and the behaviour of whoever operates the software. That is why volume bot safety is a custody and permissions question rather than a market question, and it is answered by reading what the tool is allowed to do with your keys, not by watching a chart.
The same reasoning applies to any tooling you rely on for the observations your invalidations reference. If your structural condition depends on a dashboard, then the dashboard is part of your risk. Reading the methodology behind a tool such as Solana Volume Bot Pro or any other data surface is not a formality; a threshold computed on a number you do not understand is a threshold you cannot defend.
The invalidation rule set
Rule one: one sentence, written before entry
No position exists without a recorded invalidation containing one observable and one threshold. Cost: some entries expire while you write it. Failure case: the sentence is written but references something you cannot actually check quickly.
Rule two: match the kind to the reason
A structural entry gets a structural invalidation, a flow entry a flow invalidation, and so on. Cost: structural conditions are slower to check than price. Failure case: the reason was mixed and no single observable captures it, which is a signal to size down rather than to pick one arbitrarily.
Rule three: changes are recorded, never silent
Widening or moving an invalidation is permitted and must be written down with the time and the reason. Cost: none, other than the discomfort of seeing the pattern in your own record. Failure case: the record is kept and never read, which makes it decoration.
How invalidations fail
They fail on execution. The condition is met and the exit is only available at a much worse price, which happens routinely in thin pairs where a single transaction can move price past the level. The rule still worked as information. Whether the outcome is survivable was decided earlier, by sizing.
They fail on noise. Any threshold tight enough to protect you will sometimes fire on movement that meant nothing, and every trader who widens thresholds in response is trading false triggers for larger real losses. This is a genuine trade-off with no correct answer, and the only mistake is pretending you have optimised it.
They fail on measurement. If your condition references depth and the interface reports a different figure than the pool account, the trigger fires or fails to fire for reasons unrelated to the market. Reading the primary source, using an explorer such as the Solana explorer, is slower and considerably more reliable.
And they fail through accumulation. A trader who writes an invalidation for every position and never reviews them has a folder of sentences rather than a method. The value appears only when a month of them is read together, which is the argument for the trade journal schema set out in the playbooks section.
Questions the desk gets asked
What is an invalidation level in trading?
It is a pre-written condition which, when observed, means the reason for the trade is no longer true. It is checked rather than judged, and when it is met the position closes without requiring a fresh argument. A price level can serve as one, but an invalidation is defined by the reason it references, not by being a number on a chart.
How is an invalidation different from a stop loss?
A stop loss is a risk limit expressed in money: it caps how much a position can cost you. An invalidation is an epistemic condition: it says the belief behind the trade has been contradicted. They often coincide and they answer different questions, and a complete plan usually carries both, because a trade can be wrong before it is expensive and expensive before it is wrong.
Should an invalidation be based on price?
It can be, if price is genuinely what your reason referenced. If you entered because pool depth supported your size, the honest invalidation is a depth reading, not a price. Using price for everything is convenient because price is always on screen, and it quietly disconnects the exit from the reason for the entry.
What if the invalidation triggers on noise?
That is the cost of the rule and it should be written down as such. Any threshold tight enough to protect you will sometimes fire on movement that meant nothing. Widening it reduces false triggers and increases the loss you carry when it is real. There is no setting that avoids both, and choosing one is a preference rather than an optimisation.
Can you change an invalidation after entering?
You can widen the record but not the rule. Writing a note that says you moved the invalidation, when, and why, keeps the record honest and makes the behaviour visible in review. Silently moving it is the single most common way a small planned loss becomes a large unplanned one, and it is invisible unless the original sentence was written down.
How often should you check the invalidation?
On a fixed schedule set in advance, not continuously and not when the position makes you uncomfortable. Continuous checking converts every fluctuation into a decision point; checking when uncomfortable means the schedule is set by emotion. A defined interval, chosen to match the situation the trade belongs to, avoids both.
Do invalidations work in fast markets?
They work as decision rules and they can fail as execution. In a thin pair price can move past the level in one transaction, so the condition is met and the exit is available only at a materially worse price. The rule still did its job by telling you the trade was over; sizing is what determines whether the failure is survivable.
Filed in Risk rules by The Liquidity Tape Desk. Mechanisms on this page are described from protocol design and public documentation; every number in an example is labelled illustrative and describes no real trade. The standard the desk holds itself to is set out in how rules are written.