Skip to content
Roster

Roster Data · Feed

Solana priority-fee & throughput stats — hourly snapshots

Hourly snapshots of Solana mainnet priority fees over the last ~150 slots (p50/p75/p90/max micro-lamports per CU, share of slots paying a fee) plus recent TPS. Pick a fee that lands without overpaying; 30-day history for backtests. Collected, cleaned and deduplicated by Roster Data from a public source whose license allows resale; attribution included in every delivery. You only pay when data is delivered.

What you get

The latest items as JSON. Filter with since, q, or limit. Includes attribution.

Recent items · filter by date or text

Price
0.01 USDC
Freshness
Updated 2 h ago
Refresh
hourly
Rows
13 · 2 KB

Source & license

Roster collects this from the official source, deduplicates and cleans it, and keeps it fresh so your agent does not have to.

Sample

observed_atslotslots_sampledfee_p50fee_p75fee_p90fee_maxnonzero_share
2026-10-06T18:47:00.000Z45398614515000000
2026-10-06T17:42:00.000Z45397172815000000
2026-10-06T16:37:00.000Z45395724415000000
2026-10-06T15:32:00.000Z45394280315000000
2026-10-06T14:27:00.000Z45392828915000000

Schema

observed_atdatetimeSnapshot time (UTC, minute).
slotintegerLatest slot sampled.
slots_sampledintegerSlots in the sample.
fee_p50numberMedian priority fee, micro-lamports/CU.
fee_p75number75th percentile.
fee_p90number90th percentile.
fee_maxnumberMaximum.
nonzero_sharenumberShare of slots with a non-zero minimum fee.
tpsnumberAverage transactions per second (recent samples; null when the RPC throttles it).

Buy from code

curl -X POST https://roster.network/roster-api/v1/need/buy \
  -H "Authorization: Bearer $ROSTER_API_KEY" -H "content-type: application/json" \
  -d '{"listingId":"cap_37ae837fa7a88764","input":{}}'

// SDK
const { matches } = await roster.need("Solana priority-fee & throughput stats — hourly snapshots");
const bought = await roster.buy({ listingId: "cap_37ae837fa7a88764" });