Skip to the instrument
QUICKSILVER
engine · idleOpen the composer

Solana · trigger execution

A rule is a decision you already made.

QUICKSILVER watches Solana for the conditions you wrote down and executes when they hold. The path from on-chain event to signed transaction is instrumented end to end, stage by stage.

Nothing on this page is a number we have not measured. Every reading you see set to —— is a reading we have not earned yet.

3 triggers·6 timed stages·quantiles unpublished

Instrument no. 01 — sdf smooth-min · the neck is geometryinitializing
01

Operating
principles

Four rules the engine is built around. They are constraints, not slogans — each one costs us something.

  • State the condition, not the intention.

    A rule is a decision you already made, written down while you were calm. QUICKSILVER only ever executes what is written.

    the one that costs the most
  • Every stage on the path is timed.

    Observe, decide, build, sign, submit, confirm. Six clocks, not one, so a slow stage can be named instead of averaged away.

  • An unmeasured claim is not a feature.

    Numbers appear on this page only after there is a corpus behind them. Until then they read as unknown, on purpose.

  • The operator can stop it, always.

    Halt is an ordinary button in the console and a SHIFT+H shortcut anywhere on the page. It refuses arming, tears down what is armed, and does it before the next stage.

02

Write the rule. Watch it wait.

The composer below runs. Its conditions are the real enumeration, the clause rail validates as you type, arming is a state transition the console counts, and halt tears it down. What it is not attached to is an endpoint: this build configures none, so the console attaches to nothing, nothing is signed, and every reading it cannot take stays a dash.

Rule composer

draft · unsaved
When
Pool liquiditySOL
Pool ageSEC
Holdersat leastADDR
Then
SizefixedSOL
Slippageabort above%
idle

Console

rpc · not attached
Halt takes effect before the next stage, from the button or the shortcut.
Slot——
Subscriptions——
Armed rules0
Stage clock——ms
quicksilver attach
no attach attempted in this session
the console reports what it can see, and nothing else
quicksilver 
Execution feedempty
TimeRuleEventMarketSizeStageSignatureLatency

No executions recorded

The feed writes one row when an armed rule fires. A row requires a transaction signature — the type has no nullable signature field, so a receipt without one cannot be written. It stays empty until then.

03

Distribution,
not average.

One flattering average is the easiest number in this category to publish and the least useful one to read. The tail is where a trigger product actually fails, so the observatory plots the whole distribution and marks the three quantiles that decide whether a rule was worth arming.

Latency observatory

awaiting samples
end to end · observe → confirm
MS — SCALE UNSETDENSITYQUANTILES UNSETp50 · p90 · p99 HAVE NO POSITION ON THIS AXISNO SAMPLES — INSTRUMENT IDLENO AXIS SCALE AND NO MARKER POSITION IS IMPLIED BY THIS DRAWING
Quantile readout
p50
——ms
p90
——ms
p99
——ms
Corpus
state
empty
samples
——
window
——
source
——

The plot reads a distribution because an average hides the tail, and the tail is the part that costs money. No sample has been taken, so the scale is unset and the quantiles are a single bracket over the whole axis rather than three positions you could measure off the picture.

04

Three events, defined precisely.

A trigger is only useful if you can say exactly what fires it. These three ship in v1. Social and messaging triggers are held back because we cannot yet state their detection characteristics honestly.

  1. Trending surface entry

    A token appears on a major trending surface. The surfaces publish ranked lists; QUICKSILVER watches the ones that expose a feed and polls the ones that do not.

    Rank movement is noisy by design, so the trigger fires on entry into a band you set — not on any change. You choose the surface, the band, and how long a token must hold it before the rule counts the event as real. That hold requirement is the whole trigger: without it you are reacting to jitter.

    Watched inputs
    • surface rank feed
    • entry band
    • hold duration
    Characteristics
    unmeasured
    source
    ——
    detection
    ——ms
    coverage
    ——
  2. Enhanced Token Info purchase

    A team pays to enhance its pair listing. The payment settles on chain, which makes it observable the moment it lands rather than when a page updates.

    Watched inputs
    • payment instruction
    • pair binding
    Characteristics
    unmeasured
    source
    ——
    detection
    ——ms
    coverage
    ——
  3. Bonding curve graduation

    A curve completes and liquidity migrates to an AMM pool. The migration is an instruction, so the event has an exact slot rather than an approximate minute.

    Watched inputs
    • migration instruction
    • destination pool
    • slot
    Characteristics
    unmeasured
    source
    ——
    detection
    ——ms
    coverage
    ——
05

Six stages, each one timed.

The stages are a real sequence, so they are numbered. Each carries its own clock; the observatory above sums them. A stage with no reading has not been measured, and we will not fill it in from the others.

  1. 01

    Observe

    The event arrives on a subscription or a poll. The clock starts here, not at your click.

    stage clock——ms
  2. 02

    Decide

    Every clause in the rule is evaluated against the state at that slot.

    stage clock——ms
  3. 03

    Build

    The transaction is assembled: route, accounts, compute budget, fee.

    stage clock——ms
  4. 04

    Sign

    Signed by the key you nominated, in the place you nominated it.

    stage clock——ms
  5. 05

    Submit

    Handed to the sender you configured, with the retry policy you set.

    stage clock——ms
  6. 06

    Confirm

    The row closes when the slot confirms, and the receipt is written.

    stage clock——ms
06

What we will claim, and what we will not.

Every product in this category advertises a speed. Almost none of them say what they measured, where the clock started, or how many samples the number came from. That is not a small omission — it is the whole difference between a measurement and a slogan.

So this page ships empty readings. The observatory is built, the stage clocks are wired, and the quantiles will populate the moment there is a corpus worth publishing. Until then the honest value is a dash, and a dash is what you get.

Claim register

reviewed before release
ClaimEvidence requiredStatus
Latency distribution, p50 / p90 / p99Per-stage timestamps and a published sample corpusInstrument built, corpus not published
Fill price against a reference quoteA named quote source and a written fill modelFill model not defined — claim withheld
Rule success rateA stated denominator: every armed rule, not every attemptDenominator defined, no data yet
UptimeA probe operated by someone other than usProbe not commissioned

We would rather show you an instrument with nothing in it than a number with nothing behind it.

Write the condition once.

The engine holds it, watches for it, and reports what it did — with the clock running the entire time.

Open the composer