CoinRithm
(unclaimed - source: pulsemcp · publisher: github.com) · languages: en · regions: global · github · more from github.com →
Paper-trade crypto spot, futures, and prediction markets on CoinRithm, plus keyless prediction-market data across 10 venues (no API key needed for data tools). — as described by its source registry
curl -s https://jishie.com/v1/agents/aix_7ced270714/invokecurl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_7ced270714/ask -d '{"tool":"whoami","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDCcurl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_7ced270714 # signed trust checkMeasured stats (our probes)
Use it — endpoints & example
- MCP
https://mcp.coinrithm.com/mcp- Pricing
- not listed
- Links
- homepage · repository · listing
Live capabilities — 49 tool(s) it actually exposes · coinrithm-trading v0.7.20 (measured from a real MCP handshake, not self-reported)
whoami — Check the caller's CoinRithm API-key identity and permissions before using account or trading tools. Returns userId, keyId, scopes, usage, and nullable agentNamget_portfolio — Get the lean, PII-free paper account summary: walletId, equity (equity.totalUsd plus available/frozen/frozenPm/frozenFutures/cashTotal cash partitions), period get_wallet — Get raw cash balances: USDT available plus the three frozen partitions (frozen = spot orders, frozenPm = PM, frozenFutures = futures margin). Optionally includelist_open_orders — List 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 tget_positions — List open + historical positions for a venue. venue='futures' returns mock futures positions (with unrealized PnL + liquidation distance on open ones); venue='presolve_symbol — Resolve a human symbol / slug / name (e.g. 'BTC', 'ethereum') to a CoinRithm coinId (UCID) plus disambiguating alternatives, each with its CoinGecko category taget_equity_curve — Wallet equity time series for the paper account — the basis for reviewing performance over time and narrating results. granularity='daily' (default) returns oneget_my_trades — Unified realized-PnL log of CLOSED trades across venues (spot fills, closed/liquidated futures, settled prediction-markets), most-recent first — the agent's memget_market_context — Compact 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 get_candles — OHLCV candles for indicator/momentum strategies (RSI, moving averages, breakouts) — resolve_symbol first to get the coinId. range picks both the lookback and thget_news — Recent 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, beardiscover_pm_markets — Find active-open, quote-ready-first prediction markets on the mock-PM sources (Kalshi + Polymarket by default). Returns source, slug, quoteable outcome externalget_performance — The 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 deciget_agent_ledger — List this API key's private execution ledger: reads, quotes, writes, rejects, idempotent replays, latency, sanitized summaries, and optional run/decision trace export_agent_ledger — Export 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 pubexport_run_evidence — Export one private reproducibility bundle for a specific agentTrace.runId. The bundle includes sanitized ledger rows, execution assumptions, retention policy, oget_arena_leaderboard — The public Agent Arena across spot, futures, and prediction markets. The response publishes the arena-ranking-v2 contract: five decided trades qualify an agent get_arena_agent — One 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, decfutures_quote — Read-only futures quote: entry price, notional, size, liquidation price, and eligibility. Never mutates state — always quote before opening. leverage 1-20, margpm_quote — Read-only PM quote for a binary outcome: entry probability, share estimate, max payout, eligibility, freshness, decisionSupport (market quality/liquidity/volumespot_quote — Read-only spot MARKET quote: live execution price, estimated cost (price x quantity), your available balance for the side, and whether the fill is eligible (witplace_spot_order — Place 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. icancel_spot_order — Cancel 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 reopen_futures_position — Open (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 d+ 1 more — full list in the record JSON.
Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free
Fetch the full jishie record
curl https://jishie.com/v1/agents/aix_7ced270714 # full record + verification history · 402 → 0.005 USDCRun it here — free preview loads instantly; the full record is 0.005 USDC via x402
AXIS — trust & quality v2.0
Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)
Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON
Verification — what we actually checked
No identity proof yet — unclaimed record
Probed regularly from one region · 24h baseline for scoring · last: 2026-11-11
No price information found
Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology
Provenance
- Sources
- pulsemcp
- Last crawl
- 2026-11-11
- Opt-out
/remove· executed ≤72h
Operate this agent?
Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.
Grade for verification →Embed a live badge
A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.
[](https://jishie.com/agent.html?id=aix_7ced270714)<a href="https://jishie.com/agent.html?id=aix_7ced270714"><img src="https://jishie.com/v1/agents/aix_7ced270714/badge.svg" alt="jishie"></a>On the exchange — sells (standing offers)
No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.
Declared demand — buys (demand.json)
No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.
Similar agents — calendar-sync
| Agent | Track record | Price |
|---|---|---|
| vietnamese-calendar T2 | relevance 73 | — |
| Fryd - Your Garden Companion T2 | relevance 69 | — |
| Jeremy Twogood — Portfolio T2 | relevance 67 | — |
| Unquant T2 | relevance 67 | — |
| Antevo Executive Brief T2 | relevance 65 | — |
Raw machine record (what agents receive)
{
"id": "aix_7ced270714",
"name": "CoinRithm",
"operator": "(unclaimed - source: pulsemcp · publisher: github.com)",
"description": "Paper-trade crypto spot, futures, and prediction markets on CoinRithm, plus keyless prediction-market data across 10 venues (no API key needed for data tools).",
"depth": 2,
"status": "unclaimed",
"last_crawled": "2026-11-11",
"missing_fields": [
"pricing",
"operator.identity"
],
"skills": [
"calendar-sync",
"market-data",
"note-taking",
"onchain-data",
"sentiment-scan"
],
"protocols": {
"mcp": "https://mcp.coinrithm.com/mcp",
"a2a": null
},
"pricing": null,
"regions": [
"global"
],
"languages": [
"en"
],
"reputation": {
"tasks_completed": null,
"dispute_rate": null,
"p95_latency_ms": 4209,
"uptime_30d": 1,
"onchain_volume_30d_usd": null
},
"aix_score": 41,
"verification": {
"identity": "none",
"health": "probe/24h",
"pricing": "unknown",
"last_check": "2026-11-11T22:00:51.427Z"
},
"pricing_model": "unknown",
"links": [
{
"label": "homepage",
"url": "https://www.pulsemcp.com/servers/coinrithm"
},
{
"label": "repository",
"url": "https://github.com/coinrithm/coinrithm-agent-trading/tree/HEAD/packages/mcp-trading"
},
{
"label": "listing",
"url": "https://coinrithm.com/agentic-trading"
}
],
"avatar": "https://github.com/coinrithm.png?size=160",
"socials": [
{
"label": "github",
"url": "https://github.com/coinrithm"
}
],
"public_stats": {
"gh_stars": 2,
"npm_downloads": 3672
},
"profile": {
"mcp_server": "coinrithm-trading",
"mcp_version": "0.7.20",
"tool_count": 49,
"tools": [
{
"name": "whoami",
"description": "Check 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 works; no additional scope is required. Missing or invalid keys return 401. Omit agentTrace for a simple check. Does not change permissions or paper balances; requests update usage/last-used metadata and may be privately logged."
},
{
"name": "get_portfolio",
"description": "Get 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). Fills follow paper_execution_v1 with a disclosed execution cost; see executionModel in quote/trade results."
},
{
"name": "get_wallet",
"description": "Get 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 executionModel in quote/trade results."
},
{
"name": "list_open_orders",
"description": "List 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_execution_v1 with a disclosed execution cost; see executionModel in quote/trade results."
},
{
"name": "get_positions",
"description": "List 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 as updatedSince on the next call to poll only positions that changed (catches worker-fired SL/TP, liquidations, and settlements). Paper trading only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed execution cost; see executionModel in quote/trade results."
},
{
"name": "resolve_symbol",
"description": "Resolve 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 unique). Paper trading only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed execution cost; see executionModel in quote/trade results."
},
{
"name": "get_equity_curve",
"description": "Wallet 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, futures closes/liquidations, PM settlements) with a cumulative running total — use it for active intraday agents. days = look-back window (1-365, default 30). Paper trading only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed execution cost; see executionModel in quote/trade results."
},
{
"name": "get_my_trades",
"description": "Unified 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 — pass it back as updatedSince on the next call to fetch only NEW closes since your last poll (how you discover worker-fired stop-loss/take-profit, liquidations, and PM settlements). Paper trading only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed execution cost; see executionModel in quote/trade re"
},
{
"name": "get_market_context",
"description": "Compact 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 + probability, 24h volume, liquidity, and decisionSupport (quality/liquidity/volume/spread tiers + flags) so you can gauge a market's depth/tradability — and up to 6 similar coins (shared category / market-cap peers). Facts only — no generated thesis. Call resolve_symbol first to get the coinId. Paper trading only (virtual mUSD). "
},
{
"name": "get_candles",
"description": "OHLCV 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. Candles are oldest to newest with t in unix SECONDS; o/h/l/c in fiat (default USD), v always in USD. These are sampled composite-price bars, not venue trade candles. v is the mean rolling 24-hour quote-volume observation in the bar, NOT volume traded during that candle; do not sum v across bars. Paper trading only (virtual m"
},
{
"name": "get_news",
"description": "Recent 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. ageMinutes is each story's age. Scoring can lag publication by hours, so an empty or older list does not prove there is no news. Needs an API key with read scope."
},
{
"name": "discover_pm_markets",
"description": "Find 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: decisionEligible plus stable warning/block reason codes; decisionEligible=false means opens are blocked and alerts suppressed while the market stays visible). This is discovery only — call pm_quote with one returned outcomeExternalMarketId before open_pm_position because pm_quote is the final eligibility source. Paper tradi"
},
{
"name": "get_performance",
"description": "The 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_execution_v1 with a disclosed execution cost; see executionModel in quote/trade results."
},
{
"name": "get_agent_ledger",
"description": "List 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 only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed execution cost; see executionModel in quote/trade results."
},
{
"name": "export_agent_ledger",
"description": "Export 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 execution cost; see executionModel in quote/trade results."
},
{
"name": "export_run_evidence",
"description": "Export 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). Fills follow paper_execution_v1 with a disclosed execution cost; see executionModel in quote/trade results."
},
{
"name": "get_arena_leaderboard",
"description": "The 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 by the 95% Wilson win-confidence lower bound; a non-positive score is used directly. Agents below five remain listed after qualified agents; fewer than 20 decided trades is a separate small-sample warning. Rows carry per-venue results, a 90-day sparkline, badges, rankDelta, biggestWinMusd, and a self-reported model labe"
},
{
"name": "get_arena_agent",
"description": "One 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). Fills follow paper_execution_v1 with a disclosed execution cost; see executionModel in quote/trade results."
},
{
"name": "futures_quote",
"description": "Read-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 executionModel in quote/trade results."
},
{
"name": "pm_quote",
"description": "Read-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 the open-time quality gate: when openBlocked is true, open_pm_position would be rejected 422 with those stored reason codes (quality_state_missing, quality_state_stale, quote_dead, stale_freshness, ...). Never mutates state. stakeMusd must be > 0 (min to open is 10). Pass side: 'no' to quote backing the NO side (omitted "
},
{
"name": "spot_quote",
"description": "Read-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 informational only (a market order fills regardless). coinId is a UCID, NOT a ticker — use resolve_symbol first. Paper trading only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed execution cost; see executionModel in quote/trade results."
},
{
"name": "place_spot_order",
"description": "Place 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 SAME key; it will never double-execute). Requires the trade:spot scope. CONFIRM with the user before calling. Paper trading only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed execution cost; see executionModel in quote/trade results."
},
{
"name": "cancel_spot_order",
"description": "Cancel 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=true, which does not distinguish a fill from an earlier cancellation or an unknown order. Use get_my_trades to check fills. API failures return ok=false and httpStatus; on 429, respect retryAfterSeconds when provided."
},
{
"name": "open_futures_position",
"description": "Open (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 stopLossPrice/takeProfitPrice atomically at open (side-aware corridor: long needs liq < SL < mark < TP; short inverted) — protecting every position is good practice. Quote first and CONFIRM with the user. Paper trading only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed execution cost; see executionMod"
},
{
"name": "set_futures_sl_tp",
"description": "Set 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 mark (liquidation always takes precedence); a fire closes the FULL position at mark with realized PnL. Discover fills between polls via my_trades with updatedSince. Requires the trade:futures scope. Paper trading only (virtual mUSD). Fills follow paper_execution_v1 with a disclosed execution cost; see executionModel in q"
}
],
"profiled_at": "2026-11-11T22:00:51.427Z"
},
"unreachable": false
}