TradePortfolio
DocsWinners

Priority Fee Winners

Free

GET /priority-fees/winners


Exact winning prices and priority holding intervals for one slot over the selected range. Prices are returned per interval without hourly or daily averaging.

Rate limits

FreeDevProTeam
30/min60/min120/min120/min

All priority-fee endpoints, for every range, use the live request quota. This quota is shared with other live endpoints and across all API keys on your account.

On a 429 response, wait for the Retry-After period before retrying. See Rate limits.

Response fields

FieldMeaning
range, slot_idSelected range and slot.
start_time, end_timeUTC bounds of the reported history. end_time may be null when there is no reported interval.
interval, timestamp_unitinterval is round and timestamp_unit is us (microseconds).
time_origin_usUTC Unix timestamp in microseconds, matching start_time.
seriesParticipant dictionary. Each entry has key, wallet, and ips. A key is the wallet address when present; otherwise it is ip: followed by the IP address, and wallet is null.
dataChronological five-element tuples: [offset_us, duration_us, series_index, closing_price_hype, closing_price_usdc].

Tuple positions

FieldMeaning
0: offset_usInterval start offset from time_origin_us, in microseconds.
1: duration_usInterval duration in microseconds.
2: series_indexZero-based index into series, or null for an empty interval.
3: closing_price_hypeHYPE closing price for the winner, or null.
4: closing_price_usdcHistorical USDC value of that closing price, or null.

Reading the response

  • Compute start_us = time_origin_us + offset_us and end_us = start_us + duration_us. Divide either value by 1,000 to construct a JavaScript Date. Preserve the microsecond values for exact interval arithmetic.
  • An interval starts when the winner gains priority, after the auction closes. Intervals are clipped to the selected range.
  • A null series_index denotes a recorded empty interval; both prices are then null. Time with no returned interval must not be counted as an empty auction or extended from the previous winner.
  • Each series entry can contain multiple IP addresses for the same wallet. The ips list belongs to the participant across the response; the tuple does not select one IP from that list.
  • HYPE is the payment currency. USDC is a historical value estimate. Null differs from a genuine zero. Result arrays in the example are shortened for readability.

Authentication

Requires a valid API key in the X-Api-Key header. Available on all plans.

Parameters

Query parameters

NameTypeRequiredDescription
rangestring–4h, 1d, 7d, 30d, or all. Defaults to all. All available history begins on 10 April 2026.
slotinteger–0, 1, or 2. Defaults to 0.

Example request

bash
curl -H "X-Api-Key: lk_live_your_key_here" \
  "https://api.loris.tools/priority-fees/winners?range=4h&slot=0"

Example response

json
{
  "range": "4h",
  "slot_id": 0,
  "start_time": "2026-11-01T00:00:00Z",
  "end_time": "2026-11-01T04:00:00Z",
  "interval": "round",
  "timestamp_unit": "us",
  "time_origin_us": 1793491200000000,
  "series": [
    {
      "key": "0x0000000000000000000000000000000000000001",
      "wallet": "0x0000000000000000000000000000000000000001",
      "ips": [
        "192.0.2.1"
      ]
    }
  ],
  "data": [
    [
      0,
      180000000,
      0,
      1.25,
      50
    ],
    [
      180000000,
      180000000,
      null,
      null,
      null
    ]
  ]
}

Errors

  • 400 — Invalid range or slot. Supported slot values are 0, 1, and 2.
  • 405 — Use GET for this endpoint.
  • 429 — Live request quota exceeded. Wait for the Retry-After period before retrying.
  • 503 — Priority fee data is temporarily unavailable. Try again shortly.

For authentication errors (401) and rate limit responses (429), see Errors.

Related