wizzy.GitHub

Solana · read-only · Telegram, X, web

A small wizard bear who reads Solana tokens.

Send a ticker, a contract or a wallet. Wizzy computes the facts in code from the chain, and the model only phrases them. Today it never trades.

Wizzy, a small bear in a wizard hat, drawn in Braille dots.

01 / Readings

Every reading starts as numbers from the chain.

$EXAMPLEmurky

The waters are murky. Mint and freeze authorities are revoked, yet ten wallets hold most of the supply and the pool is thin for its volume. The runes ask for patience, not haste.

full scroll at /s/example-7f3a1c · lesson: holder concentration

A ticker, contract, pump.fun or DexScreener link, or a wallet, sent in a DM or as a mention. The omen comes from the code-only audit; established tokens such as USDC are never called cursed.

  • blessedThe runes glow blessed. Real liquidity, at least three positives (revoked authorities, locked LP, healthy distribution, buy pressure), no warnings.
  • murkyThe waters are murky. Nothing fatal, but not enough positives.
  • hexedA hex lies on this volume. Farmed or wash-traded volume.
  • cursedThe bones say cursed. Fake token, active freeze authority, or a critical RugCheck score.

02 / Craft

Eight things the bear knows how to do.

  1. 01

    Readings

    /read

    Any ticker, contract, pump.fun or DexScreener link, or wallet. Facts from the audit, RugCheck, the mint account, OHLCV and DefiLlama become a two to five sentence reading and a full scroll.

  2. 02

    Rug scrying

    /scry

    A quick omen with no model call: cursed, hexed, murky or blessed. Established tokens such as USDC are never called cursed or hexed.

  3. 03

    Apprentice mode

    /learn

    Ten lessons with quizzes, from liquidity to bonding curves. Ranks run Apprentice, Adept, Conjurer, Sorcerer, Archmage and come only from passed quizzes.

  4. 04

    Wallet tarot

    /tarot

    Past, present and future cards picked by fixed rules from trade history, holdings and the omens of what the wallet holds. Ties are broken by the wallet and the UTC date, so the same data gives the same spread all day.

  5. 05

    Prophecies

    /prophecies

    Three measurable claims a day by default, each with a frozen baseline, graded only after they mature, with a Sunday scoreboard that names the wrong calls.

  6. 06

    Spellbook

    /watch

    Owl alerts in Telegram when top holders move, liquidity drops, an authority changes or a watched wallet moves.

  7. 07

    Inner Circle

    /inner

    500 Telegram Stars or 9 USDC by Solana Pay for 30 days. Free full scrolls, 30 readings an hour instead of 5, more watches, and a familiar: owl, cat, raven or toad.

  8. 08

    Full scrolls

    /s/<slug>/full

    The long reading behind every scroll, paywalled with x402 (0.25 USDC on Solana) when a payout address is set. Inner Circle members read free.

03 / Wallet tarot

Three cards, drawn by rules, not by chance.

The past comes from trade history, the present from holdings, the future from the omens of what the wallet holds. Ties are broken by the wallet and the UTC date, so the same data gives the same spread all day.

.--------------------------.|                          ||           PAST           ||                          ||     Wheel of Fortune     ||         ·  *  ·          ||  fast hands; the wheel   ||        spun often        ||                          ||       [########..]       |'--------------------------'
.--------------------------.|                          ||         PRESENT          ||                          ||        The Hermit        ||         ·  *  ·          ||    one token carries     ||   nearly the whole bag   ||                          ||       [#######...]       |'--------------------------'
.--------------------------.|                          ||          FUTURE          ||                          ||        The Tower         ||         ·  *  ·          ||   a held token bears a   ||        dark omen         ||                          ||       [#########.]       |'--------------------------'

04 / Prophecies

Claims that can be wrong, and are graded when they are.

Three a day by default, each a measurable claim made in code with a frozen baseline. Graded only after it matures, with data stamped after the claim. Missing data voids the claim. On Sunday the scoreboard names the wrong calls.

Example scoreboardResult
The AI narrative's share of smallcap volume (18% now) holds or grows over the next 72 hours.came true
$EXAMPLE (12% of smallcap volume today) is still in the top 5 by volume in 3 days.wrong
The Trench Fear & Greed index (54 now) is higher in 7 days.came true
Smallcap trench volume is lower in 7 days than today's banked level.voided

05 / Safety

Today it reads the chain. It cannot touch it.

This is the public bear as it ships now: a read-only build with no wallet anywhere in reach.

Read-only by construction
No keypair, no agent model, no reviewer and no trading clients in the reader environment. A test fails if any Wizzy module imports the tool registry or the wallet.
Facts first, words second
The output guard rejects any number, address, link or $TICKER not present in the computed facts. Two retries, then a code template.
Refuses to trade
Buy, sell and send requests get a fixed refusal. Creator-written names are cleaned, links removed, never trusted.
Bounded
Rate limits run before any model call. A daily budget switches to templated readings and alerts the admin chat, if one is set.
Polite on X
Replies only to mentions, once per user per thread, with per-user and daily caps and a random delay.
Honest payments
Stars charges and Solana Pay signatures are unique. Only finalized transactions carrying the order reference count.

06 / Next

One agent: reads, decides, executes.

plannedWizzy and heavymetal, the trading agent in the same repo, become one agent. The bear keeps its readings and gains a wallet. Every swap passes the review heavymetal already runs in front of every trade today.

Swap review

1. compute in code: balance, fee reserve, size vs liquidity, freeze authority, fake, farm checks, repeat trades. 2. reasons to stop: user_requested, params_ok, manipulation, fake_or_copycat, intended_repeat. 3. holds: research first, thin pool: shrink. 4. release: fixed priority, picks one verdict.

Facts are computed in code first, then a reviewer answers narrow questions in one call. It sees user messages and tool results apart, so only the user can authorize. Every question, probability and verdict is stored. These are the defaults: the review gates trades, and it can be set to advise-only or off.

Verdicts

  1. EXECUTEEvery check passes; the swap is signed.
  2. INJECTION_BLOCKNot requested by the user, or tool results try to instruct the agent.
  3. FAKE_TOKEN_BLOCKA fake, copycat or impersonator token.
  4. FARM_BLOCKFarmed volume: wash loops, fee farming, inorganic churn.
  5. RISK_BLOCKAn active freeze authority: holders can be frozen.
  6. DUPLICATEA similar trade just executed.
  7. CORRECT_PARAMSOver the balance minus the fee reserve, or outside the user's stated limits.
  8. RESEARCH_FIRSTNo rug check, token info or holders on this mint yet this session.
  9. REVIEW_UNAVAILABLEThe reviewer failed; it fails closed and nothing is signed.
  10. REDUCE_SIZEToo large a share of pool liquidity; runs smaller.

Before funding a wallet

  • -It signs transactions on its own. There are no confirmation prompts.
  • -The review reduces risk; it does not remove it. The reviewer is a model and can be wrong.
  • -Token names, descriptions and memos are untrusted text written by strangers.
  • -The private key lives on disk. Whoever has the file controls the funds.
  • -Fund it with small amounts only. The balance is the only spending limit.
  • -Memecoins are extremely high risk and most go to zero. Not financial advice.
Full risks in the README

07 / Run it

Open source. Runs without a model key.

Wizzy lives inside the heavymetal package. Without an Anthropic key every reading is built from a code template, so everything works offline from the model. Payments run on devnet until you switch WIZZY_X402_NETWORK to mainnet. Read WIZZY.md

$ uv sync --extra wizzy$ uv run wizzy migrate$ uv run wizzy read BONK$ export WALLET=...                 # any Solana wallet address$ uv run wizzy read "$WALLET"$ uv run wizzy tarot "$WALLET"$ uv run wizzy prophecy --dry-run   # live market sweep, takes a few minutes$ uv run wizzy score --dry-run