Stellar RPC v2 · Full-History Storage Engine ← Reports
Latency Model · Hot Ingestion follows the tip (live)

End-to-end latency model

A transaction makes a round trip: the client submits it, the network reaches consensus, RPC ingests the ledger, and the client reads it back. This tool splits the E2E latency into its parts and compares two things: the fixed goal the team set for a phase, and the current state measured by a benchmark run.

01

The formula

End-to-end latency is the sum of six slices. The network slices are hardcoded constants from an assumed 50 ms client↔RPC round trip. Every other slice is a P99 latency.

E2E = network½ RTT + sendTransaction + block time× N + ingestion + networkRTT + getTransaction
Core team — engineered by the Stellar Core team Assumed — a hardcoded network constant, by design never measured Estimated — a placeholder until measured Goal target — the Platform team's ingestion target Measured — from a benchmark run
Network × 1.5 RTT Assumed
entity · assumed constant · client ↔ RPC network

The model assumes a 50 ms client↔RPC round trip (RTT). It uses two fixed constants:

  • ½ RTT for the submission request. The response is not part of the critical path as consensus starts before RPC replies.
  • 1 full RTT for the getTransaction request and response.

By design, the model never measures network time.

P99 sendTransaction Estimated
entity · Platform team · in-RPC handler

The in-RPC duration of the sendTransaction endpoint — network time excluded.

Block time × N Core team
entity · Stellar Core team · consensus + execution

The ledger close interval, counted once per ledger close on the transaction's path (N). In phases 1–2 a transaction spans 2 closes — it waits for the next ledger, not the one in the current vote. In phase 3, Core's consensus + execution pipelining requires 3 closes for a transaction to complete. The calculator below shows the value for the selected phase.

P99 ingestion Measured
entity · Platform team · Stellar Core → RPC

The time from meta available in captive core (the externalized ledger) to ingested in RPC. The benchmarks measure this slice. It is the slice this project makes faster.

P99 getTransaction Estimated
entity · Platform team · in-RPC handler

The in-RPC duration of the getTransaction endpoint for an ingested transaction — network time excluded. This value is an estimate. A measured value will replace it after a query benchmark.

02

Goal vs. current

Pick a phase to load its fixed goal; the run list narrows to runs paced for it.

Goal phase