Larpsium

Colours

Theme

Language

Run a test

CH 12 / 133 min read

Readings and the API

The shape of a reading, and the public endpoints with example responses.

Every check produces a reading: the story's status with two to four evidence bullets that point at public sources, the holders flag, and the market at the time. Readings are read-only, need no wallet, and come only from the chain and public pages.

The reading (reading-v1)

  • story.status: supported, partly-supported, unverified, or contradicted, shown as Backed, Partly backed, Unproven, Contradicted. Contradicted if any material claim conflicts with the evidence; Backed only when every material claim was checked and held.
  • story.evidence: two to four bullets, contradictions first, each with the public source it rests on (the X profile, the website, the launch transaction).
  • holders.flag: OK (no listed flag), Concentrated (the largest holder or the top ten above the thresholds), Flagged (the first mint's recipient still holds a large share), or Unread (the ledger could not be completed).
  • market: the launchpad's figures and HYPE/USD, labelled with their sources; never part of a verdict.
  • story.score (rule evidence-score-v1): 0 to 100, the weighted share of the story that was shown. Each material claim counts 1 if supported, 0.6 if partly supported, 0.25 if only said, 0 if contradicted; claims about what the coin is and its own accounts weigh 1.5, promised mechanics 0.75, everything else 1. Any contradiction caps it at 35; no claims scores 25. A rule, not a probability.
  • story.terms: the same reading in LarpCheck-style words for people who know them: the word follows the label and the score only refines it (Backed: REAL at 80+, else LIKELY REAL; Partly backed: LIKELY REAL at 65+, else PARTLY REAL; Unproven: UNCLEAR; Contradicted: LIKELY LARP, or LARP below 20); holders OK, SKETCHY (concentrated), or RIGGED (the first mint's recipient still holds a large share). Larpsium never says SCAM: it makes no findings about intent.
  • larpcheck: LarpCheck's own verdict on the coin, when Larpsium has a LarpCheck key and LarpCheck has checked the coin, always with the link to that check. Shown for comparison; it never changes Larpsium's labels, score, or flags. LarpCheck mostly covers other chains, so for Elysium coins this is usually empty.
  • signals: Elysium-specific facts (rule elysium-signals-v1): network identity by chain ID and pinned genesis hash, and whether the block the holders were read at is already posted to HyperEVM. More are planned (HyperCore interaction, HYPE gas use, bridge activity, sequencer claims).

Public endpoints

  • POST /api/check with {"target":"0x…"}, a project link, or a ticker such as $ELYXA (same origin only). Answers 202 {"job":"lrp_…","url":"/c/lrp_…"}; 409 {"addresses":[…]} when the input names several contracts or a ticker matches several coins.
  • GET /api/jobs/<job>: the live state of a website check: {"state":"complete","step":4,"done":true,"log":[…],"url":"/r/<id>"}.
  • GET /api/readings/<id>: a public reading as JSON (private results are never served).
  • GET /api/chart/<address>?res=5m|1h|1d: price candles in HYPE with the total supply and HYPE/USD, and which source answered (ELYXA, BOXA, Kleos, or swap events on chain).
  • GET /api/heads: Elysium's latest block, read from boxa.club's RPC.

Example: GET /api/readings/<id>

{
  "ok": true,
  "reading": {
    "rule": "reading-v1",
    "id": "nWQzeVHTEH-3yOWe4QWQUA",
    "url": "https://larpsium.app/r/nWQzeVHTEH-3yOWe4QWQUA",
    "observedAt": "2026-11-01T06:58:12.000Z",
    "network": "Elysium 99901 (provisional)",
    "token": {
      "address": "0xbd61e339a53fe9a27b8dba6dfdb63f443cbec077",
      "name": "Elyxa.trade",
      "symbol": "ELYXA"
    },
    "story": {
      "status": "partly-supported",
      "label": "Partly backed",
      "kind": "Launchpad",
      "summary": "Launchpad: website elyxa.trade is online; it doesn't show this contract address; @elyxa_trade's bio names this contract. Holders spread out: 106 holders, top 10 hold 38.7% of circulating.",
      "evidence": [
        {
          "status": "supported",
          "text": "X account: @elyxa_trade's bio names this contract (262 followers, 27 posts, joined 2026)",
          "source": "https://x.com/elyxa_trade"
        },
        {
          "status": "partly-supported",
          "text": "website elyxa.trade is online and its X account @elyxa_trade links to it; it doesn't show this contract address",
          "source": "https://elyxa.trade/"
        }
      ],
      "score": 76,
      "scoreRule": "evidence-score-v1",
      "terms": { "story": "LIKELY REAL", "holders": "OK" }
    },
    "larpcheck": { "checked": false, "verdict": null, "score": null, "url": null, "note": "LarpCheck has no check of this coin." },
    "signals": [
      { "id": "network", "label": "Network identity", "status": "ok", "text": "Elysium 99901: Chain ID 99901 and pinned genesis hash matched." },
      { "id": "settlement", "label": "Posted to HyperEVM", "status": "ok", "text": "The holder ledger was read at block 148349, already posted to HyperEVM, so a re-sequence cannot change it." }
    ],
    "holders": {
      "flag": "OK",
      "holders": 106,
      "top10Pct": 38.7,
      "block": "148349",
      "reason": null
    },
    "market": {
      "priceHype": 7.51e-7,
      "priceUsd": 0.000066,
      "marketCapUsd": 66026,
      "liquidityHype": 120,
      "change24h": 0.45,
      "sources": [
        "ELYXA listing",
        "Hyperliquid (HYPE/USD)"
      ]
    },
    "sources": [
      {
        "url": "https://elyxa.trade/",
        "result": "HTTP 200"
      }
    ],
    "disclaimer": "Checks verify public claims and on-chain data only, not team intent or future risk. DYOR."
  }
}

Example: POST /api/check

{
  "job": "lrp_oND5ho3-MTlhtne5",
  "url": "/c/lrp_oND5ho3-MTlhtne5"
}
Next · CH 13Support →