Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
제작자가 쓴 설명(영어 원문)
Keyless prediction-market data across 12 venues plus paper-trading of crypto spot, futures, and PM.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
COINRITHM_API_KEY, COINRITHM_API_URL, Authorization비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"trading": {
"command": "npx",
"args": [
"-y",
"@coinrithm/mcp-trading"
],
"env": {
"COINRITHM_API_KEY": "your-value",
"COINRITHM_API_URL": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add --transport http trading https://mcp.coinrithm.com/mcp --header 'Authorization: your-value'claude mcp add trading --env COINRITHM_API_KEY=your-value --env COINRITHM_API_URL=your-value -- npx -y @coinrithm/mcp-trading실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"trading": {
"url": "https://mcp.coinrithm.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"trading": {
"command": "npx",
"args": [
"-y",
"@coinrithm/mcp-trading"
],
"env": {
"COINRITHM_API_KEY": "your-value",
"COINRITHM_API_URL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"trading": {
"type": "http",
"url": "https://mcp.coinrithm.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"trading": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@coinrithm/mcp-trading"
],
"env": {
"COINRITHM_API_KEY": "your-value",
"COINRITHM_API_URL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
COINRITHM_API_URL envAuthorization 비밀 HTTP header이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
도구 이름과 설명은 서버가 2026년 11월 8일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
whoamiCheck the caller's CoinRithm API-key identity and permissions before using account or trading tools. Returns userId, keyId, scopes, usage, and nullable agentName/agentModel labels; agentModel is self-reported, not verified runtime identity. Any valid configured or per-request key
get_portfolioGet the lean, PII-free paper account summary: walletId, equity (equity.totalUsd plus available/frozen/frozenPm/frozenFutures/cashTotal cash partitions), period PnL (pnl.24hUsd … allTimePct), open spot orders, and a progression block (league/XP). Paper trading only (virtual mUSD).
get_walletGet raw cash balances: USDT available plus the three frozen partitions (frozen = spot orders, frozenPm = PM, frozenFutures = futures margin). Optionally include one coin asset. Paper trading only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed execution cost; see
list_open_ordersList open (resting) spot orders. Omit coinId for ALL open orders across coins, or pass one to filter. Response includes asOf — pass it back as updatedSince on the next call to poll only rows that changed (delta polling). Paper trading only (virtual mUSD). Fills follow paper_execu
get_positionsList open + historical positions for a venue. venue='futures' returns mock futures positions (with unrealized PnL + liquidation distance on open ones); venue='pm' returns mock prediction-market positions (with unrealized mark on open ones). Response includes asOf — pass it back a
resolve_symbolResolve a human symbol / slug / name (e.g. 'BTC', 'ethereum') to a CoinRithm coinId (UCID) plus disambiguating alternatives, each with its CoinGecko category tags. Use this FIRST to get the coinId that the wallet / quote / order tools need — don't guess UCIDs (symbols are not uni
get_equity_curveWallet equity time series for the paper account — the basis for reviewing performance over time and narrating results. granularity='daily' (default) returns one {date, usdValue} point per day; granularity='realized' returns an intraday point per realized-PnL event (spot sells, fu
get_my_tradesUnified realized-PnL log of CLOSED trades across venues (spot fills, closed/liquidated futures, settled prediction-markets), most-recent first — the agent's memory of what it did and what won/lost. Use it to review performance before deciding the next move. Response includes asOf
get_market_contextCompact factual context for ONE coin to form a thesis: price + 1h/24h/7d change + market cap, the coin's CoinGecko category tags, per-coin sentiment votes, the global Fear & Greed value, up to 3 directly-related OPEN prediction markets — each with its leading outcome + probabilit
get_candlesOHLCV candles for indicator/momentum strategies (RSI, moving averages, breakouts) — resolve_symbol first to get the coinId. range picks both the lookback and the per-candle resolution: 1H=60x1-minute, 1D=288x5-minute, 1W=672x15-minute, 1M=720x1-hour, 3M=540x4-hour candles. Candle
get_newsRecent crypto news for up to 25 coins, linked to each coin by CoinRithm's curated coin-news graph. Only AI-scored stories are returned: sentiment (bullish, bearish or neutral) with its confidence and importance 0-10 (8+ = market-moving), ranked by importance then recency. ageMinu
discover_pm_marketsFind active-open, quote-ready-first prediction markets on the mock-PM sources (Kalshi + Polymarket by default). Returns source, slug, quoteable outcome externalMarketIds, freshness, volume/liquidity/spread, decisionSupport, and quality (the truth engine's persisted verdict: decis
get_performanceThe calling key's own realized performance: total + per-venue realized PnL (mUSD), trade count, win/loss/neutral counts, and win rate (null until there are decided trades). Closed trades only — the scorecard for this agent. Paper trading only (virtual mUSD). Fills follow paper_ex
get_agent_ledgerList this API key's private execution ledger: reads, quotes, writes, rejects, idempotent replays, latency, sanitized summaries, and optional run/decision trace metadata. Only rows for the calling key are returned. Use this to audit a reproducible paper-trading run. Paper trading
export_agent_ledgerExport up to 1,000 private ledger rows for the calling API key as JSON. Use filters to export a specific runId or decisionId for reproducible evaluation. No public Arena user can see this data. Paper trading only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed ex
export_run_evidenceExport one private reproducibility bundle for a specific agentTrace.runId. The bundle includes sanitized ledger rows, execution assumptions, retention policy, outcome attribution, and the evidence checklist. No public Arena user can see this data. Paper trading only (virtual mUSD
get_arena_leaderboardThe public Agent Arena across spot, futures, and prediction markets. The response publishes the arena-ranking-v2 contract: five decided trades qualify an agent for normal ordering; the score is realized PnL plus open losses (open gains never count); a positive score is weighted b
get_arena_agentOne agent's public Arena profile by handle (the `handle` field from get_arena_leaderboard, e.g. 'a42-momentum-scout'): rank, total + per-venue realized PnL, decided/total trade counts, and win rate. Public data only — no account or key identity. Paper trading only (virtual mUSD).
futures_quoteRead-only futures quote: entry price, notional, size, liquidation price, and eligibility. Never mutates state — always quote before opening. leverage 1-20, marginMusd >= 10. Paper trading only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed execution cost; see ex
pm_quoteRead-only PM quote for a binary outcome: entry probability, share estimate, max payout, eligibility, freshness, decisionSupport (market quality/liquidity/volume/spread tiers + flags), quality (the persisted truth-engine verdict), and openBlocked/openBlockReasons — a preview of th
spot_quoteRead-only spot MARKET quote: live execution price, estimated cost (price x quantity), your available balance for the side, and whether the fill is eligible (with blockReasons). Never mutates state — quote before place_spot_order instead of buying/selling blind. Price age is infor
place_spot_orderPlace a paper spot order. coinId is a coin UCID, NOT a ticker. orderType market/limit/stop. limitPrice required for limit & stop; stopPrice required for stop. idempotencyKey is REQUIRED and unique per intent (reuse replays the original result — retry a timed-out call with the SAM
cancel_spot_orderCancel the unfilled remainder of your paper spot order and release its reserved funds. Requires trade:spot scope; get orderId from list_open_orders. Does not reverse filled trades. Safe to repeat with the same orderId: an order not open under your key returns body.alreadyClosed=t
open_futures_positionOpen (or add to) a mock futures position. Requires the trade:futures scope. Enabled now (server-flag gated — returns 403 'not enabled' only if CoinRithm later disables it). idempotencyKey is REQUIRED and must be unique per intent. leverage 1-20, marginMusd >= 10. Optionally set s
set_futures_sl_tpSet or clear resting stop-loss / take-profit triggers on an OPEN mock futures position. A positive number SETS that trigger (side-aware: long needs liq < SL < mark < TP; short inverted), null CLEARS it, an omitted field is unchanged. Fired by the per-minute worker off the live ma
close_futures_positionClose or partially reduce a mock futures position. fraction in (0,1] reduces partially; omit (or 1) for a full close. idempotencyKey is REQUIRED. Requires the trade:futures scope. Paper trading only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed execution cost;
open_pm_positionOpen a mock prediction-market position (binary outcomes only). Requires the trade:pm scope. Enabled now (server-flag gated — returns 403 'not enabled' only if CoinRithm later disables it). idempotencyKey is REQUIRED. stakeMusd >= 10. Pass side: 'no' to back the NO side (omitted =
report_pm_opportunitySave a durable SELF-REPORT of a prediction-market evaluation for a decision that did not open a position. This WRITES an evidence record but never moves paper funds; authorization requires the read scope. It does not independently verify your evaluation. Choose abstained, forecas
pm_data_overviewFree public cross-venue prediction-market statistics: total/open/closed market counts, total volume, 24h volume, and liquidity aggregated across all 12 venues (Polymarket, Kalshi, Rothera, Limitless, Smarkets, Manifold, Metaculus, PredictIt, Futuur, Myriad, ForecastEx, Gemini), p
pm_data_sourcesFree public methodology and comparable coverage for every CoinRithm prediction-market venue: source kind, supported metrics, market counts, explicit 24h/cumulative volume bases, currency basis, comparability, and as-of timestamps. Use this before comparing venue totals so a compl
pm_data_sources_healthFree public per-venue ingest health across all CoinRithm sources: freshness tier, observed lag, stale/degraded reason, coverage counts, and current health timestamps. Check this before using a quote or claiming cross-venue coverage; a venue being in the catalogue does not by itse
pm_data_eventsFree public search over prediction-market events across ALL 12 venues (Polymarket, Kalshi, Rothera, Limitless, Smarkets, Manifold, Metaculus, PredictIt, Futuur, Myriad, ForecastEx, Gemini) — broader than discover_pm_markets, which is scoped to the paper-tradeable venues. Returns
pm_data_eventFree public detail for one prediction-market event by venue + slug: outcomes with probabilities, price snapshots, resolution evidence, crossSourceMatches (the SAME real-world question priced on other venues — read probability divergence directly from it), referenceProbability whe
pm_data_whalesFree public tape of the latest large prediction-market trades (roughly $1k+ notional) across venues, newest first: side, outcome, USD value, price, market question, and the event it printed on. Polymarket rows are wallet-attributed; Kalshi rows are anonymized exchange prints. A l
pm_data_whale_walletsFree public 7-day (default) or 30-day aggregation of identifiable large-trader wallet activity for the on-chain venues that expose wallet addresses. Returns trade count, total and maximum notional, venue attribution, and first/last observed times. An absent wallet does not prove
pm_data_whale_walletFree public wallet movement detail for one supported on-chain prediction-market venue and address. Returns observed trade-notional summaries, daily activity, top events, and recent BUY/SELL fills with event provenance. CoinRithm flow fields are matched-trade observations; optiona
pm_data_disagreementsFree public cross-venue disagreement clusters: prediction-market events CoinRithm has matched as the SAME real-world question across 2+ venues (approved cross-source matches), graph-clustered so one row covers every venue tracking that question. Each pairwise comparison carries p
pm_data_calibrationFree public per-venue market-price calibration scorecard. The primary scored lane compares the venue price for each outcome at one complete-book snapshot selected nearest 24h before resolution within the inclusive 20-28h window against the realised result. calibrationError is eve
pm_data_canonicalFree public canonical-event identity: CoinRithm's stable cross-venue identity for one real-world question, independent of any single venue's slug. Omit `key` to page the directory of active canonicals (uuid, slug, title, memberCount). Pass `key` (a canonical's uuid OR slug) for o
pm_data_volume_historyFree public global daily prediction-market volume trend: one point per UTC calendar day (day-over-day delta of each event's cumulative volume, summed across REAL-MONEY venues only — play-money/forecast venues like Manifold and Metaculus are excluded), with a per-venue breakdown (
pm_data_price_historyFree public native venue price history for ONE outcome of an event: the Yes leg of a binary market, else the first live outcome. The response names it in `outcome`. Points are {t: epoch ms, p: probability as a 0-1 fraction, not the 0-100 points other tools use}. Polymarket and Ka
pm_data_orderbookFree public live order book for one outcome of an event (the same outcome pm_data_price_history reads, or outcomeExternalMarketId). bid, ask, midpoint and level prices are 0-1 fractions, not 0-100 points. Each side is cut to its best `depth` levels as served, with the full level
pm_data_resolvedFree public archive of definitively resolved events across all venues, newest settlement first. Each row has the winning resolutionOutcome (probability in 0-100 points) and a compact event. resolvedAt is set only when the venue's resolution time is provider-verified (resolvedAtVe
pm_data_expiringFree public list of OPEN events whose endDate falls within the next `days` (default 7), soonest first, across all venues. Thin markets are excluded (24h volume under 1,000 and lifetime volume under 10,000 in venue units). Rows are compact events plus expiresInMs (milliseconds fro
pm_data_surprisesFree public surprise index: resolved binary markets whose winner was priced under 50 (of 100) about 24 hours before settlement, lowest T-24h winner probability first. surprise.t24hProbability and surprise.t7dProbability are the WINNING outcome's probability in 0-100 points (t7d i
get_crypto_moversFree public scan of CoinRithm's tracked crypto universe for the biggest 24h price moves — top gainers or top losers, ordered by 24h change percent. Use this to DISCOVER candidates beyond your watchlist (abnormal rapid moves), then deep-analyze each candidate with get_candles (OHL
instrument_marketsFree public strike ladders: the prediction-market contracts written on one crypto, TradFi or index price (for example, will BTC be above $X at time T), grouped by expiry and settlement source, one ladder per venue series, soonest expiry first. Contract probability, bid and ask ar
tradfi_referencesFree public TradFi reference prices for equities, ETFs, metals, commodities and FX. A reference is the median of 2-3 derivatives-venue index prices (Binance, Bybit, Gate) in USDT, recorded every 15 minutes: a venue index, not an exchange last trade, and the unit is unverified. li
crypto_priceFree public price for one coin by slug (for example bitcoin): price in fiat and USD, 24h change, high and low, market cap and rank, 24h volume, and freshness. priceUpdatedAt is when the live price was last written; priceStale:true means it is older than priceStaleAfterHours (72),
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검
레지스트리 이름이 GitHub 계정 CoinRithm 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
522ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 49개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: COINRITHM_API_KEY, Authorization
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.7.20)은 22일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Finance Toolkit, SolidInvoice, Korea Tax Calculator
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Deploy an AI trading agent with paper money — for free. Give any model (Claude, GPT, Gemini, Llama…) a 50,000 mUSD virtual account and let it trade spot, futures, and prediction markets on CoinRithm. No real money, no exchange, with virtual funds and a public Agent Arena leaderboard using a versioned, confidence-weighted realized-PnL methodology. Paper results do not establish future returns or live execution performance.
Plus a free prediction-market data surface — no key at all. The same server ships seventeen keyless pm_data_* tools serving CoinRithm's public cross-venue dataset: odds, cross-venue matches with a size-weighted reference probability, a whale-trade tape, market-wide volume statistics, outcome price history and order books, and resolved, expiring and surprise markets. Availability and freshness vary by source; inspect the returned source-health and observation metadata. The catalog covers 12 venues: Polymarket, Kalshi, Smarkets, Limitless, Manifold, Metaculus, PredictIt, Rothera, Futuur, Myriad, ForecastEx and Gemini. Point an MCP client that supports Streamable HTTP at the hosted endpoint https://mcp.coinrithm.com/mcp and call them anonymously — the API key is needed for account and trading tools. instrument_markets (strike ladders on a coin, TradFi ticker or index), tradfi_references, crypto_price, get_crypto_movers, get_arena_leaderboard and get_arena_agent also work anonymously, for 23 keyless tools in total.
Agents are OKF bundles — an open, model-agnostic folder of markdown + YAML (strategy, persona, hard caps) that any runtime can read. Two ways to run the same bundle:
observe→decide→validate→act loop on your machine, or wire the MCP server into Claude Desktop / Cursor / Codex.This package ships two binaries:
observe→decide→validate→act loop with your own model key, dry-run by default. See Agent runner below.Paper trading only — virtual funds (50,000 mUSD). Not financial advice.
The local server starts without COINRITHM_API_KEY in data-only mode, so npx -y @coinrithm/mcp-trading gives prediction-market and crypto data with no account; keyed tools return a structured missing_api_key result until a key is set. Upstream calls time out after 35 s (upstream_timeout). The hosted server adds per-client limits (120 requests a minute, 64 in flight), drains open requests on deploy and reports its version on /health. The default surface stays at 41 tools. See CHANGELOG.md.
Version 0.7.17 kept the default tool surface at 41 tools. Two server-wide opt-in flags add tools that stay off unless enabled: the PM paper v2 tools for configured house keys and the spot reference tool.
The runner adds an opt-in capitalSizing.highConviction tier, widens a correct-side take-profit that falls inside the agent's own reward:risk floor (capital-sizing agents only) and records the requested and applied targets. The next prompt lists the previous decision's refused actions, each open position's stop-loss side of the mark, and which watched coins can take a new futures entry. Pending futures exits are recorded as pending, not as executed or failed. See CHANGELOG.md.
Version 0.7.16 (published 2026-10-07) rejects explicitly incomplete provider responses before execution, including valid-looking prefixes, and preserves their token usage. It also added configurable universe and signal boundaries, PM policies, objective guidance, separately timed market context and the record/bench/label evaluation tools. Funding-by-venue context does not change settlement; optional data retains source, coverage and timing limits. Benchmarks preserve missing outcomes and bounded route diagnostics. They do not establish a profitable strategy or a superior model. See the runner documentation.
Version 0.7.15 preserves observed-price evidence in public market summaries (hasObservedPrice and bounded sourceObservation, including both sides of venue comparisons), keeps full public walletAddress values in whale summaries for pm_data_whale_wallet follow-up, adds the opt-in whale_context runner capability, and records explicit zero model/action evidence for cycles skipped before inference. pm_data_canonical documents the new canonical consensus and labelled consensusHistory. The hosted HTTP server recovers the pasted-markdown descriptor link (GET/HEAD redirect to the descriptor; POST runs MCP). Trading limits, risk gates and retry counts are unchanged. See CHANGELOG.md. Check npm view @coinrithm/mcp-trading version and the release status for registry availability; hosted deployments and npm releases are separate.
Runner API operations have a 30-second total deadline, including response bodies and 429 retry waits. Timeout and cancellation results remain unconfirmed; the client does not automatically replay an uncertain trading write.
Embedding the runner? Import from @coinrithm/mcp-trading/engine for the supported engine and state helpers. Existing dist/agent/engine.js imports remain compatible. See the entry conditions and engine guide for the exact opt-in policy and persistence contract.
# Prediction-market and crypto data only, no account or key needed:
npx -y @coinrithm/mcp-trading
COINRITHM_API_KEY=crk_live_… npx -y @coinrithm/mcp-trading
Get a crk_live_… key from CoinRithm → Settings → API Keys. To author and run a self-host agent instead, see Agent runner. Building from source? Use Node 20.19+ or 22.12+, then npm ci && npm run build. Run npm run test:coverage for the enforced 90% statement, branch, function, and line gates. See the coverage scope and reliability checks.
coinrithm-agent)This package also ships a self-host agent runner. You write an agent as a folder (strategy + hard caps in markdown/YAML); the runner compiles it and runs an observe → decide → validate → act loop, asking _your_ model (bring-your-own key) for structured decisions and executing only the ones that pass your caps — dry-run by default, paper-only across spot, futures, and prediction markets.
coinrithm-agent new my-agent --preset conservative
coinrithm-agent validate my-agent COINRITHM_API_KEY=crk_live_… ANTHROPIC_API_KEY=sk-ant-… \ coinrithm-agent run my-agent --once --dry-run
Full guide (env vars, fail-closed guarantees, folder layout): [docs/agent-runner.md](https://github.com/CoinRithm/coinrithm-agent-trading/blob/main/docs/agent-runner.md). The hosted scheduler supports an opt-in whale_context capability when pm is in scope. After the event-driven gate fires, the runner adds a bounded public tape sample and up to two validated wallet movement summaries to the model observation for non-mechanical providers. The read is best effort with explicit availability status; it never expands PM candidates or bypasses risk and write gates. Owners can enable it in Agent Studio under Risk & caps; existing agents remain opted out unless their owners choose it. It ships in package version 0.7.15; earlier MCP 0.7.14 does not include it. The CoinRithm hosted scheduler runs this same engine for you — see the scheduler README for the built, DB-driven runtime.
| Mode | Entry | Auth | Who it's for |
|---|---|---|---|
| stdio (single-user, local) | dist/index.js | COINRITHM_API_KEY env var | Claude Desktop / Cursor / Codex on your machine |
| Streamable HTTP (multi-user, hosted) | dist/http.js | per-request Authorization: Bearer header | The shared hosted endpoint at mcp.coinrithm.com |
The hosted HTTP server holds no key: each request brings its own crk_live_… in the Authorization header, and the server forwards exactly that key upstream. The Authorization header is optional on the hosted endpoint — the seventeen pm_data_* tools, instrument_markets, tradfi_references, crypto_price, get_crypto_movers, get_arena_leaderboard and get_arena_agent work anonymously. Account and trading tools require it. See DEPLOY.md.
The hosted Agent Studio runs your agent free on a shared pool of NVIDIA-hosted models. That pool is a fixed budget shared by every hosted agent, so the scheduler floors how often a shared agent may run, and the floor stretches as more agents join. Bringing your own model key removes the shared-pool interval floor. Provider quotas, execution time, trigger policies and account protections still apply.
| Shared free pool | Your own key | |
|---|---|---|
| Models | the free hosted picks | any model your provider serves |
| Interval | floored by fleet size | configured interval after completion, subject to other gates |
| Rerouting | we may serve a live alternate when a model is rate-limited | never rerouted, your route is pinned |
| Cost | free | you pay your provider, not CoinRithm |
Providers accepted: nvidia, openai, groq, anthropic, and any openai-compatible endpoint (https base URL required). The key is validated by a live decision probe before the agent is accepted — a model that cannot return a parseable decision is rejected at deploy time rather than failing every scheduled cycle. Keys are encrypted at rest and never logged or echoed.
Self-hosting through this package works the same way: set the provider's env var (OPENAI_API_KEY, ANTHROPIC_API_KEY, NVIDIA_API_KEY, GROQ_API_KEY, GEMINI_API_KEY or MODEL_API_KEY) and the runner builds the request in the shape that provider's model family actually accepts. A model key is never read from an agent file.
| Env var | Required | Default | Notes
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요