TweetChecker
How it worksSignalsDemoFAQ
Launch app →
Live on GenLayer Studio Network

Catch the scam
before it catches you.

Drop any Twitter/X link. In seconds, multiple AI validators reach consensus on whether the post is authentic, suspicious, or a scam — and the verdict is recorded onchain forever.

0
Tweets analyzed
0
Scams flagged
0
AI validators
0s
Avg verdict time
[ 01 / How it works ]

Five steps,
three seconds.

  1. 01

    Drop the link

    Paste any public Twitter/X URL. Reading verdicts is free; you only sign a transaction when you want a fresh analysis.

  2. 02

    Server fetches data

    A Next.js API route uses the twitterapi.io key (server-side only) to pull profile, tweet, and the last 20 posts.

  3. 03

    Send to the contract

    The data is passed to the Intelligent Contract via client.writeContract.

  4. 04

    Validators reach consensus

    Multiple validators independently run the LLM. Optimistic Democracy resolves disagreements.

  5. 05

    Read the verdict

    Anyone can call get_result(url) to retrieve the score and breakdown — straight from the chain.

[ Signals ]

Four signals, ratios that matter

We compare engagement ratios within a single tweet. A viral hit is not suspicious. Likes greater than 70% of views, or retweets greater than likes -- those are.

01

Account credibility

Account age, verification status, profile completeness, and the isAutomated flag.

  • Account < 30 days old
  • Marked as automated bot
  • Blank profile, no avatar
02

Follower quality

Healthy accounts have followers >= following. Bots typically follow 10x more than they're followed.

  • Following >> Followers (10x)
  • Recently mass-followed pattern
03

Engagement ratios

We compare metrics WITHIN a single tweet. A viral tweet is normal -- bot-pattern engagement is not.

  • Likes > 70% of views (impossible organic)
  • Retweets > Likes (RT bots)
  • Replies < 0.05% (paid views)
04

Content red flags

We scan tweet text for known scam patterns and impersonation attempts.

  • Send X get 2X scams
  • Unrealistic returns / urgency
  • Impersonation of known projects
[ 03 / Try it ]

Paste a link.
Get a verdict.

0xae6F6c…5e04studionet
Wallet:not connected

Paste a Twitter/X link above. Reading a cached result is free; submitting a fresh analysis requires a wallet signature.

Reading a cached verdict is free and instant. New analyses require MetaMask to sign a single transaction on the Studio Network.

[ 04 / FAQ ]

Questions,
answered.

  • TweetChecker is an onchain Twitter/X authenticity checker. You paste a tweet link, and an Intelligent Contract on GenLayer asks multiple AI validators to independently judge whether the post is legitimate, suspicious, or a scam. The verdict is recorded onchain and can be read by anyone — no central server.

  • Because the verdict needs to be auditable and tamper-proof. A centralized service can quietly flip a flag, hide a result, or rate-limit the truth. With GenLayer, the prompt, the input data, the validators that ran it, and the final verdict all live on a public ledger.

  • A server-side API route fetches profile, tweet, and the last 20 posts from twitterapi.io. That payload is passed to the Intelligent Contract, which runs an LLM evaluation across multiple validators. GenLayer's Optimistic Democracy reconciles any disagreement before finalizing the result.

  • GenLayer Studio Network (studionet). The same contract code can be deployed unchanged to localnet for development or testnet-asimov for pre-production testing.

  • Reading any existing verdict is free and requires no wallet — the contract returns the cached result instantly. You only need to connect MetaMask when you want to submit a brand new analysis, because that triggers a write transaction on GenLayer.

  • No. The key lives in the server-side environment variable TWITTER_API_KEY and is only read inside the Next.js API route. The browser only sees the cleaned-up JSON payload, never the key itself.

  • Yes — like any AI system, it can make mistakes. The signals it checks are strong heuristics, not proof. Treat the verdict as a starting point. The score, the per-signal breakdown, and the listed red flags are all visible so you can judge for yourself.

  • The contract returns the cached verdict instantly via get_result(url). No second LLM run, no new transaction, no twitterapi.io call. This makes lookups effectively free after the first analysis.