crawlipede
Open the live feed

How crawlipede works.

A centipede that lives on X. One is crawling this page right now, marking every ticker and address it finds. It reads every Solana call as it is posted, pulls the contract out, checks it on chain, and keeps a running record of who called what, and when.

What it is

Crypto twitter moves faster than anyone can scroll. crawlipede holds a set of searches and accounts open on X and checks them every few seconds. Every tweet that comes back gets read word by word. Anything that decodes to a real Solana address is marked, scanned, and filed against the account that posted it.

Nothing on the site is simulated. The timeline is real tweets, the spreading list is real accounts, and every number is computed from what it has read.

The tabs

TabWhat you get
CrawlThe feed with the centipede on it, the race of contracts spreading in the last ten minutes, the reads per minute, and a short written read of what is running.
ContractsEvery contract it has seen. Spreading, new, or raided. Paste any contract in the filter to open it, even one nobody has posted yet.
CallersAccounts ranked by how their calls did. Open one to see every graded call.
RaidsCoins where the posting looks coordinated.
TickersEvery $TICKER typed on the lines it holds, counted in five minute buckets.
ConsoleEverything at once in dense columns, plus a command line.
TerminalThe raw output: the agent log line by line, every tweet as the JSON object it reads, its live state, and the source of the centipede crawling the page.
YouYour wallet, your watch list and your alerts.

Shortcuts

1 to 8 switch tabs. / or ⌘K opens search. Paste a contract anywhere on the page to open it. esc closes whatever is open.

Console commands

help            list commands
<contract>      open a coin
$TICKER         open a ticker
@handle         open a caller
go coins        switch tab
pause           pause the stream
clear           clear the stream
stats           totals so far

How it reads X

Each search and each watched account is a line. A line that keeps returning new tweets gets checked faster, down to every few seconds. A quiet line backs off toward a minute. That keeps reads pointed at where the calls are actually happening, and keeps the cost sane.

Searches ask only for tweets newer than the last one seen, and every tweet id is remembered so nothing is counted twice. Reads come through twitterapi.io, which costs about $0.15 per thousand tweets. There is a daily read budget so it can never run away.

What counts as a contract

Any word of 32 to 44 base58 characters that decodes to exactly 32 bytes, plus mints inside pump.fun, dexscreener and solscan links. Common mints like SOL and USDC are ignored. Tickers like $SOL or $WIF are any dollar sign followed by a letter and up to eleven more characters.

Chain checks

The first time a contract shows up, it is looked up on Solana and on DexScreener. Each problem becomes a plain flag:

  • mint authority still live
  • freeze authority still live
  • top 10 accounts hold more than half the supply
  • one account holds more than a fifth
  • pool under $5,000, or under a day old, or no pool at all

The risk number is just the flags added up. It is not a prediction, and nothing here is advice.

Caller scores

The first time an account posts a contract, that is a call, stamped with the market cap at that moment. Market caps refresh every two minutes, so each call is graded against where the coin is now.

  • Hit rate: share of graded calls that reached 2x
  • Median: the middle move across all graded calls, so one lucky call cannot carry a record
  • Firsts: how often this account was the first one crawlipede saw post the coin

Raids

When six or more accounts post the same contract inside ten minutes, it looks closer. The score blends how many of them are under 300 followers or under 30 days old with how alike their tweets read. Anything over 55 is marked as a raid on the coin, in the race, and in the feed.

Evolution

The agent is not a fixed list of searches. Every few minutes it looks back at what it read and rewires its own lines.

  • A caller whose graded calls hit 2x at least half the time, across three or more calls, gets watched directly.
  • A ticker that shows up across four or more accounts inside ten minutes gets a search of its own.
  • Any line it added that stops producing contracts for 90 minutes gets dropped and benched for six hours.
  • It holds at most ten lines of its own, so the read budget never runs away.

Each round that changes something is a new generation. Every add and drop is logged with the reason, on the Live tab and in the terminal with the evolve command. Nobody tunes it.

Holders

Watching is free for everyone. Holding the token switches on the tools that make it yours:

  • up to 25 accounts it checks for you
  • up to 5 searches of your own on the same fast loop
  • keyword alerts on any new contract
  • alerts on the site, in Telegram, or POSTed to your webhook
  • the full caller board and every graded call

Signing in is one message signed by your wallet. It is never a transaction and never asks for approval to move anything.

API

Everything the site shows comes from these. Send x-crawlipede-session to get holder results.

RouteReturns
GET /api/statestats, spreading, new coins, tickers, callers, raids, lines, the latest read
GET /api/ca?address=one coin: calls, tweets, 24 hour mentions, chain scan
GET /api/caller?handle=one account's record
GET /api/callersthe board
GET /api/tweets?q=smarkedd tweets matching text or a handle
GET /feedserver sent events: tweet fresh ca raid brief alert line

Run your own

One file, no dependencies, Node 18 or newer.

TWITTERAPI_KEY=your_key node setup.js
SettingWhat it does
TWITTERAPI_KEYrequired. every tweet is read through it
SEARCHESX searches separated by ||
ACCOUNTShandles to watch, comma separated
TOKEN_MINT HOLD_MIN TOKEN_SYMBOLthe token holders need, and how much. without a mint, any signed in wallet gets holder tools
RPC_URLa Solana RPC. a paid one is worth it
OPENROUTER_API_KEY MODELturns on the written read
TELEGRAM_BOT_TOKENturns on Telegram alerts
TWEET_BUDGET_DAYdaily read cap, default 200,000
MIN_POLL_S MAX_POLL_Sfastest and slowest a line is checked