Skip to main content
POST
/
api
/
write-locks
/
hot-accounts
Discover Hot Accounts
curl --request POST \
  --url https://api.soltop.sh/api/write-locks/hot-accounts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "time_range": "6h",
  "slot": 370537741,
  "limit": 50
}
'
{
  "success": true,
  "data": {
    "query_mode": "time_range",
    "query_value": "6h",
    "slot_range": {
      "min": 370500000,
      "max": 370537741
    },
    "limit": 50,
    "hot_accounts": [
      {
        "account_id": "FnmStvzQ27Pm4U8r3M6gPD7mnk6ST6HwraPsoNmYpump",
        "write_count": 2340,
        "conflict_count": 89,
        "unique_signers": 45,
        "hot_score": 8.5
      }
    ],
    "heatmap_data": [
      {
        "slot": 370537741,
        "account_id": "FnmStvzQ27Pm4U8r3M6gPD7mnk6ST6HwraPsoNmYpump",
        "access_count": 25,
        "write_count": 18,
        "read_count": 7,
        "timestamp": "2025-10-01T19:22:33Z"
      }
    ]
  },
  "timestamp": "2025-10-02T15:30:45.123Z"
}

Authorizations

Authorization
string
header
required

Supabase JWT authentication. Used for MEV Analysis and Write Locks endpoints. Requires an active subscription (trial, active, or grace_period status).

Body

application/json
time_range
enum<string>

Query mode 1: Time range (mutually exclusive with slot)

Available options:
1h,
3h,
6h,
12h
Example:

"6h"

slot
integer

Query mode 2: Specific slot number (mutually exclusive with time_range)

Required range: x >= 1
Example:

370537741

limit
integer
default:50

Number of hot accounts to return

Required range: 1 <= x <= 100
Example:

50

Response

Ranked list of hot accounts with heatmap data

success
boolean
Example:

true

data
object
timestamp
string<date-time>
Example:

"2025-10-02T15:30:45.123Z"