Protective exit on outside flow
Sell a position this sniper holds when outside flow after a launch turns weak, with its own tip and a slippage that may widen if the sale reverts. The response time is not measured yet.
How this differs from a gross-buy threshold guard
external_flow sums net flow (buys minus sells) and judges it at one exact slot after creation. A typical launch guard sums outside buys and acts the moment a total is exceeded.
So a continuous guard in Rout is a ladder of rules judged at successive slots, at least one slot behind the flow it judges. Gross-buy semantics need elapsed_flow, whose speed depends on an outside provider's aggregation. Protocol A1 measures both.
The sell rule
{
"proceeds": "native",
"rules": [
{
"name": "g1-fast-fail-weak-flow",
"firing": "once",
"when": {
"external_flow": {
"venues": {
"one_of": [
"pump-fun"
]
},
"quote_mint": "So11111111111111111111111111111111111111112",
"through_slots": 3,
"net_quote_raw": {
"at_least": 0,
"at_most": 9999999999
}
}
},
"sell": {
"amount": "all",
"slippage": {
"start_bps": 2000,
"max_bps": 5000
}
}
}
]
}| Part | What it does |
|---|---|
firing: once | Fires at most once; firings are tracked by rule name. |
external_flow.through_slots | The exact creation-relative slot at which flow is judged. |
net_quote_raw | Bounds on buys less sells, in quote base units (lamports here). at_least 0, at_most 9999999999 means: under 10 SOL net. |
sell.amount: all | Sells the whole holding. |
slippage start_bps → max_bps | Built at 20%; a reverted sale may widen to 50%. Never unbounded. |
tip_lamports (optional) | A tip for this rule's sales only. Absent inherits execution.tip_lamports. |
What the host must provide
Rout/affiliate wallet exclusions, versioned, and proof that the venue-activity stream covered the whole slot span. A definition can't replace either with a hand-written wallet list. A host without them refuses the rule when it builds.
Missing, stale or partial coverage becomes Unknown, and dependent rules fail closed: they don't act on partial data. Engine ask E16 tests this with fault injection. Source: d.ts:599-640; rout-provider-sdk docs/INTEGRATION.md.
How its speed will be measured
Protocol A1 anchors on the threshold-cross slot that the verifier recomputes from chain data, and reports exits landed within the window, false and missed triggers, and the outside flow that entered before the exit. Read A1.
Execution model
How a sniper's transactions are signed, tipped and sent, and what each choice does and doesn't guarantee. Every line is from Rout's spec; none of it is measured yet.
Resend without buying twice
When a batch half-fails, the usual advice is to stop and reconcile by hand, because a blind resend can execute twice. Durable nonces make a resend safe by construction.