Api Endpoint

LUMI

Launch Evidence Digest. Descriptive digest of token launches observed in a time window: count, median terminal multiple, share that ended below -70%/-90%, and the launchpads involved. Facts already observed on chain — not a forecast and not a trading signal.

Open interactive test console

Offering

Provider
app.tenna.ai
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Blockchain And Crypto
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://app.tenna.ai/api/x402/lumi/launch_digest
MIME type
application/json
First seen
2026-10-16T01:50:14.534Z
Last seen
Tags
launch, digest, Evidence

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.1 USDC
Atomic price: 100000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
    "amount": "100000",
    "payTo": "0x7eaf3c393a8996e124c0fa7ccbc55019854c4c5b"
  }
]

Observed health

Status
Reachable
Latest latency
545 ms
Average latency
1508 ms
HTTP status
405
Last checked
Reachability
100% over 15 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "POST"
      ]
    },
    "bodyType": {
      "type": "string",
      "enum": [
        "json"
      ]
    },
    "body": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "offering",
        "window"
      ],
      "description": "Window and cohort to summarise.",
      "properties": {
        "window": {
          "type": "string",
          "description": "Look-back window.",
          "enum": [
            "24h",
            "7d",
            "30d"
          ]
        },
        "cohort": {
          "type": "string",
          "description": "Launch cohort, or 'all'.",
          "enum": [
            "memecoin",
            "virtual_quoted",
            "all"
          ]
        },
        "offering": {
          "type": "string",
          "const": "launch_digest",
          "description": "Offering identifier. Must be exactly 'launch_digest'."
        }
      }
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "additionalProperties": false
}

Output schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "example": {
      "type": "object",
      "additionalProperties": true,
      "required": [
        "schemaVersion",
        "offering",
        "provenance",
        "limitations",
        "launches"
      ],
      "properties": {
        "schemaVersion": {
          "type": "string",
          "description": "Deliverable contract version."
        },
        "offering": {
          "type": "string",
          "description": "Offering that produced this result.",
          "const": "launch_digest"
        },
        "provenance": {
          "type": "object",
          "description": "Reproducibility metadata so another agent can audit this.",
          "properties": {
            "source": {
              "type": "string",
              "description": "Data origin."
            },
            "generatedAt": {
              "type": "integer",
              "description": "Unix seconds."
            },
            "ledgerLaunchCount": {
              "type": [
                "integer",
                "null"
              ],
              "description": "Launches in the ledger. Null when the offering is not derived from the launch ledger — this means not applicable, not collection failure."
            },
            "ledgerSpanHours": {
              "type": [
                "number",
                "null"
              ],
              "description": "Hours of history covered. Null when the offering is not derived from the launch ledger."
            },
            "rubricVersion": {
              "type": [
                "string",
                "null"
              ],
              "description": "Rubric the verdict was produced under. Present on audit offerings."
            },
            "resultHash": {
              "type": [
                "string",
                "null"
              ],
              "description": "Hash of the audited input, so the same verdict can be reproduced. Present on audit offerings."
            },
            "auditedDeliverableHash": {
              "type": [
                "string",
                "null"
              ],
              "description": "Explicit alias for resultHash on deliverable-audit results; hashes the buyer-supplied input, not the audit envelope."
            }
          }
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Coverage limits and missing data, always disclosed."
        },
        "window": {
          "type": "string",
          "description": "Look-back window this result covers."
        },
        "cohort": {
          "type": "string",
          "description": "Launch cohort this result covers."
        },
        "launches": {
          "type": "integer",
          "description": "Launches observed in the window."
        },
        "medianTerminalMultiple": {
          "type": [
            "number",
            "null"
          ],
          "description": "Median of last observed price divided by t0, where t0 is the median of the pool's first swaps."
        },
        "profitablePct": {
          "type": [
            "number",
            "null"
          ],
          "description": "Share ending above 1.0x of t0. t0 is the median of the first swaps, an entry generally not obtainable after launch, so this is not the return a later buyer would have earned."
        },
        "down70Pct": {
          "type": [
            "number",
            "null"
          ],
          "description": "Share ending at or below 0.30x of t0. Overlaps down90Pct rather than partitioning it."
        },
        "down90Pct": {
          "type": [
            "number",
            "null"
          ],
          "description": "Share ending at or below 0.10x of t0. Subset of down70Pct."
        },
        "above10xPct": {
          "type": [
            "number",
            "null"
          ],
          "description": "Share ending at or above 10.0x of t0. Subset of profitablePct."
        },
        "windowTotal": {
          "type": "integer",
          "description": "Every launch observed in the window before the cohort filter. Always equals launches + excludedByCohort, so the split can be checked inside the deliverable."
        },
        "excludedByCohort": {
          "type": "integer",
          "description": "Launches inside the window that the cohort filter removed. They are not in `launches` or any percentage. Zero when cohort='all'."
        },
        "excludedByCohortBreakdown": {
          "type": "object",
          "description": "Mutually exclusive launch-record counts explaining excludedByCohort: unknown launchpad labels versus known labels outside the selected cohort."
        },
        "cohortNote_en": {
          "type": "string",
          "description": "States what the cohort filter removed and that unlabelledLaunchpads is counted before that filter."
        },
        "unlabelledLaunchRecords": {
          "type": "integer",
          "description": "Launch RECORDS in the window whose launchpad label is unknown, before the cohort filter."
        },
        "unlabelledLaunchRecordsInCohort": {
          "type": "integer",
          "description": "Launch RECORDS inside the selected cohort whose label is unknown. Structurally zero unless cohort='all'."
        },
        "unlabelledLaunchRecordsNote_en": {
          "type": "string",
          "description": "States the unknown-label record count and why the in-cohort figure is structurally zero outside cohort='all'."
        },
        "launchpads": {
          "type": "array",
          "description": "Known launchpad labels in this window.",
          "items": {
            "type": "string"
          }
        },
        "launchpadCountUnitsEn": {
          "type": "string",
          "description": "Inline clarification beside launchpads that launchpads and unlabelledLaunchpads count distinct labels, while launches, excludedByCohort, and windowTotal count launch records."
        },
        "unlabelledLaunchpads": {
          "type": "integer",
          "description": "Counted across the whole window BEFORE the cohort filter, so zero here means the window really had none. Distinct unknown labels, counted but not listed."
        },
        "topOutcomes": {
          "type": "array",
          "description": "Best observed outcomes, ranked across the whole cohort and window rather than per launchpad. Each row carries terminalMultiple, peakMultiple, multipleState, and observationAgeHours so an INTERIM_SO_FAR multiple cannot be read as final. evidence provides an observed poolAddress or null and ledgerReadAt, not a price timestamp or raw swap proof.",
          "items": {
            "type": "object"
          }
        },
        "topOutcomeOutlierCount": {
          "type": "integer",
          "description": "How many topOutcomes rows are marked multipleOutlier: their multiple sits orders of magnitude above every other row shown, which happens when a token's first swaps were at a dust price. Rows are marked, never removed."
        },
        "topOutcomesNote_en": {
          "type": "string",
          "description": "States the ranking scope (cohort-wide, not per launchpad) and, while outcomeState is INTERIM_ONLY, that the multiples in topOutcomes are values so far despite their names."
        },
        "topOutcomeLaunchpadConcentration": {
          "type": "object",
          "description": "Dominant launchpad share among the displayed top outcomes and among all in-cohort launches, so concentration can be audited without inferring it from the ranked rows."
        },
        "outcomeState": {
          "type": "string",
          "description": "SETTLED when the window's launches have finished, INTERIM_ONLY when they have not. Outcome fields are null in the latter case because a share ending above 1.0x cannot be stated for launches that have not ended; the same figures appear under interim."
        },
        "windowHours": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The analysis window in hours. Distinct from provenance.ledgerSpanHours, which is retained history."
        },
        "interim": {
          "type": [
            "object",
            "null"
          ],
          "description": "Same figures computed on unfinished launches, named 'SoFar' so they cannot be read as outcomes. Null when outcomeState is SETTLED."
        },
        "maturity": {
          "type": "object",
          "description": "Control group of launches older than matureAfterHours, so a short window cannot be read without its mature counterpart. Carries its own population statement (matureCohort, maturePopulation, matureNote_en): it shares the cohort rule but contains different launches drawn from the full ledger, not this window. windowAgeDenominator and immatureWindowLaunches describe this request's age distribution."
        }
      }
    }
  },
  "required": [
    "type"
  ]
}