CASHCAT.BOT
MARKET + PERPS LIVESIGNALS SIMULATED GITHUB

V0.1 modules

The five modules

Everything cashcat.bot does in V0.1, and the exact command in the terminal that exercises each one. Three of the five run on real market data in this build; the other two are simulated and say so.

01

Live market header

Run it: cc price

The first thing anyone wants is the number. This module normalises spot price, 24-hour change, liquidity, 24-hour volume and market cap into one shape and serves it from the cashcat.bot API, so the browser never talks to a market-data provider directly. One data model, one cache, one rate limiter — and the provider can be swapped without touching the frontend.

In this build the module is LIVE: the terminal really does call the public Dexscreener endpoint for the CASHCAT/WETH pool on Robinhood Chain and prints what comes back.

Reading the output. The big number is spot in USD, followed by the 24-hour change. Liquidity is the total USD value sitting in the pool — the practical constraint on how much size the market can absorb. Market cap and FDV are equal here because supply is fixed at 1,000,000,000 with nothing left to unlock. The buys/sells split is the raw 24-hour transaction count, not volume: a useful sanity check on whether flow is broad or one large actor. Holder count is the one figure on this screen still marked SIMULATED, because no free public holder feed covers this chain yet.

02

Current bot signal

Run it: cc signal

The most recent state emitted by the configured TradingView indicator, combined into one transparent weighted aggregate across five timeframes. It is described in the product as a MULTI-TF SIGNAL and never as an AI prediction, because that is exactly what it is: arithmetic over indicator outputs, with the weights printed on screen.

BUY scores +1, NEUTRAL 0, SELL −1. Weights are 5M 10%, 15M 15%, 1H 30%, 4H 30%, 1D 15%. Above +0.35 the aggregate reads BUY, below −0.35 SELL, anything between is NEUTRAL.

Reading the output. The verdict line carries the word as well as the colour, so it survives a screenshot in greyscale and a colour-blind reader. Underneath, every contributing timeframe is listed with its own state, so you can see whether a BUY is broad agreement or one heavily-weighted hourly signal dragging the average up. Signal age matters as much as signal direction: a 9-hour-old daily SELL and a 6-minute-old 5-minute BUY are not the same kind of claim. This module is SIMULATED in this build.

03

Multi-timeframe TA

Run it: cc ta 15m

The flagship. For a single timeframe it renders a real candlestick chart — TradingView Lightweight Charts drawing genuine OHLCV pulled from the GeckoTerminal API for the CASHCAT pool — then computes RSI(14), EMA 9 and EMA 21, trend, momentum and volume state from those same candles. Run bare, cc ta prints the five-row matrix instead: 5M, 15M, 1H, 4H and 1D side by side with their weights and the resulting aggregate.

The chart is LIVE. The per-timeframe signal verdict beneath it is SIMULATED and is printed in its own block so the two can never be mistaken for each other.

Reading the output. Candles are green up, red down, with a volume histogram pinned to the bottom of the pane. The RSI gauge marks 30 and 70; above 70 the bar turns amber rather than green, because an extended reading is information, not an invitation. EMA 9 above EMA 21 is the trend condition the indicator leans on — the readout says “fast above slow” in words so it does not depend on you comparing two decimals. Volume state compares the last five candles against the previous twenty: EXPANDING, STEADY or CONTRACTING. If GeckoTerminal rate-limits the request the chart still draws, but from the seeded generator, and the panel border and badge both flip to SIMULATED.

04

Perp layer

Run it: cc perps

Spot alone does not explain a memecoin move. The perp layer normalises mark price, basis versus the venue index, aggregate open interest, the funding rate and the liquidation split into a single object, through venue adapters that can be swapped or run side by side. A CASHCAT perpetual is live on Hyperliquid, Lighter and Aster, and all three are polled directly by this page.

It ends with the PERP READ: a short, rule-based interpretation such as “CROWDED LONGS — price and open interest rising together while funding pushes increasingly positive”. Rule-based, explicitly no LLM, so the same inputs always produce the same sentence and the logic can be audited.

Reading the output. Positive funding means longs are paying shorts — leverage is leaning long and it costs something to keep it there. Rising open interest with rising price means new positions entering rather than shorts covering. Basis is the perp premium to the venue's own spot index. All three venues settle funding hourly, so the rates are directly comparable.

What is real and what is not. Mark, index, open interest, funding and basis are LIVE. Each venue is listed with its own state, so if one stops answering it prints UNREACHABLE instead of quietly dropping out of the aggregate — the rule is to show the gap rather than fabricate a number to fill it. MEXC lists CASHCAT too but serves no CORS header, so it is named and excluded rather than proxied. The liquidation bars are the one exception and remain SIMULATED: no venue listing CASHCAT publishes a public aggregate liquidation feed.

05

Signal history

Run it: cc history

Every past signal, with the timeframe that fired it, the price at the time, the current price, and the resulting price change. Default seven rows, or pass a count: cc history 12.

The column is called MOVE SINCE SIGNAL. Not profit, not PnL, not return. It is the price change between two points in time. No trade was necessarily executed, this terminal cannot execute one, and a green row is not money anybody made.

Reading the output. Rows are newest first. Read them as a record of how the indicator behaved, not as a track record: a run of green rows in a trending market says more about the market than about the signal. The honest use of this table is spotting where the signal chopped — clusters of alternating BUY and SELL on short timeframes are exactly where a mechanical reading of it would have hurt. This module is SIMULATED in this build.

How the data gets here → Architecture