Solana Memecoin Signals API & MCP Server

Real-time Solana memecoin signals your AI agent can connect to — via MCP server, REST API, webhooks, or x402 pay-per-call (USDC, no account).

A Solana memecoin signal engine you can plug straight into. Four ways to connect: the x402 Agent Feed (live now — pay $0.02 USDC per call, or buy an hour or day pass; no account or key), the MCP Server for Claude & AI agents (a paid key — $49 Gated or $99 Builder — includes risk-managed paper trading), a dedicated Grok connector (sign in with X; a blue-check gets a 7-day gated trial), and the Builder API (a key-authed REST feed with backtest history, a live stream, and signed webhooks). All endpoints return surfaced signals only (strong, solid, and watch tier). Building an agent? See the AI agents overview.

Our public track record shows how far the coins we flagged ran, from entry market cap to peak: piquesignal.xyz/track-record. Agents can read it as JSON at /api/track_record_public (no key).

For autonomous agents: a machine-readable menu of everything you can use or buy here is at /.well-known/agents.json.

Pay per call — $0.02 (x402)

GET /api/x402/feed?view=gated|free x402 payment

With no payment you get a standard x402 402 bill (free to fetch). Pay $0.02 USDC on Solana and the same request returns the full current gated board, or the free board with view=free (same delay as the public /free page). No account, no key, no pass. One payment buys one read. Early Edge is NOT in the per-call feed; it comes with the hour and day passes below.

Agent Feed — pay-per-time passes (x402)

Autonomous agents pay a tiny amount of USDC on Solana for a time-limited pass, then read Pique Signal's live signal board. No account, no API key, no human login — the agent pays once for a pass, then sends it with each read, using the open x402 payment standard. The facilitator is the fee-payer, so your wallet pays no SOL gas.

PassPriceLifetimeDaily calls
hour$0.50 USDC1 hour600
day$5.00 USDC1 day5,000

Per-pass rate limit: 30 requests/minute. The pass secret is shown ONCE at purchase — store it. It is a bearer credential.

1. Get a pass

GET /api/x402/pass?tenor=hour|day x402 payment

With no payment, returns a standard x402 402 challenge (free to fetch — inspect it before paying). Any x402 client reads the challenge, signs a USDC transfer to the treasury, and re-requests with a payment header; on success you receive your pass. The price is fixed server-side — a client cannot lower it.

402 challenge (x402 v2)

{
  "x402Version": 2,
  "error": "Payment required",
  "accepts": [{
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset":   "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",   // USDC (mainnet)
    "amount":  "500000",                                          // atomic USDC = $0.50 (day = 5000000)
    "payTo":   "E75637r67jVjdYuG6C6Taaf9Gtur4S98GkFmSWwazLC",    // the Pique Signal treasury (always pay the payTo shown in the live 402 bill)
    "maxTimeoutSeconds": 60,
    "extra": {
      "resource": "https://piquesignal.xyz/api/x402/pass?tenor=hour",
      "tenor": "hour",
      "description": "PiqueSignal x402 hour pass",
      "feePayer": "..."
    }
  }]
}

On payment → 200

{
  "pass": "pqx_XXXXXXXX...",
  "tier": "agent",
  "tenor": "hour",
  "expires_in_seconds": 3600
}

Store pass — it is shown once and only its hash is kept server-side. Send it as Authorization: Bearer pqx_....

2. Read the board

GET /api/x402/agent-feed?view=free|gated&limit=1-200 Bearer pass

view=gated is the default. Leave out limit to get the whole current board. Set limit (1–200) only to cut it shorter; values outside 1–200 are rejected.

curl "https://piquesignal.xyz/api/x402/agent-feed?view=gated&limit=50"   -H "Authorization: Bearer pqx_XXXX..."

Response

{
  "tier": "agent", "view": "gated", "count": 50, "as_of": "2026-08-11T...Z",
  "signals": [ { "mint": "...", "symbol": "...", "read_state": "...", "wm": "...", ... } ]
}

Each signal carries a wm per-pass watermark. Two separate lists — free and gated are never blended.

Early Edge

GET /api/x402/early-edge Bearer pass

The Early Edge list: coins smart wallets got into early (symbol, mint, smart wallets, Tier, Backed, Green flag, Committed). Same pass and daily limit as the agent feed.

Live stream (SSE)

GET /api/x402/agent-feed/stream?view=free|gated&limit=1-200 Bearer pass

A Server-Sent Events stream. On connect you get a snapshot event with the current board, then a push for each new signal as it fires — no polling. Same pass, views, fields, and watermark as the board.

Charges 1 daily call per minute streamed. Up to 2 concurrent streams per pass (else 429 too_many_streams). Auto-closes at pass expiry, daily quota, or 24h — an end event states the reason.

Views — pick one per request

viewWhat you get
freeThe same data the public /free page shows, with the same delay (at least 10 minutes, up to 60 minutes for strong coins): symbol, name, mint, chain, coin & token age, entry & current market cap, holders + growth, liquidity, 5m / 1h / 24h volume, 5m txns, top-10 holder %, bundles, snipers, dex-paid, a fake-volume flag, socials.
gated (default)A separate live list (no delay). It is not a copy of the free list: some coins are on both, and some are only on one. It has every free field, plus the Clear-Eyes read (read_state, ce_step, ce_step_index, ce_line), Real Crowd (real_crowd: how many holders are real, when known) and a clean tag. dex_paid and the fake-volume flag (fee_rug) are on both views.

Your pass & health

MethodEndpointDescription
GET/api/x402/meYour pass status: tier, daily_limit, daily_used, as_of. Bearer pass.
GET/api/x402/healthLiveness. No auth.

Errors

All responses are JSON { "error": "...", "detail": "..." }.

CodeErrorMeaning
400invalid_tenor / invalid_view / bad_payment_headertenor must be hour|day; view must be free|gated; the payment header could not be decoded
401missing_pass / invalid_passSend Authorization: Bearer <pass>; unknown or blank pass
402(x402 challenge) / onchain_unconfirmed / payment_invalid / settle_failedPayment required. onchain_unconfirmed = settling but not yet confirmed — wait a few seconds and retry with the SAME payment (you are not charged twice); payment_invalid / settle_failed = the payment did not verify or settle
403pass_expired / pass_revoked / pass_inactiveBuy a new pass
409already_usedThis settled payment already minted a pass (you were not charged twice)
429rate_limited / daily_quota_exceeded / too_many_streamsSlow down; the daily cap is reached (resets midnight UTC); or too many concurrent streams (max 2 per pass)
404not_foundEndpoint temporarily off, or a typo — check GET /api/x402/health
502verify_error / settle_error / no_settlement_txA facilitator error mid-payment — retry
503service unavailable (fee_payer_unavailable / feed_unavailable / stream_capacity / …)Transient — retry with backoff

If you believe you paid but received no pass, retry /api/x402/pass with the SAME payment, or contact support with your Solana transaction signature — payments are reconciled against the treasury.

MCP Server — for Claude & AI agents

A conversational trading terminal over the live signal engine. Connect it to Claude Code (or any MCP client) and ask, in plain language, for the current board, a coin's price, or to run risk-managed paper trades against real market data. It exposes nine tools on the hosted connection (eight in the self-install build); the model calls them for you.

Connect

Option A — Hosted (easiest). Best for pulling signals and prices; paper trades here reset each session. No install.

claude mcp add --transport http piquesignal https://piquesignal.xyz/mcp

Then run /mcp inside Claude Code and sign in (OAuth) by pasting your paid API key ($49 Gated or $99 Builder) from your account page.

Option B — Self-install. This is the path that paper-trades locally — the paper engine and your positions live on your own machine. Download the MCP from your account page (available to members) and unzip it, then open a terminal in that folder and run:

npm install
claude mcp add piquesignal -- node /path/to/piquesignal-mcp/src/index.js

Then set PIQUESIGNAL_API_KEY to the paid API key ($49 Gated or $99 Builder) from your account page.

Tools

ToolArgumentsWhat it does
get_signalslimit ≤200 (default 200), view gated|freeThe live board of calls. The gated view adds the Clear-Eyes read (read_state); free = the same live coins with basics + tags only (no Clear-Eyes read). This is not the public free board, which is delayed. There is no numeric score on this feed.
get_tokenmint (required), view gated|freeDeep-dive one coin: its board detail if it's a live call, plus its live price in SOL (not USD).
get_pricemintLive price in SOL for one token (from a SOL-quoted DexScreener pair; none if no SOL price is found).
paper_buymint (required), amount_sol (capped at 0.5 per buy), symbol, score 0–100 (optional; your confidence, used for position sizing), liquidity_usdOpen a simulated position, sized and risk-checked automatically.
paper_sellmint (required), reasonClose a simulated position at the live price.
get_positions—List your open paper positions with live P&L.
get_portfolio—Your paper account: balance, exposure, realized & unrealized P&L.
get_early_edge (hosted connection)—Early Edge: coins smart wallets got into early.
welcome—Getting-started screen: what you can ask, and the free vs gated views.

Paper trading

Paper trading works on both connections and uses real-time DexScreener prices (in SOL) — it is a dry run, not a backtest. Hosted: paper trades are kept in memory for that session only; positions and balance reset when the session ends (after about an hour with no activity, or after 24 hours at most) or our server restarts. Self-install: positions are saved on your own disk at ~/.piquesignal/paper-state.json. The engine is risk-managed: position size uses the optional score you pass (0-100, your own confidence — PiqueSignal does not give a score; with none passed, it buys half size), there is a total-exposure cap, and duplicate-token buys are blocked. Each buy is capped at 0.5 SOL (amount_sol above 0.5 is cut to 0.5), with 5 SOL total exposure and a 10 SOL starting balance. The $10,000 liquidity floor applies only when you pass liquidity_usd. Stop-loss (−15%) and take-profit (+50%) are checked each time you call get_positions, not watched all the time. Simulated slippage is 0.1–0.5% with no fees, so real fills on thin memecoins can be worse.

Paper trades on the hosted connection reset each session; use the self-install build to keep them.

Using Grok?

Grok has its own one-tap, free connector — sign in with X, no account or key. See the Grok section below for the setup steps.

Grok connector — free, for X users

Connect Pique Signal straight into Grok and ask for the live Solana board in plain language — “what's moving” or “show me the board”. It's a separate, read-only connector built for Grok, and it's free — no account, no API key, no payment. You just sign in with your X account.

What you get (free)

Your X accountWhat you see
Blue check (X Premium)A 7-day free trial of the LIVE board — no delay at all (the free board is at least 10 minutes behind), plus the Clear-Eyes read wherever we have one. The trial also includes Early Edge.
Any other X accountThe free board — our free list of calls, delayed at least 10 minutes. It is a different list from the live board, and it has no Clear-Eyes read.

No credit card, no crypto, no subscription. The blue-check trial is one per X account; after it ends you stay on the free board.

Set it up (about a minute)

  1. In Grok, open your custom connector settings (“add your own connector”).
  2. Add a connector with this URL:
    https://grok.piquesignal.xyz/mcp
  3. Sign in with X when Grok asks (one tap — it just confirms your X account).
  4. Done. Ask Grok “show me the PiqueSignal board” or “what's moving.”

Just got X Premium? Reconnect the connector once so it picks up your blue-check trial.

What you can ask

Ask Grok…What it does
“what's moving” / “show me the board”The free board of Solana calls (delayed at least 10 min) — with the dex-paid and fake-volume tells.
the live board (blue-check trial)No delay, plus the Clear-Eyes read (climbing / fading / real / rug / tracking) on each coin.
a specific tickerThat coin's row from the board, if it is on the board right now. There is no separate price lookup in the Grok connector.

These are signals, not financial advice. Memecoins are high-risk — you decide.

Builder API — REST for developers

A key-authed pull API for building your own tools on top of the signal engine: the live board, settled backtest history, a live push stream, and signed webhooks. Send your account key as Authorization: Bearer <key> (the key is on your account page). /api/pull/feed, /api/pull/me and /api/pull/early-edge work with any paid key ($49 Gated or $99 Builder); /api/pull/builder, the backtest endpoints, the Builder stream and webhooks need a $99 Builder key:

Authorization: Bearer <builder key>

Endpoints

MethodEndpointDescription
GET/api/pull/healthLiveness check.
GET/api/pull/meYour tier and daily quota (used / limit).
GET/api/pull/feed?limit=1-200Your tier's live board.
GET/api/pull/early-edgeThe Early Edge list (paid keys).
GET/api/pull/builder?view=gated|free&limit=1-200gated (default) = a higher-conviction subset; free = every call from the last 24 hours (one per coin, confirmed rugs removed).
GET/api/pull/backtestPast calls' settled outcomes, 48h-delayed, no score.
GET/api/pull/backtest/stats?days=NPer-group counts and averages for past calls in an N-day window (days 1–365, default 30) that ends 48 hours ago. hit_2x_24h = the share of calls at 2x or more AT the 24-hour mark. This is not the same measure as our public track record (entry market cap to peak): piquesignal.xyz/track-record.
GET/api/pull/builder/streamSSE live push of the board as new signals fire.
POST/api/pull/builder/webhooksRegister an HTTPS URL for signed push delivery. Body: {"url":"https://..."}. Returns the signing secret ONCE.
GET/api/pull/builder/webhooksList your registered webhooks (no secrets).
PATCH/api/pull/builder/webhooks/{id}Pause or resume one webhook. Body: {"active":true|false}.
DELETE/api/pull/builder/webhooks/{id}Remove one webhook.

Example

curl "https://piquesignal.xyz/api/pull/builder?view=gated&limit=50"   -H "Authorization: Bearer <builder key>"

Webhooks

Register an HTTPS URL and every new signal is POSTed to you as it fires — no polling. Each delivery is HMAC-SHA256 signed: the header X-Pique-Signature is the HMAC of the raw request body computed with your webhook secret. Recompute it on your side and compare before you trust a payload. The secret is shown once at registration — store it then. Deliveries carry only sanitized signal fields.

Limits & errors

AreaDetail
Rate60 requests/minute per key (429 rate_limited), plus a daily call quota (429 daily_quota_exceeded, resets midnight UTC).
WebhooksUp to 5 active per key. The URL must be HTTPS and resolve to a public IP — private, loopback, and internal hosts are rejected.
StreamsUp to 2 concurrent per key (429 too_many_streams) and 25 across the service (503 stream_capacity); each charges 1 daily call/minute and auto-closes at 24h or on key revoke / daily cap.
Backtest48h-delayed, last 30 days of rows only. Filter with tier (strong|solid|watch), chain, phase, start / end (ISO), and cursor (ISO) for pagination (next_cursor is returned). limit 1–500 (default 100). Stats: days 1–365 (default 30).
Watermark/api/pull/builder, /api/pull/builder/stream and /api/pull/backtest rows carry a per-key wm watermark (/api/pull/feed and /api/pull/early-edge do not).

Auth errors: 401 missing_api_key; 403 key_revoked / builder_required / builder_expired (your Builder plan lapsed — renew) / quota_required. Transient issues return 503 — retry with backoff.

FAQ

What is the PiqueSignal MCP server?

An MCP (Model Context Protocol) server that connects Claude or any AI agent to PiqueSignal's live Solana memecoin signals. Ask in plain language for the current board, a token's price, or run risk-managed paper trades against real market data. It exposes nine tools on the hosted connection (eight in the self-install build); the model calls them for you.

How do I add the PiqueSignal MCP server to Claude Desktop or Claude Code?

Run: claude mcp add --transport http piquesignal https://piquesignal.xyz/mcp — then run /mcp inside Claude Code and sign in. That is the hosted option (no install). A self-install build, which paper-trades locally, is on your account page.

Can an AI agent get Solana memecoin signals without an account?

Yes. An agent can pay $0.02 in USDC for one read of the live board, or buy a pass ($0.50 for one hour, $5 for one day). No account, no API key, no human login.

What is x402 pay-per-call?

x402 is an open payment standard. The agent requests the feed, receives a 402 challenge, pays a fixed USDC amount on Solana, and reads the board in one flow — no subscription. The facilitator pays gas, so your wallet pays no SOL.

Does PiqueSignal have a REST API and webhooks?

Yes. The Builder API is a key-authed REST feed with the live board, settled backtest history, an SSE live stream, and HMAC-signed webhooks — register an HTTPS URL and every new signal is pushed to you as it fires.

What do the signals include?

Symbol, mint, entry and current market cap, holders and growth, liquidity, 5m/1h/24h volume, top-10 holder %, bundle and sniper flags, dex-paid, a fake-volume warning, and socials. Gated views add the Clear-Eyes read. On the board feeds (x402, /api/pull/feed, MCP and the Grok trial) they also add a real-holder check (when known) and a clean tag (when present).

Does it filter for rugs and unsafe tokens?

Yes. We run rug and safety checks before we call a coin. Risky coins are filtered out or carry a warning tag (for example a fake-volume warning). No check catches every rug.