Skip to content

Reports

Three reports rendered as markdown on the server: the market briefing, one coin's analysis, and the funding-arbitrage opportunities. Each is composed from the endpoints documented elsewhere in this reference, read with the same queries a client would send, and every number it prints is a field those endpoints serve. The MCP tools market_briefing, analyze_coin and find_opportunities and the CLI commands sharpe briefing, sharpe analyze and sharpe opportunities print report_md exactly as these endpoints serve it.

A report is never an error because one of its reads failed: that section says the data is unavailable and a **Data gaps:** line names the read and why. The report closes with the freshness of every answer it read (**Data freshness:**). Only when every read fails does the endpoint answer 503. Each endpoint has a keyless twin under /api that serves the data object as the body (see Free API).


The report object

Every report endpoint answers one object as its data.

  • Name
    report
    Type
    string
    Description

    Which report: briefing, coin-analysis or opportunities.

  • Name
    coin
    Type
    string
    Description

    The ticker the coin analysis covers, upper-cased. Coin analysis only.

  • Name
    report_md
    Type
    string
    Description

    The report as markdown. It ends with the freshness of each answer it read and, when a read failed, a **Data gaps:** line.

  • Name
    inputs
    Type
    object[]
    Description

    The reads the report was composed from, in its order: each read's label, the endpoint it read, its query, the answer's dataset_id, as_of, freshness_status and runtime_status, and the error it printed under Data gaps (null when it answered).

meta carries the most cautious freshness of the inputs: the oldest as_of, the earliest stale_after, the worst freshness_status, and runtime_status: "degraded" when a read failed or came back degraded (such a report is never cached).


GET/v1/briefing

Get the market briefing

Total market cap, 24h volume, BTC dominance and the Fear & Greed Index; the top 5 and bottom 3 narratives by 24h change as the API ranks them; the funding book's highest and lowest markets by 8h-equivalent rate among fresh markets with at least $1M of open interest, printed as APR; and the whole market's funding at the next settlement. No query parameters.

Reads: /v1/tracker/market-overview, /v1/narratives/data with sort=-change24h&top=5&bottom=3, /v1/funding/rates with type=current&extremes=3&min_oi_usd=1000000&max_age_h=6, and /v1/funding/settlement with window=current.

Request

GET
/v1/briefing
curl https://www.sharpe.ai/api/v1/briefing \
  -H "Authorization: Bearer sk_live_your_key_here"

Response

{
  "data": {
    "report": "briefing",
    "report_md": "## Market Briefing\n\n### Market Stats\n**Total Market Cap:** $2.86T\n...",
    "inputs": [
      {
        "label": "market-overview",
        "endpoint": "tracker-market-overview",
        "query": {},
        "dataset_id": "sectors",
        "as_of": "2026-09-29T02:04:33.792Z",
        "freshness_status": "fresh",
        "runtime_status": "ok",
        "error": null
      }
    ]
  },
  "meta": {
    "request_id": "req_abc123def456ghij",
    "timestamp": "2026-09-29T02:23:10Z",
    "elapsed_ms": 48,
    "dataset_id": "funding_rates_current",
    "freshness_status": "fresh",
    "runtime_status": "ok"
  }
}

GET/v1/coins/{coin}/analysis

Get a coin's analysis

One coin's price-prediction score and signals (when its ticker is in the prediction coverage list), its current funding on its 10 largest markets by open interest with the average and median across venues, the asset's open-interest total from the global board, and the dollars paid at its next settlement.

Path parameters

  • Name
    coin
    Type
    string
    Description

    Coin ticker, any case: BTC, eth, 1000PEPE. The funding reads resolve it to its asset (PEPE brings its 1000PEPE and KPEPE contracts); the prediction is matched by ticker in the coverage list, never by a guessed slug. 1 to 64 characters, else 400 invalid_parameter.

Reads: /v1/price-prediction/data (the coverage list), /v1/funding/rates with type=current&coin=<COIN>&max_age_h=6 and sort=-open_interest, then summary=1, /v1/global/overview, and /v1/funding/settlement with coin=<COIN>&window=current.

Request

GET
/v1/coins/{coin}/analysis
curl https://www.sharpe.ai/api/v1/coins/BTC/analysis \
  -H "Authorization: Bearer sk_live_your_key_here"

Response

{
  "data": {
    "report": "coin-analysis",
    "coin": "BTC",
    "report_md": "## BTC Analysis\n\n**Price:** $83.5K | **24h:** -1.15%\n...",
    "inputs": []
  },
  "meta": {
    "request_id": "req_abc123def456ghij",
    "timestamp": "2026-09-29T02:23:10Z",
    "elapsed_ms": 48,
    "dataset_id": "funding_rates_current",
    "freshness_status": "fresh",
    "runtime_status": "ok"
  }
}

GET/v1/opportunities

Get the arbitrage opportunities

The top 10 spot-perp basis trades (perp legs with at least $1M of open interest) and the top 10 cross-exchange funding pairs (both legs with at least $1M of open interest and 24h volume), each in its board's order with its gross and fee-adjusted net APR and status flags, and the funding book's market stats (mean and OI-weighted APR, markets paying each way). No query parameters.

Reads: /v1/arbitrage/spot-perp with exchange=all&direction=all&minOiUsd=1000000, /v1/arbitrage/cross-exchange with minOiUsd=1000000&minVolUsd=1000000&limit=10, and /v1/funding/rates with type=current&stats=1.

Request

GET
/v1/opportunities
curl https://www.sharpe.ai/api/v1/opportunities \
  -H "Authorization: Bearer sk_live_your_key_here"

Was this page helpful?