StonkFun On-chain Data API

Independent finalized Solana LaunchLab discovery, exact token/quote/pool markets and OHLCV. Partial coverage; quote-unit prices, unknown USD values are null. GeckoTerminal AMM candles and ingested swap candles. Base URL: https://stonkfun.x4o2.com.

Paying

Every /v1 route answers an unpaid request with 402 Payment Required and payment terms in PAYMENT-REQUIRED. Sign with an x402 client and retry with PAYMENT-SIGNATURE; the response carries the receipt in PAYMENT-RESPONSE. Failed responses are never settled.

Conventions

Responses use { data, meta }. Coverage is partial; candles require an exact pool and quote mint. Unknown USD values and stale current metrics are null. See each endpoint for its parameters.

Endpoints

GET /v1/tokens

Observed token mints, paginated

ParamInDescriptionExample
limitqueryPage size1
offsetqueryOffset
quoteMintqueryExact quote mint; required for ranking or candles

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/tokens?limit=1

Response (HTTP 200):

{
  "data": {
    "items": [
      {
        "mint": "HpTqFB77DA8wneveRsSc9gnhjpUnjacLXcvwwsfcna49",
        "createdAt": "2026-10-31T04:08:45.000Z",
        "firstSeenAt": "2026-10-31T05:24:02.010Z"
      }
    ],
    "total": 12160,
    "limit": 1,
    "offset": 0,
    "partial": true
  },
  "meta": {
    "observedAt": 1793424313992,
    "ageMs": 1093,
    "source": "cache",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:13.992Z"
  }
}

GET /v1/tokens/:mint

Exact token markets and freshness

ParamInDescriptionExample
mintpathExact Solana token mintHkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1
limitqueryPage size1
offsetqueryOffset
quoteMintqueryExact quote mint; required for ranking or candlesXsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re
poolqueryExact pool address; required for candles5Frbo3BCQy5t32FRUAGMhU4wEdzQRD3rVjZyNJExK6JQ
lifecyclequeryLifecycle: bonding, migrating, graduated
kindqueryPool program: launchlab, cpmm, amm-v4

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/tokens/HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1?quoteMint=Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re&pool=5Frbo3BCQy5t32FRUAGMhU4wEdzQRD3rVjZyNJExK6JQ&limit=1

Response (HTTP 200):

{
  "data": {
    "mint": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1",
    "items": [
      {
        "pool": "5Frbo3BCQy5t32FRUAGMhU4wEdzQRD3rVjZyNJExK6JQ",
        "curvePool": "9xzX6redHyy99zkZhvRpbncUcUEQRbjV1P1g3VGJUjhw",
        "mint": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1",
        "quoteMint": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re",
        "platformConfig": "6BwHHDg3u1854jC8PDLXvR4spTcLNaoBxLJNGC4nTESt",
        "kind": "cpmm",
        "lifecycle": "graduated",
        "creator": "EpgKoofCzeHXQxAohXitF99aDTgzi9JpF1uFLGTXWuJA",
        "decimals": 6,
        "quoteDecimals": 8,
        "name": null,
        "symbol": null,
        "createdAt": null,
        "firstSeenAt": "2026-10-31T05:24:45.641Z",
        "observedAt": "2026-10-31T05:25:00.907Z",
        "slot": 463569826,
        "priceQuote": 1.2610362006774265e-7,
        "supply": null,
        "marketCapQuote": null,
        "realQuote": null,
        "protocolFeeQuote": null,
        "platformFeeQuote": null,
        "migrationSignature": null,
        "globalConfig": "Crvp3VHo4eqyARzFsnwygu3Y9aWgfy9zupQtcVVuZN2K",
        "curveType": 0,
        "priceUsd": null,
        "marketCapUsd": null,
        "quoteUsd": null,
        "quoteUsdObservedAt": null,
        "supplyObservedAt": null,
        "stale": false,
        "partial": true
      }
    ],
    "total": 1,
    "limit": 1,
    "offset": 0,
    "partial": true
  },
  "meta": {
    "observedAt": 1793424300907,
    "ageMs": 15836,
    "source": "cache",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:13.992Z"
  }
}

GET /v1/pairings

Quote mints verified in Stonk platform pools

ParamInDescriptionExample
limitqueryPage size1
offsetqueryOffset

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/pairings?limit=1

Response (HTTP 200):

{
  "data": {
    "items": [
      {
        "mint": "A7bdiYdS5GjqGFtxf17ppRHtDKPkkRqbKtR27dxvQXaS",
        "tokenCount": 871,
        "poolCount": 871,
        "observedAt": "2026-10-31T05:25:14.072Z"
      }
    ],
    "total": 397,
    "limit": 1,
    "offset": 0,
    "partial": true,
    "membership": "Verified Stonk platform pool quote; website pairing availability is unknown."
  },
  "meta": {
    "observedAt": 1793424314072,
    "ageMs": 2856,
    "source": "cache",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:13.992Z"
  }
}

GET /v1/quotes

Alias of verified pairing quotes

ParamInDescriptionExample
limitqueryPage size1
offsetqueryOffset

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/quotes?limit=1

Response (HTTP 200):

{
  "data": {
    "items": [
      {
        "mint": "A7bdiYdS5GjqGFtxf17ppRHtDKPkkRqbKtR27dxvQXaS",
        "tokenCount": 871,
        "poolCount": 871,
        "observedAt": "2026-10-31T05:25:14.072Z"
      }
    ],
    "total": 397,
    "limit": 1,
    "offset": 0,
    "partial": true,
    "membership": "Verified Stonk platform pool quote; website pairing availability is unknown."
  },
  "meta": {
    "observedAt": 1793424314072,
    "ageMs": 4093,
    "source": "cache",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:18.025Z"
  }
}

GET /v1/launches

Recent verified LaunchLab pools; unknown creation times remain null

ParamInDescriptionExample
limitqueryPage size1
offsetqueryOffset
quoteMintqueryExact quote mint; required for ranking or candles
poolqueryExact pool address; required for candles
lifecyclequeryLifecycle: bonding, migrating, graduated
kindqueryPool program: launchlab, cpmm, amm-v4

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/launches?limit=1

Response (HTTP 200):

{
  "data": {
    "items": [
      {
        "pool": "BBzMt9cR4GgjLEzY3PW35PYdnbZLXfGPNsK5MfJy2pHJ",
        "curvePool": "BBzMt9cR4GgjLEzY3PW35PYdnbZLXfGPNsK5MfJy2pHJ",
        "mint": "HpTqFB77DA8wneveRsSc9gnhjpUnjacLXcvwwsfcna49",
        "quoteMint": "So11111111111111111111111111111111111111112",
        "platformConfig": "4E876qZTE9FJMrBzgVtBrSrzz2TLivB5Y5QXPjB4gZL7",
        "kind": "launchlab",
        "lifecycle": "bonding",
        "creator": "9jfUjyeZDWBJnkmBUjr3AbJ5uFQWHYwt74d1fz6tsitq",
        "decimals": 6,
        "quoteDecimals": 9,
        "name": "JELNO",
        "symbol": "JELNO",
        "createdAt": "2026-10-31T04:08:45.000Z",
        "firstSeenAt": "2026-10-31T05:24:02.010Z",
        "observedAt": "2026-10-31T05:24:02.010Z",
        "slot": 463569543,
        "priceQuote": 2.795912119480661e-8,
        "supply": null,
        "marketCapQuote": null,
        "realQuote": 1e-9,
        "protocolFeeQuote": 0.011911753,
        "platformFeeQuote": 0,
        "migrationSignature": null,
        "globalConfig": "6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX",
        "curveType": 0,
        "priceUsd": null,
        "marketCapUsd": null,
        "quoteUsd": null,
        "quoteUsdObservedAt": null,
        "supplyObservedAt": null,
        "stale": false,
        "partial": true
      }
    ],
    "total": 12212,
    "limit": 1,
    "offset": 0,
    "partial": true
  },
  "meta": {
    "observedAt": 1793424242010,
    "ageMs": 76214,
    "source": "cache",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:18.025Z"
  }
}

GET /v1/markets

Pools by exact token/quote and lifecycle

ParamInDescriptionExample
limitqueryPage size1
offsetqueryOffset
quoteMintqueryExact quote mint; required for ranking or candlesXsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re
poolqueryExact pool address; required for candles
lifecyclequeryLifecycle: bonding, migrating, graduated
kindqueryPool program: launchlab, cpmm, amm-v4
mintqueryExact Solana token mintHkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/markets?mint=HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1&quoteMint=Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re&limit=1

Response (HTTP 200):

{
  "data": {
    "items": [
      {
        "pool": "5Frbo3BCQy5t32FRUAGMhU4wEdzQRD3rVjZyNJExK6JQ",
        "curvePool": "9xzX6redHyy99zkZhvRpbncUcUEQRbjV1P1g3VGJUjhw",
        "mint": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1",
        "quoteMint": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re",
        "platformConfig": "6BwHHDg3u1854jC8PDLXvR4spTcLNaoBxLJNGC4nTESt",
        "kind": "cpmm",
        "lifecycle": "graduated",
        "creator": "EpgKoofCzeHXQxAohXitF99aDTgzi9JpF1uFLGTXWuJA",
        "decimals": 6,
        "quoteDecimals": 8,
        "name": null,
        "symbol": null,
        "createdAt": null,
        "firstSeenAt": "2026-10-31T05:24:45.641Z",
        "observedAt": "2026-10-31T05:25:00.907Z",
        "slot": 463569826,
        "priceQuote": 1.2610362006774265e-7,
        "supply": null,
        "marketCapQuote": null,
        "realQuote": null,
        "protocolFeeQuote": null,
        "platformFeeQuote": null,
        "migrationSignature": null,
        "globalConfig": "Crvp3VHo4eqyARzFsnwygu3Y9aWgfy9zupQtcVVuZN2K",
        "curveType": 0,
        "priceUsd": null,
        "marketCapUsd": null,
        "quoteUsd": null,
        "quoteUsdObservedAt": null,
        "supplyObservedAt": null,
        "stale": false,
        "partial": true
      }
    ],
    "total": 2,
    "limit": 1,
    "offset": 0,
    "partial": true
  },
  "meta": {
    "observedAt": 1793424300907,
    "ageMs": 17357,
    "source": "cache",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:18.025Z"
  }
}

GET /v1/tokens/:mint/candles

Exact-market OHLCV in quote units; 1m through 1d

ParamInDescriptionExample
mintpathExact Solana token mintHkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1
poolqueryExact pool address; required for candles5Frbo3BCQy5t32FRUAGMhU4wEdzQRD3rVjZyNJExK6JQ
quoteMintqueryExact quote mint; required for ranking or candlesXsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re
resqueryCandle resolution: 1m, 5m, 15m, 1h, 4h, 1d1h
limitqueryCandle count3
beforequeryExclusive candle bucket upper bound, Unix seconds

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/tokens/HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1/candles?pool=5Frbo3BCQy5t32FRUAGMhU4wEdzQRD3rVjZyNJExK6JQ&quoteMint=Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re&res=1h&limit=3

Response (HTTP 200):

{
  "data": {
    "mint": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1",
    "quoteMint": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re",
    "pool": "5Frbo3BCQy5t32FRUAGMhU4wEdzQRD3rVjZyNJExK6JQ",
    "res": "1h",
    "measure": "price",
    "currency": "quote",
    "quoteUsd": null,
    "quoteUsdObservedAt": null,
    "source": "GeckoTerminal",
    "fetchedAt": "2026-10-31T05:25:14.872Z",
    "candles": [
      {
        "time": 1793412000,
        "open": 1.35876455898026e-7,
        "high": 1.35876455898026e-7,
        "low": 1.27778351583101e-7,
        "close": 1.35876455898026e-7,
        "volumeQuote": 0.17467692,
        "volumeUsd": null,
        "trades": null
      },
      {
        "time": 1793422800,
        "open": 1.35876455898026e-7,
        "high": 1.35876455898026e-7,
        "low": 1.24990294378267e-7,
        "close": 1.24990294378267e-7,
        "volumeQuote": 0.89354456,
        "volumeUsd": null,
        "trades": null
      }
    ],
    "coverage": {
      "partial": true,
      "historyComplete": false,
      "ordering": "block-time, slot; same-slot transaction order unavailable",
      "retentionDays": 90,
      "from": 1793412000,
      "to": 1793422800
    },
    "busy": false,
    "serverTime": "2026-10-31T05:25:18.437Z"
  },
  "meta": {
    "observedAt": 1793424314872,
    "ageMs": 3565,
    "source": "cache",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:18.367Z"
  }
}

GET /v1/leaderboard

Alias of quote-specific trending

ParamInDescriptionExample
quoteMintqueryExact quote mint; required for ranking or candlesXsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re
limitqueryPage size1
sortqueryRanking metric: volume, mcap

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/leaderboard?quoteMint=Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re&limit=1

Response (HTTP 200):

{
  "data": {
    "items": [],
    "quoteMint": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re",
    "sort": "volume",
    "windowSeconds": 86400,
    "limit": 1,
    "partial": true
  },
  "meta": {
    "observedAt": 1793424318367,
    "ageMs": 151,
    "source": "cache",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:18.367Z"
  }
}

GET /v1/tokens/:mint/holders

Owners of up to 20 largest token accounts; total wallet count unknown

ParamInDescriptionExample
mintpathExact Solana token mintHkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/tokens/HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1/holders

Response (HTTP 200):

{
  "data": {
    "mint": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1",
    "holderCount": null,
    "items": [
      {
        "owner": "GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL",
        "amount": 206530241.533375,
        "tokenAccounts": [
          "3MZho2JQTjD77uUeMXp2Lath8vjqTS1hPg7294bikUJ4"
        ]
      },
      {
        "owner": "6r5ww4RiBUDYAwUJs6h63qrmtvZd8YQyWy5t4kzNfjPZ",
        "amount": 64692862.734942,
        "tokenAccounts": [
          "Br2GTrFpDfyGhHNvVWvRLGyK2d44cFECQ2yZgKA2i3DP"
        ]
      },
      {
        "owner": "9fkNwbXHaKBb8F4ivF2hDegXoyXfY1dymY3QRnYHx5aa",
        "amount": 51751333.432629,
        "tokenAccounts": [
          "GnWeigQUs4e5h1MCVmmpDF4CPRSEA3mmUFBdD3xENVa5"
        ]
      }
    ],
    "observedAt": "2026-10-31T05:25:18.797Z",
    "slot": 463569911,
    "coverage": {
      "partial": true,
      "largestTokenAccounts": 20,
      "totalWalletHolders": null,
      "description": "Owners aggregated from at most 20 largest token accounts; wallets with other accounts are undercounted; vaults included."
    }
  },
  "meta": {
    "observedAt": 1793424318797,
    "ageMs": 3,
    "source": "cache",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:18.367Z"
  }
}

GET /v1/tokens/:mint/burns

Observed SPL token burns; incomplete history

ParamInDescriptionExample
mintpathExact Solana token mintHkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1
limitqueryPage size1
offsetqueryOffset

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/tokens/HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1/burns?limit=1

Response (HTTP 200):

{
  "data": {
    "mint": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1",
    "items": [],
    "limit": 1,
    "offset": 0,
    "totalBurned": null,
    "partial": true
  },
  "meta": {
    "observedAt": null,
    "ageMs": null,
    "source": "cache",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:18.367Z"
  }
}

GET /v1/payouts

Verified protocol claim transfers and fee accrual events

ParamInDescriptionExample
limitqueryPage size1
offsetqueryOffset
mintqueryExact Solana token mint

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/payouts?limit=1

Response (HTTP 200):

{
  "data": {
    "items": [
      {
        "signature": "2GMSptzLTmsUuhz9ZbcCAYiiPGyXDKMXPKrvi1h7Y9vkZ7PL1WMLDScNVPxa2VGapMQKeeShYcgw1eXEZqP6D5a9",
        "slot": 463567913,
        "quoteMint": "XsoCS1TfEyfFhfvj8EtZ528L3CaKBDBRqRapnBbDF2W",
        "protocolFeeRaw": "7284",
        "platformFeeRaw": "29132",
        "creatorFeeRaw": "0",
        "shareFeeRaw": "0",
        "quoteDecimals": 8,
        "kind": "fees",
        "observedAt": "2026-10-31T05:18:10.000Z"
      }
    ],
    "limit": 1,
    "offset": 0,
    "rewardDistributions": null,
    "partial": true,
    "coverage": "Observed protocol fee accruals and verified claim transfers only; no inferred holder reward yield."
  },
  "meta": {
    "observedAt": 1793423890000,
    "ageMs": 428868,
    "source": "stale",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:18.367Z"
  }
}

GET /v1/rewards

Observed fee events; holder reward distributions unknown

ParamInDescriptionExample
limitqueryPage size1
offsetqueryOffset
mintqueryExact Solana token mint

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/rewards?limit=1

Response (HTTP 200):

{
  "data": {
    "items": [
      {
        "signature": "2GMSptzLTmsUuhz9ZbcCAYiiPGyXDKMXPKrvi1h7Y9vkZ7PL1WMLDScNVPxa2VGapMQKeeShYcgw1eXEZqP6D5a9",
        "slot": 463567913,
        "quoteMint": "XsoCS1TfEyfFhfvj8EtZ528L3CaKBDBRqRapnBbDF2W",
        "protocolFeeRaw": "7284",
        "platformFeeRaw": "29132",
        "creatorFeeRaw": "0",
        "shareFeeRaw": "0",
        "quoteDecimals": 8,
        "kind": "fees",
        "observedAt": "2026-10-31T05:18:10.000Z"
      }
    ],
    "limit": 1,
    "offset": 0,
    "rewardDistributions": null,
    "partial": true,
    "coverage": "Observed protocol fee accruals and verified claim transfers only; no inferred holder reward yield."
  },
  "meta": {
    "observedAt": 1793423890000,
    "ageMs": 428892,
    "source": "stale",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:18.367Z"
  }
}

GET /v1/stats

Protocol coverage, pool counts and ingestion freshness

ParamInDescriptionExample

Example

curl -H "PAYMENT-SIGNATURE: ..." https://stonkfun.x4o2.com/v1/stats

Response (HTTP 200):

{
  "data": {
    "platformConfigs": [
      "4E876qZTE9FJMrBzgVtBrSrzz2TLivB5Y5QXPjB4gZL7",
      "6BwHHDg3u1854jC8PDLXvR4spTcLNaoBxLJNGC4nTESt"
    ],
    "tokens": 12212,
    "pools": [
      {
        "kind": "cpmm",
        "lifecycle": "graduated",
        "count": 4
      },
      {
        "kind": "launchlab",
        "lifecycle": "bonding",
        "count": 12208
      },
      {
        "kind": "launchlab",
        "lifecycle": "graduated",
        "count": 4
      }
    ],
    "pairings": 397,
    "pendingTransactions": 501,
    "lastChainAt": "2026-10-31T05:18:10.000Z",
    "lastReceiptAt": "2026-10-31T05:25:06.251Z",
    "fullScanAt": null,
    "gapAt": null,
    "revenueUsd": null,
    "totalHolders": null,
    "partial": true
  },
  "meta": {
    "observedAt": 1793424318367,
    "ageMs": 620,
    "source": "cache",
    "partial": true,
    "commitment": "finalized",
    "freshnessSeconds": 120,
    "discoveryAt": "2026-10-31T05:25:18.367Z"
  }
}