Kresmion

AIエージェント向けの読み取り専用マーケットインテリジェンス:予測市場、オンチェーンおよびETFフロー、SEC提出書類、13F、マクロレジーム。

ホスト型 MCP サーバー

npx add-mcp 'https://kresmion.com/api/mcp'

Claude Code、Codex、Cursor などにインストールできます

ドキュメント

Market intelligence for bots and apps. One HTTP API over Polymarket 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, pull bulk CSV for backfills, or connect an AI agent over MCP. It is information-only and does not provide investment advice.

Base URL: https://kresmion.com/api/v1 Auth: 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

7 product areas, each with representative endpoints. The full, authoritative list is in the live reference below. Every response is the same envelope: data, count for lists, as_of for freshness, and meta for filters, sources, caveats, and attribution.

Prediction Markets

Polymarket markets: probability history, order books and their history, execution cost, smart-money and algorithmic flow flags, movers, the resolution calendar, calibration, and resolutions.

  • GET /v1/prediction/markets
  • GET /v1/prediction/markets/{market_id}/history
  • GET /v1/prediction/markets/{market_id}/book
  • GET /v1/prediction/movers
  • GET /v1/prediction/calibration

Crypto

Labeled whale transfers, exchange wallet holdings, perpetual derivatives, funding and liquidations, token unlocks, and spot ETF AUM and fund counts. BTC and ETH ETF flows per trading session come back withheld (total_kind 'withheld', withheld_reason 'source_not_licensed'): the only per-fund session flows held for them carry no redistribution licence.

  • GET /v1/crypto/whales
  • GET /v1/crypto/exchanges/holdings
  • GET /v1/crypto/etf/flows
  • GET /v1/crypto/derivatives/{symbol}
  • GET /v1/crypto/funding
  • GET /v1/crypto/liquidations

Equities

Signal events, SEC Form 4 insider clusters, congressional trade disclosures, 13F institutional positioning, FINRA short interest, and FINRA daily short volume.

  • GET /v1/equities/signals
  • GET /v1/equities/insider-clusters
  • GET /v1/equities/congress
  • GET /v1/equities/institutional
  • GET /v1/equities/short-interest
  • GET /v1/equities/short-volume

Macro and Rates

The cross-asset regime score, central bank policy rates and their moves, US money markets and the Fed corridor, sovereign 10Y spreads (a Kresmion calculation, not a credit rating), the Treasury curve through history, curated FRED series, the economic surprise index, Fed liquidity, CFTC Commitments of Traders, Treasury TIC flows, and BIS policy rates.

  • GET /v1/macro/regime
  • GET /v1/macro/central-banks
  • GET /v1/macro/money-markets
  • GET /v1/macro/sovereign-spreads
  • GET /v1/macro/yield-curve/history
  • GET /v1/macro/fred/{series_id}/history
  • GET /v1/macro/surprise
  • GET /v1/macro/cot
  • GET /v1/macro/tic
  • GET /v1/macro/bis

Companies

Peer relative value from SEC fundamentals, a multi-filter screen, and IPOs and equity offerings from EDGAR with their prospectus terms.

  • GET /v1/rv/{ticker}
  • GET /v1/rv/{ticker}/matrix
  • POST /v1/screen
  • GET /v1/intel/offerings
  • GET /v1/intel/offerings/ipo-pipeline

Signals and Intelligence

One feed of scored events across equities, crypto, macro, and prediction markets; the published signal track record (forward returns after every logged signal, losses included); cross-family confluence composites with legs listed; per-ticker smart-money scores; a per-symbol brief; and a delta feed for polling agents.

  • GET /v1/signals
  • GET /v1/track-record
  • GET /v1/confluence
  • GET /v1/equities/smart-money
  • GET /v1/brief/{asset_class}/{symbol}
  • GET /v1/changes
  • GET /v1/status

Bulk

Date-ranged gzip CSV exports for backfills and research. The catalog endpoint lists every dataset with its columns, source, and caveats.

  • GET /v1/bulk/datasets
  • GET /v1/bulk/{dataset}.csv.gz

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

Kresmion is in a free beta and billing is not switched on. Every registered account can self-serve an API key, and the API, the MCP server, the SDK, the Excel add-in, and bulk export all run on that key at no charge. Requests over the per-minute limit get a 429 with a Retry-After header telling you how long to wait; the monthly quota resets each calendar month.

TierMonthly callsRate limitOver limitAccess
Free beta (registered)10,000120 req / min429 + Retry-AfterSelf-serve key, today
Developer (planned)Not set yetNot set yet429 + Retry-AfterWhen billing opens
BusinessBy agreementBy agreement429 + Retry-AfterContact us

When paid plans open, programmatic access (the API, the MCP server, and bulk export) belongs to the Developer plan on the pricing page, planned at EUR 80 a month excluding VAT. Nothing is charged during the beta, and the Developer limits will be stated in this table before they apply. Need more today? Email inquiry@kresmion.com.

Securing a key

A key is for reading data. A request made with a key using a write method (POST, PUT, DELETE) is refused with a 403, except the two POST routes that carry a query body and write nothing (the screen and the sheet evaluator); account data such as portfolios and messages needs a signed-in session. You can lock a key to specific source addresses from /settings/api-keys. An allowlisted key is rejected with a 401 when it is presented from any other address. The allowlist takes exact IPv4 and IPv6 addresses; leave it empty to accept any address. Keys are shown in full only once at creation, can be revoked at any time, and you can hold up to five active keys per account.

Attribution and caveats

Some data owners require a credit line wherever their data is shown. When they do, the response carries it in meta.attribution, and you must keep that text with the figures when you display, store, or pass them on. Two families carry it today:

  • Short volume: "Source: FINRA. Reg SHO Daily Short Sale Volume data owned by FINRA."
  • Sovereign spreads: the ECB source line and its free-of-charge notice, the statement that the spreads are computed by Kresmion from the published yields, the OECD and Federal Reserve H.15 citations, and the FRED notice. A spread is a calculation from published yields, not a credit rating.

meta.caveats lists the known limits of a dataset (a lag, a single venue, a withheld value) and meta.source names the upstream. MCP tools return the envelope unchanged, and the Python SDK exposes it as .meta on every result. Read the methodology for how each figure is built.

Webhooks

Subscribe to push events instead of polling. Manage up to five webhooks per account at /settings/webhooks, optionally filtered to event types and symbols. Each delivery is signed with HMAC-SHA256 over the raw body, sent as X-Kresmion-Signature: sha256=<hex>, so you can verify it came from Kresmion.

EventFires when
signal.createdA new cross-asset signal fired at the top severity tier.
whale.transferA single on-chain transfer of $1,000,000 or more (self-transfer artifacts excluded).
prediction.repricingA Polymarket market moved 10 percentage points or more in 24 hours.
prediction.resolution_imminentA liquid Polymarket market is scheduled to close within 48 hours.
prediction.algo_flowA high-confidence algorithmic-flow flag on a Polymarket market.
etf.flowA new daily crypto ETF print. BTC and ETH session flow values are withheld; AUM and fund count are sent.
regime.changeThe daily macro regime crossed into a new bucket.
confluence.firedSeveral independent data families aligned on one symbol.
{
  "event": "whale.transfer",
  "fired_at": "2026-07-16T14:05:00+00:00",
  "data": {
    "blockchain": "ETH",
    "from_label": null,
    "to_label": "Binance",
    "direction": "exchange_inflow",
    "amount_usd": 4200000.0,
    "tx_hash": "0xabc...",
    "tx_timestamp": "2026-07-16T14:04:12+00:00"
  }
}
import hashlib
import hmac

def verify(secret: str, raw_body: bytes, signature: str) -> bool:
    expected = "sha256=" + 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"]   # "sha256=<hex>"
#   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. Response headers name the source and any caveat keys.

DatasetContents
polymarket_historyPer-tick YES probability and USD volume history for Polymarket markets.
prediction_resolutionsSettled Polymarket markets with lead time, final probability, and outcome.
pm_orderbook_snapshotsPolymarket order-book snapshots: best bid and ask, spread, near-mid depth.
whale_transactionsLabeled on-chain transfers of $100k or more across ETH, BTC, and SOL.
asset_signalsScored cross-asset signal events with source attribution.
funding_rate_historySettled perpetual funding-rate events per symbol and exchange.
liquidation_eventsRealized perpetual liquidations, single venue (OKX).
macro_regime_historyDaily regime score with its four factor sub-scores.
cot_reportsWeekly CFTC Commitments of Traders positioning per market.
curl -s "https://kresmion.com/api/v1/bulk/whale_transactions.csv.gz?from=2026-06-01&to=2026-06-30" \
  -H "Authorization: Bearer krm_your_key_here" \
  --output whale_transactions_2026_06.csv.gz

MCP for AI agents

AI agents connect to Kresmion over the Model Context Protocol. The hosted server exposes 39 tools: 39 read data, and none writes, pays or changes state. Every tool response carries the same envelope and freshness stamp as the HTTP API, and the same key, quota, and rate limits apply. Start with kresmion_status to see how fresh each family is.

Start here

kresmion_status, kresmion_brief, changes_since

Prediction markets (Polymarket)

prediction_markets, prediction_market_detail, prediction_market_history, prediction_order_book, prediction_movers, prediction_calibration, prediction_execution_cost, prediction_calendar

Crypto

crypto_whale_transfers, crypto_etf_flows, crypto_derivatives, crypto_funding, crypto_liquidations

Equities and companies

equity_signals, insider_clusters, congress_trades, institutional_holdings, equity_short_interest, short_volume, equity_gamma, smart_money, equity_offerings, relative_value

Macro and rates

macro_regime, central_banks, bis_policy_rates, money_markets, sovereign_spreads, yield_curve_history, fred_history, economic_surprise, macro_liquidity, cot_positioning, treasury_tic

Signal record

signal_track_record, confluence

Web clients that connect by OAuth need no pasted key. Add a custom connector with the URL https://kresmion.com/api/mcp and leave the OAuth fields empty. The client discovers the Kresmion authorization server, opens the Kresmion consent page, and after you approve it while signed in, it receives a managed key with the kresmion:read scope, limited to the data API. That key appears in /settings/api-keys as an OAuth key and shares your account's quota; revoke it there to disconnect. ChatGPT connects the same way where your plan offers custom connectors.

Hosted endpoint over streamable HTTP, with your key in the header:

{
  "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"

Local stdio server

Prefer to run it yourself? The standalone stdio server carries the same 39 tools, generated from the hosted server, and calls the same HTTP API with your key from the environment. Download /sdk/kresmion_mcp.py:

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

{
  "mcpServers": {
    "kresmion": {
      "command": "uv",
      "args": ["run", "--with", "mcp", "--with", "httpx", "/absolute/path/to/kresmion_mcp.py"],
      "env": { "KRESMION_API_KEY": "krm_your_key_here" }
    }
  }
}

# without uv: pip install "mcp>=1.28" "httpx>=0.27", then run python kresmion_mcp.py

Python SDK

The kresmion package wraps the /v1 API in namespaced methods (k.prediction, k.crypto, k.equities, k.macro and more), honours Retry-After, and streams bulk files. SDK version 0.6.0 is the single-file build served here; it needs Python 3.9 or newer and requests. The PyPI package of the same name lags behind this build, so download the file:

curl -O https://kresmion.com/sdk/kresmion.py
pip install "requests>=2.28"

Every result carries .as_of and .meta, which holds the caveats, source, and any attribution line you must reproduce:

from kresmion import Kresmion

k = Kresmion()  # reads KRESMION_API_KEY
spreads = k.macro.sovereign_spreads(country="IT")
print(spreads.as_of, spreads.meta.get("attribution"))

Version 0.4.0 removed six methods together with their routes, because the data behind them carries no redistribution licence: prediction.consensus, prediction.divergence, prediction.options_divergence, prediction.options_divergence_history, crypto.options, and crypto.stablecoins. Later versions only add methods and parameters.

Excel add-in

The Excel add-in ships 24 worksheet functions, from =KRESMION.REGIME() and =KRESMION.CBRATE("US") to =KRESMION.YIELD("10Y"), the same live functions as the on-site sheet. It works in Excel for Windows and Mac and in Excel for the web. To install it, open Insert, then Get Add-ins, then Upload My Add-in, and select the manifest at kresmion.com/excel-addin/manifest.xml. Open the Kresmion taskpane, paste your API key, and click Connect; the taskpane lists every function with an example.

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.