Developers / Public API

The Kresmion API

Market intelligence for bots and apps. One HTTP API over prediction markets, on-chain crypto flows, equities, and macro, with a cited source behind every record. Authenticate with a Bearer key, read the live OpenAPI spec, subscribe to webhooks, and pull bulk CSV for backfills. It is information-only and does not provide investment advice.

Get an API keyRead the reference
QuickstartProductsReferenceRate limitsWebhooksBulk dataMCP
Base URL: https://kresmion.com/api/v1Auth: Authorization: Bearer krm_...Spec: openapi.json

Quickstart

Mint a key at /settings/api-keys, then fetch five prediction markets. Send the key as a Bearer token on every request.

curl -s "https://kresmion.com/api/v1/prediction/markets?limit=5" \
  -H "Authorization: Bearer krm_your_key_here"

Products

Six product areas, each with representative endpoints. The full, authoritative list is in the live reference below.

Prediction Markets

Polymarket and Kalshi markets, price history, order books, smart-money flow, cross-venue divergence, calibration, and resolutions.

  • GET /v1/prediction/markets
  • GET /v1/prediction/markets/{id}/history
  • GET /v1/prediction/divergence
  • GET /v1/prediction/calibration

Crypto

Labeled whale transfers, exchange wallet holdings, spot ETF flows, and derivatives funding, open interest, and options.

  • GET /v1/crypto/whales
  • GET /v1/crypto/exchange-holdings
  • GET /v1/crypto/etf-flows
  • GET /v1/crypto/derivatives

Equities

Signal scores, SEC Form 4 insider clusters, congressional trades, 13F institutional positioning, and OHLCV history.

  • GET /v1/equities/signals
  • GET /v1/equities/insiders
  • GET /v1/equities/congress
  • GET /v1/equities/institutional

Macro

The cross-asset regime score plus CFTC Commitments of Traders, Treasury TIC flows, and BIS systemic indicators.

  • GET /v1/macro/regime
  • GET /v1/macro/cot
  • GET /v1/macro/tic
  • GET /v1/macro/bis

Signals

The cross-asset signal engine: one feed of scored events across equities, crypto, macro, and prediction markets.

  • GET /v1/signals
  • GET /v1/signals/{asset_class}
  • GET /v1/status

Bulk

Date-ranged gzip CSV exports for backfills and research: history, resolutions, whales, and signals.

  • GET /v1/bulk/polymarket_history
  • GET /v1/bulk/kalshi_history
  • GET /v1/bulk/whales
  • GET /v1/bulk/signals

API reference

Rendered live from the OpenAPI spec: every endpoint grouped by tag, with parameters and responses. Expand a row for details.

Loading the live API reference...

Rate limits and tiers

Every registered account can self-serve an API key. Requests over the per-minute limit get a 429 with a Retry-After header telling you how long to wait.

TierMonthly callsRate limitOver limitAccess
Free (registered)100,000120 req / min429 + Retry-AfterSelf-serve key
HigherOn requestOn request429 + Retry-AfterContact us

Need higher limits or a dedicated tier? Email solal@kresmion.com.

Webhooks

Subscribe to push events instead of polling. Manage up to five webhooks per account at /settings/webhooks. Each delivery is signed so you can verify it came from Kresmion.

EventFires when
signal.createdA new cross-asset signal was detected.
whale.transferA large on-chain transfer crossed the reporting threshold.
prediction.repricingA tracked prediction market moved sharply.
prediction.divergenceTwo venues diverged on the same contract.
etf.flowA daily ETF net-flow figure was posted.
Example payload
{
  "id": "evt_01J8XM2QF3",
  "event": "whale.transfer",
  "created_at": "2026-07-16T14:03:22Z",
  "data": {
    "asset": "ETH",
    "amount_usd": 8250000,
    "direction": "to_exchange",
    "counterparty": "Binance",
    "chain": "ethereum"
  }
}
Verify the signature (Python)
import hashlib
import hmac

def verify(secret: str, raw_body: bytes, signature: str) -> bool:
    expected = hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest()
    return hmac.compare_digest(expected, signature)

# In your handler, read the raw request body and the signature header:
#   sig = request.headers["X-Kresmion-Signature"]
#   if not verify(WEBHOOK_SECRET, raw_body, sig):
#       return 401  # reject a forged payload

Bulk data

For backfills and research, pull whole datasets as gzip CSV, ranged by from and to dates. Stream them straight to a file.

DatasetContents
polymarket_historyPer-market probability and volume time series.
kalshi_historyPer-contract price and volume time series.
resolutionsResolved market outcomes with settlement dates.
whalesLabeled on-chain transfers above the reporting threshold.
signalsScored cross-asset signal events with source attribution.
curl -s "https://kresmion.com/api/v1/bulk/whales?from=2026-06-01&to=2026-06-30" \
  -H "Authorization: Bearer krm_your_key_here" \
  --output whales_2026_06.csv.gz

MCP for AI agents

AI agents connect to Kresmion over the Model Context Protocol. The hosted server exposes 14 tools covering prediction markets, on-chain flows, ETF flows, derivatives, equity signals, 13F holdings, and the macro regime. Every tool response carries the same envelope and freshness stamp as the HTTP API, and the same key, quota, and rate limits apply.

Hosted endpoint (streamable HTTP), for Claude Desktop and other MCP clients:

{
  "mcpServers": {
    "kresmion": {
      "type": "http",
      "url": "https://kresmion.com/api/mcp",
      "headers": { "Authorization": "Bearer krm_your_key_here" }
    }
  }
}

One line in Claude Code:

claude mcp add --transport http kresmion https://kresmion.com/api/mcp \
  --header "Authorization: Bearer krm_your_key_here"

Prefer to run it locally? Download the standalone stdio server and set your key in the environment:

# download the standalone server, then register it over stdio
curl -sO https://kresmion.com/sdk/kresmion_mcp.py
pip install mcp httpx

{
  "mcpServers": {
    "kresmion": {
      "command": "python",
      "args": ["kresmion_mcp.py"],
      "env": { "KRESMION_API_KEY": "krm_your_key_here" }
    }
  }
}
The API is free during beta. There is no uptime SLA yet, and figures can lag their upstream sources or be revised. Read the methodology and data caveats before you build on a number. Information-only, not investment advice.