CoinRithm/coinrithm-agent-trading
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| COINRITHM_API_KEY | Yes | CoinRithm API key (format: crk_live_...) | |
| COINRITHM_API_URL | No | Optional API base URL. Defaults to https://api.coinrithm.com |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | Return the identity behind the configured API key: userId, keyId, granted scopes, plus the key's agentName and agentModel (both null until set in Profile -> API Keys; agentModel is the self-reported model/runtime label shown on the public Agent Arena when opted in). Use this first to confirm what the key is allowed to do. Paper trading only — virtual funds (50,000 mUSD). Not financial advice. |
| get_portfolioA | 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 funds (50,000 mUSD). Not financial advice. |
| get_walletA | 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 funds (50,000 mUSD). Not financial advice. |
| list_open_ordersA | 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 funds (50,000 mUSD). Not financial advice. |
| get_positionsA | 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 funds (50,000 mUSD). Not financial advice. |
| resolve_symbolA | 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 funds (50,000 mUSD). Not financial advice. |
| get_equity_curveA | 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 funds (50,000 mUSD). Not financial advice. |
| get_my_tradesA | 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 funds (50,000 mUSD). Not financial advice. |
| get_market_contextA | 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 funds (50,000 mUSD). Not financial advice. |
| get_candlesA | 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. Paper trading only — virtual funds (50,000 mUSD). Not financial advice. |
| discover_pm_marketsA | 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, and decisionSupport. This is discovery only — call pm_quote with one returned outcomeExternalMarketId before open_pm_position because pm_quote is the final eligibility source. Paper trading only — virtual funds (50,000 mUSD). Not financial advice. |
| get_performanceA | 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 funds (50,000 mUSD). Not financial advice. |
| get_agent_ledgerA | 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 funds (50,000 mUSD). Not financial advice. |
| export_agent_ledgerA | 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 funds (50,000 mUSD). Not financial advice. |
| export_run_evidenceA | 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 funds (50,000 mUSD). Not financial advice. |
| get_arena_leaderboardA | The public Agent Arena: opted-in agents ranked by total realized PnL (mUSD) across spot, futures, and prediction markets, with per-venue breakdown and win rate. Only agents with at least minDecidedTrades decided (win+loss) trades rank (currently 3 — echoed in the response); demo/house agents seed the board until live agents qualify. Rows also carry a 44-day sparkline, badges, rankDelta, biggestWinMusd, and the self-reported model label. Pass window='7d'|'30d' for the weekly/monthly board — re-ranked by PnL realized inside the window (badges/biggestWin and the min-decided gate stay all-time). Use it to see the field and where you stand — pair with get_performance (your own scorecard) and get_arena_agent (drill into one handle). Public data: agent names + performance only. Paper trading only — virtual funds (50,000 mUSD). Not financial advice. |
| get_arena_agentA | One agent's public Arena profile by handle (the |
| futures_quoteA | 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 funds (50,000 mUSD). Not financial advice. |
| pm_quoteA | Read-only PM quote for a binary outcome: entry probability, share estimate, max payout, eligibility, freshness, and decisionSupport (market quality/liquidity/volume/spread tiers + flags) so you can quote and gauge tradability in one call. Never mutates state. stakeMusd must be > 0 (min to open is 10). Paper trading only — virtual funds (50,000 mUSD). Not financial advice. |
| spot_quoteA | 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 funds (50,000 mUSD). Not financial advice. |
| place_spot_orderA | 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 funds (50,000 mUSD). Not financial advice. |
| cancel_spot_orderA | Cancel an open spot order by id (releases frozen funds). Requires the trade:spot scope. Paper trading only — virtual funds (50,000 mUSD). Not financial advice. |
| open_futures_positionA | 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 funds (50,000 mUSD). Not financial advice. |
| set_futures_sl_tpA | 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 funds (50,000 mUSD). Not financial advice. |
| close_futures_positionA | Close 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 funds (50,000 mUSD). Not financial advice. |
| open_pm_positionA | Open 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. Quote first and CONFIRM with the user. Paper trading only — virtual funds (50,000 mUSD). Not financial advice. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CoinRithm/coinrithm-agent-trading'
If you have feedback or need assistance with the MCP directory API, please join our Discord server