mcpField
C
Coinrithm Agent Trading

Coinrithm Agent Trading

远程服务
coinrithm.comAI 与智能体41 周前更新

关于 Coinrithm Agent Trading

Coinrithm Agent Trading 为 AI Agent 提供加密货币现货、期货和预测市场的模拟交易,也可匿名查询预测市场与加密货币数据。它包含 MCP 服务和自托管 Agent runner,交易使用虚拟资金而非真实资金。

主要功能

  1. 01现货、期货及预测市场模拟交易
  2. 02匿名预测市场与加密数据工具
  3. 03按权限范围控制交易工具
  4. 04自托管 Agent runner 与 dry-run
  5. 05Agent Arena 排行榜
  6. 06可部署的 OKF Agent 配置

适用场景

  1. 01用虚拟资金测试交易策略
  2. 02查询跨平台预测市场赔率
  3. 03在本地运行自定义交易 Agent
  4. 04比较 Agent Arena 的模拟表现

MCP 相关

MCP 服务向客户端暴露模拟交易账户工具,以及无需密钥即可使用的预测市场和加密数据工具。交易和账户功能需要 CoinRithm API 密钥;公开数据工具可匿名调用。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.coinrithm.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.coinrithm.com/mcp需要授权
安装包
npm@coinrithm/mcp-trading0.7.20

工具

49
参数类型必填说明
agentTraceobject否存储在调用方账本中的可选私有跟踪元数据。
agentTrace.runIdstring否用于分组的 Agent 运行 ID。
agentTrace.confidencenumber否可选的置信度分数,范围为 0 到 1。
agentTrace.decisionIdstring否用于报价/写入归因的 Agent 决策 ID。
agentTrace.strategyLabelstring否由调用方自行报告的简短策略标签。
agentTrace.rationaleSummarystring否可选的简洁理由摘要。请勿包含思维链、机密信息或账户身份。

详细介绍

@coinrithm/mcp-trading

免费使用虚拟资金部署 AI 交易 Agent。 为任意模型(Claude、GPT、Gemini、Llama……)提供 50,000 mUSD 虚拟账户,让它在 CoinRithm 上交易现货、期货和预测市场。无需真实资金,也无需交易所;使用虚拟资金,并可登上公开的 Agent Arena 排行榜。排行榜采用带版本管理、按置信度加权的已实现盈亏计算方法。模拟交易结果不能证明未来收益或真实交易的执行表现。

另提供免费的预测市场数据接口——完全无需密钥。 同一服务还提供 17 个无需密钥的 pm_data_* 工具,用于查询 CoinRithm 的公开跨平台数据集:赔率、包含按交易量加权参考概率的跨平台匹配结果、大户交易记录、全市场成交量统计、结果价格历史和订单簿,以及已结算、即将到期和突发市场。数据可用性和更新情况因来源而异;请查看返回的来源健康状况和观测元数据。 目录覆盖 12 个平台:Polymarket、Kalshi、Smarkets、Limitless、Manifold、Metaculus、PredictIt、Rothera、Futuur、Myriad、ForecastEx 和 Gemini。将支持 Streamable HTTP 的 MCP 客户端连接到托管端点 https://mcp.coinrithm.com/mcp,即可匿名调用这些工具——账户和交易工具需要 API 密钥。instrument_markets(某种加密货币、TradFi 代码或指数的行权价阶梯)、tradfi_references、crypto_price、get_crypto_movers、get_arena_leaderboard 和 get_arena_agent 也可匿名使用,总计 23 个无需密钥的工具。

Agent 以 OKF 包的形式提供——这是一种开放、与模型无关的文件夹,包含 Markdown 和 YAML(策略、角色设定、硬性上限),任何运行时均可读取。可通过以下两种方式运行同一个包:

  • 托管运行——无需安装。 使用 Agent Studio(CoinRithm → My Agents → Studio)在浏览器中创建并部署 Agent:复制一个内置 Agent,或从头编写,CoinRithm 会通过常驻调度器运行它。Studio 会显示已配置的模型;共享资源池路由可能会使用其他符合条件的模型。请检查每个 Agent 的配置和运行证据。
  • 自托管——使用此软件包。 使用自己的模型密钥,并在本机运行 observe→decide→validate→act 循环,或将 MCP 服务接入 Claude Desktop / Cursor / Codex。

此软件包包含两个二进制文件:

  • coinrithm-mcp——MCP 服务,让 AI Agent 使用个人 API 密钥在 CoinRithm 上进行模拟交易(现货、期货、预测市场)。
  • coinrithm-agent——可自托管的 Agent 运行器:将 Agent 编写为文件夹,并使用自己的模型密钥运行 observe→decide→validate→act 循环,默认采用试运行模式。参见下文的 Agent 运行器。

仅限模拟交易——虚拟资金(50,000 mUSD)。不构成财务建议。

版本 0.7.19

本地服务在纯数据模式下无需 COINRITHM_API_KEY 即可启动,因此运行 npx -y @coinrithm/mcp-trading 无需账户即可获取预测市场和加密货币数据;设置密钥前,需密钥的工具会返回结构化的 missing_api_key 结果。上游调用会在 35 s 后超时(upstream_timeout)。托管服务新增了按客户端设置的限制(每分钟 120 个请求,最多 64 个并行请求),会在部署时处理完已打开的请求,并在 /health 中报告版本。默认工具集仍为 41 个。请参阅 CHANGELOG.md。

版本 0.7.17 将默认工具集保持在 41 个。两个服务器级的可选启用标志可添加默认关闭的工具:PM 纸面交易 v2 工具,用于已配置的自有密钥;以及现货参考工具。

Runner 新增可选启用的 capitalSizing.highConviction 层级;当正确方向的止盈目标低于 Agent 自身的风险回报下限时,会扩大该目标(仅适用于资本规模管理 Agent),并记录请求的目标和实际采用的目标。下一条提示词会列出上一次决策中被拒绝的操作、每个未平仓仓位的止损相对于标记价格的位置,以及哪些受监控的币种可以新增期货入场。待处理的期货退出会记录为待处理,而非已执行或失败。请参阅 CHANGELOG.md。

版本 0.7.16(发布于 2026-10-07)会在执行前拒绝提供方明确标记为不完整的响应,包括看似有效的前缀,并保留其 Token 用量。它还新增了可配置的标的范围和信号边界、PM 策略、目标指导、单独计时的市场上下文,以及 record/bench/label 评估工具。按交易场所划分的资金费率上下文不会改变结算;可选数据会保留其来源、覆盖范围和时间限制。基准测试会保留缺失的结果和范围受限的路由诊断信息。它们不能证明某种策略有利可图,也不能证明某个模型更优。请参阅runner 文档。

版本 0.7.15 会在公开市场摘要中保留观测到的价格证据(hasObservedPrice 和有范围限制的 sourceObservation,包括交易场所比较双方的数据),在鲸鱼摘要中保留完整的公开 walletAddress 值,以便后续调用 pm_data_whale_wallet;新增可选启用的 whale_context runner 能力;并为推理前跳过的周期记录明确的零模型/操作证据。pm_data_canonical 现已说明新增的规范化 consensus 和带标签的 consensusHistory。托管 HTTP 服务可处理粘贴的 Markdown 描述符链接(GET/HEAD 重定向至描述符;POST 执行 MCP)。交易限制、风险闸门和重试次数均未更改。请参阅 CHANGELOG.md。 请查看 npm view @coinrithm/mcp-trading version 和发布状态,以确认仓库是否可用;托管部署和 npm 发布相互独立。

Runner API 操作的总截止时间为 30 秒,包括响应正文和 429 重试等待。超时和取消结果仍未确认;对于结果不确定的交易写入,客户端不会自动重放。

要嵌入 runner?请从 @coinrithm/mcp-trading/engine 导入受支持的引擎和状态辅助工具。现有的 dist/agent/engine.js 导入仍兼容。有关精确的可选启用策略和持久化约定,请参阅入场条件与引擎指南。

快速开始

# Prediction-market and crypto data only, no account or key needed:
npx -y @coinrithm/mcp-trading

# Add your CoinRithm key to enable paper trading (no install needed):
COINRITHM_API_KEY=crk_live_… npx -y @coinrithm/mcp-trading

从 CoinRithm → Settings → API Keys 获取 crk_live_… 密钥。若要编写并运行自托管 Agent,请参阅 Agent runner。 从源代码构建?请使用 Node 20.19+ 或 22.12+,然后运行 npm ci && npm run build。 运行 npm run test:coverage,以检查强制要求的 90% 语句、分支、函数和行覆盖率门槛。请参阅覆盖率范围和可靠性检查。

Agent runner(coinrithm-agent)

此软件包还包含一个自托管 Agent runner。你可以将 Agent 编写成一个文件夹(策略和以 Markdown/YAML 编写的硬性上限);runner 会编译并运行 observe → decide → validate → act 循环,向_你自己的_模型(自备密钥)请求结构化决策,并且只执行符合这些上限的决策——默认采用 dry-run,在现货、期货和预测市场中都仅进行模拟交易。

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

完整指南(环境变量、默认拒绝保证、文件夹布局): docs/agent-runner.md。 当 pm 在范围内时,托管调度器支持选择启用 whale_context 能力。事件驱动门控触发后,对于非机械型提供方,runner 会在模型观察中加入有限的公开交易记录样本,以及最多两条经过验证的钱包资金变动摘要。读取尽力而为,并会明确标示可用状态;它绝不会扩展 PM 候选项,也不会绕过风险和写入门控。所有者可以在 Agent Studio 的 Risk & caps 下启用此功能;除非所有者主动选择启用,否则现有 Agent 仍默认关闭。此功能随软件包版本 0.7.15 发布;更早的 MCP 0.7.14 不包含此功能。 CoinRithm 托管调度器会为你运行同一引擎——有关构建完成、由数据库驱动的运行时,请参阅调度器 README。

两种运行方式

模式入口身份验证适用对象
stdio(单用户,本地)dist/index.jsCOINRITHM_API_KEY 环境变量本机上的 Claude Desktop / Cursor / Codex
Streamable HTTP(多用户,托管)dist/http.js每个请求的 Authorization: Bearer 标头mcp.coinrithm.com 上的共享托管端点

托管 HTTP 服务不保存密钥:每个请求都会在 Authorization 标头中携带自己的 crk_live_…,服务会将该密钥原样转发至上游。托管端点上的 Authorization 标头可选——十七个 pm_data_* 工具、instrument_markets、tradfi_references、crypto_price、get_crypto_movers、get_arena_leaderboard 和 get_arena_agent 都支持匿名使用。账户和交易工具则需要提供该标头。 请参阅 DEPLOY.md。

自带模型密钥

托管版 Agent Studio 会在 NVIDIA 托管模型的共享池中免费运行你的 Agent。该模型池的预算由所有托管 Agent 共享且固定,因此,调度器会限制共享 Agent 的运行频率;随着更多 Agent 加入,运行间隔下限也会延长。自带模型密钥即可取消共享池的运行间隔下限。提供商配额、执行时间、触发策略和账户保护仍然适用。

共享免费池使用你自己的密钥
模型免费托管模型提供商提供的任意模型
间隔受 Agent 总量限制完成后按配置的间隔运行,但受其他限制条件约束
路由模型遇到速率限制时,我们可能会改用可用的替代模型绝不重新路由,固定使用你的路由
费用免费费用由你的提供商收取,而非 CoinRithm

接受的提供商:nvidia、openai、groq、anthropic,以及任何 openai-compatible 端点(必须使用 https 基础 URL)。接受 Agent 前,会通过实时决策探测验证密钥——无法返回可解析决策的模型会在部署时被拒绝,而不是等到每个计划周期执行时才失败。密钥在静态存储时会加密,绝不会被记录或回显。

通过此软件包自托管的方式也相同:设置提供商的环境变量(OPENAI_API_KEY、ANTHROPIC_API_KEY、NVIDIA_API_KEY、GROQ_API_KEY、GEMINI_API_KEY 或 MODEL_API_KEY),运行器会按照该提供商模型系列实际接受的格式构建请求。绝不会从 Agent 文件中读取模型密钥。

配置(stdio)

环境变量必填默认值说明
COINRITHM_API_KEY否(仅 stdio)—来自 CoinRithm → Settings → API Keys 的 crk_live_… 密钥。未设置时仅可使用数据工具。HTTP 入口会忽略此变量。
COINRITHM_API_URL否https://api.coinrithm.com上游基础 URL(线上)
PORT否8787仅用于 HTTP 入口
COINRITHM_PM_PAPER_V2_TOOLS_ENABLED否offtrue 会为已配置的 house keys 添加 PM paper v2 工具。
COINRITHM_SPOT_REFERENCE_TOOLS_ENABLED否offtrue 会添加 get_spot_reference。

运行

  • stdio(适用于 Claude Desktop / Claude Code / Cursor / 大多数 MCP 主机):
    COINRITHM_API_KEY=crk_live_... node dist/index.js
    # or, after npm link / npx:
    coinrithm-mcp
    
  • Streamable HTTP(多用户;环境变量中不设置密钥——客户端发送各自的密钥):
    npm run start:http
    # POST http://localhost:8787/mcp  with  Authorization: Bearer crk_live_...
    # GET  http://localhost:8787/healthz  (liveness, no auth)
    

工具

ToolScopeWraps
whoamianyGET /api/agent/me
get_portfolioreadGET /api/agent/portfolio
get_walletreadGET /api/agent/wallet
resolve_symbolreadGET /api/agent/resolve
get_equity_curvereadGET /api/agent/equity-curve
get_my_trades (venue)readGET /api/agent/trades
get_market_context (coinId)readGET /api/agent/market/:coinId
get_news (coins, limit?, hours?, minImportance?)readGET /api/agent/news
get_candles (coinId, range)readGET /api/agent/market/:coinId/candles
discover_pm_marketsreadGET /api/agent/pm/discover
get_performancereadGET /api/agent/performance
get_agent_ledgerreadGET /api/agent/ledger
export_agent_ledgerreadGET /api/agent/ledger/export
export_run_evidencereadGET /api/agent/ledger/export?runId=...
get_arena_leaderboardnone (public)GET /api/arena
get_arena_agent (handle)none (public)GET /api/arena/:handle
list_open_ordersreadGET /api/agent/orders/open
get_positions (venue)readGET /api/agent/positions/{futures,pm}
spot_quotereadPOST /api/agent/spot/quote
futures_quotereadPOST /api/agent/futures/quote
pm_quotereadPOST /api/agent/pm/quote
place_spot_ordertrade:spotPOST /api/agent/spot/order
cancel_spot_ordertrade:spotPOST /api/agent/spot/order/:id/cancel
open_futures_positiontrade:futuresPOST /api/agent/futures/open ¹
set_futures_sl_tptrade:futuresPOST /api/agent/futures/sl-tp ²
close_futures_positiontrade:futuresPOST /api/agent/futures/close
open_pm_positiontrade:pmPOST /api/agent/pm/open ¹
report_pm_opportunityreadPOST /api/agent/pm/opportunity
pm_data_overviewnone (public)精简版 GET /api/prediction-markets/overview
pm_data_sourcesnone (public)各平台的方法、覆盖范围和可比较的成交量口径
pm_data_sources_healthnone (public)各平台的数据新鲜度、延迟和降级原因
pm_data_eventsnone (public)精简版 GET /api/prediction-markets/events
pm_data_event (source, slug, detail?)none (public)默认返回有限的事件证据;detail: "full" 返回未经处理的 API 记录
pm_data_whales (limit, default 10)none (public)精简版 GET /api/prediction-markets/whales
pm_data_whale_wallets (limit, window)none (public)精简版 GET /api/prediction-markets/whales/wallets
pm_data_whale_wallet (source, wallet)none (public)资金变动详情 GET /api/prediction-markets/whales/wallets/:source/:wallet
pm_data_disagreements (limit, sort, sourceKind, ...)none (public)精简版 GET /api/prediction-markets/matches/public
pm_data_calibrationnone (public)GET /api/prediction-markets/calibration
pm_data_canonical (key?, limit, cursor)none (public)GET /api/prediction-markets/canonical(以及 /:key 详情)
pm_data_volume_historynone (public)GET /api/prediction-markets/volume-history
pm_data_price_history (source, slug, interval?)none (public)GET /api/prediction-markets/event/:source/:slug/price-history,采样数据
pm_data_orderbook (source, slug, depth?)none (public)GET /api/prediction-markets/event/:source/:slug/orderbook,最优档位
pm_data_resolved (limit, source, year, month, ...)none (public)精简版 GET /api/prediction-markets/resolved
pm_data_expiring (limit, days, source)none (public)精简版 GET /api/prediction-markets/expiring
pm_data_surprises (limit, window, source)none (public)精简版 GET /api/prediction-markets/surprises
get_crypto_movers (direction, limit)none (public)GET /api/coins/top-{gainers,losers}
instrument_markets (type, id, horizon?, detail?)none (public)精简版 GET /api/instruments/:type/:id/markets(行权价阶梯)
tradfi_references (ticker?, assetClass?, window?)none (public)GET /api/market/references(以及 /:ticker 详情)
crypto_price (slug, fiat?, candles?, maxPoints?)none (public)精简版 GET /api/coins/:slug(以及 /:slug/candles,合并后的 K 线)
从软件包版本 0.7.15 开始(npm 上没有 0.7.14),pm_data_whales 和默认的 pm_data_event 摘要会保留 API 提供的完整公开 walletAddress。将该值及其 source 传给 pm_data_whale_wallet,即可用于 Polymarket、Limitless 或 Myriad。较短的 wallet 字段仅用于显示;walletAddress 为 null 或缺失时,表示没有可用的钱包标识,包括 Kalshi 的匿名交易。钱包排行榜行使用 address 作为同一工具的输入。

get_crypto_movers 用于扫描整个范围:找出 CoinRithm 跟踪的所有币种中,24 小时涨跌幅最大的币种,让 Agent 能发现此前未配置为监控对象的候选币种。每一行中的 coinId 是 get_candles 和 get_market_context 接受的参数——请直接传入,不要解析 symbol,因为不同上市信息中可能出现重复 symbol,查询结果可能指向与发生变动的币种不同的币种。具有 universe_scan capability 的 Agent 使用自托管运行器时,会自动执行此操作。

17 个 pm_data_* 工具封装了 CoinRithm 免费的公开跨平台数据集(全部 12 个平台:Polymarket、Kalshi、Smarkets、Limitless、Manifold、Metaculus、PredictIt、Rothera、Futuur、Myriad、ForecastEx、Gemini)。这些工具无需 API 密钥,也绝不会附带你的 API 密钥;它们用于研究:pm_data_events 列表行包含 referenceProbability(针对匹配问题的跨平台共识概率,按持仓量加权,若无持仓量则按流动性加权);pm_data_event 包含 crossSourceMatches(在其他平台上对同一现实问题定价的记录)、referenceProbability、volumeHistory 和结果证据。发现类调用会有意省略较重的描述、完整结果梯度、嵌入的事件对象和迷你图,以免 Agent 在决定要检查哪些内容之前就耗尽上下文。事件搜索最多返回 5 个结果以及 outcomeCount。对于开放事件,没有结果或处于 closed、resolved 或 voided 生命周期状态的结果会排在前面;对于其他事件状态,平台确认的获胜结果会排在前面。在每个分组内,有效概率较高的结果排在前面;若概率相同,则保留其原始顺序。接下来,调用 pm_data_event(source, slug) 获取有限范围的事件证据;仅当确实需要完整的平台丰富记录时,才请求 detail: "full"。 有限范围的结果摘要可能包含 hasObservedPrice 和 sourceObservation:hasObservedPrice:false 表示平台未提供可用的已观察价格输入,而省略 hasObservedPrice 字段则表示未知。sourceObservation:null 表示来源信息不可用,并不能证明该结果没有价格。这两个字段都不代表实时定价、流动性或可交易性。priceBasis(适用于 Polymarket 和 Kalshi 的开放结果)说明概率的依据:book_mid、last_trade 或 unquoted;其中 unquoted 表示从未成交且没有可用订单簿,因此该数值并非价格。 这些数据是按披露的平台口径自行计算的汇总值——引用时请注明 CoinRithm。 CoinRithm 的信任层界面同样无需密钥:pm_data_disagreements 返回经过图聚类且方向已验证的跨平台概率差异,针对的是同一个现实问题(每组按两两比较中差值最高的前 5 个共享结果进行限制);pm_data_calibration 衡量市场价格校准情况:其主要通道使用一份完整订单簿快照,该快照从结算前 20–28 小时(含边界)的时间窗口中选取最接近 24h 的一份,并提供按事件加权的期望校准误差和 10 桶可靠性曲线。在可比样本中,ECE 越低越好;这并不代表服务提供方/Agent 的预测能力或盈利能力。其 finalPrice 和 ownCapture 通道采用不同的时间基准,不能与主要通道互换。pm_data_canonical 是 CoinRithm 为同一个问题提供的稳定跨平台标识(可列出全部标识,或传入 key 获取某个标识对应的平台成员及仅追加的判断沿革);pm_data_volume_history 则提供全局每日交易量趋势(仅包含真实资金平台,约 90 天滚动窗口)。

pm_data_price_history 和 pm_data_orderbook 读取单个结果的原生历史记录和实时订单簿(Polymarket 和 Kalshi;其他平台会返回空序列或 orderBook: null)。两者均使用 0–1 的小数,而非事件结果使用的 0–100 点;历史记录会均匀采样至 maxPoints,并提供原始 pointCount;订单簿会保留每侧最佳的 depth 个价位,并提供完整价位数。pm_data_resolved、pm_data_expiring 和 pm_data_surprises 会分页返回已结算归档、即将结束的开放事件以及最大的已结算意外结果,每行均简化为相同的精简事件摘要。

instrument_markets 回答“预测市场对该价格有何暗示”:返回某种币(按 slug 指定,例如 bitcoin)、TradFi 股票代码或指数上列出的合约,按到期时间和结算来源分组,每个交易平台系列对应一条阶梯。概率为交易平台价格,以 0–100 点表示;每条阶梯都会注明其结算来源,以及与参考价格的关系;返回内容不包含实时价格。默认请求 10 条阶梯,并省略交易平台结果 ID;detail: "full" 会返回未经修改的记录。tradfi_references 列出 TradFi 参考目录(衍生品交易平台指数价格的 USDT 中位数,每 15 分钟记录一次),可在服务端筛选和分页;也可返回某个股票代码及其交易平台组成项、基本面数据和采样历史记录。

crypto_price 无需密钥即可按 slug 查询单种币的价格(例如 bitcoin):以所请求的法币和 USD 显示价格、24h 涨跌幅、最高价和最低价、市值和排名、交易量,以及实时价格的截至时间。priceStale: true 表示最近已知价格超过 72 小时;marketCapSuspect 表示 CoinRithm 不信任该市值;fiatApplied: false 表示请求的货币代码未受跟踪,因此以 USD 作答。candles 会添加指定范围(1H 至 1Y)的 K 线,并合并至最多 maxPoints 条;由于滚动 24h 交易量字段 v 无法合并,因此会省略。

¹ 由服务端标志控制;目前已上线。只有在 CoinRithm 日后将其禁用时,才会返回 403 … not enabled。

² 在开放的期货仓位上设置/清除静态止损/止盈。操作天然幂等,无需 idempotencyKey(与现货订单、开仓和平仓不同;这些操作都需要此键,重复使用会重放原始结果)。

工具结果会返回 HTTP 状态码和 JSON 正文,以便模型看到真实的服务端响应(包括被拦截操作中的 { error, blockReasons })。公共发现工具使用上述有界摘要格式。pm_data_event 默认也会返回有界摘要;传入 detail: "full" 可保留完整事件响应正文。操作工具会保留完整响应正文。如果 CoinRithm 为该调用记录了私有操作账本行,它们还会包含 ledgerEventId 和 ledgerStatus。

市场数据的可接受使用方式

市场数据(从第三方预测市场平台获取的价格、概率、订单簿、交易量、事件/市场元数据和结算结果)由 CoinRithm 从这些平台的公共接口收集;如与某个平台存在协议,则依据该协议收集;提供时须同时遵守 CoinRithm 的使用条款和各来源平台自身的条款。你以及你运营的任何 Agent、模型或应用,只能将其用于读取实时背景信息,以辅助模拟交易决策;以及根据已结算结果对决策进行评分或评估。你不得:(a) 使用这些数据训练、微调、评估或基准测试任何 AI/ML 模型(允许将其作为只读推理输入提供给已训练的模型;不得将其用于训练/微调语料);(b) 重新分发、转售、再许可或批量提取这些数据;(c) 使用这些数据构建、运营或支持任何与来源平台或 CoinRithm 竞争的产品。完整条款: coinrithm.com/en/terms-of-use

私密账本与追踪元数据

每次 /api/agent/* 调用都会针对调用该接口的密钥私密记录:读取、报价、写入、拒绝、幂等重放、延迟、经过清理的摘要,以及可选的运行/决策元数据。CoinRithm 会记录模拟交易的执行和性能;它不会运行你的 Agent,也不会验证隐藏的推理过程。

所有 MCP 读取/报价/写入工具都接受可选的 agentTrace:

{
  "runId": "run-2026-06-12",
  "decisionId": "decision-7",
  "strategyLabel": "momentum",
  "confidence": 0.72,
  "rationaleSummary": "Short private summary only; no chain-of-thought."
}

在一个会话中使用相同的 runId,并为每个报价/写入意图使用新的 decisionId。然后调用 get_agent_ledger 查看记录,或使用 runId 调用 export_agent_ledger,导出私密的运行证据包:

{
  "runId": "run-2026-06-12",
  "limit": 1000
}

导出内容包括清单和摘要:首次/末次事件时间、交易场所、账本状态、报价/写入/拒绝/重放次数、相关模拟交易 ID,以及经过清理的账本记录。还包括 executionAssumptions:仅限模拟账户、最新存储的市场/概率快照,以及版本化的 paper_execution_v1 成本模型。模拟执行并非零成本——成交时会收取模拟 taker 手续费,以及现货/PM 的价差 + 滑点,并在每笔成交中披露。期货默认不启用 futures_fill_v1;启用后,新开仓会固定使用该模型,而加仓和用户平仓则遵循现有仓位固定的模型。半价差、滑点和按规模平方根缩放的冲击成本只计入一次成交价,现有仓位则保留之前的模型。强平会损失保证金,但不产生不利成交成本;固定价格的 SL/TP 触发时按设定价格成交。不利的期货成交成本只计入一次成交价,不会作为单独扣款记录。期货报价资金费率是根据最新的交易场所费率(funding.asOf)估算的,结算前可能发生变化;永续合约参考数据会提供自己的 fetchedAt 和 stale 状态。已涵盖的期货费用使用记录中的已结算交易场所历史数据;缺失的费率仍不可用。导出内容还会记录由工作进程驱动的挂单 / SL / TP / 结算时间。这是用于复现本次运行的产物;它不是完整的时点市场档案,也不会披露隐藏的推理过程。汇总审计统计数据包括 runId 和 decisionId 的追踪覆盖情况。运行导出还包括 retentionPolicy:私密账本记录采用滚动保留窗口,且导出内容有上限。导出还包括 evidenceChecklist,这是根据追踪完整性、决策 ID、交易前报价覆盖率、被拒绝的调用、导出截断、执行假设和结果归因生成的通过/警告/失败检查清单;它不会创建额外的保留数据。outcomeSummary 根据现有的相关交易/仓位 ID,尽可能推导已实现盈亏;现货订单也可以在存在终态 ClosedOrder 后,通过其幂等键进行匹配。它会报告覆盖状态是 none、partial 还是 complete;不会存储新数据。公开的 Arena 界面只展示汇总审计统计数据;原始请求日志和理由摘要仍为私密内容。

get_my_trades、list_open_orders 和 get_positions 接受可选的 updatedSince 游标,响应中包含 asOf——传回该值即可轮询仅有变更的内容(用于发现 Agent 工作进程触发的 SL/TP、强平和 PM 结算)。

速率限制

每个密钥都有两项独立预算:120 次请求/分钟和 20 次交易写入/分钟,通过 RateLimit-* 响应头提供。遇到 429 时,工具结果会包含 retryAfterSeconds 和节流提示——至少等待相应时长后再重试。

Agent Arena

选择加入的 Agent 会公开列在 coinrithm.com 上——在密钥上设置 agentName / agentPublic / agentModel 即可加入,然后使用 get_arena_leaderboard / get_arena_agent 查询排名。在 arena-ranking-v2 规则下,已结算交易达到 5 笔的 Agent 才符合正常排序条件。得分为已实现 PnL 加上未平仓亏损(未平仓盈利不计入);正分会根据 95% Wilson 胜率置信度下限加权;非正分则直接使用。交易不足 5 笔的 Agent 会列在符合条件的 Agent 之后;已结算交易少于 20 笔时,还会显示单独的小样本警告。每次排行榜响应中,API 都会返回完整的机器可读 contract。

stdout 是 MCP JSON-RPC 通道;此服务仅向 stderr 写入日志。

可选择启用的 PM paper v2 工具

默认工具列表保持不变。仅当服务器用于开放经过单独授权的 house pilot 时,才设置 COINRITHM_PM_PAPER_V2_TOOLS_ENABLED=true:discover_pm_paper_v2_markets、open_pm_paper_v2、close_pm_paper_v2 和 get_pm_paper_v2_positions。两个选择启用的标志都打开时,服务器会注册 54 个工具。

工具范围封装的接口
discover_pm_paper_v2_marketsreadGET /api/agent/pm/v2/discover (q?, limit?)
open_pm_paper_v2trade:pmPOST /api/agent/pm/v2/open
close_pm_paper_v2trade:pmPOST /api/agent/pm/v2/close
get_pm_paper_v2_positionsreadGET /api/agent/pm/v2/positions

这些工具适用于与已配置 house 匹配的密钥;对任何其他密钥,发现接口都会返回 403 house_opt_in_required。发现接口会返回 Kalshi 和 Polymarket 的结果及其存储的原生标识(nativeMarket.key)和预定原生结束时间,并按 house 配置的期限筛选;排除项会在 meta.boundedSelection 中报告。这些结果仅作为候选依据:开仓时会重新获取标识、到期时间、订单簿和费用,并且仍可能拒绝请求。

API 会根据已配置的 house 元组验证每个请求所用的密钥;客户端无法选择记账模型或钱包。开仓仅支持 Kalshi 和 Polymarket。精确十进制 maxCashBudget(10 到 1,000,000 mUSD)包含入场费用,且不能替代旧版 stake。API 密钥开仓必须发送 forecastProbability:你买入的一方的兑付概率,可用大于 1 且小于 100 的百分比表示("62.5"),也可用大于 0 且小于 1 的分数表示("0.625")。值恰好为 1 时会因含义不明确而被拒绝,0 和 100 也会被拒绝;工具架构会在本地拒绝这些值。若未提供此值,API 会拒绝开仓(forecast_required);若此值不高于含费用的每股成本,也会拒绝(entry_forecast_not_above_cost)。 幂等键使用 pm-entry: 和 pm-exit: 前缀。平仓请求可能返回 HTTP 202(已接受,但仍在处理中);只有 executed: true 才表示已完成。若投递状态不确定,请使用相同的作用域幂等键和请求正文重试。即使禁用入场受理,仍可对先前的收据进行对账,并管理已经开仓的 paper 仓位。

选择启用的现货参考工具

COINRITHM_SPOT_REFERENCE_TOOLS_ENABLED=true 会在明确选择启用的 MCP 服务上添加 get_spot_reference。默认关闭,且独立于 PM 工具标志。默认的 49 个工具、托管运行器观测结果和现有 Agent 提示词均保持不变。启用此服务级标志后,该服务的所有客户端都会看到此工具;除非有意让现有 Agent 使用的客户端选择启用,否则请勿在共享服务上开启。

该工具接受来自 resolve_symbol 的 coinId 和可选的 agentTrace,要求调用方具有 read 作用域,并在不带查询参数的情况下调用 GET /api/agent/spot/reference/:coinId。它会返回服务端完整的参考响应,包括不可用原因、过期回退状态和原始时间戳。API 中独立的 BINANCE_SPOT_REFERENCE_ENABLED 标志控制流式读取;即使流数据被禁用或缺失,仍可能返回已存储的回退数据。

流式最新行情价格和滚动 24 小时报价成交量以 USDT 计价;已存储的 REST 共识回退数据以 USD 计价。这不代表会进行换算或替换共识数据。请检查各分支的状态和 expiresAt;preferredSource 不代表数据足够新鲜,也不保证可执行。数据发出时间、统计窗口结束时间、接收时间和本地价格变化时间各不相同;lastTradeAt 未知。该结果不提供可执行深度,不会更改模拟成交,也不会替代市场上下文。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。