# Trade Analyst > Deterministic trading-analysis toolkit — technical, volume, orderbook, ratio and sentiment operations behind x402 micropayments, with a machine-readable trade-analyst persona. A neutral, deterministic trading-analysis backend usable by any agentic AI. It exposes granular tool operations (data fetchers and compute engines for technical indicators, volume, order book, fundamental ratios and price/volume sentiment) for use inside an agent's own reasoning loop, plus a single-call /ta/ask orchestration endpoint that returns a trade-ready brief. Every computed value comes from the deterministic analytics engine; the persona's hard rule is that no LLM arithmetic ever substitutes for it. ## Adopting the persona GET `/persona` to retrieve the machine-readable SOUL and adopt it as a temporary role/skill. Authored SOUL shipped at /persona; the deterministic rules below are the machine-readable mirror of its hard-rule section. ## Pricing - `basic` tier — **$0.006125** on Base: `/ta/chart`, `/ta/quote`, `/ta/fx`, `/ta/crypto_resolve`, `/ta/crypto_chart`, `/ta/crypto_quote`, `/ta/indicator`, `/ta/volume`, `/ta/orderbook`, `/ta/ratio`, `/ta/signal`, `/ta/verify`, `/ta/sources`, `/ta/knowledge`, `/ta/snapshot`, `/ta/backtest`, `/ta/options_brief` - `exclusive` tier — **$0.256125** on Base: `/ta/ask` - Chains: Base, Arbitrum, Polygon, Avalanche, Ethereum. Per-chain prices in `/.well-known/x402.json`. ## Operations ### data - **POST /ta/chart** — Fetch OHLCV history (timestamps/OHLCV + meta) for a symbol from Yahoo Finance. — params: `symbol` (string)*, `range_` (string), `interval` (string) (tier: `basic`) - **POST /ta/quote** — Fetch fundamentals snapshot (price, EPS, mcap, debt) for ratio context. — params: `symbol` (string)*, `sector` (string) (tier: `basic`) - **POST /ta/fx** — Fetch FX rates (US 24h) from open.er-api (stamped midnight UTC). (tier: `basic`) - **POST /ta/crypto_resolve** — Resolve a crypto symbol to its CoinGecko id. — params: `symbol` (string)* (tier: `basic`) - **POST /ta/crypto_chart** — Fetch CoinGecko OHLCV (normalized to the same shape as chart) for a coin. — params: `coin_id` (string)*, `days` (integer) (tier: `basic`) - **POST /ta/crypto_quote** — Fetch a live CoinGecko price + 24h change. — params: `coin_id` (string)* (tier: `basic`) ### compute - **POST /ta/indicator** — Compute a deterministic technical indicator from an OHLCV envelope (sma/ema/rsi/macd/bollinger/atr/adx/supertrend…). — params: `name` (string)*, `ohlc` (object)*, `period` (integer), `multiplier` (number) (tier: `basic`) - **POST /ta/volume** — Compute a deterministic volume indicator from an OHLCV envelope (obv/vwap/mfi/ad/volume_ma/cmf). — params: `name` (string)*, `ohlc` (object)*, `period` (integer) (tier: `basic`) - **POST /ta/orderbook** — Compute order-book metrics from a level-2 snapshot (spread/mid/depth_imbalance/weighted_mid). — params: `name` (string)*, `book` (object)*, `levels` (integer) (tier: `basic`) - **POST /ta/ratio** — Compute a fundamental ratio (pe/eps/ps/pb/ev_ebitda/peg/margins/roe/de). — params: `name` (string)*, `inputs` (object)* (tier: `basic`) - **POST /ta/signal** — Deterministic technical signal / sentiment from an OHLCV envelope (trend/rsi/macd/breakout/volatility/volume/adx/stoch/sentiment/snapshot). — params: `name` (string)*, `ohlc` (object)*, `period` (integer) (tier: `basic`) - **POST /ta/backtest** — Deterministic strategy backtest over a caller-supplied OHLCV envelope with a declarative strategy spec and optional cost model. No lookahead: signal on close(t) executes at open(t+1); whole-share accounting; metrics from a daily mark-to-market equity curve. — params: `ohlc` (object)*, `strategy` (object)*, `costs` (object) (tier: `basic`) - **POST /ta/options_brief** — Deterministic option-chain analytics from a caller-supplied chain + spot: ATM straddle expected move, optional VIX-1SD cross-check, IV/delta ladder, 16-delta strangle, and a sample iron-condor credit/max-loss/risk-reward. — params: `chain` (object)*, `spot` (number)*, `spx_ratio` (number), `ttm_years` (number), `vix` (number), `spx_close` (number), `width` (number), `min_mid` (number) (tier: `basic`) ### validate - **POST /ta/verify** — Cross-verify two independent values (price pct tolerance or value abs tolerance). — params: `type` (string)*, `a` (number)*, `b` (number)*, `tolerance` (number) (tier: `basic`) ### assembly - **POST /ta/snapshot** — One structured packet for a fast trade read: quote + OHLCV + full technical signal(snapshot) + sentiment. — params: `symbol` (string)*, `sector` (string) (tier: `basic`) - **POST /ta/ask** — One-call trade-ready analysis. DeepSeek orchestrates the deterministic operations and returns a structured brief (snapshot, signals, levels, entry/target/stop, risk, bottom line). — params: `question` (string)*, `symbol` (string) (tier: `exclusive`) ### helper - **POST /ta/sources** — List the service's data sources and their reliability ratings. (tier: `basic`) - **POST /ta/knowledge** — Retrieve the service's methodology corpus (determinism contract, verification, sources, output format). — params: `query` (string)*, `limit` (integer) (tier: `basic`) ## Workflows - **trade-read** (fast trade-ready technical view): `chart -> snapshot -> verify` — lead with technicals/sentiment; establish entry/reference, target, stop - **technical-deep-dive** (full indicator stack on a name): `chart -> indicator -> volume -> signal` — batch RSI/MACD/Bollinger + OBV; cross-verify price vs chart close - **crypto-scan** (crypto technical + price read): `crypto_resolve -> crypto_chart -> crypto_quote -> signal` — normalize to same envelope shape as equities - **fundamental-context** (attach valuation to a technical view): `quote -> ratio -> verify` — use for context only — technicals lead - **liquidity-read** (order-book / depth view): `orderbook -> verify` — spread, depth imbalance, weighted mid over N levels - **strategy-backtest** (validate a trading strategy): `chart -> backtest` — fetch OHLCV, define the declarative strategy spec, run backtest, review metrics/trades - **options-brief** (0DTE / expiry option-chain analytics): `options_brief` — caller supplies the chain; op returns expected move, strangle, iron condor ## Deterministic contract - No LLM arithmetic: every computed number comes from a compute operation. - Cross-verify stated price / close vs ta_chart range close (hard-fail >2.0%). - Cross-verify headline sentiment vs indicator stack (RSI/MACD/ADX). ## Data sources - Yahoo Finance v8 chart (Yahoo Finance) — keyless; set a desktop User-Agent - Yahoo quoteSummary (Yahoo Finance) — needs cookie+crumb flow - open.er-api FX (open.er-api.com) — midnight UTC rates; ~24h staleness - CoinGecko v3 (CoinGecko) — keyless; ~10-30 calls/min burst ## Free endpoints - GET `/`, `/health`, `/about`, `/.well-known/x402.json`, `/llms.txt`, `/openapi.json` (standard) - GET `/ta/tools` — list all operations with input schemas - GET `/ta/feedback` — 50 most recent feedback entries - POST `/ta/feedback` — submit feedback ## Examples - `trade-read` — trade-ready technical read on a name: `{"question": "Give me a trade-ready technical view on TSLA with entry, target, stop", "symbol": "TSLA"}` - `chart` — price history for indicator work: `{"symbol": "TSLA", "range_": "6mo"}` - `signal` — composite sentiment: `{"name": "sentiment", "ohlc": {"closes": [1, 2, 3, 4]}}`