Developers

Public API reference.

Free, unauthenticated JSON endpoints for crypto prices, candles, and macro context. No API key. Cache-friendly. CORS-open. Rate-limited by Cloudflare's edge cache, not by us.

These endpoints serve public data. They are read-only, CORS-enabled, and do not require authentication. Authenticated endpoints (alerts, positions, config) live behind /api/* and require a session cookie or Bearer key from a Pro/Business account.

GET /api/public/market-pulse

GET/api/public/market-pulse

Live crypto tickers, macro context, and the current USD/PHP rate. Cached for 25 seconds at the edge. Best used for a landing-page ticker, a status widget, or a dashboard sidebar.

curl -s https://market.nythosx.com/api/public/market-pulse | jq { "crypto": [ { "key": "btc", "label": "BTC", "price": 67842.10, "changePct": -1.24 }, { "key": "eth", "label": "ETH", "price": 3412.55, "changePct": 0.82 }, ... ], "macro": [ { "key": "dxy", "label": "DXY", "value": 104.28, "changePct": 0.21, "unit": "" }, { "key": "vix", "label": "VIX", "value": 14.62, "changePct": -2.10, "unit": "" }, ... ], "forex": [ { "key": "usdphp", "label": "USD/PHP", "price": 58.421, "changePct": null } ], "ts": 1770000000000 }

GET /api/public/candles

GET/api/public/candles?symbol=BTCUSDT&tf=24H

OHLCV candle series for a whitelisted crypto symbol. Cached for 60 seconds. Suitable for a sparkline, a mini chart, or an offline backtest feed.

  • symbol BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, XRPUSDT, ADAUSDT, DOGEUSDT, AVAXUSDT, LINKUSDT, LTCUSDT, MATICUSDT, DOTUSDT
  • tf 1H, 24H, 7D, 30D, 1Y (default: 24H)
curl -s "https://market.nythosx.com/api/public/candles?symbol=BTCUSDT&tf=24H" | jq [ { "time": 1769990400, "open": 67120.10, "high": 67950.00, "low": 66890.20, "close": 67842.10, "volume": 1823.44 }, ... ]

Agent API (x402, pay per request)

Derived analytics for AI agents and bots, paid per call in USDC with the x402 protocol. No account, no API key: call an endpoint, receive 402 Payment Required with a PAYMENT-REQUIRED header, sign the USDC payment with any x402 client (for example @x402/fetch), and retry with PAYMENT-SIGNATURE. Payment settles only after a successful result; errors are not charged.

Live on Base mainnet, priced in USDC. Machine-readable: /api/catalog · /openapi.json · /.well-known/x402. Free samples: /api/v1/sample?endpoint=trade-plan (also advisor, levels, regime, probability). Free, no payment: /api/v1/track-record and /api/v1/snapshot?symbol=BTC (BTC, ETH). A2A agent card: /.well-known/agent-card.json. Symbols: BTC, ETH, SOL, BNB, XRP, ADA, LTC, XDC, NVDA, MSFT, AMZN, AAPL, USDPHP.
$0.03GET/api/v1/trade-plan?symbol=ETH&tf=4h

One call instead of four: signal bias, regime, nearest support/resistance, entry/stop/target and R:R, the probability of reaching the target before the stop, 7-day touch odds, estimated days to target, invalidation and this symbol's graded track record. A neutral bias returns the odds of hitting resistance before support.

$0.01GET/api/v1/advisor?symbol=BTC&tf=4h

Rules-based signal bias (bullish / lean_bullish / neutral / lean_bearish / bearish) with score, confidence, setup levels (entry, stop, target, R:R), weighted factors and explicit invalidation conditions. Same output for every caller. tf: 5m, 1h, 4h, 1d, 1w.

$0.005GET/api/v1/levels?symbol=ETH

Up to five support and five resistance levels (daily swing pivots, high-volume nodes, round numbers) with strength and touch counts.

$0.005GET/api/v1/regime?symbol=SOL

Trend (up / down / range) and volatility bucket (low / normal / high / extreme) with RSI and EMA50/EMA200.

$0.005GET/api/v1/probability?symbol=BTC&target=90000

Probability of closing beyond, and of touching, a target price within 1, 7 and 30 days, from ATR volatility.

FreeGET/api/v1/track-record?symbol=BTC

Graded accuracy of every published bias: hit rate and average return by confidence, bias and symbol, Wilson intervals, independent sample counts, Brier score. Symbol optional. Check it before relying on signals.

FreeGET/api/v1/snapshot?symbol=BTC

Regime and nearest support/resistance for BTC and ETH, refreshed every 15 minutes.

$0.02POST/api/v1/triggers

Arms a single-fire price trigger checked every minute. On the first crossing NythosX POSTs a JSON event to your HTTPS webhook, signed with X-NythosX-Signature: sha256=<hex HMAC-SHA256 of the body> using the returned secret. Status is free at GET /api/v1/triggers/status?id=.

{ "symbol": "BTC", "direction": "below", "price": 78000, "webhook_url": "https://your-agent.example/hooks/nythosx", "ttl_hours": 168 }

Every paid response is an envelope with schema_version, generated_at, source_timestamp, data and disclaimer. Paths are versioned; response shapes do not change within /v1. Analytics only, not investment advice.

Minimal agent client (Node, @x402/fetch + viem):

import { wrapFetchWithPayment, x402Client } from "@x402/fetch"; import { ExactEvmScheme } from "@x402/evm/exact/client"; import { privateKeyToAccount } from "viem/accounts"; const account = privateKeyToAccount(process.env.AGENT_KEY); const client = new x402Client().register("eip155:*", new ExactEvmScheme(account)); const pay = wrapFetchWithPayment(fetch, client); const res = await pay("https://market.nythosx.com/api/v1/trade-plan?symbol=BTC&tf=4h"); const { data } = await res.json(); console.log(data.bias, data.setup?.targetBeforeStopPct, data.trackRecord.hitRatePct);

MCP server (paid tools for AI assistants)

The same analytics are available as Model Context Protocol tools at https://market.nythosx.com/mcp (Streamable HTTP, stateless). Paid tools carry an x402 payment in _meta["x402/payment"]; x402-aware MCP clients such as @x402/mcp handle this automatically. Failed tool calls are not charged.

Authenticated endpoints

Everything else — alerts, positions, watchlist config, advisor reads, backtest runs, shadow trades — requires a session cookie (from POST /api/auth/login) or a Bearer key generated at /account. Pro and Business tiers can create up to 5 and 50 keys respectively. Keys are shown exactly once at creation and stored hashed at rest.

Terms of use

Public endpoints are free to use, including from other websites, but please cache responses client-side — do not poll faster than once every 25 seconds. Bulk scraping, resale, or use to build a competing product is prohibited. See the terms for details.

If you build something interesting on top of these endpoints, email support@nythosx.com and we will link to it from this page.