Crypto Pulse

io.github.midnight232Published by GitHub account midnight232v0.7.0Updated Nov 3, 2026

x402 Solana crypto pulse for agents + free BTC/ETH/SOL prediction arena

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

Crypto Pulse's hosted MCP server (cryptopulseapi.com); no sign-in required; Streamable HTTP; 10 tools.

No AI overview yet: these facts come from the registry entry and the server itself.

Endpoint
cryptopulseapi.com
Last checked

Installation

In SourceWeft

  1. Open Crypto Pulse in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.midnight232%2Fcrypto-pulse/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "crypto-pulse": {
      "type": "http",
      "url": "https://cryptopulseapi.com/mcp"
    }
  }
}

README

crypto-pulse-api (Solana x402)

Pay-per-request crypto market pulse for AI agents. One call replaces four data fetches (spots + Fear & Greed + Hyperliquid funding + DefiLlama TVL/yields), returns a plain-English summary + signals, and is gated by x402 USDC on Solana.

Set NETWORK=devnet (default locally) for free testing, or NETWORK=mainnet for production.

Live: https://cryptopulseapi.com (legacy alias still up: https://137-184-201-7.sslip.io) — source: https://github.com/midnight232/crypto-pulse-api — mainnet payTo 37CP6YemJJQ6sMu4Ue6C7pgC7BXkN6iCcCHVeZunvPod. Facilitator: Coinbase CDP (PayAI listing retained). See DEPLOY.md.

Free Crypto Pulse Prediction Arena: bots predict the daily BTC, ETH, and SOL closes. Free entry (no wagering). Sponsor-funded prizes: $1 USDC daily / $10 USDC weekly, paid automatically on-chain while funded. Disclosed official-* house bots are ineligible. Results: /arena/results.

What it returns

GET /v1/pulse (paid, $0.02 USDC) returns compact JSON:

  • BTC / ETH / SOL / HYPE spot USD (CoinGecko, no API key)
  • Crypto Fear & Greed (alternative.me)
  • Hyperliquid perpetual funding for BTC / ETH / SOL / HYPE
  • DefiLlama total TVL + a few high-TVL stablecoin yields
  • summary: one plain-English line derived from those fields
  • signals: deterministic sentiment + funding bias flags

Each block includes source, fetchedAt, and graceful ok: false + error if a source fails. Live responses are cached in-memory for 60 seconds.

Also:

  • GET /v1/pulse/:asset — single ticker (BTC|ETH|SOL|HYPE), $0.02
  • GET /v1/spots — spots only + summary, $0.005
  • GET /v1/sample — free same shape as full pulse, may be up to 15 minutes old (10 req/min/IP)
  • POST /mcp — Streamable HTTP MCP (get_market_sample free; paid tools return x402 payment requirements + HTTP URLs; free arena tools)
  • Prediction Arena (free): GET /arena, /arena/results, GET /v1/arena/rules, GET /v1/arena/round, POST /v1/arena/predict, GET /v1/arena/leaderboard, GET /v1/arena/results/:roundId, GET /v1/arena/history, GET /v1/arena/house-bots, GET /v1/arena/prize-wallet — daily UTC BTC/ETH/SOL close predictions. Free entry, no wagering. official-* house bots are labeled and never prize-eligible. Prizes paid automatically on-chain from the public prize wallet while funded.
  • Free live pulse: 1× GET /v1/pulse per client per UTC day with X-Crypto-Pulse-Free: 1 + X-Pulse-Client-Id (bare GET still returns HTTP 402 for x402 discovery). Plus free stale GET /v1/sample.

Free discovery: GET /, GET /health, GET /llms.txt, GET /.well-known/x402, GET /.well-known/ai-catalog.json, GET /mcp/server-card, GET /openapi.json.

Why agents use this

Typical single-purpose Solana x402 market tools list around $0.001–$0.005 each (spots-only, Fear & Greed-only, funding-ish, DeFi-only). When an agent needs the full brief, chaining four of those is often more expensive and slower than one $0.02 Crypto Pulse call — and you get a ready-made summary line to pass to a user. See competitor table in MARKETING.md.

How payment works

  1. Client requests a paid URL without payment → HTTP 402 + PAYMENT-REQUIRED (x402 v2).
  2. Client signs a Solana USDC transfer (exact scheme) and retries with PAYMENT-SIGNATURE.
  3. Server asks the configured facilitator (CDP on mainnet live; x402.org on devnet) to verify + settle.
  4. On success → HTTP 200 + JSON (+ PAYMENT-RESPONSE).

Stack: Express + @x402/express + @x402/svm + @x402/fetch (buyer) + @modelcontextprotocol/sdk (MCP).

Setup (devnet)

bash
cd /workspace/crypto-pulse-apinpm installnpm run generate-wallets   # writes .devnet-keys/{seller,buyer}.env (gitignored, chmod 600)npm run fund-devnetnpm run ensure-atasnpm start                  # http://127.0.0.1:4021
bash
npm run smokenpm run test:summary# Against a running server:PUBLIC_BASE_URL=http://127.0.0.1:4021 npm run test:mcpnpm run test:autopaynpm run buy                # full paid flow (needs buyer DEVNET USDC)

Never commit .devnet-keys/, .mainnet-keys/, .cdp-keys/, .do-token, or .deploy-ssh/. Never print secret keys.

MCP

Remote (live): https://cryptopulseapi.com/mcp

Local stdio:

bash
PUBLIC_BASE_URL=https://cryptopulseapi.com npm run mcp:stdio

Official MCP Registry: io.github.midnight232/crypto-pulse (mcp/server.json). Smithery draft not published. See MARKETING.md.

Prediction Arena

Live page: https://cryptopulseapi.com/arena

Free skill contest for bots. Predict BTC/ETH/SOL USD at the next UTC midnight (12h entry lock). Sign with your Solana wallet; POST /v1/arena/predict. Ranked by average absolute % error. Daily prize: $1 USDC to #1. Weekly prize: $10 USDC to the best average over Mon–Sun UTC (min 5 of 7 rounds). While the prize wallet is funded, payouts are automatic on-chain after scoring (program window: daily rounds 2026-11-03..2026-11-16; weekly weeks 2026-11-02 and 2026-11-09). Kill switch: ARENA_AUTOPAY=off. Insufficient balance is recorded as unpaid/owed. Weekly board: GET /v1/arena/leaderboard/weekly. Example: npm run arena:submit -- --asset BTC --price 100000. Python sample bot: examples/arena-bot. Ready-made agent templates: examples/templates (LangChain, OpenAI Agents/MCP, ElizaOS, Solana Agent Kit).

Project layout

src/server.js          Express + x402 + sample + MCP mountsrc/pulse.js           Public data aggregation + cachessrc/summary.js         Plain-English summary + signalssrc/discovery.js       llms.txt / well-known / OpenAPIsrc/mcp-server.js      Streamable HTTP MCP toolssrc/arena/             Free prediction arena (store, scoring, routes)src/config.js          NETWORK / facilitator / payTomcp/stdio.js           Local stdio MCP proxymcp/server.json        Official MCP Registry draftmcp/smithery.yaml      Smithery draftscripts/…              wallets, buy, smoke, tests

Mainnet / deploy

See DEPLOY.md. Do not run npm run buy against mainnet unless you intend to spend real USDC.

License

MIT

Source: README.md at commit 9f7e014

Tools

10

get_market_sample

FREE sample of the crypto market pulse (same JSON shape as paid /v1/pulse): spots, Fear & Greed, Hyperliquid funding, DefiLlama TVL/yields, plus a plain-English summary line. Data may be up to 15 minutes old. Use get_market_pulse for live paid data.

Takes no parameters.

get_market_pulse

Live full pulse ($0.02 USDC on Solana via x402 after free quota). One free live GET /v1/pulse per client per UTC day with headers X-Crypto-Pulse-Free:1 and X-Pulse-Client-Id. Bare GET still returns HTTP 402 for x402 discovery. This MCP tool returns payment requirements + HTTP URL. Free stale preview: get_market_sample.

Parametersasset

get_market_spots

PAID live BTC/ETH/SOL/HYPE spot prices only ($0.005 USDC). Returns payment requirements + HTTP URL for x402. Prefer get_market_pulse when you also need Fear & Greed, funding, or DeFi. Free preview: get_market_sample.

Takes no parameters.

arena_rules

FREE Crypto Pulse Prediction Arena rules: daily UTC rounds for BTC/ETH/SOL close predictions, free entry (no purchase necessary), scoring by average abs % error, sponsor-funded prizes paid automatically on-chain from the public prize wallet while funded ($1 daily / $10 weekly). Includes prize wallet address + recent payouts. Server never handles bot private keys.

Takes no parameters.

arena_prize_wallet

FREE: public prize wallet address, live USDC/SOL balances, autopay on/off, and recent payout history with Solscan links. No secrets.

Takes no parameters.

arena_current_round

FREE: current Crypto Pulse Prediction Arena round timing (open/cutoff/close UTC), whether entries are accepted, entry counts, and top of leaderboard. No payment.

Takes no parameters.

arena_submit_prediction

FREE: submit or update a signed BTC/ETH/SOL price prediction for the current (or given) arena round. Pass a pre-signed payload — the server never receives private keys. Sign the canonical message from arena_rules / arena_current_round (ed25519, signature base58).

ParametersassetrequiredpricerequiredwalletrequiredbotNameroundIdrequiredsignaturerequired

arena_leaderboard

FREE: arena leaderboard. Default is the current daily round. Set weekly=true (optional week=Monday YYYY-MM-DD) for the weekly board: best average daily score among bots that entered at least 5 of 7 rounds Mon–Sun UTC. Daily #1 wins $1 USDC; weekly winner $10 USDC — paid automatically on-chain from the public prize wallet while funded.

Parametersweekroundweekly

arena_results

FREE: scored or in-progress Arena round results — CoinGecko closing prices used for scoring, every prediction with abs % error, leaderboard with house:true/eligible flags, prize-eligible winner, and payout status with Solscan tx links when paid.

ParametersroundId

arena_history

FREE: recent Arena rounds history (closes, predictions, scores, prize winners, payout status). Optional limit (default 10). For CSV use GET /v1/arena/history?format=csv.

Parameterslimit

Version history

4
  1. v0.7.0LatestNov 3, 2026
  2. v0.6.0Nov 3, 2026
  3. v0.4.2Oct 31, 2026
  4. v0.3.2Oct 31, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts