The Refresh button refetches all five queries at once. The queries also
refetch on their own intervals, so Refresh is an explicit operator pull rather
than the only way to get fresh data.
Land rate: how it is measured
Land rate is the share of transactions you submitted that were successfully landed on the TPU, expressed as a percentage. The numerator is successful TPU landings; the denominator is submitted transactions. The chart is drawn with a fixed axis maximum of 100, so a series value is already a percentage — the console does not rescale it. The chart covers the last hour, ending at the moment of the last fetch. Its x-axis is labelled−60m, −45m, −30m, −15m, now. Those labels are axis
ticks, not bucket boundaries: the number of points plotted is however many
values analytics.summary returns in landRate.bdn and landRate.tpu, spread
evenly across the hour. So the effective bucket width is one hour divided by
the series length, and it changes if the procedure changes its resolution.
If both series come back empty, the card shows the No land-rate data yet
empty state instead of an all-zero chart. An empty series therefore means “no
land-rate history exists”, not “land rate is 0%” — the two are different
conditions and the console deliberately does not draw the second as a flat
line.
BDN fan-out vs direct TPU
The chart always plots two series against the same axis, with a legend in the card header:
BDN fan-out is the land rate for transactions that FirstByte relayed
through the Blockchain Distribution Network — the path you get from
/bdn/submit. Direct TPU is the land rate for transactions sent straight
at the TPU. Both series are measured the same way (landings over submissions),
so they are directly comparable: the gap between the two lines is the
difference the fan-out path made over the same window.
Either series can be empty independently. The card renders the chart as long as
at least one of the two arrays is non-empty, so a single-line chart is a
normal state — it means only one submission path carried traffic in the window.
The overview KPI strip
The strip renders whateveroverview.kpis returns, in the order returned. Each
item carries a key (used as the React key) and the display props for the Kpi
tile; the screen does not add, reorder, filter or derive tiles. To change what
appears in the strip, change the procedure — there is no client-side list.
The strip is laid out as an auto-fitting grid of columns with a minimum width,
not as a fixed column count. A fixed seven-column layout truncated tile labels
at ordinary content widths, so tiles now wrap onto a second row instead of
clipping their labels. Because the layout is not pinned to a count, the
procedure can return a different number of tiles without breaking the screen.
Live windows and the missing range control
The overview procedures serve fixed live windows. There is no range selector on this screen: an earlier range control existed but changed nothing, because none of the overview procedures accept a range argument. If you need a different window, use the ledger and analytics screens rather than expecting the overview to re-scope.Edge status and the online count
The topology card’s sub-heading readsN of M edges online, where:
Misedges.length— every edgebdn.edgesreturned.Nis the count of edges whosestatusis notoffline.
offline is the single status the
screen tests for by name; every other status value an edge can carry counts
toward the online tally. That means an edge in a transitional or degraded state
is counted as online here. The overview is a rollup, not a diagnosis — use
Manage (the button in the card header, and clicking any node on the map) to
open the BDN network screen and see the specific per-edge status.
The mini-map itself is drawn by BdnMap from bdn.root plus bdn.edges, in
compact mode. Selecting anything on it navigates to the BDN network screen; the
map on the overview has no other interaction.
When the submit endpoint reports not deployed
The pill on the Submit endpoint card has exactly two states, driven by theuseBdnDeployed() hook:
useBdnDeployed() is the same live signal that feeds the health pip in the top
bar and the BDN network screen, so all three always agree. This card previously
read a hardcoded build-time flag, which let it claim online while the rest of
the app showed the real state; that flag is gone.
not deployed is a statement about the data plane, not about your credentials
or the ingress host. It is the same condition that produces the two empty
states on this screen — No land-rate data yet and No landings yet both
explain that data appears once the BDN data plane is live. If you see
not deployed together with those two empty states, that is one fact reported
three times, not three separate problems.
The submit quickstart snippet
The card lists the surfaces the submit endpoint exposes as tags:/bdn/submit,
/tpu, ALPN solana-tpu, and 0-RTT. Below them is a copyable fan-out submit
command:
- The host follows the origin the console is served from. A console hostname
ending in
firstbyte.fastproducescrypto.firstbyte.fast; anything else falls back tocrypto.clutchcall.dev. This is the documented BDN submit origin — see the crypto cookbook. ?leader=autois what makes this the fan-out submit shown in the card’s eyebrow, as opposed to addressing a leader yourself.
application/octet-stream, and the request
authenticates with a control-plane API key bearer token — see
Authentication.
Recent landings
overview.recent returns landed transactions only; every row in the list is
rendered with a landed pill. Each row carries:
The first two rows are marked live. That is a presentation cue for the top of a
streaming list, not a property of those transactions. The full, untruncated
history lives behind View ledger; the overview list is a preview.
Related
- Telephony Metrics — metric definitions and formulas
- Telemetry — metrics, traces and CDR streams
- Authentication — API keys for the submit endpoint