# Oblique Markets Research Answer

> Oblique Markets Research Answer is a paid API for AI agents from api.oblique.markets, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Answers a single natural-language research question by performing a pay-per-call web search, synthesizing cited results, and returning a machine-readable payment receipt.

## Facts

- Endpoint: POST https://api.oblique.markets/api/v1/paid/research-answer
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/oblique-markets-research-answer-90b86f12
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_w1l2qHW8S84cSuxEVFoHn

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability oblique-markets-research-answer-90b86f12 -d '<json body>'
```

Example prompt: Search the web and give me a cited answer to: 'What are the current regulatory requirements for stablecoin issuers in the EU?' — limit to sources from the past year and focus only on results from official EU and major financial news domains.

## When to prefer this

Choose this endpoint when an agent needs a single, cited, synthesized answer to a bounded research question with controllable domain scope and freshness, and when a machine-readable payment receipt is required for cost accounting. Prefer it over generic LLM completions when live web retrieval and source citations are necessary, and over full web-crawling pipelines when only one focused question needs answering at $0.01 per call without API key management.

## Known failure modes

- Insufficient evidence: sources retrieved do not support a confident answer — returns status 'refused' with reason explaining the gap
- Domain scope too narrow: include_domains filter yields no usable results
- Freshness constraint too tight: no sources match the requested recency window
- Upstream x402 payment failure: settlement transaction reverts or times out
- Question too ambiguous: synthesis model cannot determine a bounded answer from retrieved content
- Rate limit or daily cap exceeded: budget fields indicate spent_today_atomic >= daily_cap_atomic

## How this service works

Use when an agent needs a concise, cited answer to one research question with optional domain scope and freshness, from one bounded pay-per-call web search. Returns the answer synthesized only from the retrieved sources, source URLs and labels with retrieval timestamps, an explicit insufficient-evidence refusal when the sources do not support an answer, and a machine-readable receipt of the upstream cost and settlement.

## Output

A JSON object containing: a synthesized text answer (or an explicit refusal if sources are insufficient), an array of cited sources with URLs, labels, relevance scores, snippet text, and retrieval timestamps, the scoping parameters used, a synthesis model attribution, an uncertainty note, and a machine-readable payment receipt showing the upstream provider, cost in USDC and atomic units, payer/payee addresses, settlement transaction hash, and daily budget status.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "scope": {
   "type": "object",
   "properties": {
    "exclude_domains": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "include_domains": {
     "type": "array",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "question": {
   "type": "string"
  },
  "freshness": {
   "enum": [
    "day",
    "week",
    "month",
    "year"
   ],
   "type": "string"
  },
  "max_sources": {
   "type": "integer"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "cited": [
   1
  ],
  "scope": {
   "freshness": "year",
   "exclude_domains": [],
   "include_domains": []
  },
  "answer": "x402 is an open HTTP payment protocol t…",
  "reason": null,
  "status": "answered",
  "receipt": {
   "budget": {
    "daily_cap_atomic": 500000,
    "spent_today_atomic": 20000,
    "per_request_cap_atomic": 10000
   },
   "upstream": {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02…",
    "payer": "0xC335983E964248052BAd764D6eb0801475Ec6…",
    "pay_to": "0xd92fab07e57dfafe9bb9dbbb3ce01651a61dc…",
    "scheme": "exact",
    "network": "eip155:8453",
    "cost_usd": 0.01,
    "provider": "pay-per-call x402 web search",
    "resource": "https://x402.tavily.com/search",
    "settlement": {
     "payer": "0xC335983E964248052BAd764D6eb0801475Ec6…",
     "network": "eip155:8453",
     "success": true,
     "transaction": "0xabc…"
    },
    "cost_atomic": 10000,
    "requested_at": "2026-09-06T20:00:00.000Z",
    "responded_at": "2026-09-06T20:00:01.000Z",
    "results_returned": 2,
    "upstream_response_time_ms": 1.41
   },
   "door_price": "$0.01"
  },
  "sources": [
   {
    "id": 1,
    "url": "https://x402.org/",
    "label": "x402 — Payment Required",
    "snippet": "x402 is an open payment protocol that r…",
    "relevance": 0.92,
    "published_at": "2025-05-06",
    "retrieved_at": "2026-09-06T20:00:01.000Z"
   }
  ],
  "question": "What is the x402 payment protocol and w…",
  "synthesis": {
   "model": "inclusionai/ling-3.0-flash",
   "prompt_tokens": 812,
   "completion_tokens": 96
  },
  "uncertainty": "Source 2 is a vendor page; governance b…",
  "generated_at": "2026-09-06T20:00:02.000Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/oblique-markets-research-answer-90b86f12/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.oblique.markets](https://www.zero.xyz/host/api.oblique.markets/llms.txt)
