LIVE ON ROBINHOOD CHAIN
VaporScan

Every coin links a website. VaporScan checks if that site is real — so a LARP can't hide behind a dead link.

The link nobody checks

Launch a coin on Pons and you get a field for a website link. Nobody checks it. Nobody has to. You can point it at a parked domain, a "coming soon" template, or nothing at all — the token still deploys, still trades, still shows up on the charts looking exactly as legitimate as a project that spent months shipping something real.

That gap is where LARP lives: a coin dressed as tech, with a link that leads nowhere real. By the time someone clicks through and notices the site is empty, they've usually already bought.

One question, checked properly: does the site exist?

Not "is the roadmap good" — that's opinion. Not "will the price go up" — nobody knows that. Just the boring, verifiable question most people never bother to ask before clicking buy.

Does it resolve?

Live and reachable — not a dead domain or a timeout.

Parked or a stub?

Not a registrar's "buy this domain" page, not an empty "coming soon" template.

Real content?

Enough actual text and structure to be a page someone built.

Served properly?

Valid HTTPS, not a broken or self-signed setup.

01

URL submitted

A person or the API sends a site URL to check.

02

Server fetches it

VaporScan's own server requests the page, timing out at 10s.

03

Signals extracted

Status code, HTTPS, parked/placeholder patterns, text, links.

04

Score & verdict

Weighted 0–100 score, returned instantly, nothing stored.

Check the site behind a coin

Paste the website URL a token claims. The request runs on this app's own server, not in your browser, so there's no CORS wall to hit.

Fetches the page server-side and checks reachability, HTTPS, parked-domain signatures, real content, and internal links.

Exactly how the score is built

No black box. Every point is earned from one of five checks, and the weighting is public — the same table below is what the code actually runs.

CheckWhat it looks forWeight
ReachabilityLive response, HTTP status in the 200–399 range, within a 10s timeout30 pt
HTTPSPage is served over a valid encrypted connection10 pt
Not parkedNo match against known registrar parking-page signatures (GoDaddy, Sedo, etc.)30 pt
Real contentVisible text length, minus "coming soon" / placeholder patterns15 pt
Internal linksNumber of links pointing back into the same site15 pt
75–100 · SIGNAL 45–74 · MIXED 15–44 · WEAK 0–14 · VAPOR

What this does NOT tell you

  • A high score is not an endorsement — it confirms the site is real, not that the project is trustworthy.
  • Sites that render their content with client-side JavaScript can score low even when they're legitimate — the checker reads raw HTML, it doesn't execute scripts.
  • A well-made fake with enough filler text and internal links can still pass. This is a first filter, not a verdict.
  • One request is one moment in time. A borderline score is worth a second look, not blind trust either way.

Using the API

The same endpoint the scanner above calls is open for you to hit directly — no key, no auth, nothing stored.

EndpointMethodParams
/api/scanGETurl (required)

Example request

curl "https://your-deployment.example/api/scan?url=https://example.com"

Example response

{
  "url": "https://example.com",
  "score": 82,
  "verdict": "SIGNAL — looks like a real, functioning site",
  "rows": [
    { "label": "Reachable (HTTP 200, 340ms)", "points": 30 },
    { "label": "Served over HTTPS", "points": 10 },
    { "label": "No parked-domain signature detected", "points": 30 },
    { "label": "Visible text length: 2140 chars", "points": 15 },
    { "label": "11 internal links found", "points": 0 }
  ]
}

Self-hosting. This whole app is three small files — server.js, scanner.js, public/index.html — with zero external dependencies beyond Node itself. Clone it, run node server.js, done. Full breakdown of the architecture and why it's built this way is in the project's README.md.

Questions worth asking before you trust a score

No. It means the site itself is real, reachable, and not a parked or placeholder page. It says nothing about the team, the tokenomics, or whether the product actually does what it claims. Treat it as one input, not the whole decision.
The most common reason: the site is built entirely with client-side JavaScript, so the raw HTML VaporScan fetches is close to empty even though a browser would render a full page. Full JS rendering is on the roadmap below.
Yes, honestly. Enough filler text and a handful of internal links can push a thin site into a passing score. That's true of any heuristic checker. The fix is to keep adding harder-to-fake signals over time — see the roadmap — not to pretend the current version is unbeatable.
None, in the current version. Each scan is a live request — nothing is logged or persisted server-side.
No. VaporScan checks one narrow, technical fact about a website. It is not an audit, not a guarantee, and not a recommendation to buy, hold, or avoid any token.

What's built, what's next

NOW

  • Server-side reachability check
  • Parked-domain detection
  • Placeholder / "coming soon" detection
  • Content-depth & internal-link scoring

LATER

  • Automatic site-lookup straight from a Pons token address
  • Public API for other Robinhood Chain tools
  • Community flagging of missed LARPs

The tool that catches vaporware can't behave like vaporware

VaporScan runs natively on Robinhood Chain: not a service you subscribe to, but a protocol that funds and governs itself through its own token. People who run scans, flag dead links, or contribute to the detection patterns take part in the protocol's economy too.