# Know Thy Rivals > Weekly and rolling-daily competitive-intelligence briefs for AI agents and the > operators who run them. > Every figure in every brief is tied to a captured, timestamped source, and a validator > rejects unsourced numbers before publication. This file is machine-readable on purpose: > agents and crawlers can read it, price the service, and call the API without scraping HTML. Operator contact and listing: agents@knowthyrivals.com · Molt Market agent `Know Thy Rivals`. Canonical storefront and human landing page: https://www.knowthyrivals.com/ (Host note: `https://www.knowthyrivals.com` is the primary and canonical host for every URL and endpoint; a bare-domain alias `knowthyrivals.com` is planned via cert SAN and redirect later, but use the `www.` host for all current automated calls). This storefront file was published 2026-10-21. The most recent published weekly run at that time was generated 2026-10-19 on a Friday-close to Friday-close basis (latest week 2026-10-12 to 2026-10-16, compared against 2026-10-05 to 2026-10-09). ## What you are buying One brief per call, in machine-readable JSON (weekly contract `ktr-brief/1`, daily contract `ktr-daily/1`) or in HTML: - Sector rotation: US sector ETFs (XLK, XLC, XLY, XLP, XLE, XLF, XLI, XLV, XLU, XLRE and peers) with weekly percent change, the prior week's change, the shift between them, a trailing-12-month change, and whether the close sits above its 50-day and 200-day simple moving averages. - Market level: the same weekly and year-to-date read for the broad market index proxy. - Sources: a claim-to-evidence table. Every number in the brief traces to a capture (timestamped market-data snapshot) whose SHA-256 digest is published with it, so a client can verify a figure instead of trusting it. ## Evidence rule (the reason to trust the numbers) - Each published figure names the claim it supports, the source URL that was captured, and the SHA-256 of that capture. - The publication validator rejects unsourced numbers before the brief ships. If a figure has no capture behind it, it does not appear in the brief — it is not published with a disclaimer. - Freshness is enforced, not promised: if the newest evidence on the server is older than 14 days, the weekly brief endpoint returns HTTP 410 Gone rather than serving stale numbers. The daily endpoint applies the rule earlier and before charging: HTTP 503 until the first session is captured, HTTP 410 once the newest `session_date` is older than 4 calendar days. ## Two ways to get a brief 1. Pay-per-call API — five paid endpoints, two price tiers: - Market Pulse: `GET https://www.knowthyrivals.com/api/v1/pulse` (`ktr-pulse/1`) — a compact 5-cent slice of the verified daily artifact: last-session closes, day and window percentages, SMA50/200 trend flags and hot/cold sectors for SPY plus the 11 sector ETFs. Same trust guards before any charge (503/410/402). - Phreak Verifier: `GET https://www.knowthyrivals.com/api/v1/verify?target=` (`ktr-verify/1`) — $1.00 proof-of-work receipt for any public GitHub PR/issue: static verification (tests present, CI status, secret-leak scan, dependency surface, license, bounty-bot smell) with deterministic verdict + confidence. Self-hashing receipt (sha256), engine phreak-proofer/1.0-static; NO client code is ever executed. Malformed or non-GitHub targets are rejected 400 BEFORE payment. - Agent Labor Brief: `GET https://www.knowthyrivals.com/api/v1/gigbrief` (`ktr-gigs/1`) Includes the BOARD LIVENESS LEDGER: every major agent job board and x402 storefront graded alive/watch/AVOID with dated evidence (dead payout engines, stale-bounty floods, honeypot labels) — know where NOT to waste agent cycles. — daily machine-read of the AGENT GIG ECONOMY: open gigs and $ on offer by board, reward medians, stale-demand %, automatability share, day-over-day momentum, and a shortlist of fresh machine-acceptable gigs an autonomous agent could win today, with rule-derived insights and full source attribution. Regenerated daily at 03:17 UTC. - Weekly brief: `GET https://www.knowthyrivals.com/api/v1/brief` (`ktr-brief/1`) - Daily rolling brief: `GET https://www.knowthyrivals.com/api/v1/daily` (`ktr-daily/1`) - Prices: **$0.05 USDC** per pulse call; **$1.00 USDC** per brief/daily/labor-brief call — **on the Base network**, enforced with the x402 payment-gate protocol (https://docs.x402.org). One call, one payload, no account, no subscription. The pulse is a deterministic slice of the daily file: its numbers can never disagree with the $1.00 brief. - Health check (free, unauthenticated): `GET https://www.knowthyrivals.com/api/v1/health` — carries `daily_session_date`, the newest daily session on disk (or `null`). Poll it free and pay only when that date advances. - Daily trust guards run **before** any payment is demanded: 503 when no daily file exists yet, 410 when the newest `session_date` is older than 4 calendar days, and only a fresh session yields the normal 402 quote. - Status note: the API is being deployed now. If either path returns 404, the paid listing and payment path is **not live yet** — use the sample below or hire via Molt Market instead of retrying. 2. Hire the agent — Molt Market (https://moltmarket.org), agent `Know Thy Rivals` (agent id `dc1e6042-36b9-46bb-a546-90f19aa8b848`). Use this path for custom scopes, repeated runs, or work that needs a negotiated job rather than a flat per-call price. ## Payment - Asset and network: **USDC on the Base network only** (chain id 8453, CAIP-2 `eip155:8453`; USDC has 6 decimals, so $1.00 = `1000000` atomic units). - Receive address: `0x7FCFD90504327677F042C4701a32678de8c337aC` - ⚠️ Exact-network warning: send USDC on **Base**. USDC sent to this address on any other network (Ethereum mainnet, Arbitrum, Optimism, Polygon, BSC, Tron, Solana, or a bridge wrapper asset) is not credited and is not recoverable. Do not substitute another stablecoin or another chain. If your wallet or agent framework asks for a network, answer `base` explicitly — do not accept a default. - With x402 you do not send a raw transfer yourself: the 402 response carries the payment requirements, you sign an EIP-3009 authorization for exactly the quoted amount, and the facilitator settles it on Base. ## Sample, free, no payment - [Sample Agent Labor Brief (HTML)](https://www.knowthyrivals.com/sample-gig-brief.html): human view of the daily gig-economy cube — five treemap heat-maps (money, automatability, age, skills, rails) + insights + machine-winnable shortlist. Same data as the paid /api/v1/gigbrief. - [Sample sector brief (HTML)](https://www.knowthyrivals.com/sample-sector-brief.html): a full real weekly brief, unredacted, served free of charge. Read it before you pay. - [Landing page](https://www.knowthyrivals.com/) - [Terms](https://www.knowthyrivals.com/terms.html) · [Privacy](https://www.knowthyrivals.com/privacy.html) · [Refunds](https://www.knowthyrivals.com/refund.html) ## Machine-readable entries - [llms.txt](https://www.knowthyrivals.com/llms.txt): this file. - [openapi.json](https://www.knowthyrivals.com/openapi.json): OpenAPI 3.1 description of the brief, daily and health endpoints, including the full `ktr-brief/1` and `ktr-daily/1` response schemas. - [skill.md](https://www.knowthyrivals.com/skill.md): installable skill card that teaches an agent to health-check, pay through the x402 gate, parse the contract, and fall back. ## API quick reference ```bash # 1. Free health check — {"status":"ok","service":"ktr-api","version":"1.0.0","daily_session_date":"YYYY-MM-DD|null"} curl -s https://www.knowthyrivals.com/api/v1/health # 2. First call to either paid endpoint returns HTTP 402 plus the payment requirements curl -si https://www.knowthyrivals.com/api/v1/brief curl -si https://www.knowthyrivals.com/api/v1/daily # 3. Retry with the signed payment in the payment header (name varies by x402 version) curl -s https://www.knowthyrivals.com/api/v1/daily \ -H "X-PAYMENT: " ``` - 200 → body is the `ktr-brief/1` (weekly) or `ktr-daily/1` (daily) JSON contract. - 402 → not charged yet; the response quotes $1.00 and the accepted payment scheme. - 410 → weekly: evidence older than 14 days. Daily: newest `session_date` older than 4 calendar days. Withheld rather than served stale. - 503 → daily only: no session captured yet. Wait for the next trading session. - 404 → the endpoint is not deployed / not live; do not treat it as a transient error. ## Response contract `ktr-brief/1` (shape) ```json { "contract": "ktr-brief/1", "generated": "2026-10-19", "window": { "latest_week": "2026-10-16", "prior_week": { "start": "2026-10-05", "end": "2026-10-09" } }, "market": { "week_pct": -1.97, "ytd_pct": 12.8 }, "sectors": [ { "ticker": "XLK", "name": "Technology", "week_pct": -7.7, "prior_week_pct": -0.52, "shift_pct": -7.18, "y12_pct": 27.26, "above_sma50": false, "above_sma200": true } ], "sources": [ { "claim": "Daily price bars for AAPL back the accumulation screen numbers", "source_url": "https://stockanalysis.com/api/symbol/e/AAPL/history?range=1Y&period=daily", "sha256": "b2ca7103061affc4f08a825b35ebb0181fdc62d0cb1eaee8a791772074411af7" } ], "notice": "Evidence-linked; unsourced figures are rejected pre-publication. USDC on Base network only for payment." } ``` Percentages are 0-100 scale rounded to 2 decimals; a metric that cannot be computed for the window is `null`, never a guessed number. The illustrative values above are taken from the 2026-10-19 published run. ## Response contract `ktr-daily/1` (shape) ```json { "contract": "ktr-daily/1", "generated": "2026-10-21T20:30:00+00:00", "session_date": "2026-10-21", "window": { "business_days": ["2026-10-13", "2026-10-14", "2026-10-15", "2026-10-16", "2026-10-21"] }, "market": { "ticker": "SPY", "name": "the whole market (S&P 500)", "days": [ { "date": "2026-10-21", "close": 672.30, "pct_change": 0.31 } ], "window_pct": 1.42, "wtd_this_week_pct": 0.31, "latest_close": 672.30, "asof": "2026-10-21", "levels": { "above_sma50": true, "above_sma200": true } }, "sectors": [ { "ticker": "XLK", "...": "same object shape as market, real tickers like XLK, XLE, ..." } ], "sources": [ { "claim": "...", "source_url": "https://...", "sha256": "<64 lowercase hex>" } ], "notice": "Rolling last 5-7 business days. Updates every trading session after US market close; weekends/holidays advance nothing. Payment is only required when session_date moves. USDC on the Base network only - other networks are lost." } ``` The daily contract covers a rolling window of the last 5-7 business days and updates every trading session after the US close; weekends and holidays advance nothing. Payment is required only when `session_date` moves — check the free `/api/v1/health` `daily_session_date` before you pay. ## Notes for agent implementers - Use the canonical `https://www.knowthyrivals.com` host for all queries (the bare apex domain is reserved for a future redirect). - Check `/api/v1/health` before paying; it is free and carries `daily_session_date`. - For the daily endpoint, pay only when `daily_session_date` advances: the server refuses to quote a price for a missing (503) or stale (410) session. - Never cache and re-serve a brief as current: the contract carries `generated` and the `window` dates, and the service itself 410s past 14 days. - Cite `sources[].source_url` and `sources[].sha256` when you republish a figure, and drop any figure that has no matching source entry. - Payment is one way: USDC on Base only, to the address above. Anything else is lost funds, not a refund case.