Skip to content
All tools
Tool

Convert a Solana slot to estimated time

Estimate time from a known slot anchor and measured slot interval, with an uncertainty band instead of a false exact timestamp.

Direction

Window

2026-08-31 00:25:20Z

to 2026-08-31 00:30:40Z

Two answers, not one, because the slot interval is not a constant.

Slots apart
4,000
Target is after the anchor.
Width of the window
5.3 min
How much the uncertainty compounds over this distance.

Extrapolation decays fast. Skipped slots make elapsed time run ahead of slot count, and the error accumulates in one direction rather than cancelling out. Over a few thousand slots this is fine. Over a day it is not, and you should re-anchor against a recent block rather than trusting arithmetic.

1 anchor turns slot distance into an estimate

The slot-time converter maps a slot number to an estimated timestamp using a known slot and time anchor plus an observed average slot interval. It also performs the reverse estimate from timestamp to slot.

The output is not an authoritative block time. Slot duration varies, slots can be skipped, and recorded block times come from chain data rather than a fixed arithmetic clock. The component labels every result estimated.

Method

Let S0 be the anchor slot, T0 the anchor timestamp, S1 the target slot, and d the estimated milliseconds per slot.

text

slot_delta = S1 - S0
estimated_time = T0 + slot_delta * d

Reverse conversion is:

text

elapsed_ms = T1 - T0
estimated_slot = S0 + round(elapsed_ms / d)

For an interval from d_low to d_high, calculate both endpoints:

text

candidate_a = T0 + slot_delta * d_low
candidate_b = T0 + slot_delta * d_high
window = sort(candidate_a, candidate_b)

Sorting matters for target slots below the anchor because multiplying a negative delta reverses the endpoints.

The user chooses the slot interval. A common planning assumption may be around 400 milliseconds, but the tool does not encode that as an exact Solana constant. Better estimates use an interval measured near the target period or two authoritative slot-time anchors.

Worked forward example

Use a fictional anchor for arithmetic:

text

anchor slot = 410,000,000
anchor time = 2026-08-31T12:00:00.000Z
target slot = 410,000,150
estimated interval = 400 ms per slot

The slot delta is 150. Multiply by 400 milliseconds:

text

150 * 400 ms = 60,000 ms = 60 seconds

The estimated target time is 2026-08-31T12:01:00.000Z.

Now enter a planning range of 380 to 430 milliseconds per slot:

text

low elapsed = 150 * 380 = 57,000 ms
high elapsed = 150 * 430 = 64,500 ms

The displayed window is 12:00:57.000Z through 12:01:04.500Z. It describes sensitivity to the selected rates. It is not a statistical confidence interval unless those bounds came from a defined measurement.

Worked reverse example

Using the same fictional anchor, convert 12:02:00.000Z with a 400 millisecond interval.

text

elapsed = 120,000 ms
slot_delta = 120,000 / 400 = 300
estimated slot = 410,000,300

Rounding selects one nearest slot. The component also shows the fractional value before rounding. An application seeking an event should query a range around that estimate and verify recorded block times.

Derive an interval from two anchors

Two known slot and time pairs can estimate the average across their window:

text

observed_ms_per_slot = (T_b - T_a) / (S_b - S_a)

Suppose two authoritative anchors are 10,000 slots apart and their timestamps differ by 4,050,000 milliseconds. The observed average is 405 milliseconds per slot.

This average absorbs skipped slots and changing production pace across the interval. It describes that historical span. Extrapolating far outside it increases error.

The component displays anchor source, capture date, commitment, and slot span when the user supplies them. A timestamp copied from an unlabeled dashboard should not become a hidden authority.

Choose the right time concept

Packet arrival time is when one receiver saw a shred. Estimated slot time comes from arithmetic. Block time is a chain-reported timestamp with its own availability and semantics. Processed, confirmed, and finalized times are observation times for commitment transitions.

These values answer different questions. A propagation study needs packet arrival. A calendar lookup may need recorded block time. A trading replay needs ordered entries plus the receiver's clock. The converter does not replace any of those sources.

Time zones affect display only. Arithmetic uses UTC instants and integer milliseconds. The page can render local time beside UTC, but export stays ISO 8601 UTC.

Error grows with distance

If the assumed interval is wrong by 5 milliseconds, a target 100 slots away moves by 500 milliseconds. At 10,000 slots, the error becomes 50 seconds under a constant-error model.

text

time_error = absolute_slot_delta * interval_error

Real error is not necessarily constant or independent. Network events and skipped production can cluster. The formula is a sensitivity calculation, not a full probability model.

Use a nearby anchor for precision. For historical conversion, interpolate between bracketing authoritative anchors where possible. For future prediction, refresh the observed interval and widen the range with distance.

Limitations

Slot numbers are sequence positions, not timestamps. No arithmetic estimate can determine exact block time or whether a target slot produced a block. A skipped slot still consumes a slot number under the schedule.

The component does not fetch live chain data. The user supplies anchors and interval assumptions. This avoids silently mixing commitment levels or depending on a changing external endpoint, but it puts source validation on the user.

Clock timestamps can contain error. Millisecond display precision does not mean millisecond accuracy. Record the anchor source, commitment, and clock method.

For legal, accounting, or canonical historical uses, query authoritative chain records and preserve the response source. Use this tool for planning, chart alignment, and bounding a search window.

How it works out the answer

Given anchor slot S0, anchor timestamp T0, target slot S1, and estimated milliseconds per slot d, compute T1 = T0 + (S1 − S0) × d. Given lower and upper slot intervals, compute the same formula at both bounds and sort the results into an uncertainty window. Reverse conversion uses S1 = S0 + round((T1 − T0) / d).

Questions

Is a Solana slot always 400 milliseconds?
No. Roughly 400 milliseconds can be a planning assumption, but actual production pace varies and slots can be skipped. The converter requires an interval or derives an average from two anchors. It labels the output estimated and shows how the result changes across an entered interval range.
Why does the estimate get worse farther from the anchor?
Every slot multiplies error in the assumed interval. A five-millisecond interval error becomes 500 milliseconds over 100 slots and 50 seconds over 10,000 slots under a constant-error model. Real deviations can cluster, so nearby authoritative anchors give a more defensible estimate.
Can the converter tell whether a slot produced a block?
No. Arithmetic maps sequence distance to estimated time. It cannot determine skipped slots, fork outcome, transaction success, or recorded block time. Use an authoritative chain source for those facts. The estimate is useful for planning a query window, which should then be verified.