Analyzer69000
🛰️ Trench Chat · embeddable

The token chat where
the shills can't hide.

One shared conversation per token, embeddable in any app in a single line. Verified wallets wear on-chain forensic badges, so a KOL shilling a paid call, a dev pumping their own bag, a sniper, or a bundle wallet is exposed the moment they talk. free to embed

One line. Any app.

Drop in the script once, then place a <trench-chat> tag anywhere with the token's chain and contract address. The room is keyed to the contract, so every app embedding the same token surfaces the same conversation.

HTML
<!-- once, anywhere on the page -->
<script src="https://analyzer69000.com/embed.js" async></script>

<!-- then, per token -->
<trench-chat
  chain="solana"
  token="So11111111111111111111111111111111111111112"
  symbol="SOL"
  height="600"
></trench-chat>
AttributeValues
chainsolana, eth, bsc, base, arb, op, poly, avax (default solana)
tokenthe token mint / contract address (required)
symbolcashtag shown in the header, e.g. JUP (optional)
themedark, light (default dark)
heightpx number or any CSS height (default 600)
demoset to 1 to render a sandboxed example conversation (no live room, nothing saved)

The widget is anonymous by default. A reader verifies their wallet with one free signature (no transaction) to earn the on-chain badges shown next to their messages. Identity, reply, react, and share all live inside the frame. The room is keyed to the contract address, so every site that embeds the same token shares one conversation.

Live demo

A working embed with an example conversation, rendered exactly as it would on your site. Verify, reply, and react are all live. Try typing.

Want to see the full scene? Watch the live $ANSEM demo → a bullish room, a fudder wearing a SNIPER badge gets ratioed with facts, then tipped 50,000 $ANSEM gasless and flips to HOLDER.

Why embed this instead of building your own

Chat is only useful when it is populated and trustworthy. A shared room solves the empty-room problem on day one, and the forensic layer is something no general chat tool can offer.

🔗

Shared room per contract

The conversation is keyed to the token address, so it is populated across every app that embeds it. No cold start.

🛡️

Forensic identity, inline

DEVSNIPERBUNDLEHOLDERWHALE

Wallets verify with a free signature and wear on-chain badges next to every message. Holders carry their rank and supply share.

📈

Sentiment that means something

Bull and bear weighted by verified holders, plus live message velocity, so you can see real conviction instead of bot noise.

On-chain tipping, built in

Readers tip each other right in the room, in the token, USDC, or SOL. It is non-custodial (the user's own wallet signs every tip) and gasless when needed, so a dry wallet can still tip. Each room has a live tip leaderboard. Solana for now. Nothing to wire up. it ships inside the embed.

💼

Live holdings, inline

A verified reader sees their real-time balance and exact supply share for the room token, plus their other holdings, straight from chain. Holder badges reflect what they actually hold right now.

🧼

Anti-spam, done for you

Rate limits, impersonation blocks, and strict sanitisation are handled on our side. You just paste one tag.

Wire it into your app

The embed is not a black box. It emits events you can react to, takes commands you can drive, and the tip flow drops in as a one-line button. Put live chat signal and on-chain tipping anywhere in your product.

⚡ React to chat activity

Listen on the <trench-chat> element and pipe activity into your own UI: a toast when a tip lands, a counter on new messages, a feature unlock when a wallet verifies. Every payload is public only (truncated wallets, never a full address).

JavaScript
// listen on the <trench-chat> element
const el = document.querySelector("trench-chat");

el.addEventListener("trench-chat:tip", e => {
  const t = e.detail.detail; // {from,to,amount,symbol,gasless,signature}
  toast(`${t.from} tipped ${t.to} ${t.amount} ${t.symbol}`);
});
el.addEventListener("trench-chat:verified", e => unlock(e.detail.detail.wallet));
el.addEventListener("trench-chat:message", () => bumpCounter());

// drive it too (UI only, the user still signs)
el.openTip({ to: "<wallet>", amount: "1000", asset: "token" });

Events: ready, message, tip, verified, sentiment. Commands: el.open() and el.openTip(...). Commands only open UI, so the user always connects and signs in their own wallet.

💸 A one-line tip button

Want tipping without the whole chat? One tag renders a branded button that opens the tip flow (the token, USDC, or SOL) in a modal. Perfect for a creator page, a token profile, or a leaderboard. Pre-fill a recipient and amount, or let the user pick someone in the room.

HTML
<!-- once, anywhere on the page -->
<script src="https://analyzer69000.com/embed.js" async></script>

<!-- a one-line tip button -->
<trench-tip
  chain="solana"
  token="<mint>"
  symbol="JUP"
  to="<wallet>"
  amount="1000"
  asset="token"
></trench-tip>

to, amount, asset (token / sol / usdc) and label are optional. The same deep link works as a URL: /embed?chain=&token=&tip=1&to=&amount=&asset=.

Try it live:

Build with the data: the developer API

The iframe is the no-code path. The REST API is for builders: pull a token's live conversation, sentiment, and verified-holder signal straight into your app. CORS-open, no key to start.

Endpoints

GETReturns
/api/v1/chat/messagesrecent messages, with verified badges + reply context
/api/v1/chat/pulseonline, velocity, sentiment (overall + holder-weighted)
/api/v1/chat/statsunique chatters, verified ratio, badge counts, top reactions
/api/v1/chat/tipsrecent on-chain tips (truncated wallets, amount, tx signature) + a tip leaderboard

Params: chain (solana, eth, bsc, base, arb, op, poly, avax) + token (mint or contract). messages and tips also take limit (1 to 100).

Rate limits 60 to 120 req/min per IP. Responses cache 5 to 10s. CORS open to any origin, no key required to start.

🧠

What you can build

Inline "token is heating up" badges, holder-weighted sentiment widgets, alpha feeds that surface what verified holders are saying, a live tips ticker or per-token tip leaderboard, or a safety overlay that pairs the chat with the wallet's on-chain rap sheet.

Example

JavaScript
// live pulse for a token, no key needed
const r = await fetch(
  "https://analyzer69000.com/api/v1/chat/pulse" +
  "?chain=solana&token=JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"
);
const pulse = await r.json();
// { online, velocity, sentiment: { bull, bear, holder_bull, holder_bear } }
JSON response
// /api/v1/chat/messages response (trimmed)
{
  "chain": "solana",
  "count": 1,
  "messages": [{
    "name": "Diamond Whale",
    "body": "still holding, not selling one",
    "reactions": { "🚀": 4 },
    "verified": {
      "wallet": "7xKy…9fGh",
      "badges": ["whale"],
      "holder_pct": 8.4,
      "holder_rank": 2
    }
  }]
}