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
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 mostEvery 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.
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
Console
quicksilver attach
no attach attempted in this session
the console reports what it can see, and nothing else
quicksilver | Time | Rule | Event | Market | Size | Stage | Signature | Latency |
|---|
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.
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- p50
- ——ms
- p90
- ——ms
- p99
- ——ms
- 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.
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.
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
- ——
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
- ——
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
- ——
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.
- 01
Observe
The event arrives on a subscription or a poll. The clock starts here, not at your click.
stage clock——ms - 02
Decide
Every clause in the rule is evaluated against the state at that slot.
stage clock——ms - 03
Build
The transaction is assembled: route, accounts, compute budget, fee.
stage clock——ms - 04
Sign
Signed by the key you nominated, in the place you nominated it.
stage clock——ms - 05
Submit
Handed to the sender you configured, with the retry policy you set.
stage clock——ms - 06
Confirm
The row closes when the slot confirms, and the receipt is written.
stage clock——ms
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| Claim | Evidence required | Status |
|---|---|---|
| Latency distribution, p50 / p90 / p99 | Per-stage timestamps and a published sample corpus | Instrument built, corpus not published |
| Fill price against a reference quote | A named quote source and a written fill model | Fill model not defined — claim withheld |
| Rule success rate | A stated denominator: every armed rule, not every attempt | Denominator defined, no data yet |
| Uptime | A probe operated by someone other than us | Probe 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