# Quotient agent guide > The intelligence platform for forecast-driven trading. > Quotient covers prediction markets and publishes one separate WTI crude signal. > Q forecasts 500 covered markets daily, drawing from 6,000+ global sources and > a tracked network of 1,000+ experts. It publishes calibrated YES probabilities, > a rarer set of trade signals, change explanations, and cited evidence. Quotient supplies intelligence; execution > remains with the operator and their chosen execution provider. This is the first-stop guide for an agent deciding what to call and how to use the result. The machine contract is OpenAPI spec 11.0.0: - Canonical OpenAPI: https://dev.quotient.social/api/v1/openapi.json - Gateway mirror: https://quotient-api-gateway.onrender.com/openapi.json - Agent skill: https://quotient.social/skill.md - Human docs: https://quotient.social/docs - API reference: https://quotient.social/reference Typed OpenAPI parameters and schemas are authoritative for calls. Runtime 402, rate-limit, and retry headers are authoritative for the request in progress. ## Quick mental model - A forecast's probability is Q's probability that the market resolves YES, expressed from 0 to 1. - market_odds is the venue's current YES probability across Polymarket, Polymarket US, Kalshi, and Limitless. The signed edge is probability minus market_odds: positive means Q is higher on YES; negative means Q is lower on YES and therefore relatively favors NO. - A forecast is an analysis. A trade signal is a separate Quotient publication with its own frozen entry, side, status, freshness, conviction, convergence, and capacity. Do not describe every forecast-market disagreement as a published signal. - Sources are the evidence layer: articles and relevant X posts associated with selected markets. Structured X search is a separate, comparatively expensive research call. - Asset, Market, Forecast, and Signal results can carry a bounded relationships envelope. Its Asset, Market, and Signal entries are lightweight non-recursive graph references, not full result objects. - Execution is not part of the Quotient API. No endpoint places or sizes a trade. Prediction-market coverage uses the namespaces polymarket, polymarket_us, kalshi, and limitless. The catalog contains markets Q covers, not every listing on each venue. marketKey is the canonical cross-venue identifier. Hyperliquid appears in WTI marks and Asset or portfolio identity; it does not imply signals for other perpetual assets. An Asset is a company, commodity, cryptoasset, index, or fund that one or more prediction markets are directly about. Every Asset is also an Entity. Use Asset search for a name, ticker, alias, platform symbol, or held instrument such as AAPL, gold, or xyz:GOLD. It returns every active directly linked market with its own venue price and latest Q probability when available. Those contract-level probabilities must never be collapsed into one Asset-level probability. GET /api/v1/assets is the lower-priced complete metadata directory and carries no forecasts, venue odds, or linked-market rows. Asset search is priced exactly like Market search. It accepts a name/symbol query or repeated exact references; material_only=true by itself returns the enriched directory of Assets having at least one linked market with venue odds or Q probability, without pruning that Asset's other active direct linked markets. ## Relationship navigation When `relationships` is present, use its flat `assets`, `markets`, and `signals` arrays without recursively expanding them. Preserve the returned graph `relationship`, `direction` (`incoming` or `outgoing`), and `via` (`direct`, `market`, or `asset`) exactly. The reference carries identity metadata only; it does not inherit the parent object's probability, price, side, or thesis. `via: direct` is one hop. `via: market` or `via: asset` is exactly one explicit two-hop path, and its direction is relative to that intermediate node. Direct product edges include Asset `HAS_MARKET` Market, Forecast or Signal `ON_MARKET` Market, Signal `ON_FORECAST` Forecast, and WTI Asset `HAS_SIGNAL` WTI oil signal. A Forecast can therefore return a direct incoming Signal; its Asset is reached `via: market`. None of these relationships comes from `AFFECTS`. Do not infer an extra causal, complementary, mutually exclusive, or exhaustive relationship. Each category is capped at 50; check `relationships.truncated.assets`, `.markets`, and `.signals` before calling a returned neighborhood complete; fetch canonical detail only when the task needs more than the supplied identity. ## Choose an interface For standard retrieval in a shell-capable agent, prefer one friendly Quotient CLI command. The skill supplies compact routing and interpretation guidance. Use optional MCP when native structured tools, dynamic schema discovery, or a client without terminal access materially benefits from it. MCP can add tool-loading, context, and reasoning overhead for simple questions; it uses the same Quotient data, account, routes, and prices as the CLI. Use REST/OpenAPI for deterministic application code and explicit request control. Never use both CLI and MCP for the same query unless the selected path fails. The web playground uses REST directly. Local setup: npm install --global quotient-forecasting quotient setup Setup opens a Privy browser confirmation by default and returns the account's existing or newly created key directly to the waiting CLI. Type key for hidden manual API-key entry or x402 for keyless access. The user can configure detected clients, every supported client, or access only. If detection finds no native client, the default installs a portable generic skill. Every configured target receives the Quotient skill. Selecting every client writes its configuration for Claude Code, Codex, Hermes Agent, and OpenClaw whether or not each executable is currently installed. Setup then verifies CLI/account access without requiring MCP and offers native MCP tools as the final choice, default No. Generic skill-only clients require shell access for live CLI commands; clients without terminal access can launch quotient mcp serve. After a global CLI upgrade, rerunning setup preserves saved configuration, refreshes a copied skill when its bundled content changed, and keeps an existing MCP entry by default. Restart an already-open agent when its skill or MCP configuration changes. The final setup prompt is: Optional: native MCP tools Install Quotient MCP for the selected clients? [y/N] An existing entry is never removed silently. Setup asks Keep it? [Y/n]. Inspect or remove MCP independently with quotient mcp status and quotient mcp uninstall. Setup can store an optional X profile and public Polymarket, Hyperliquid, and Solana wallet identifiers in the owner-only local config. Saving an address does not connect a wallet, start portfolio tracking, or grant trading authority. The current Quotient portfolio endpoint is Polymarket-specific. Kalshi positions require authenticated account access rather than a public wallet, so setup does not request Kalshi credentials. Setup never requests a wallet private key or seed phrase, sends a payment, or places a trade. Surplus Intelligence is Quotient's discounted-inference integration for high-frequency research, monitoring, and execution-support workflows. It is not a venue, cited source, forecast, signal, wallet, payer, or execution authority. Bankr is a separate optional payer/execution integration and always requires the operator's payment or trade decision. Base API URL: https://quotient-api-gateway.onrender.com MCP URL: https://quotient-api-gateway.onrender.com/mcp Playground: https://quotient.social/console/playground ## Authentication and billing For prepaid access, send the secret key in x-quotient-api-key on each REST call. For MCP, prefer the local CLI bridge so the same secret remains in Quotient's owner-only local config rather than being duplicated in each agent's config. Create and manage keys and credits at https://quotient.social/console. export QUOTIENT_API_KEY='qt_…' export QUOTIENT_BASE_URL='https://quotient-api-gateway.onrender.com' Never paste an API key into a prompt, source file, URL, log, or command argument. Verify everyday access and install components independently with: quotient status quotient skill install auto quotient mcp install auto quotient mcp status quotient mcp uninstall auto Use quotient doctor only for deep diagnostics, not routine preflight. Explicit targets are claude, codex, hermes, and openclaw. quotient agent install auto is a deprecated compatibility alias that installs the skill only unless --with-mcp is explicit. Read quotient://integrations only when provider roles or authority boundaries are relevant. Without a prepaid key, metered routes can return an x402 402 challenge. Treat the runtime PAYMENT-REQUIRED offer as the authoritative asset, network, payee, and price; sign only within the operator's approved spend policy, then retry with PAYMENT-SIGNATURE. Do not silently authorize spending. Setup guide: https://quotient.social/connect x402 guide: https://quotient.social/docs/x402-payments ## First useful workflow: answer a market question 1. Classify the requested product layer: Asset search, market search, forecast, published signals, mispricing, the daily WTI oil signal, portfolio, sources, performance, or daily digest. 2. Call only that canonical operation. Do not broaden one request into forecasts, signals, the daily WTI oil signal, and portfolio context. Do not run doctor, account status, resources, or OpenAPI as routine preflight. 3. Resolve identity with one search call only when the input is not a stable marketKey, slug, or native ID plus venue. Do not issue paid forecast calls for every semantic candidate. Each search row exposes latest_q_probability, has_forecast, and has_published_signal. Use the scalar Q probability for the discovery answer; request lookup or forecast detail only for analysis, drivers, citations, uncertainty, or history. Treat false availability as authoritative and do not call the corresponding forecast or signal surface for that market. Never infer published-signal availability from legacy signal_count. 4. Project and retain the paid result before printing it. Never repeat an identical paid request because raw output was large or truncated. 5. Fetch sources only when requested. Put deduplicated direct links at the end. Friendly CLI examples: quotient assets list quotient assets search gold quotient markets search oil quotient forecast iran-israel-conflict quotient signals --today --asset XAU quotient markets mispriced --today --asset commodities quotient oil signal quotient perps --asset wti quotient portfolio report quotient digest daily gold --today means the exact local calendar/cutoff interval in the stated timezone, never an undocumented rolling 24 hours. Use --since for an explicit lower bound. Default human output is compact; use --json for complete canonical fields, --full for long thesis or resolution fields. When evidence is requested, make the explicit extra call with quotient sources . REST discovery example: curl -sS --get \ -H "x-quotient-api-key: ${QUOTIENT_API_KEY}" \ --data-urlencode "q=Strait of Hormuz traffic" \ "${QUOTIENT_BASE_URL}/api/v1/markets/search" Then use the returned identifier rather than reconstructing one from the title. For a cross-venue-safe lookup: curl -sS --get \ -H "x-quotient-api-key: ${QUOTIENT_API_KEY}" \ --data-urlencode "market_keys=VENUE:IDENTIFIER" \ "${QUOTIENT_BASE_URL}/api/v1/markets/lookup" The untargeted daily digest uses exactly three serial calls: material Asset search, current Signals, and mispricing. Its Assets section retains contract-specific venue odds even when the Q spread is small. A target such as quotient digest daily gold uses the one Asset-search result to collect exact linked marketKey values, then locally scopes the already-fetched Signal and mispricing payloads. It does not fan out into per-market calls. ## Task routing - "What does Q think about this known market?" — quotient forecast or get_market_forecast for a slug; get_markets_lookup for marketKey/native ID. - "Find markets about this topic." — quotient markets search or search_markets. Relevance scores rank the result set; they are not probabilities or confidence scores. - "What do prediction markets imply about Apple or Gold?" — quotient assets search or search_assets. Keep every venue/Q probability attached to its exact linked question, threshold, and resolution date, including small spreads. - "Where does Q disagree with the market?" — quotient markets mispriced or get_mispriced_markets. Report the signed spread and timestamp without adding a recommendation. - "Show Q's current calls." — quotient signals or get_trade_signals. A signal feed row is not the same thing as a correlated article. - "What changed recently?" — get_latest_updates for the board, or forecast history plus delta_from_prior and delta_reasoning for one market. - "What evidence supports this?" — quotient sources or get_sources. Use get_x_search only when the task genuinely needs fresh, structured X research and its higher cost is approved. - "Review this portfolio." — use quotient portfolio report for a Polymarket wallet, then resolve its unique market references through one batched Asset search. For a supplied Hyperliquid wallet, read its public position coins and resolve those exact platform identifiers through the same Asset search. Do not call the WTI signal route unless that separate product was requested. - "What is the WTI-OIL signal?" — quotient oil signal or get_wti_oil_signal for the daily WTI signal with live marks and episode context. Use `quotient perps --asset wti` or get_perpetuals_signals for standard signal-list output. Use one surface, never both. - "How has Q performed?" — get_performance_context. Preserve sample size, date coverage, methodology, and caveats. ## Voice and factual output Write like a neutral intelligence and research analyst: factual, precise, compact, timestamped, and explicit about what is observed, calculated, or published by Q. Keep these concepts separate: - Q forecast: calibrated YES probability. - Venue price: current market-implied YES price/probability. - Spread: arithmetic difference between Q and venue, in percentage points. - Published signal: a separate Quotient publication with its own side/status. - WTI oil signal: the separate daily oil strategy output. - Marked return: timestamped change from a publication reference, not realized customer performance. For factual retrieval, do not add cheap, expensive, attractive, unattractive, watchlist, good trade, bad trade, actionable/non-actionable, material risk, buy, sell, avoid, exclude, opportunity, or unsupported valuation/profit labels. The word actionable is allowed only when relaying Quotient's exact published signal status. Do not introduce oracle mechanics, resolution minutiae, source-tier criticism, tail-risk interpretation, or execution advice unless the user asks for those subjects. Use neutral statements such as “Q is 8.5 percentage points above the venue: 87.0% vs 78.5%,” “Published Quotient signal: none,” and “WTI oil signal as-of date: August 1; is_current=false.” Do not add a bottom-line paragraph unless the user asks for interpretation. When sources are requested, deduplicate and list descriptive direct links under Sources at the end. If the user asks whether to trade, state the Quotient and venue facts, identify missing fields, and ask which decision criteria they want to compare: time horizon, maximum loss, liquidity/slippage tolerance, confidence threshold, resolution uncertainty, or evidence that would change their view. Do not issue a buy or sell instruction. Do not ask these questions after simple retrieval. ## Forecast interpretation - probability is the canonical decision variable. headline, bluf, crux, thesis, key factors, and resolution_pathway explain the fixed number. - delta_from_prior is numeric movement from Q's previous forecast. delta_reasoning is the stored explanation. A non-null refresh_reason or refresh_triggered_by indicates a triggered rerun rather than a schedule-only refresh. - band25/band75, draw_count, and draw_std_log_odds describe uncertainty. They do not replace probability or independently determine a side. - drawdown_risk_72h is short-horizon path risk. null means no current risk-model coverage; it does not mean safe. crash_risk is the former name for the same field. - A tracked market without a current forecast returns the non-billable 404 forecast_not_available response. An unknown slug returns 404. Preserve that distinction. - Read resolution criteria, deadline, clarifications, or dispute details only when the user requests them or market identity is genuinely ambiguous. ## Prediction-market signal interpretation - side is YES or NO. entry_q and entry_pm are frozen at publication; entry_pm is a legacy field name for the venue YES price, including on non-Polymarket rows. - published_at and is_new_today describe publication. forecast_updated_at and is_fresh describe the current research attached to the signal. - status is a published Quotient field. Relay it exactly, for example “Signal status reported by Quotient: actionable.” Do not translate actionable, unconfirmed, paused, done, or retired into the agent's own trade conclusion. - current_cost_cents, q_value_cents, distance_to_convergence_cents, and converge_upside_pct are measured on the signal's side of the book. - live_priced and priced_at disclose whether the price came from a live venue quote. capacity_usd_at_2c is near-touch depth, not a guaranteed fill or exact impact estimate. capacity_basis=volume-fallback is not order-book depth. - drawdown_risk_elevated can coexist with high conviction because the two fields measure different things. null is unknown, not safe. crash_risk_elevated is the former name for the same field. - GET /api/v1/signals returns at most the newest published signal per market. Eligibility filters do not fall back to an older signal. Before any execution handoff, report the intended side and size, current cost, price timestamp, live_priced status, known near-touch capacity, and the share of capacity the order would consume. The operator must approve the execution provider and trade separately. Quotient does not issue a personalized buy or sell recommendation. Execution partner guide: https://quotient.social/docs/execution-partners Agent spending guardrails: https://quotient.social/docs/security-guardrails ## WTI-OIL workflow GET /api/v1/signals/oil returns the daily WTI oil signal plus optional current marks from Polymarket perps and Hyperliquid. Before using it, inspect is_current, reading_missing, degraded, the signal's as-of date, and mark timestamps. GET /api/v1/signals/perps returns the daily WTI signal in standard signal-list format without live marks. Use exactly one route per request. For BTC, ETH, natural gas, metals, equities, or another perpetual holding, use Asset search for linked prediction-market intelligence; do not infer the WTI oil signal from Asset coverage or a portfolio position. ## Sources and research GET /api/v1/sources returns recent articles and relevant X posts for selected covered markets. Prefer market_keys for multi-venue requests. markets= accepts legacy slugs under one explicit venue. The response can include relevance, reasoning, evidence_quote, author_handle, and is_expert metadata. Do not call sources as routine enrichment. Fetch them only when the user asks for evidence or the requested analysis requires it, and render them once at the end. A title and URL alone do not prove a claim without supporting relevance or excerpt metadata. POST /api/v1/x/search is bounded, citation-grounded X research and can restrict the search to an account allowlist. Results are not persisted by Quotient. It is the highest-priced route in the current catalog, so preview or obtain approval before calling it without prepaid-credit authorization. ## Freshness, completeness, and misses - There is no pagination. List responses are complete only for the requested filters, identifiers, and time window. - A search miss or filtered-list miss is not proof that Q has no coverage. Inspect search retrieval-lane status, try the unfiltered catalog, or rely on an explicit lookup not_found result before making a global claim. - GET /api/v1/assets is the complete metadata catalog and deliberately carries no forecast or venue-price data. Asset search is the enriched surface. - Search returns latest_q_probability when Q has a stored forecast, while has_forecast says whether that layer exists and has_published_signal says whether Q has ever published a signal for it. The latter does not imply that the signal is currently active. - GET /api/v1/latest defaults to a bounded recent window and supports at most six hours. It is an update feed, not a full market history. - The legacy signals window filters forecast-update time, not publication time. Use published_after/published_before for publication intervals. A rolling max_forecast_age=24 is not a user's local calendar day. - A stale or missing live-price overlay does not invalidate the underlying forecast, but it does invalidate claims about executable price or capacity. - GET /api/v1/portfolio fails closed when its venue-position dependency is unavailable; do not fabricate a partial portfolio from a 502. ## Errors and retries - 400: fix the request from the OpenAPI schema; do not guess parameter names. - 401/403: check authentication and account access without exposing the key. - 402: parse the payment challenge and apply the operator's spend policy. - 404: verify the exact identifier and venue; refresh OpenAPI once if a route that previously existed disappeared. - 429: wait for Retry-After, then retry once without parallel fan-out. Rejected 429 requests are not billed. - 5xx/502: treat as transient or upstream unavailable. Do not convert failure into an empty result or a zero probability. Rate limits (from OpenAPI spec 11.0.0): - standard: 1/second, 30/minute, 5000/UTC day, max 1 in flight — Shared across all non-X payable routes for one API customer or verified x402 payer. - x_research: 1/second, 6/minute, 100/UTC day, max 1 in flight — Applies to structured X Search requests for one API customer or verified x402 payer. - ip_abuse_guard: 3/second, 90/minute, 10000/UTC day, max not specified in flight — Secondary anti-key-spray protection. This is not additional caller quota and may be tightened during abuse. Across a multi-call workflow, obey the most conservative shared policy: use the smallest maxConcurrent and slowest permitted start rate. Multiple keys on one account share quota. Full policy: https://quotient.social/docs/rate-limits ## Performance context GET /api/public/performance is a free, six-hour-cached retrospective restricted to markets explicitly marked closed/resolved with a binary terminal outcome. Open markets are excluded even when their current price is near 0 or 1. The same context is available through get_performance_context and quotient://performance. Preserve sample size, date coverage, selection and methodology notes, and caveats when presenting accuracy, calibration, or hypothetical returns. Treat the snapshot as retrospective context, never a promise of future results. ## MCP resources - quotient://skill — complete workflows, field interpretation, payment policy, and execution-handoff rules - quotient://data-coverage — venues, assets, identifiers, and signal boundaries - quotient://performance — resolved-market-only retrospective context - quotient://openapi — the exact canonical machine contract ## MCP tool catalog (generated from OpenAPI 11.0.0) - get_assets — List the canonical underlying-asset directory with names, tickers, aliases, platform identifiers, and active direct-market counts. This catalog intentionally contains no forecast or venue-price payload. (GET /api/v1/assets; metered) - search_assets — Resolve an underlying asset by name, ticker, assetKey, UUID, platform identifier, or linked-market reference and return all active direct prediction markets with venue odds and Q's latest probability when available. Each probability belongs to its exact market question; never aggregate it into asset direction. (GET /api/v1/assets/search; metered) - get_mispriced_markets — Compare Q's calibrated YES probability with venue prices across covered markets. A large disagreement is a forecast spread, not automatically a published signal. (GET /api/v1/markets/mispriced; metered) - get_trade_signals — Read Quotient's separately published prediction-market signals with their exact side, status, timestamps, and convergence context. Relay status as data, not as a recommendation. (GET /api/v1/signals; metered) - get_wti_oil_signal — Read the daily WTI-OIL signal and optional live venue marks. (GET /api/v1/signals/oil; metered) - get_perpetuals_signals — Read the daily WTI oil signal in standard signal-list format. Use get_wti_oil_signal when live marks and episode context are needed. (GET /api/v1/signals/perps; metered) - get_sources — Read the cited articles and X posts connected to selected markets—the evidence layer behind forecasts and signals. (GET /api/v1/sources; metered) - get_covered_markets — Browse Quotient's covered-market catalog, optionally filtered server-side. (GET /api/v1/markets; metered) - search_markets — Search covered markets by text, tag, category, venue, or Event. Each result includes Q's latest calibrated YES probability when available, plus forecast and published-signal availability; use lookup or forecast detail for the underlying analysis. (GET /api/v1/markets/search; metered) - get_markets_lookup — Batch Q intelligence for known markets using one canonical identifier family. (GET /api/v1/markets/lookup; metered) - get_market_forecast — Read Q's calibrated YES probability, thesis, citations, uncertainty, and optional history for one covered market. (GET /api/v1/markets/{slug}/forecast; metered) - get_forecast_availability — Check for a stored market forecast for free before choosing a paid read or authenticated generation. (GET /api/public/forecast-availability; free/public) - get_latest_updates — Read the board-wide forecast and evidence updates in a bounded recent window. (GET /api/v1/latest; metered) - get_x_search — Run bounded, citation-grounded X research, optionally restricted to accounts. (POST /api/v1/x/search; metered) - profile_x_account — Build a bounded, citation-grounded profile of one explicitly named X account for light personalization. (POST /api/v1/x/profile; metered) - get_performance_context — Read resolved-market-only retrospective accuracy, calibration, and hypothetical-return context for Quotient forecasts. (GET /api/public/performance; free/public) - get_portfolio_report — Read a Polymarket wallet's positions joined to Quotient forecasts, published signals, and position-side convergence context. This is a read-only, Polymarket-specific report. (GET /api/v1/portfolio; metered) ## HTTP endpoint catalog (generated from OpenAPI 11.0.0) - GET /api/public/performance — Retrospective Quotient forecast performance context [operationId: getPerformanceSnapshot] - GET /api/public/forecast-availability — Check whether Quotient already has a market forecast [operationId: getForecastAvailability] - POST /api/auth/forecast-requests — Accept an asynchronous forecast request [operationId: createForecastRequest] - GET /api/auth/forecast-requests/{jobId} — Read an owned forecast request [operationId: getForecastRequest] - GET /api/v1/assets — List canonical underlying assets ($0.005/call) [operationId: getAssets] - GET /api/v1/assets/search — Search Assets and return their directly linked markets ($0.01/call) [operationId: searchAssets] - GET /api/v1/markets — List markets tracked by Q ($0.005/call) [operationId: getMarkets] - GET /api/v1/markets/search — Search covered markets by meaning, text, tags, or categories ($0.01/call) [operationId: searchMarkets] - GET /api/v1/markets/mispriced — Markets where Q diverges from market odds ($0.02/call) [operationId: getMispricedMarkets] - GET /api/v1/markets/lookup — Look up intelligence for one or more markets ($0.005/call) [operationId: lookupMarkets] - GET /api/v1/markets/{slug}/intelligence — Full intelligence on a market ($0.01/call) [operationId: getMarketIntelligence] - GET /api/v1/markets/{slug}/signals — Article evidence for a market ($0.01/call) [operationId: getMarketSignals] - GET /api/v1/signals — Published Quotient trade signals ($0.01/call) [operationId: listTradeSignals] - GET /api/v1/signals/featured — The featured trade signal ($0.005/call) [operationId: getFeaturedSignal] - GET /api/v1/signals/oil — Status of the WTI crude oil signal ($0.01/call) [operationId: getOilSignal] - GET /api/v1/signals/perps — WTI oil signal list ($0.01/call) [operationId: listPerpsSignals] - GET /api/v1/portfolio — Quotient intelligence for a Polymarket wallet's portfolio ($0.005/call) [operationId: getPortfolio] - GET /api/v1/markets/{slug}/forecast — Q's forecast for a market ($0.005/call) [operationId: getMarketForecast] - GET /api/v1/sources — Recent sources for selected markets ($0.005/call) [operationId: listSources] - POST /api/v1/x/search — Structured Grok 4.5 search over X ($0.50/call) [operationId: searchX] - POST /api/v1/x/profile — Psychographic profile of one X account ($0.50/call) [operationId: profileXAccount] - GET /api/v1/latest — Latest forecasts and associated sources across Quotient ($0.02/call) [operationId: getLatestUpdates] ## Deeper documentation - https://quotient.social/docs/how-q-works — forecast pipeline and model boundaries - https://quotient.social/docs/markets — venues, identifiers, and market fields - https://quotient.social/docs/assets — underlying identity, platform identifiers, and linked markets - https://quotient.social/docs/forecasts — probability, uncertainty, and refresh semantics - https://quotient.social/docs/signals — published calls and signal families - https://quotient.social/docs/sources — evidence objects and source timing - https://quotient.social/docs/portfolio — wallet intelligence - https://quotient.social/docs/workflows — multi-call analysis patterns - https://quotient.social/reference — parameters, response schemas, and examples - https://quotient.social/skill.md — installable agent operating guide