The seven stages
A transaction submitted through Sinker passes through seven distinct stages. Each stage transition is detected from the live Yellowstone gRPC stream and written to the lifecycle log.Lifecycle entry
Every bundle submission produces aLifecycleEntry written to lifecycle.jsonl. You can read all entries with sinker.getLifecycle() or filter to a single transaction with tx.lifecycle().
LifecycleEntry fields
Unique identifier assigned by the Jito block engine (or a synthetic ID for
faulted/errored submissions).
The slot at which the bundle was submitted.
The validator identity pubkey scheduled to lead
slot_submitted.The tip amount included in this bundle attempt, in lamports.
The live Jito floor snapshot captured at submit time (
p50 / p75 / p95 / ema / stale).The slot the tip transaction was processed in — may drift from
slot_submitted.Submission attempt number for this bundle (1-based; increments on retry).
Strategy that produced this bundle:
agent | bypass | naive.The decision tier the agent submitted under. Empty for script / bypass / naive submissions.
See AI Agent → Two-tier router.
Reflex-only: whether this submission was escalated to the LLM (Cortex).
null when not in reflex mode.ISO 8601 timestamp of submission.
Current lifecycle stage:
submitted | landed | processed | confirmed |
finalized | failed | invalid | unknownStructured failure class when
stage is failed. See Fault Injection
for the full taxonomy.Wall-clock milliseconds from
confirmed to finalized. Observed values on
mainnet: ~11,700–13,000 ms (~29–32 slots) — the protocol’s finalization depth.
(An earlier revision reported ~2.3 s here; that was an instrumentation artifact,
since fixed — see the lifecycle log notes.)The AI agent’s chain-of-thought for this bundle: tip selection rationale,
failure pattern analysis, and escalation decisions.
The
tx_id values from /tx/enqueue that were included in this bundle.Commitment levels
| Level | Slots from tip | Description |
|---|---|---|
processed | 0 | Included in a block. Can reorg. |
confirmed | ~2 | Supermajority vote. Reorg rate <0.1% on mainnet. |
finalized | ~32 | Irreversible under BFT assumption. |
confirmed commitment when fetching blockhashes, giving 148 valid slots (~59s) vs 118 slots (~47s) for finalized. This is meaningful when targeting a specific 4-slot Jito leader window.
Observed latencies (mainnet-beta)
From real bundle submissions during development:| Bundle | submitted → confirmed | confirmed → finalized |
|---|---|---|
| 160974fe | 11,875ms | 2,480ms |
| b9e8b294 | 13,354ms | 2,355ms |
| 4359b58d | 13,053ms | — |
submitted → confirmed is primarily driven by leader window alignment at submission time.