FAQ

Short answers to the questions that come up most. Each links to the page with the full detail.

General#

What is Pulse?#

A self-hosted program that watches Solana and Robinhood Chain token launches, records them in a database you own, tracks which tokens run and which fade, scores tracked wallets, and gives you the result as a Telegram newsletter, a dashboard, a JSON API and an MCP server. It is MIT licensed.

Is it free? Does it need API keys?#

Pulse is free software and needs no keys to run. The data sources it reads need no account. Optional extras are a Telegram bot token for the newsletter, an Anthropic key for the written overview, and a dedicated Solana RPC endpoint, which is not free but is recommended for a steady firehose.

Where does the data come from?#

Solana: Jupiter token lists, DexScreener and GeckoTerminal market data, pump.fun and PumpSwap launches and trades decoded from Solana RPC logs. Robinhood Chain: launchpad factory logs over JSON-RPC, with market data from the same providers. Public KOL leaderboards supply wallet labels. See How it works.

Is it a trading bot or financial advice?#

No. Pulse never trades and holds no keys. It records and ranks public data. Statuses, categories and scores are heuristics, defined on How it works so you can judge them. Nothing here is financial advice.

Can I use it to train or test a trading bot?#

That is a design goal. The archive keeps full snapshot histories, launch and graduation events, the early buyers of tokens that ran, and the tokens that died. Read it directly from Postgres or through /api/export. Treat the free-text columns as untrusted.

Running it#

What do I need to run it?#

Node 24 or newer. npm install, npm run build, npm start. See Getting started.

npx pulse-trenches fails. What should I run?#

The package has two commands, so name the package explicitly: npx -y -p pulse-trenches pulse. The MCP server is npx -y -p pulse-trenches pulse-mcp.

The dashboard is empty.#

It fills after the first collection cycle finishes, usually within a minute or two. Check curl localhost:8787/api/health. A lastCycle of null means no cycle has completed yet. Check the process logs for source failures.

Why does stream say null in the health check?#

The firehose is off, either by STREAMS=off or --no-stream. The collector, API and dashboard still work.

The firehose keeps reconnecting.#

The public Solana WebSocket endpoint drops connections. Set SOLANA_WS_URLS (and SOLANA_RPC_URLS) to a dedicated provider. A watchdog already restarts the stream after 45 seconds of silence.

How much disk does it use?#

It depends on how long it runs and how many tokens it sees. Snapshots are the bulk, one row per token per cycle. Only selected trades are stored, not every trade. On TimescaleDB, old chunks compress after 7 days (30 for market snapshots). Check your own growth with the Archive section of the newsletter.

Can I run it on a serverless platform?#

Only with care. It needs an always-running process and an external database. See Deployment.

Data and scores#

Why are wallet scores empty?#

Scores come from trades the firehose records. If you ran with --no-stream, or the firehose is new, there are no positions yet and scores stay null. Wallets still list with their labels. Scoring runs hourly.

What do the statuses mean?#

new, running, graduated, dying and dead follow fixed thresholds on market cap, volume and all-time high. See Token lifecycle. Dead is permanent.

How does it decide tech versus meme?#

A transparent keyword and signal scorer over the token's own name, symbol, description and website. It is a first filter, and a token can game it by using the right words. See Classification.

Why is a token in the archive but missing from the newsletter?#

Issues show tokens that met a section's conditions in the last 24 hours. The archive keeps everything. Query it with the tokens API.

Does it cover chains other than Solana and Robinhood Chain?#

Not today. Every table is keyed by chain and address, so adding a chain does not change the schema.

Newsletter#

The newsletter did not arrive.#

Both TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID must be set, the bot must be allowed to post in the chat, and the local hour must be at or after REPORT_HOUR. A failed send is retried every cycle. See Telegram newsletter.

Can I preview an issue?#

Yes: npm run report -- --no-send --print.

Agents and security#

How do I connect Claude or Cursor?#

Add the pulse-mcp server to the client config. Setup for Claude Desktop, Claude Code and Cursor is on MCP server.

Is the API safe to expose?#

It is read-only but has no authentication and enables CORS for all origins. Keep it private or put an authenticated proxy in front. See Deployment.

Can token text hijack my agent?#

It can try. Names, symbols and descriptions are written by whoever launched the token and can contain instructions aimed at AI readers. Pulse never executes them. Your agent should treat every returned string as data, never as a command, and should never spend or sign anything because of it.

How do I report a bug or a security issue?#

Open an issue on GitHub. For security reports, follow SECURITY.md in the repository.