List known MEV cache hosts
https://api.triport.io/v1/sol/intel/mev-cache/hostsReturns the full inventory of MEV-cache hosts Triport currently tracks, each with its last-seen timestamp and how many samples have been collected.
The MEV-intel surface exposes competitive intelligence about hosts observed serving MEV-cache traffic on Solana. This endpoint is the entry point: it returns the complete list of distinct hosts that have been seen, so you can discover which hosts to inspect in more detail.
For each host you get its most recent observation time (last_seen) and the
number of samples accumulated for it (sample_count). Use this list to populate
a host picker, then drill into a single host with
GET /v1/sol/intel/mev-cache/host/{host} for its current
metrics, or .../host/{host}/series for a metric
time-series. The aggregate ranking lives at
GET /v1/sol/intel/mev-cache/leaderboard.
The endpoint takes no parameters and is not paginated — it returns every tracked
host in a single array. Hosts with a low sample_count may have only just been
discovered; last_seen lets you filter out stale entries client-side.
Parameters
None. This endpoint accepts no path, query, or body parameters.
Response
Response fields
The body is a JSON array of host objects.
| Field | Type | Description |
|---|---|---|
host | string | Host identifier (IP address) of the tracked MEV-cache host. Always present. |
last_seen | string (date-time, RFC 3339) | Timestamp of the most recent observation of this host. |
sample_count | integer (≥ 0) | Number of samples collected for this host so far. |
Errors
| Code | Meaning | When it happens |
|---|---|---|
401 | unauthorized / trial_expired / subscription_expired | Missing, invalid, or expired credentials. |
403 | tier_insufficient | The key is authenticated but below the business tier required by the sol_mev_intel category. |
429 | rate_limited | Sustained RPS for your tier exceeded; honor the Retry-After header. |
See the shared errors reference for the full error envelope
(error, message, request_id) and the per-status detail fields.
Examples
JavaScript (fetch)
const res = await fetch("https://api.triport.io/v1/sol/intel/mev-cache/hosts", {
headers: { Authorization: `Bearer ${process.env.TRIPORT_API_KEY}` },
});
if (!res.ok) throw new Error(`mev-cache hosts failed: ${res.status}`);
const hosts = await res.json();
for (const h of hosts) {
console.log(`${h.host} — ${h.sample_count} samples, last seen ${h.last_seen}`);
}TypeScript SDK (@triport/sdk)
import { TriportClient } from "@triport/sdk";
const client = new TriportClient({ apiKey: process.env.TRIPORT_API_KEY });
const hosts = await client.sol.intel.mevCache.hosts();
hosts.forEach((h) => {
console.log(`${h.host}: ${h.sampleCount} samples (last seen ${h.lastSeen})`);
});Python (triport-sdk)
import os
from triport import TriportClient
client = TriportClient(api_key=os.environ["TRIPORT_API_KEY"])
hosts = client.sol.intel.mev_cache.hosts()
for h in hosts:
print(f"{h.host}: {h.sample_count} samples (last seen {h.last_seen})")Notes
- The response is a flat array with no pagination wrapper — it lists every host currently tracked. Expect the size to grow over time as new hosts are discovered.
last_seenandsample_countare optional in the schema; onlyhostis guaranteed. Code defensively for hosts that have just been registered.- This endpoint is read-only intelligence — it does not start, stop, or configure any collection. Discovery is driven server-side.
- Related: host snapshot, host time-series, leaderboard.