78trust / 100
Premium Vessels
by Straits.live premium data in Security & trust
x402 APIPassing, checked 1 h ago
Strait of Hormuz per-vessel intelligence: the live-AIS vessel manifest (MMSI-keyed, flag derived from the MMSI MID), the OFAC-sanctioned vessels currently in the Persian Gulf window with program detail, per-vessel risk bands, latest raw AIS positions, the top AIS-dark hulls with the full dark count alongside, and OFAC + UK sanctions reference-list sizes (per-IMO multi-body detail at /api/premium/vessel/{imo}).
GET https://straits.live/api/premium/vessels
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 471 ms typical, 667 ms slowest 5%
- Last check
- 1 h ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X GET "https://straits.live/api/premium/vessels"import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fstraits.live%2Fapi%2Fpremium%2Fvessels
const res = await pay("https://straits.live/api/premium/vessels");
console.log(await res.json());Example input
{}Example output
{
"ais": {
"note": null,
"positions": [],
"source": "live",
"trusted": true
},
"darkFleet": [],
"manifest": {
"activeWindowHours": 0.5,
"count": 1449,
"imoResolved": 620,
"imoSpoofed": 8,
"imoSpoofedTankerCargo": 0,
"source": "vesselTracker (live AIS, MMSI-keyed; flag derived from MMSI MID; imo/callSign/dimensions resolved by MMSI where available). imoInvalid = an IMO number listed for the vessel that fails its check digit (on a tanker or cargo ship a likely spoof; on a yacht or tug often a filler number). Population = vessels with a sighting in the last activeWindowHours hours (a concurrent snapshot, not a union over a longer window).",
"vessels": []
},
"riskBands": {
"byImo": {},
"byMmsi": {}
},
"sanctionedInStrait": {
"count": 29,
"vessels": []
},
"sanctionsReference": {
"ofac": 1517,
"uk": 656
},
"schema": "https://straits.live/api/premium/vessels"
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 1 h ago | Passed | 402 | 414 ms | $0.02 |
| 5 h ago | Passed | 402 | 706 ms | $0.02 |
| 8 h ago | Passed | 402 | 667 ms | $0.02 |
| 12 h ago | Passed | 402 | 519 ms | $0.02 |
| 16 h ago | Passed | 402 | 471 ms | $0.02 |
| 19 h ago | Passed | 402 | 492 ms | $0.02 |
| 24 h ago | Passed | 402 | 466 ms | $0.02 |
| 26 h ago | Passed | 402 | 439 ms | $0.02 |
| 30 h ago | Passed | 402 | 638 ms | $0.02 |
| 35 h ago | Passed | 402 | 471 ms | $0.02 |