Trend Signals

Derived crypto trend data, priced per call for autonomous agents. No signup, no API key, no subscription — pay with USDC on Base using x402.

This is not a price feed. Prices are a commodity. What is sold here is the computed layer: PP-SuperTrend trend state across ~1,600 assets, how many bars ago each flipped, the band level where the trend invalidates, RSI divergences and 14-day momentum — derived from years of history by a pipeline that runs continuously.

Endpoints

RoutePriceReturns
GET /x402/signal/{SYMBOL}$0.01PP-SuperTrend state for ONE crypto asset: 1D/4H/1W signal, flip age in bars, band levels, divergence and 14d momentum.
GET /x402/signals$0.05Full derived sweep across ~1.6k crypto assets: trend state, flip age, bands, per-timeframe signals, momentum. The whole book in one call.
GET /x402/flips/recent$0.02Assets whose PP-SuperTrend trend flipped most recently, newest first, with price and band at the flip.
GET /x402/divergences/recent$0.02Current RSI divergences (price/RSI disagreement) across the crypto universe.

Machine-readable price list: /x402/catalog · health: /x402/health

How to call it

Request without payment and you get an HTTP 402 describing exactly what to pay. Any x402 client handles this automatically:

import { wrapFetchWithPayment } from "@x402/fetch";

const pay = wrapFetchWithPayment(fetch, signer);   // any funded Base wallet
const res = await pay("https://trend-signals.com/x402/signals?limit=100");
const { signals } = await res.json();

Settlement is on Base in USDC. Gas is paid by the facilitator, so a caller needs only USDC — no ETH. Payment is final on settlement; there is no invoice, account or chargeback.

Field notes

signal_1d / signal_4h / signal_1wTrend direction per timeframe — bull or bear.
candles_since_flipBars since the trend last flipped. Freshness, in the timeframe's own units.
band_1dThe PP-SuperTrend band — the level at which the current trend is invalidated.
momentum_14d / since_flip_pctPercent move over 14 days, and since the flip.