kyw.fyi
Verify my walletGet API key
kyw API

Verified wallets in one request.

One GET tells you whether a real person stands behind a Solana wallet: verified via X, with a 0–100 trust score.

Base URL https://api.kyw.fyi/v1
1 creditper check, any status100 freecredits every month200 / 10 schecks per key
$ ADDR=Ari7Hq3VnK2pZcT5dWm9Bk4gJaE6uNoYeQx8sLrWn4
$ curl https://api.kyw.fyi/v1/wallets/solana/$ADDR \
-H "Authorization: Bearer kyw_live_…"
HTTP/1.1 200 OKX-KYW-Credits-Charged: 1 · X-KYW-Credits-Remaining: 99
{
"chain": "solana",
"address": "Ari7Hq3VnK2pZcT5dWm9Bk4gJaE6uNoYeQx8sLrWn4",
"has_profile": true,
"label": "Ari's main wallet",
"verification": {
"status": "verified",
"trust_score": 88,
"trust_level": "high",
"sources": ["x"],
"last_verified_at": "2026-10-29T14:02:11Z"
},
"socials": [{
"platform": "x",
"handle": "ari_onchain",
"url": "https://x.com/ari_onchain"
}],
"credits": { "charged": 1, "remaining": 99 }
}
Recipes

Ship sybil resistance this afternoon. Three recipes, four lines each.

Airdrops & allowlists

Reward people, not farms.

Verified wallets get in. High trust can earn a bigger share.

const v = wallet.verification;
if (v.status !== "verified") return;
allocate(wallet.address,
v.trust_level === "high" ? 2 : 1);
High trust · 2×Medium trust · 1×Unverified · none
Wallets & explorers

Show the kyw Pearl. Keep the score.

Put the band beside any address. The number stays in your rules.

const v = wallet.verification;
if (v.status === "verified")
showBadge(v.trust_level,
v.last_verified_at);
Verified via X · High trust4 min ago
Waitlists & quests

Keep bots off the leaderboard.

Count wallets verified recently, by your own freshness rule.

const v = wallet.verification;
const ok = v.status === "verified" &&
Date.parse(v.last_verified_at) > cutoff;
if (!ok) askToVerify(wallet.address);
Counted · verified via X, 4 min agoAsked to verify · unverified
LaunchpadsCheck the buyer at the moment of sale.
DAOs & governanceCount people, not wallets.
CommunitiesGate Discord or Telegram roles behind a verified wallet.
Coming soonBatch checks. Until then, loop the check: 200 per 10 s per key.
Reference

Six endpoints. Two cost credits.

Base URL https://api.kyw.fyi/v1Full API reference
kyw API endpoints and what each costs in credits
MethodEndpointCreditsWhat it does
GET/v1/wallets/{chain}/{address}1per 200 responseThe check: status, a trust score for verified wallets, the label and any socials the owner revealed.
POST/v1/wallets/{chain}/{address}/reverify101 inside the 24h cooldownAsk for a fresh full verification. Returns a job, and a job that fails is refunded.
GET/v1/jobs/{id}0Poll a re-verify job you created.
GET/v1/credits0Your balance by bucket: free, subscription and purchased.
GET/v1/billing/catalog0no authPacks, plans and credit prices.
GET/v1/chains0no authSupported chains. Solana in v1.

Four statuses

Only verified wallets carry a score. The rest is a status, never a reason.

  • verifiedA real person, confirmed via X. High is 80 and up, medium 60 to 79.trust_score · trust_level · sources · last_verified_at
  • pendingLinked, and the first check is running. Usually about a minute.status only
  • privateThe owner chose to hide their result.status only
  • unverifiedNo profile, no active link, or the check did not pass. Below 60 is never published.status only
Every 200 costs 1 credit, whatever the status. 4xx and 5xx are free.label and socials appear when the owner has set or revealed them.

Test mode

Test keys are free and never touch real data. The address's first character picks the answer.

kyw_test_…
Address starts with V
GET /v1/wallets/solana/VxR4m…Testabridged
{
"has_profile": true,
"label": "Test Wallet",
"verification": {
"status": "verified",
"trust_score": 88,
"trust_level": "high"
},
"socials": [{ "platform": "x", "handle": "kyw_test_verified" }],
"credits": { "charged": 0 }
}
Verified via X · HighHigh trust, score 88, label "Test Wallet" and one revealed X handle.

credits.charged is always 0. A test re-verify returns a job that reads completed on the first poll.

Pricing

Pay per answer. 1 credit a check, 100 free every month.

Free

Every account, every month
$0100 credits a month
  • Resets on the 1st of each month (UTC)
  • A live key and a test key
  • 1 credit a check, 10 a re-verify
Get API key

Credit packs

Top up when you need to. Packs never expire.
from$10
  • 1,000 credits$10
  • 10,000 credits save 20%$80
  • 100,000 credits save 40%$600
Buy credits

Monthly plans

Steady volume
A fresh allowance every billing period.
from$25/ month
  • Starter5,000 credits a month$25/mo
  • Growth25,000 credits a month$99/mo
Start a plan

Pay your way. Card or USDC, one balance.

Card · Stripe

Packs or a plan through Stripe Checkout. Receipts and cancellations in the Stripe portal.

POST /v1/developer/billing/stripe/checkout
{ "sku": "plan_starter" }
→ checkout_url
USDC · Solana PayAgent-ready

No processor, no human. An agent creates an intent, pays from its own keypair, and credits land.

POST /v1/developer/billing/crypto/intents
{ "sku": "pack_1k" }
→ solana:9tVq…Kyw1?amount=10
&spl-token=EPjF…Dt1v
&reference=4tPn…8sRa&label=KYW
Out of creditsHTTP 402

Checks stop with a clear answer and a top-up link. A 402 costs nothing.

{
"error": {
"code": "insufficient_credits",
"details": {
"remaining": 0,
"catalog_url": "/v1/billing/catalog"
},
"request_id": "req_01JB8Q…9F2C"
}
}
Under the hood

Built for your security review.

Keys you control

Live and test keys, stored as hashes, shown once, revoked instantly.

A ledger, not a guess

Every credit in or out is an append-only row, with usage by day or endpoint.

Limits you can plan for

200 checks per 10 s per key. Every 429 says when to retry; every response has a request id.

Nothing worth stealing

No OAuth tokens or passwords at rest. The layers behind a score never leave the box.

Compliance

[Certifications and audit status]

Uptime

[SLA terms] · live status at status.kyw.fyi

Coming soon
  • Batch checks
  • Webhooks
  • GitHub, Discord & Telegram
  • EVM chains
  • On-chain signals
  • Publishable keys
Get started

Get your API key. 100 free credits a month, test mode included.

Create your account