Top 10 Crypto · Bull & Bear Signals · Multi-Timeframe · Pay-per-request
x402 · USDC · Base Mainnet · USDC · Solana Mainnet

Payment

Protocol x402 (HTTP 402 Payment Required) Facilitatorhttps://portsidelabs-x402-facilitator-536698811508.us-west1.run.app

SVM — Solana

Price $0.001 USDC per request Network Solana Mainnet (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) Pay to 4F7vL61eYmywh9S1z4vuNnnpXKDGNnHqFbj26gT8HAUx Asset EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v (USDC)

Payment Flow

  1. Request /signals, /signals/bull, /signals/bear, or /signals/{coin} without an X-Payment header.
  2. Receive HTTP 402 with a WWW-Authenticate body describing payment options.
  3. Sign the authorization — EIP-3009 for EVM (Base) or a USDC SPL transfer for SVM (Solana).
  4. Re-send with the X-Payment header.
  5. The facilitator verifies on-chain; the API responds; settlement follows.

Endpoints

GET /signals

Bull and bear signals for the top 10 cryptocurrencies by market cap across 8 timeframes. Coin list is sourced from CryptoCompare at server startup: BTC, ETH, USDT, XRP, BNB, USDC, SOL, HYPE, TRX, STETH.

Request
GET /signals
X-Payment: <signed-x402-authorization>
Response 200
{
  "Bulls": {
    "BTC": ["1m", "5m", "1h", "1D"],
    "SOL": ["4h", "8h"]
  },
  "Bears": {
    "ETH": ["30m", "4h"],
    "BNB": ["1m", "5m", "15m"]
  },
  "meta": {
    "sma_period": 14,
    "timeframes": ["1m", "5m", "15m", "30m", "1h", "4h", "8h", "1D"],
    "coins_analyzed": 10,
    "timestamp": "2025-01-01T00:00:00.000Z"
  }
}
PUT /signals/bull

Returns only the bullish coins and their bullish timeframes from the top 10 by market cap.

Request
PUT /signals/bull
X-Payment: <signed-x402-authorization>
Response 200
{
  "signal": "bull",
  "coins": {
    "BTC": ["1m", "5m", "1h", "1D"],
    "SOL": ["4h", "8h"]
  },
  "meta": {
    "sma_period": 14,
    "timeframes": ["1m", "5m", "15m", "30m", "1h", "4h", "8h", "1D"],
    "coins_analyzed": 10,
    "timestamp": "2025-01-01T00:00:00.000Z"
  }
}
PUT /signals/bear

Returns only the bearish coins and their bearish timeframes from the top 10 by market cap.

Request
PUT /signals/bear
X-Payment: <signed-x402-authorization>
Response 200
{
  "signal": "bear",
  "coins": {
    "ETH": ["30m", "4h"],
    "BNB": ["1m", "5m", "15m"]
  },
  "meta": {
    "sma_period": 14,
    "timeframes": ["1m", "5m", "15m", "30m", "1h", "4h", "8h", "1D"],
    "coins_analyzed": 10,
    "timestamp": "2025-01-01T00:00:00.000Z"
  }
}
PUT /signals/{coin}

Bull and bear signals for a single coin by symbol (e.g. BTC, ETH, DOGE). Accepts any symbol supported by CryptoCompare — not limited to the top 10.

Request
PUT /signals/BTC
X-Payment: <signed-x402-authorization>
Response 200
{
  "symbol": "BTC",
  "Bulls": ["1m", "5m", "1h", "1D"],
  "Bears": ["30m"],
  "meta": {
    "sma_period": 14,
    "timeframes": ["1m", "5m", "15m", "30m", "1h", "4h", "8h", "1D"],
    "timestamp": "2025-01-01T00:00:00.000Z"
  }
}

Signal Logic

SignalCondition
BullLast close price > SMA(14) for that timeframe
BearLast close price < SMA(14) for that timeframe
NeutralPrice equals SMA exactly — omitted from response

Timeframes

KeyCandle SizeData Source
1m1 minuteCryptoCompare histominute
5m5 minutesCryptoCompare histominute (aggregate=5)
15m15 minutesCryptoCompare histominute (aggregate=15)
30m30 minutesCryptoCompare histominute (aggregate=30)
1h1 hourCryptoCompare histohour
4h4 hoursCryptoCompare histohour (aggregate=4)
8h8 hoursCryptoCompare histohour (aggregate=8)
1D1 dayCryptoCompare histoday

Error Responses

StatusMeaning
402 Payment RequiredNo or invalid X-Payment header
404 Not FoundUnknown coin symbol (PUT only)
429 Too Many RequestsCryptoCompare rate limit — retry shortly
500 Internal Server ErrorUpstream API error or facilitator failure