kyw.fyi
Verify my walletGet API key
kyw Intelligence

Real accounts have layers.

Like a pearl, a real presence forms slowly, layer by layer. kyw Intelligence reads six layers of an X account and shows the world only the luster.

Inside: six layers kyw reads.
What it reads

Six layers, read inside out. None of them ever leaves the box.

Layer 01 of 06

Account history

How long the account has existed, how steadily it has been used, and how its identity has changed.

Built over yearsUsed steadilyOne identity
Why it mattersReal accounts have a past. Throwaway ones appear right before they’re needed.
Outcomes

The world sees one thing: luster. Apps also get the number behind it.

80–100

Full luster

A real person, with plenty to go on.

Public page
Verified via X · High trust
Apps get
verified · high · score
60–79

Soft luster

A real person, with a little less to go on.

Public page
Verified via X · Medium trust
Apps get
verified · medium · score
below 60

No pearl forms

Not enough to confirm a real person. Never published, never called a bot.

Public page
Unverified
Apps get
unverified · no score
An app receives"trust_score": 88, "trust_level": "high"
Principles

Powerful, and on a short leash.

01

A black box, on purpose

We publish the outcome, never the signals or weights. Published signals get gamed.

02

Never a public bot label

A wallet that doesn't pass is simply Unverified. No score, no reason, no accusation.

03

Owners never see their number

They see their status and when it was checked, so nobody tunes themselves to a score.

04

Public data only

A public profile and recent public posts.

05

A versioned engine

Every result records its engine version. Old results stand until the next check.

06

Outages never flip a wallet

If a data provider is down, the last result stands and the check retries later.

Under the hood

From a public account to one answer.

  1. 1Hard rulesUnavailable, suspended or brand-new accounts don't pass.
  2. 2Heuristic readThe profile and about 40 recent posts, layer by layer.
  3. 3AI judgementClaude weighs the whole picture, treating every post as data.
  4. 4Score and confidenceOne 0–100 score, plus how sure the engine is.
  5. 5VerdictVerified via X, High or Medium, when it's sure enough. Otherwise Unverified, never a guess.
WeeklyProfile refresh
90 daysFull re-read
7 daysOwner re-verify, free
Put the result in your rulesJavaScript
const DAY = 86_400_000;
const res = await fetch(
`https://api.kyw.fyi/v1/wallets/solana/${address}`,
{ headers: { Authorization: `Bearer ${KYW_KEY}` } }
);
const wallet = await res.json();
const { status, trust_level, last_verified_at } = wallet.verification;
// Your rule: verified, and checked in the last 30 days
const fresh = Date.now() - Date.parse(last_verified_at) < 30 * DAY;
if (status === "verified" && fresh) return allow(trust_level);
return askToVerify(); // pending, private, unverified