{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_8qyka57a3bg3","handle":"arena-mcp-server","url":"https://wellknown.network/agents/arena-mcp-server","links":{"self":"https://wellknown.network/agents/arena-mcp-server/record.json","html":"https://wellknown.network/agents/arena-mcp-server","markdown":"https://wellknown.network/agents/arena-mcp-server/record.md","api":"https://wellknown.network/api/v1/agents/arena-mcp-server","status":"https://wellknown.network/api/v1/agents/arena-mcp-server/status","claim":"https://wellknown.network/agents/arena-mcp-server/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/arena-mcp-server/claim.json","badge":"https://wellknown.network/agents/arena-mcp-server/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/arena-mcp-server/history","tools":"https://wellknown.network/api/v1/agents/arena-mcp-server/tools"},"ard":{"identifier":"urn:air:arena-predictions.com:server:arena-mcp-server","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Arena Predictions","summary":"Paper trade prediction markets at live prices from your AI agent, and score every trade.","description":"Paper trade prediction markets at live prices from your AI agent, and score every trade.","publisher":{"name":"com.arena-predictions","url":null},"homepage":"https://arena-predictions.com/docs/mcp","repository":null,"version":"0.6.0","license":"MIT","protocols":["mcp"],"tags":["prediction-markets","paper-trading","trading-bot","kalshi","sports","mcp","model-context-protocol","agent","cli","mcp-server","ai-agents","claude","cursor","arena"],"pricing":null,"endpoints":[{"url":"https://arena-predictions.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:arena-mcp-server","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-11T01:40:49.378167Z","npmKeywords":["prediction-markets","paper-trading","trading-bot","kalshi","sports","mcp","model-context-protocol","agent","cli","mcp-server","ai-agents","claude","cursor","arena"],"publishedAt":"2026-10-11T01:40:49.378167Z","registryName":"com.arena-predictions/arena"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","repoUrl":"npm","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"finance.markets","name":"Markets & Trading","confidence":1,"provenance":"derived"},{"slug":"documents.contracts","name":"Contracts & Legal","confidence":0.525,"provenance":"derived"}],"categories":["documents","finance"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 42m ago.","lastOkAt":"2026-10-22T00:33:01.114Z","lastProbedAt":"2026-10-22T00:33:01.114Z","statusComputedAt":"2026-10-22T00:35:37.268Z","reliability30d":{"probes":37,"successRate":1,"p50Ms":309,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":37,"ok":37,"authBoundaryOk":0,"serviceOk":37,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-22T00:33:01.114Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":320,"error":null,"detail":{"tools":[{"name":"get_leaderboard","description":"Public leaderboards in paper dollars: window 30d (default) or 90d ranks profit on trades closed in it (5 or more); all ranks profit since Sep 1, 2026 (20 or mor"},{"name":"get_trader","description":"One trader's public record by user id or name. Accounts are private by default: a private one answers private: true, trader_id null. A public one: standing, lif"},{"name":"get_eval_board","description":"The public eval board: people and AI models scored on settled public picks, ranked inside rank_basis, never by profit, with the market's own scores and 95% inte"},{"name":"get_privacy","description":"Whether the account is private (the default) or public, how many trades are hidden, and whether others see its balance and rank. Only the person makes it public"},{"name":"set_privacy","description":"Make the account private: others stop seeing its trades and record. Only call this when the person asked for it in this conversation. It cannot make an account "},{"name":"get_positions","description":"Open positions with stake, instrument_id, bet, payout_if_win_dollars, loss_if_lose_dollars and web_url, plus balance and net worth; start here. live=true (defau"},{"name":"get_balance","description":"The account in paper dollars, carried over; balance_dollars is what is spendable. season_start_dollars is DEPRECATED (start_balance_dollars). web_url is the per"},{"name":"get_history","description":"Settled and sold trades, newest first, with realized P&L, instrument_id and a win/loss/void tally; scope with window, since, until or run. A reset write-off is "},{"name":"get_my_stats","description":"Grades your closed trades: win rate against prices paid, calibration by price band, closing-line value, return on stake, max drawdown and your stated probabilit"},{"name":"list_markets","description":"Browse open markets by league, sport or event: compact quote rows with a spread. They go stale: get_market before trading."},{"name":"search_markets","description":"Substring search over market and event titles and tickers, one word at a time ('CPI', 'Kansas City': game winners are titled by city). list_markets with event_t"},{"name":"resolve_market","description":"A bet in words to Arena instrument ids and the Kalshi ticker and side to buy: 'chiefs ml', 'mia +3.5', 'kc mia under 44.5 sunday'. Full-game lines on half point"},{"name":"get_instrument","description":"One instrument by id (ins_...) or slug: what YES means, the tie rule, its game, and which side of which Kalshi ticker holds its YES and NO. No sign-in."},{"name":"get_game","description":"One game (game_ id, slug or words) with every instrument, moneylines first: instrument_id, ticker, yes_pct (Kalshi's chance; signed out, the moneylines only) an"},{"name":"list_games","description":"A day's games in every league, grouped by league, with each moneyline's chance (Kalshi, percent): today (New York) or the date given; an empty day names next_da"},{"name":"get_market","description":"Live quote for one market (ticker, ins_ id, slug or a bet in words): each side's bid and ask in cents ($1 contracts), yes_pct, no_pct, spread, status, close, ga"},{"name":"get_orderbook","description":"Depth as [price_cents, quantity] bid pairs per side plus best bid and ask; contracts adds walk, that size's cost through the book. Paper fills take the whole si"},{"name":"get_price_history","description":"One market's recent path in cents (the YES chance in percent): current_cents, open_cents, high_cents, low_cents, change_cents, rv_cents, volume and a sparkline."},{"name":"screen_markets","description":"Screen open markets by league, group, volume, price, spread, time to close and 24-hour move; rows carry spread_cents and move_cents. get_market before trading."},{"name":"list_perps","description":"Active Kalshi perpetual tickers and their live settlement marks, in dollars, from GET /perps/markets. status is active (default), inactive, closed or all."},{"name":"get_perp_mark","description":"The live settlement mark for one Kalshi perpetual ticker, in dollars. Tickers come from list_perps."},{"name":"get_perp_history","description":"Recent stored snapshots for one Kalshi perpetual, newest first, in dollars. limit defaults to 20, max 50. since and until bound the window. source is all, live "},{"name":"get_cross_venue_quotes","description":"One instrument's YES price on each venue Arena shows, always as Kalshi, Novig, Polymarket, ProphetX, not ranked by price: 0-1 chances (yes_pct in percent) with "},{"name":"find_price_gaps","description":"Price gaps across Kalshi, Novig, Polymarket and ProphetX after taker fees: the list without ref (arbitrage first), all pairs with ref. A pair buys YES on one ve"},{"name":"get_orders","description":"Your limit orders with instrument_id; default status=resting (live, holding money, able to fill): check it before placing on the same market. cancel_reason says"},{"name":"get_track_record","description":"A trader's Ed25519-signed record over the last 90 days (arena.track_record), by user id or name. verify=true checks it against the key Arena publishes on its we"},{"name":"place_trade","description":"Buy YES or NO contracts. Required: contracts or stake_dollars; exactly one pair, ticker + side or instrument_id + instrument_side; and, to place (not with dry_r"},{"name":"sell_trade","description":"Exit an open position at the bid (current_bid_cents), or rest a limit exit that holds no money. No bid: a market sell cannot. A closed trade answers its termina"},{"name":"cancel_order","description":"Withdraw a resting limit. A buy returns its hold; a sell leaves the position. Already filled or closed answers reduced_by=0. confirm=true. live cancels Kalshi; "},{"name":"settle_open","description":"Settle your positions whose markets have resolved and report what changed; a backstop to the 5-minute settlement cron, safe at session start. Idempotent. Requir"}],"toolCount":30,"toolsHash":"fa0f452bda027b5712d31c696e8392d5771cc5d1afd403732191a808d9d9aeb2","serverName":"arena-predictions","capabilities":["tools","resources","prompts"],"serverVersion":"0.6.0-hosted.20261007.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T17:34:20.988Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":385,"error":null,"detail":{"tools":[{"name":"get_leaderboard","description":"Public leaderboards in paper dollars: window 30d (default) or 90d ranks profit on trades closed in it (5 or more); all ranks profit since Sep 1, 2026 (20 or mor"},{"name":"get_trader","description":"One trader's public record by user id or name. Accounts are private by default: a private one answers private: true, trader_id null. A public one: standing, lif"},{"name":"get_eval_board","description":"The public eval board: people and AI models scored on settled public picks, ranked inside rank_basis, never by profit, with the market's own scores and 95% inte"},{"name":"get_privacy","description":"Whether the account is private (the default) or public, how many trades are hidden, and whether others see its balance and rank. Only the person makes it public"},{"name":"set_privacy","description":"Make the account private: others stop seeing its trades and record. Only call this when the person asked for it in this conversation. It cannot make an account "},{"name":"get_positions","description":"Open positions with stake, instrument_id, bet, payout_if_win_dollars, loss_if_lose_dollars and web_url, plus balance and net worth; start here. live=true (defau"},{"name":"get_balance","description":"The account in paper dollars, carried over; balance_dollars is what is spendable. season_start_dollars is DEPRECATED (start_balance_dollars). web_url is the per"},{"name":"get_history","description":"Settled and sold trades, newest first, with realized P&L, instrument_id and a win/loss/void tally; scope with window, since, until or run. A reset write-off is "},{"name":"get_my_stats","description":"Grades your closed trades: win rate against prices paid, calibration by price band, closing-line value, return on stake, max drawdown and your stated probabilit"},{"name":"list_markets","description":"Browse open markets by league, sport or event: compact quote rows with a spread. They go stale: get_market before trading."},{"name":"search_markets","description":"Substring search over market and event titles and tickers, one word at a time ('CPI', 'Kansas City': game winners are titled by city). list_markets with event_t"},{"name":"resolve_market","description":"A bet in words to Arena instrument ids and the Kalshi ticker and side to buy: 'chiefs ml', 'mia +3.5', 'kc mia under 44.5 sunday'. Full-game lines on half point"},{"name":"get_instrument","description":"One instrument by id (ins_...) or slug: what YES means, the tie rule, its game, and which side of which Kalshi ticker holds its YES and NO. No sign-in."},{"name":"get_game","description":"One game (game_ id, slug or words) with every instrument, moneylines first: instrument_id, ticker, yes_pct (Kalshi's chance; signed out, the moneylines only) an"},{"name":"list_games","description":"A day's games in every league, grouped by league, with each moneyline's chance (Kalshi, percent): today (New York) or the date given; an empty day names next_da"},{"name":"get_market","description":"Live quote for one market (ticker, ins_ id, slug or a bet in words): each side's bid and ask in cents ($1 contracts), yes_pct, no_pct, spread, status, close, ga"},{"name":"get_orderbook","description":"Depth as [price_cents, quantity] bid pairs per side plus best bid and ask; contracts adds walk, that size's cost through the book. Paper fills take the whole si"},{"name":"get_price_history","description":"One market's recent path in cents (the YES chance in percent): current_cents, open_cents, high_cents, low_cents, change_cents, rv_cents, volume and a sparkline."},{"name":"screen_markets","description":"Screen open markets by league, group, volume, price, spread, time to close and 24-hour move; rows carry spread_cents and move_cents. get_market before trading."},{"name":"list_perps","description":"Active Kalshi perpetual tickers and their live settlement marks, in dollars, from GET /perps/markets. status is active (default), inactive, closed or all."},{"name":"get_perp_mark","description":"The live settlement mark for one Kalshi perpetual ticker, in dollars. Tickers come from list_perps."},{"name":"get_perp_history","description":"Recent stored snapshots for one Kalshi perpetual, newest first, in dollars. limit defaults to 20, max 50. since and until bound the window. source is all, live "},{"name":"get_cross_venue_quotes","description":"One instrument's YES price on each venue Arena shows, always as Kalshi, Novig, Polymarket, ProphetX, not ranked by price: 0-1 chances (yes_pct in percent) with "},{"name":"find_price_gaps","description":"Price gaps across Kalshi, Novig, Polymarket and ProphetX after taker fees: the list without ref (arbitrage first), all pairs with ref. A pair buys YES on one ve"},{"name":"get_orders","description":"Your limit orders with instrument_id; default status=resting (live, holding money, able to fill): check it before placing on the same market. cancel_reason says"},{"name":"get_track_record","description":"A trader's Ed25519-signed record over the last 90 days (arena.track_record), by user id or name. verify=true checks it against the key Arena publishes on its we"},{"name":"place_trade","description":"Buy YES or NO contracts. Required: contracts or stake_dollars; exactly one pair, ticker + side or instrument_id + instrument_side; and, to place (not with dry_r"},{"name":"sell_trade","description":"Exit an open position at the bid (current_bid_cents), or rest a limit exit that holds no money. No bid: a market sell cannot. A closed trade answers its termina"},{"name":"cancel_order","description":"Withdraw a resting limit. A buy returns its hold; a sell leaves the position. Already filled or closed answers reduced_by=0. confirm=true. live cancels Kalshi; "},{"name":"settle_open","description":"Settle your positions whose markets have resolved and report what changed; a backstop to the 5-minute settlement cron, safe at session start. Idempotent. Requir"}],"toolCount":30,"toolsHash":"fa0f452bda027b5712d31c696e8392d5771cc5d1afd403732191a808d9d9aeb2","serverName":"arena-predictions","capabilities":["tools","resources","prompts"],"serverVersion":"0.6.0-hosted.20261007.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T06:26:31.410Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":330,"error":null,"detail":{"tools":[{"name":"get_leaderboard","description":"Public leaderboards in paper dollars: window 30d (default) or 90d ranks profit on trades closed in it (5 or more); all ranks profit since Sep 1, 2026 (20 or mor"},{"name":"get_trader","description":"One trader's public record by user id or name. Accounts are private by default: a private one answers private: true, trader_id null. A public one: standing, lif"},{"name":"get_eval_board","description":"The public eval board: people and AI models scored on settled public picks, ranked inside rank_basis, never by profit, with the market's own scores and 95% inte"},{"name":"get_privacy","description":"Whether the account is private (the default) or public, how many trades are hidden, and whether others see its balance and rank. Only the person makes it public"},{"name":"set_privacy","description":"Make the account private: others stop seeing its trades and record. Only call this when the person asked for it in this conversation. It cannot make an account "},{"name":"get_positions","description":"Open positions with stake, instrument_id, bet, payout_if_win_dollars, loss_if_lose_dollars and web_url, plus balance and net worth; start here. live=true (defau"},{"name":"get_balance","description":"The account in paper dollars, carried over; balance_dollars is what is spendable. season_start_dollars is DEPRECATED (start_balance_dollars). web_url is the per"},{"name":"get_history","description":"Settled and sold trades, newest first, with realized P&L, instrument_id and a win/loss/void tally; scope with window, since, until or run. A reset write-off is "},{"name":"get_my_stats","description":"Grades your closed trades: win rate against prices paid, calibration by price band, closing-line value, return on stake, max drawdown and your stated probabilit"},{"name":"list_markets","description":"Browse open markets by league, sport or event: compact quote rows with a spread. They go stale: get_market before trading."},{"name":"search_markets","description":"Substring search over market and event titles and tickers, one word at a time ('CPI', 'Kansas City': game winners are titled by city). list_markets with event_t"},{"name":"resolve_market","description":"A bet in words to Arena instrument ids and the Kalshi ticker and side to buy: 'chiefs ml', 'mia +3.5', 'kc mia under 44.5 sunday'. Full-game lines on half point"},{"name":"get_instrument","description":"One instrument by id (ins_...) or slug: what YES means, the tie rule, its game, and which side of which Kalshi ticker holds its YES and NO. No sign-in."},{"name":"get_game","description":"One game (game_ id, slug or words) with every instrument, moneylines first: instrument_id, ticker, yes_pct (Kalshi's chance; signed out, the moneylines only) an"},{"name":"list_games","description":"A day's games in every league, grouped by league, with each moneyline's chance (Kalshi, percent): today (New York) or the date given; an empty day names next_da"},{"name":"get_market","description":"Live quote for one market (ticker, ins_ id, slug or a bet in words): each side's bid and ask in cents ($1 contracts), yes_pct, no_pct, spread, status, close, ga"},{"name":"get_orderbook","description":"Depth as [price_cents, quantity] bid pairs per side plus best bid and ask; contracts adds walk, that size's cost through the book. Paper fills take the whole si"},{"name":"get_price_history","description":"One market's recent path in cents (the YES chance in percent): current_cents, open_cents, high_cents, low_cents, change_cents, rv_cents, volume and a sparkline."},{"name":"screen_markets","description":"Screen open markets by league, group, volume, price, spread, time to close and 24-hour move; rows carry spread_cents and move_cents. get_market before trading."},{"name":"list_perps","description":"Active Kalshi perpetual tickers and their live settlement marks, in dollars, from GET /perps/markets. status is active (default), inactive, closed or all."},{"name":"get_perp_mark","description":"The live settlement mark for one Kalshi perpetual ticker, in dollars. Tickers come from list_perps."},{"name":"get_perp_history","description":"Recent stored snapshots for one Kalshi perpetual, newest first, in dollars. limit defaults to 20, max 50. since and until bound the window. source is all, live "},{"name":"get_cross_venue_quotes","description":"One instrument's YES price on each venue Arena shows, always as Kalshi, Novig, Polymarket, ProphetX, not ranked by price: 0-1 chances (yes_pct in percent) with "},{"name":"find_price_gaps","description":"Price gaps across Kalshi, Novig, Polymarket and ProphetX after taker fees: the list without ref (arbitrage first), all pairs with ref. A pair buys YES on one ve"},{"name":"get_orders","description":"Your limit orders with instrument_id; default status=resting (live, holding money, able to fill): check it before placing on the same market. cancel_reason says"},{"name":"get_track_record","description":"A trader's Ed25519-signed record over the last 90 days (arena.track_record), by user id or name. verify=true checks it against the key Arena publishes on its we"},{"name":"place_trade","description":"Buy YES or NO contracts. Required: contracts or stake_dollars; exactly one pair, ticker + side or instrument_id + instrument_side; and, to place (not with dry_r"},{"name":"sell_trade","description":"Exit an open position at the bid (current_bid_cents), or rest a limit exit that holds no money. No bid: a market sell cannot. A closed trade answers its termina"},{"name":"cancel_order","description":"Withdraw a resting limit. A buy returns its hold; a sell leaves the position. Already filled or closed answers reduced_by=0. confirm=true. live cancels Kalshi; "},{"name":"settle_open","description":"Settle your positions whose markets have resolved and report what changed; a backstop to the 5-minute settlement cron, safe at session start. Idempotent. Requir"}],"toolCount":30,"toolsHash":"fa0f452bda027b5712d31c696e8392d5771cc5d1afd403732191a808d9d9aeb2","serverName":"arena-predictions","capabilities":["tools","resources","prompts"],"serverVersion":"0.6.0-hosted.20261007.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T00:30:10.126Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":259,"error":null,"detail":{"tools":[{"name":"get_leaderboard","description":"Public leaderboards in paper dollars: window 30d (default) or 90d ranks profit on trades closed in it (5 or more); all ranks profit since Sep 1, 2026 (20 or mor"},{"name":"get_trader","description":"One trader's public record by user id or name. Accounts are private by default: a private one answers private: true, trader_id null. A public one: standing, lif"},{"name":"get_eval_board","description":"The public eval board: people and AI models scored on settled public picks, ranked inside rank_basis, never by profit, with the market's own scores and 95% inte"},{"name":"get_privacy","description":"Whether the account is private (the default) or public, how many trades are hidden, and whether others see its balance and rank. Only the person makes it public"},{"name":"set_privacy","description":"Make the account private: others stop seeing its trades and record. Only call this when the person asked for it in this conversation. It cannot make an account "},{"name":"get_positions","description":"Open positions with stake, instrument_id, bet, payout_if_win_dollars, loss_if_lose_dollars and web_url, plus balance and net worth; start here. live=true (defau"},{"name":"get_balance","description":"The account in paper dollars, carried over; balance_dollars is what is spendable. season_start_dollars is DEPRECATED (start_balance_dollars). web_url is the per"},{"name":"get_history","description":"Settled and sold trades, newest first, with realized P&L, instrument_id and a win/loss/void tally; scope with window, since, until or run. A reset write-off is "},{"name":"get_my_stats","description":"Grades your closed trades: win rate against prices paid, calibration by price band, closing-line value, return on stake, max drawdown and your stated probabilit"},{"name":"list_markets","description":"Browse open markets by league, sport or event: compact quote rows with a spread. They go stale: get_market before trading."},{"name":"search_markets","description":"Substring search over market and event titles and tickers, one word at a time ('CPI', 'Kansas City': game winners are titled by city). list_markets with event_t"},{"name":"resolve_market","description":"A bet in words to Arena instrument ids and the Kalshi ticker and side to buy: 'chiefs ml', 'mia +3.5', 'kc mia under 44.5 sunday'. Full-game lines on half point"},{"name":"get_instrument","description":"One instrument by id (ins_...) or slug: what YES means, the tie rule, its game, and which side of which Kalshi ticker holds its YES and NO. No sign-in."},{"name":"get_game","description":"One game (game_ id, slug or words) with every instrument, moneylines first: instrument_id, ticker, yes_pct (Kalshi's chance; signed out, the moneylines only) an"},{"name":"list_games","description":"A day's games in every league, grouped by league, with each moneyline's chance (Kalshi, percent): today (New York) or the date given; an empty day names next_da"},{"name":"get_market","description":"Live quote for one market (ticker, ins_ id, slug or a bet in words): each side's bid and ask in cents ($1 contracts), yes_pct, no_pct, spread, status, close, ga"},{"name":"get_orderbook","description":"Depth as [price_cents, quantity] bid pairs per side plus best bid and ask; contracts adds walk, that size's cost through the book. Paper fills take the whole si"},{"name":"get_price_history","description":"One market's recent path in cents (the YES chance in percent): current_cents, open_cents, high_cents, low_cents, change_cents, rv_cents, volume and a sparkline."},{"name":"screen_markets","description":"Screen open markets by league, group, volume, price, spread, time to close and 24-hour move; rows carry spread_cents and move_cents. get_market before trading."},{"name":"list_perps","description":"Active Kalshi perpetual tickers and their live settlement marks, in dollars, from GET /perps/markets. status is active (default), inactive, closed or all."},{"name":"get_perp_mark","description":"The live settlement mark for one Kalshi perpetual ticker, in dollars. Tickers come from list_perps."},{"name":"get_perp_history","description":"Recent stored snapshots for one Kalshi perpetual, newest first, in dollars. limit defaults to 20, max 50. since and until bound the window. source is all, live "},{"name":"get_cross_venue_quotes","description":"One instrument's YES price on each venue Arena shows, always as Kalshi, Novig, Polymarket, ProphetX, not ranked by price: 0-1 chances (yes_pct in percent) with "},{"name":"find_price_gaps","description":"Price gaps across Kalshi, Novig, Polymarket and ProphetX after taker fees: the list without ref (arbitrage first), all pairs with ref. A pair buys YES on one ve"},{"name":"get_orders","description":"Your limit orders with instrument_id; default status=resting (live, holding money, able to fill): check it before placing on the same market. cancel_reason says"},{"name":"get_track_record","description":"A trader's Ed25519-signed record over the last 90 days (arena.track_record), by user id or name. verify=true checks it against the key Arena publishes on its we"},{"name":"place_trade","description":"Buy YES or NO contracts. Required: contracts or stake_dollars; exactly one pair, ticker + side or instrument_id + instrument_side; and, to place (not with dry_r"},{"name":"sell_trade","description":"Exit an open position at the bid (current_bid_cents), or rest a limit exit that holds no money. No bid: a market sell cannot. A closed trade answers its termina"},{"name":"cancel_order","description":"Withdraw a resting limit. A buy returns its hold; a sell leaves the position. Already filled or closed answers reduced_by=0. confirm=true. live cancels Kalshi; "},{"name":"settle_open","description":"Settle your positions whose markets have resolved and report what changed; a backstop to the 5-minute settlement cron, safe at session start. Idempotent. Requir"}],"toolCount":30,"toolsHash":"fa0f452bda027b5712d31c696e8392d5771cc5d1afd403732191a808d9d9aeb2","serverName":"arena-predictions","capabilities":["tools","resources","prompts"],"serverVersion":"0.6.0-hosted.20261007.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T18:28:50.986Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":237,"error":null,"detail":{"tools":[{"name":"get_leaderboard","description":"Public leaderboards in paper dollars: window 30d (default) or 90d ranks profit on trades closed in it (5 or more); all ranks profit since Sep 1, 2026 (20 or mor"},{"name":"get_trader","description":"One trader's public record by user id or name. Accounts are private by default: a private one answers private: true, trader_id null. A public one: standing, lif"},{"name":"get_eval_board","description":"The public eval board: people and AI models scored on settled public picks, ranked inside rank_basis, never by profit, with the market's own scores and 95% inte"},{"name":"get_privacy","description":"Whether the account is private (the default) or public, how many trades are hidden, and whether others see its balance and rank. Only the person makes it public"},{"name":"set_privacy","description":"Make the account private: others stop seeing its trades and record. Only call this when the person asked for it in this conversation. It cannot make an account "},{"name":"get_positions","description":"Open positions with stake, instrument_id, bet, payout_if_win_dollars, loss_if_lose_dollars and web_url, plus balance and net worth; start here. live=true (defau"},{"name":"get_balance","description":"The account in paper dollars, carried over; balance_dollars is what is spendable. season_start_dollars is DEPRECATED (start_balance_dollars). web_url is the per"},{"name":"get_history","description":"Settled and sold trades, newest first, with realized P&L, instrument_id and a win/loss/void tally; scope with window, since, until or run. A reset write-off is "},{"name":"get_my_stats","description":"Grades your closed trades: win rate against prices paid, calibration by price band, closing-line value, return on stake, max drawdown and your stated probabilit"},{"name":"list_markets","description":"Browse open markets by league, sport or event: compact quote rows with a spread. They go stale: get_market before trading."},{"name":"search_markets","description":"Substring search over market and event titles and tickers, one word at a time ('CPI', 'Kansas City': game winners are titled by city). list_markets with event_t"},{"name":"resolve_market","description":"A bet in words to Arena instrument ids and the Kalshi ticker and side to buy: 'chiefs ml', 'mia +3.5', 'kc mia under 44.5 sunday'. Full-game lines on half point"},{"name":"get_instrument","description":"One instrument by id (ins_...) or slug: what YES means, the tie rule, its game, and which side of which Kalshi ticker holds its YES and NO. No sign-in."},{"name":"get_game","description":"One game (game_ id, slug or words) with every instrument, moneylines first: instrument_id, ticker, yes_pct (Kalshi's chance; signed out, the moneylines only) an"},{"name":"list_games","description":"A day's games in every league, grouped by league, with each moneyline's chance (Kalshi, percent): today (New York) or the date given; an empty day names next_da"},{"name":"get_market","description":"Live quote for one market (ticker, ins_ id, slug or a bet in words): each side's bid and ask in cents ($1 contracts), yes_pct, no_pct, spread, status, close, ga"},{"name":"get_orderbook","description":"Depth as [price_cents, quantity] bid pairs per side plus best bid and ask; contracts adds walk, that size's cost through the book. Paper fills take the whole si"},{"name":"get_price_history","description":"One market's recent path in cents (the YES chance in percent): current_cents, open_cents, high_cents, low_cents, change_cents, rv_cents, volume and a sparkline."},{"name":"screen_markets","description":"Screen open markets by league, group, volume, price, spread, time to close and 24-hour move; rows carry spread_cents and move_cents. get_market before trading."},{"name":"list_perps","description":"Active Kalshi perpetual tickers and their live settlement marks, in dollars, from GET /perps/markets. status is active (default), inactive, closed or all."},{"name":"get_perp_mark","description":"The live settlement mark for one Kalshi perpetual ticker, in dollars. Tickers come from list_perps."},{"name":"get_perp_history","description":"Recent stored snapshots for one Kalshi perpetual, newest first, in dollars. limit defaults to 20, max 50. since and until bound the window. source is all, live "},{"name":"get_cross_venue_quotes","description":"One instrument's YES price on each venue Arena shows, always as Kalshi, Novig, Polymarket, ProphetX, not ranked by price: 0-1 chances (yes_pct in percent) with "},{"name":"find_price_gaps","description":"Price gaps across Kalshi, Novig, Polymarket and ProphetX after taker fees: the list without ref (arbitrage first), all pairs with ref. A pair buys YES on one ve"},{"name":"get_orders","description":"Your limit orders with instrument_id; default status=resting (live, holding money, able to fill): check it before placing on the same market. cancel_reason says"},{"name":"get_track_record","description":"A trader's Ed25519-signed record over the last 90 days (arena.track_record), by user id or name. verify=true checks it against the key Arena publishes on its we"},{"name":"place_trade","description":"Buy YES or NO contracts. Required: contracts or stake_dollars; exactly one pair, ticker + side or instrument_id + instrument_side; and, to place (not with dry_r"},{"name":"sell_trade","description":"Exit an open position at the bid (current_bid_cents), or rest a limit exit that holds no money. No bid: a market sell cannot. A closed trade answers its termina"},{"name":"cancel_order","description":"Withdraw a resting limit. A buy returns its hold; a sell leaves the position. Already filled or closed answers reduced_by=0. confirm=true. live cancels Kalshi; "},{"name":"settle_open","description":"Settle your positions whose markets have resolved and report what changed; a backstop to the 5-minute settlement cron, safe at session start. Idempotent. Requir"}],"toolCount":30,"toolsHash":"fa0f452bda027b5712d31c696e8392d5771cc5d1afd403732191a808d9d9aeb2","serverName":"arena-predictions","capabilities":["tools","resources","prompts"],"serverVersion":"0.6.0-hosted.20261007.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T12:26:43.583Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":349,"error":null,"detail":{"tools":[{"name":"get_leaderboard","description":"Public leaderboards in paper dollars: window 30d (default) or 90d ranks profit on trades closed in it (5 or more); all ranks profit since Sep 1, 2026 (20 or mor"},{"name":"get_trader","description":"One trader's public record by user id or name. Accounts are private by default: a private one answers private: true, trader_id null. A public one: standing, lif"},{"name":"get_eval_board","description":"The public eval board: people and AI models scored on settled public picks, ranked inside rank_basis, never by profit, with the market's own scores and 95% inte"},{"name":"get_privacy","description":"Whether the account is private (the default) or public, how many trades are hidden, and whether others see its balance and rank. Only the person makes it public"},{"name":"set_privacy","description":"Make the account private: others stop seeing its trades and record. Only call this when the person asked for it in this conversation. It cannot make an account "},{"name":"get_positions","description":"Open positions with stake, instrument_id, bet, payout_if_win_dollars, loss_if_lose_dollars and web_url, plus balance and net worth; start here. live=true (defau"},{"name":"get_balance","description":"The account in paper dollars, carried over; balance_dollars is what is spendable. season_start_dollars is DEPRECATED (start_balance_dollars). web_url is the per"},{"name":"get_history","description":"Settled and sold trades, newest first, with realized P&L, instrument_id and a win/loss/void tally; scope with window, since, until or run. A reset write-off is "},{"name":"get_my_stats","description":"Grades your closed trades: win rate against prices paid, calibration by price band, closing-line value, return on stake, max drawdown and your stated probabilit"},{"name":"list_markets","description":"Browse open markets by league, sport or event: compact quote rows with a spread. They go stale: get_market before trading."},{"name":"search_markets","description":"Substring search over market and event titles and tickers, one word at a time ('CPI', 'Kansas City': game winners are titled by city). list_markets with event_t"},{"name":"resolve_market","description":"A bet in words to Arena instrument ids and the Kalshi ticker and side to buy: 'chiefs ml', 'mia +3.5', 'kc mia under 44.5 sunday'. Full-game lines on half point"},{"name":"get_instrument","description":"One instrument by id (ins_...) or slug: what YES means, the tie rule, its game, and which side of which Kalshi ticker holds its YES and NO. No sign-in."},{"name":"get_game","description":"One game (game_ id, slug or words) with every instrument, moneylines first: instrument_id, ticker, yes_pct (Kalshi's chance; signed out, the moneylines only) an"},{"name":"list_games","description":"A day's games in every league, grouped by league, with each moneyline's chance (Kalshi, percent): today (New York) or the date given; an empty day names next_da"},{"name":"get_market","description":"Live quote for one market (ticker, ins_ id, slug or a bet in words): each side's bid and ask in cents ($1 contracts), yes_pct, no_pct, spread, status, close, ga"},{"name":"get_orderbook","description":"Depth as [price_cents, quantity] bid pairs per side plus best bid and ask; contracts adds walk, that size's cost through the book. Paper fills take the whole si"},{"name":"get_price_history","description":"One market's recent path in cents (the YES chance in percent): current_cents, open_cents, high_cents, low_cents, change_cents, rv_cents, volume and a sparkline."},{"name":"screen_markets","description":"Screen open markets by league, group, volume, price, spread, time to close and 24-hour move; rows carry spread_cents and move_cents. get_market before trading."},{"name":"list_perps","description":"Active Kalshi perpetual tickers and their live settlement marks, in dollars, from GET /perps/markets. status is active (default), inactive, closed or all."},{"name":"get_perp_mark","description":"The live settlement mark for one Kalshi perpetual ticker, in dollars. Tickers come from list_perps."},{"name":"get_perp_history","description":"Recent stored snapshots for one Kalshi perpetual, newest first, in dollars. limit defaults to 20, max 50. since and until bound the window. source is all, live "},{"name":"get_cross_venue_quotes","description":"One instrument's YES price on each venue Arena shows, always as Kalshi, Novig, Polymarket, ProphetX, not ranked by price: 0-1 chances (yes_pct in percent) with "},{"name":"find_price_gaps","description":"Price gaps across Kalshi, Novig, Polymarket and ProphetX after taker fees: the list without ref (arbitrage first), all pairs with ref. A pair buys YES on one ve"},{"name":"get_orders","description":"Your limit orders with instrument_id; default status=resting (live, holding money, able to fill): check it before placing on the same market. cancel_reason says"},{"name":"get_track_record","description":"A trader's Ed25519-signed record over the last 90 days (arena.track_record), by user id or name. verify=true checks it against the key Arena publishes on its we"},{"name":"place_trade","description":"Buy YES or NO contracts. Required: contracts or stake_dollars; exactly one pair, ticker + side or instrument_id + instrument_side; and, to place (not with dry_r"},{"name":"sell_trade","description":"Exit an open position at the bid (current_bid_cents), or rest a limit exit that holds no money. No bid: a market sell cannot. A closed trade answers its termina"},{"name":"cancel_order","description":"Withdraw a resting limit. A buy returns its hold; a sell leaves the position. Already filled or closed answers reduced_by=0. confirm=true. live cancels Kalshi; "},{"name":"settle_open","description":"Settle your positions whose markets have resolved and report what changed; a backstop to the 5-minute settlement cron, safe at session start. Idempotent. Requir"}],"toolCount":30,"toolsHash":"fa0f452bda027b5712d31c696e8392d5771cc5d1afd403732191a808d9d9aeb2","serverName":"arena-predictions","capabilities":["tools","resources","prompts"],"serverVersion":"0.6.0-hosted.20261007.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T05:24:19.387Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":349,"error":null,"detail":{"tools":[{"name":"get_leaderboard","description":"Public leaderboards in paper dollars: window 30d (default) or 90d ranks profit on trades closed in it (5 or more); all ranks profit since Sep 1, 2026 (20 or mor"},{"name":"get_trader","description":"One trader's public record by user id or name. Accounts are private by default: a private one answers private: true, trader_id null. A public one: standing, lif"},{"name":"get_eval_board","description":"The public eval board: people and AI models scored on settled public picks, ranked inside rank_basis, never by profit, with the market's own scores and 95% inte"},{"name":"get_privacy","description":"Whether the account is private (the default) or public, how many trades are hidden, and whether others see its balance and rank. Only the person makes it public"},{"name":"set_privacy","description":"Make the account private: others stop seeing its trades and record. Only call this when the person asked for it in this conversation. It cannot make an account "},{"name":"get_positions","description":"Open positions with stake, instrument_id, bet, payout_if_win_dollars, loss_if_lose_dollars and web_url, plus balance and net worth; start here. live=true (defau"},{"name":"get_balance","description":"The account in paper dollars, carried over; balance_dollars is what is spendable. season_start_dollars is DEPRECATED (start_balance_dollars). web_url is the per"},{"name":"get_history","description":"Settled and sold trades, newest first, with realized P&L, instrument_id and a win/loss/void tally; scope with window, since, until or run. A reset write-off is "},{"name":"get_my_stats","description":"Grades your closed trades: win rate against prices paid, calibration by price band, closing-line value, return on stake, max drawdown and your stated probabilit"},{"name":"list_markets","description":"Browse open markets by league, sport or event: compact quote rows with a spread. They go stale: get_market before trading."},{"name":"search_markets","description":"Substring search over market and event titles and tickers, one word at a time ('CPI', 'Kansas City': game winners are titled by city). list_markets with event_t"},{"name":"resolve_market","description":"A bet in words to Arena instrument ids and the Kalshi ticker and side to buy: 'chiefs ml', 'mia +3.5', 'kc mia under 44.5 sunday'. Full-game lines on half point"},{"name":"get_instrument","description":"One instrument by id (ins_...) or slug: what YES means, the tie rule, its game, and which side of which Kalshi ticker holds its YES and NO. No sign-in."},{"name":"get_game","description":"One game (game_ id, slug or words) with every instrument, moneylines first: instrument_id, ticker, yes_pct (Kalshi's chance; signed out, the moneylines only) an"},{"name":"list_games","description":"A day's games in every league, grouped by league, with each moneyline's chance (Kalshi, percent): today (New York) or the date given; an empty day names next_da"},{"name":"get_market","description":"Live quote for one market (ticker, ins_ id, slug or a bet in words): each side's bid and ask in cents ($1 contracts), yes_pct, no_pct, spread, status, close, ga"},{"name":"get_orderbook","description":"Depth as [price_cents, quantity] bid pairs per side plus best bid and ask; contracts adds walk, that size's cost through the book. Paper fills take the whole si"},{"name":"get_price_history","description":"One market's recent path in cents (the YES chance in percent): current_cents, open_cents, high_cents, low_cents, change_cents, rv_cents, volume and a sparkline."},{"name":"screen_markets","description":"Screen open markets by league, group, volume, price, spread, time to close and 24-hour move; rows carry spread_cents and move_cents. get_market before trading."},{"name":"list_perps","description":"Active Kalshi perpetual tickers and their live settlement marks, in dollars, from GET /perps/markets. status is active (default), inactive, closed or all."},{"name":"get_perp_mark","description":"The live settlement mark for one Kalshi perpetual ticker, in dollars. Tickers come from list_perps."},{"name":"get_perp_history","description":"Recent stored snapshots for one Kalshi perpetual, newest first, in dollars. limit defaults to 20, max 50. since and until bound the window. source is all, live "},{"name":"get_cross_venue_quotes","description":"One instrument's YES price on each venue Arena shows, always as Kalshi, Novig, Polymarket, ProphetX, not ranked by price: 0-1 chances (yes_pct in percent) with "},{"name":"find_price_gaps","description":"Price gaps across Kalshi, Novig, Polymarket and ProphetX after taker fees: the list without ref (arbitrage first), all pairs with ref. A pair buys YES on one ve"},{"name":"get_orders","description":"Your limit orders with instrument_id; default status=resting (live, holding money, able to fill): check it before placing on the same market. cancel_reason says"},{"name":"get_track_record","description":"A trader's Ed25519-signed record over the last 90 days (arena.track_record), by user id or name. verify=true checks it against the key Arena publishes on its we"},{"name":"place_trade","description":"Buy YES or NO contracts. Required: contracts or stake_dollars; exactly one pair, ticker + side or instrument_id + instrument_side; and, to place (not with dry_r"},{"name":"sell_trade","description":"Exit an open position at the bid (current_bid_cents), or rest a limit exit that holds no money. No bid: a market sell cannot. A closed trade answers its termina"},{"name":"cancel_order","description":"Withdraw a resting limit. A buy returns its hold; a sell leaves the position. Already filled or closed answers reduced_by=0. confirm=true. live cancels Kalshi; "},{"name":"settle_open","description":"Settle your positions whose markets have resolved and report what changed; a backstop to the 5-minute settlement cron, safe at session start. Idempotent. Requir"}],"toolCount":30,"toolsHash":"fa0f452bda027b5712d31c696e8392d5771cc5d1afd403732191a808d9d9aeb2","serverName":"arena-predictions","capabilities":["tools","resources","prompts"],"serverVersion":"0.6.0-hosted.20261007.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T23:27:04.831Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":338,"error":null,"detail":{"tools":[{"name":"get_leaderboard","description":"Public leaderboards in paper dollars: window 30d (default) or 90d ranks profit on trades closed in it (5 or more); all ranks profit since Sep 1, 2026 (20 or mor"},{"name":"get_trader","description":"One trader's public record by user id or name. Accounts are private by default: a private one answers private: true, trader_id null. A public one: standing, lif"},{"name":"get_eval_board","description":"The public eval board: people and AI models scored on settled public picks, ranked inside rank_basis, never by profit, with the market's own scores and 95% inte"},{"name":"get_privacy","description":"Whether the account is private (the default) or public, how many trades are hidden, and whether others see its balance and rank. Only the person makes it public"},{"name":"set_privacy","description":"Make the account private: others stop seeing its trades and record. Only call this when the person asked for it in this conversation. It cannot make an account "},{"name":"get_positions","description":"Open positions with stake, instrument_id, bet, payout_if_win_dollars, loss_if_lose_dollars and web_url, plus balance and net worth; start here. live=true (defau"},{"name":"get_balance","description":"The account in paper dollars, carried over; balance_dollars is what is spendable. season_start_dollars is DEPRECATED (start_balance_dollars). web_url is the per"},{"name":"get_history","description":"Settled and sold trades, newest first, with realized P&L, instrument_id and a win/loss/void tally; scope with window, since, until or run. A reset write-off is "},{"name":"get_my_stats","description":"Grades your closed trades: win rate against prices paid, calibration by price band, closing-line value, return on stake, max drawdown and your stated probabilit"},{"name":"list_markets","description":"Browse open markets by league, sport or event: compact quote rows with a spread. They go stale: get_market before trading."},{"name":"search_markets","description":"Substring search over market and event titles and tickers, one word at a time ('CPI', 'Kansas City': game winners are titled by city). list_markets with event_t"},{"name":"resolve_market","description":"A bet in words to Arena instrument ids and the Kalshi ticker and side to buy: 'chiefs ml', 'mia +3.5', 'kc mia under 44.5 sunday'. Full-game lines on half point"},{"name":"get_instrument","description":"One instrument by id (ins_...) or slug: what YES means, the tie rule, its game, and which side of which Kalshi ticker holds its YES and NO. No sign-in."},{"name":"get_game","description":"One game (game_ id, slug or words) with every instrument, moneylines first: instrument_id, ticker, yes_pct (Kalshi's chance; signed out, the moneylines only) an"},{"name":"list_games","description":"A day's games in every league, grouped by league, with each moneyline's chance (Kalshi, percent): today (New York) or the date given; an empty day names next_da"},{"name":"get_market","description":"Live quote for one market (ticker, ins_ id, slug or a bet in words): each side's bid and ask in cents ($1 contracts), yes_pct, no_pct, spread, status, close, ga"},{"name":"get_orderbook","description":"Depth as [price_cents, quantity] bid pairs per side plus best bid and ask; contracts adds walk, that size's cost through the book. Paper fills take the whole si"},{"name":"get_price_history","description":"One market's recent path in cents (the YES chance in percent): current_cents, open_cents, high_cents, low_cents, change_cents, rv_cents, volume and a sparkline."},{"name":"screen_markets","description":"Screen open markets by league, group, volume, price, spread, time to close and 24-hour move; rows carry spread_cents and move_cents. get_market before trading."},{"name":"list_perps","description":"Active Kalshi perpetual tickers and their live settlement marks, in dollars, from GET /perps/markets. status is active (default), inactive, closed or all."},{"name":"get_perp_mark","description":"The live settlement mark for one Kalshi perpetual ticker, in dollars. Tickers come from list_perps."},{"name":"get_perp_history","description":"Recent stored snapshots for one Kalshi perpetual, newest first, in dollars. limit defaults to 20, max 50. since and until bound the window. source is all, live "},{"name":"get_cross_venue_quotes","description":"One instrument's YES price on each venue Arena shows, always as Kalshi, Novig, Polymarket, ProphetX, not ranked by price: 0-1 chances (yes_pct in percent) with "},{"name":"find_price_gaps","description":"Price gaps across Kalshi, Novig, Polymarket and ProphetX after taker fees: the list without ref (arbitrage first), all pairs with ref. A pair buys YES on one ve"},{"name":"get_orders","description":"Your limit orders with instrument_id; default status=resting (live, holding money, able to fill): check it before placing on the same market. cancel_reason says"},{"name":"get_track_record","description":"A trader's Ed25519-signed record over the last 90 days (arena.track_record), by user id or name. verify=true checks it against the key Arena publishes on its we"},{"name":"place_trade","description":"Buy YES or NO contracts. Required: contracts or stake_dollars; exactly one pair, ticker + side or instrument_id + instrument_side; and, to place (not with dry_r"},{"name":"sell_trade","description":"Exit an open position at the bid (current_bid_cents), or rest a limit exit that holds no money. No bid: a market sell cannot. A closed trade answers its termina"},{"name":"cancel_order","description":"Withdraw a resting limit. A buy returns its hold; a sell leaves the position. Already filled or closed answers reduced_by=0. confirm=true. live cancels Kalshi; "},{"name":"settle_open","description":"Settle your positions whose markets have resolved and report what changed; a backstop to the 5-minute settlement cron, safe at session start. Idempotent. Requir"}],"toolCount":30,"toolsHash":"fa0f452bda027b5712d31c696e8392d5771cc5d1afd403732191a808d9d9aeb2","serverName":"arena-predictions","capabilities":["tools","resources","prompts"],"serverVersion":"0.6.0-hosted.20261007.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T16:29:59.608Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":290,"error":null,"detail":{"tools":[{"name":"get_leaderboard","description":"Public leaderboards in paper dollars: window 30d (default) or 90d ranks profit on trades closed in it (5 or more); all ranks profit since Sep 1, 2026 (20 or mor"},{"name":"get_trader","description":"One trader's public record by user id or name. Accounts are private by default: a private one answers private: true, trader_id null. A public one: standing, lif"},{"name":"get_eval_board","description":"The public eval board: people and AI models scored on settled public picks, ranked inside rank_basis, never by profit, with the market's own scores and 95% inte"},{"name":"get_privacy","description":"Whether the account is private (the default) or public, how many trades are hidden, and whether others see its balance and rank. Only the person makes it public"},{"name":"set_privacy","description":"Make the account private: others stop seeing its trades and record. Only call this when the person asked for it in this conversation. It cannot make an account "},{"name":"get_positions","description":"Open positions with stake, instrument_id, bet, payout_if_win_dollars, loss_if_lose_dollars and web_url, plus balance and net worth; start here. live=true (defau"},{"name":"get_balance","description":"The account in paper dollars, carried over; balance_dollars is what is spendable. season_start_dollars is DEPRECATED (start_balance_dollars). web_url is the per"},{"name":"get_history","description":"Settled and sold trades, newest first, with realized P&L, instrument_id and a win/loss/void tally; scope with window, since, until or run. A reset write-off is "},{"name":"get_my_stats","description":"Grades your closed trades: win rate against prices paid, calibration by price band, closing-line value, return on stake, max drawdown and your stated probabilit"},{"name":"list_markets","description":"Browse open markets by league, sport or event: compact quote rows with a spread. They go stale: get_market before trading."},{"name":"search_markets","description":"Substring search over market and event titles and tickers, one word at a time ('CPI', 'Kansas City': game winners are titled by city). list_markets with event_t"},{"name":"resolve_market","description":"A bet in words to Arena instrument ids and the Kalshi ticker and side to buy: 'chiefs ml', 'mia +3.5', 'kc mia under 44.5 sunday'. Full-game lines on half point"},{"name":"get_instrument","description":"One instrument by id (ins_...) or slug: what YES means, the tie rule, its game, and which side of which Kalshi ticker holds its YES and NO. No sign-in."},{"name":"get_game","description":"One game (game_ id, slug or words) with every instrument, moneylines first: instrument_id, ticker, yes_pct (Kalshi's chance; signed out, the moneylines only) an"},{"name":"list_games","description":"A day's games in every league, grouped by league, with each moneyline's chance (Kalshi, percent): today (New York) or the date given; an empty day names next_da"},{"name":"get_market","description":"Live quote for one market (ticker, ins_ id, slug or a bet in words): each side's bid and ask in cents ($1 contracts), yes_pct, no_pct, spread, status, close, ga"},{"name":"get_orderbook","description":"Depth as [price_cents, quantity] bid pairs per side plus best bid and ask; contracts adds walk, that size's cost through the book. Paper fills take the whole si"},{"name":"get_price_history","description":"One market's recent path in cents (the YES chance in percent): current_cents, open_cents, high_cents, low_cents, change_cents, rv_cents, volume and a sparkline."},{"name":"screen_markets","description":"Screen open markets by league, group, volume, price, spread, time to close and 24-hour move; rows carry spread_cents and move_cents. get_market before trading."},{"name":"list_perps","description":"Active Kalshi perpetual tickers and their live settlement marks, in dollars, from GET /perps/markets. status is active (default), inactive, closed or all."},{"name":"get_perp_mark","description":"The live settlement mark for one Kalshi perpetual ticker, in dollars. Tickers come from list_perps."},{"name":"get_perp_history","description":"Recent stored snapshots for one Kalshi perpetual, newest first, in dollars. limit defaults to 20, max 50. since and until bound the window. source is all, live "},{"name":"get_cross_venue_quotes","description":"One instrument's YES price on each venue Arena shows, always as Kalshi, Novig, Polymarket, ProphetX, not ranked by price: 0-1 chances (yes_pct in percent) with "},{"name":"find_price_gaps","description":"Price gaps across Kalshi, Novig, Polymarket and ProphetX after taker fees: the list without ref (arbitrage first), all pairs with ref. A pair buys YES on one ve"},{"name":"get_orders","description":"Your limit orders with instrument_id; default status=resting (live, holding money, able to fill): check it before placing on the same market. cancel_reason says"},{"name":"get_track_record","description":"A trader's Ed25519-signed record over the last 90 days (arena.track_record), by user id or name. verify=true checks it against the key Arena publishes on its we"},{"name":"place_trade","description":"Buy YES or NO contracts. Required: contracts or stake_dollars; exactly one pair, ticker + side or instrument_id + instrument_side; and, to place (not with dry_r"},{"name":"sell_trade","description":"Exit an open position at the bid (current_bid_cents), or rest a limit exit that holds no money. No bid: a market sell cannot. A closed trade answers its termina"},{"name":"cancel_order","description":"Withdraw a resting limit. A buy returns its hold; a sell leaves the position. Already filled or closed answers reduced_by=0. confirm=true. live cancels Kalshi; "},{"name":"settle_open","description":"Settle your positions whose markets have resolved and report what changed; a backstop to the 5-minute settlement cron, safe at session start. Idempotent. Requir"}],"toolCount":30,"toolsHash":"fa0f452bda027b5712d31c696e8392d5771cc5d1afd403732191a808d9d9aeb2","serverName":"arena-predictions","capabilities":["tools","resources","prompts"],"serverVersion":"0.6.0-hosted.20261007.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T09:26:56.727Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":293,"error":null,"detail":{"tools":[{"name":"get_leaderboard","description":"Public leaderboards in paper dollars: window 30d (default) or 90d ranks profit on trades closed in it (5 or more); all ranks profit since Sep 1, 2026 (20 or mor"},{"name":"get_trader","description":"One trader's public record by user id or name. Accounts are private by default: a private one answers private: true, trader_id null. A public one: standing, lif"},{"name":"get_eval_board","description":"The public eval board: people and AI models scored on settled public picks, ranked inside rank_basis, never by profit, with the market's own scores and 95% inte"},{"name":"get_privacy","description":"Whether the account is private (the default) or public, how many trades are hidden, and whether others see its balance and rank. Only the person makes it public"},{"name":"set_privacy","description":"Make the account private: others stop seeing its trades and record. Only call this when the person asked for it in this conversation. It cannot make an account "},{"name":"get_positions","description":"Open positions with stake, instrument_id, bet, payout_if_win_dollars, loss_if_lose_dollars and web_url, plus balance and net worth; start here. live=true (defau"},{"name":"get_balance","description":"The account in paper dollars, carried over; balance_dollars is what is spendable. season_start_dollars is DEPRECATED (start_balance_dollars). web_url is the per"},{"name":"get_history","description":"Settled and sold trades, newest first, with realized P&L, instrument_id and a win/loss/void tally; scope with window, since, until or run. A reset write-off is "},{"name":"get_my_stats","description":"Grades your closed trades: win rate against prices paid, calibration by price band, closing-line value, return on stake, max drawdown and your stated probabilit"},{"name":"list_markets","description":"Browse open markets by league, sport or event: compact quote rows with a spread. They go stale: get_market before trading."},{"name":"search_markets","description":"Substring search over market and event titles and tickers, one word at a time ('CPI', 'Kansas City': game winners are titled by city). list_markets with event_t"},{"name":"resolve_market","description":"A bet in words to Arena instrument ids and the Kalshi ticker and side to buy: 'chiefs ml', 'mia +3.5', 'kc mia under 44.5 sunday'. Full-game lines on half point"},{"name":"get_instrument","description":"One instrument by id (ins_...) or slug: what YES means, the tie rule, its game, and which side of which Kalshi ticker holds its YES and NO. No sign-in."},{"name":"get_game","description":"One game (game_ id, slug or words) with every instrument, moneylines first: instrument_id, ticker, yes_pct (Kalshi's chance; signed out, the moneylines only) an"},{"name":"list_games","description":"A day's games in every league, grouped by league, with each moneyline's chance (Kalshi, percent): today (New York) or the date given; an empty day names next_da"},{"name":"get_market","description":"Live quote for one market (ticker, ins_ id, slug or a bet in words): each side's bid and ask in cents ($1 contracts), yes_pct, no_pct, spread, status, close, ga"},{"name":"get_orderbook","description":"Depth as [price_cents, quantity] bid pairs per side plus best bid and ask; contracts adds walk, that size's cost through the book. Paper fills take the whole si"},{"name":"get_price_history","description":"One market's recent path in cents (the YES chance in percent): current_cents, open_cents, high_cents, low_cents, change_cents, rv_cents, volume and a sparkline."},{"name":"screen_markets","description":"Screen open markets by league, group, volume, price, spread, time to close and 24-hour move; rows carry spread_cents and move_cents. get_market before trading."},{"name":"list_perps","description":"Active Kalshi perpetual tickers and their live settlement marks, in dollars, from GET /perps/markets. status is active (default), inactive, closed or all."},{"name":"get_perp_mark","description":"The live settlement mark for one Kalshi perpetual ticker, in dollars. Tickers come from list_perps."},{"name":"get_perp_history","description":"Recent stored snapshots for one Kalshi perpetual, newest first, in dollars. limit defaults to 20, max 50. since and until bound the window. source is all, live "},{"name":"get_cross_venue_quotes","description":"One instrument's YES price on each venue Arena shows, always as Kalshi, Novig, Polymarket, ProphetX, not ranked by price: 0-1 chances (yes_pct in percent) with "},{"name":"find_price_gaps","description":"Price gaps across Kalshi, Novig, Polymarket and ProphetX after taker fees: the list without ref (arbitrage first), all pairs with ref. A pair buys YES on one ve"},{"name":"get_orders","description":"Your limit orders with instrument_id; default status=resting (live, holding money, able to fill): check it before placing on the same market. cancel_reason says"},{"name":"get_track_record","description":"A trader's Ed25519-signed record over the last 90 days (arena.track_record), by user id or name. verify=true checks it against the key Arena publishes on its we"},{"name":"place_trade","description":"Buy YES or NO contracts. Required: contracts or stake_dollars; exactly one pair, ticker + side or instrument_id + instrument_side; and, to place (not with dry_r"},{"name":"sell_trade","description":"Exit an open position at the bid (current_bid_cents), or rest a limit exit that holds no money. No bid: a market sell cannot. A closed trade answers its termina"},{"name":"cancel_order","description":"Withdraw a resting limit. A buy returns its hold; a sell leaves the position. Already filled or closed answers reduced_by=0. confirm=true. live cancels Kalshi; "},{"name":"settle_open","description":"Settle your positions whose markets have resolved and report what changed; a backstop to the 5-minute settlement cron, safe at session start. Idempotent. Requir"}],"toolCount":30,"toolsHash":"fa0f452bda027b5712d31c696e8392d5771cc5d1afd403732191a808d9d9aeb2","serverName":"arena-predictions","capabilities":["tools","resources","prompts"],"serverVersion":"0.6.0-hosted.20261007.4","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_leaderboard","description":"Public leaderboards in paper dollars: window 30d (default) or 90d ranks profit on trades closed in it (5 or more); all ranks profit since Sep 1, 2026 (20 or mor"},{"name":"get_trader","description":"One trader's public record by user id or name. Accounts are private by default: a private one answers private: true, trader_id null. A public one: standing, lif"},{"name":"get_eval_board","description":"The public eval board: people and AI models scored on settled public picks, ranked inside rank_basis, never by profit, with the market's own scores and 95% inte"},{"name":"get_privacy","description":"Whether the account is private (the default) or public, how many trades are hidden, and whether others see its balance and rank. Only the person makes it public"},{"name":"set_privacy","description":"Make the account private: others stop seeing its trades and record. Only call this when the person asked for it in this conversation. It cannot make an account "},{"name":"get_positions","description":"Open positions with stake, instrument_id, bet, payout_if_win_dollars, loss_if_lose_dollars and web_url, plus balance and net worth; start here. live=true (defau"},{"name":"get_balance","description":"The account in paper dollars, carried over; balance_dollars is what is spendable. season_start_dollars is DEPRECATED (start_balance_dollars). web_url is the per"},{"name":"get_history","description":"Settled and sold trades, newest first, with realized P&L, instrument_id and a win/loss/void tally; scope with window, since, until or run. A reset write-off is "},{"name":"get_my_stats","description":"Grades your closed trades: win rate against prices paid, calibration by price band, closing-line value, return on stake, max drawdown and your stated probabilit"},{"name":"list_markets","description":"Browse open markets by league, sport or event: compact quote rows with a spread. They go stale: get_market before trading."},{"name":"search_markets","description":"Substring search over market and event titles and tickers, one word at a time ('CPI', 'Kansas City': game winners are titled by city). list_markets with event_t"},{"name":"resolve_market","description":"A bet in words to Arena instrument ids and the Kalshi ticker and side to buy: 'chiefs ml', 'mia +3.5', 'kc mia under 44.5 sunday'. Full-game lines on half point"},{"name":"get_instrument","description":"One instrument by id (ins_...) or slug: what YES means, the tie rule, its game, and which side of which Kalshi ticker holds its YES and NO. No sign-in."},{"name":"get_game","description":"One game (game_ id, slug or words) with every instrument, moneylines first: instrument_id, ticker, yes_pct (Kalshi's chance; signed out, the moneylines only) an"},{"name":"list_games","description":"A day's games in every league, grouped by league, with each moneyline's chance (Kalshi, percent): today (New York) or the date given; an empty day names next_da"},{"name":"get_market","description":"Live quote for one market (ticker, ins_ id, slug or a bet in words): each side's bid and ask in cents ($1 contracts), yes_pct, no_pct, spread, status, close, ga"},{"name":"get_orderbook","description":"Depth as [price_cents, quantity] bid pairs per side plus best bid and ask; contracts adds walk, that size's cost through the book. Paper fills take the whole si"},{"name":"get_price_history","description":"One market's recent path in cents (the YES chance in percent): current_cents, open_cents, high_cents, low_cents, change_cents, rv_cents, volume and a sparkline."},{"name":"screen_markets","description":"Screen open markets by league, group, volume, price, spread, time to close and 24-hour move; rows carry spread_cents and move_cents. get_market before trading."},{"name":"list_perps","description":"Active Kalshi perpetual tickers and their live settlement marks, in dollars, from GET /perps/markets. status is active (default), inactive, closed or all."},{"name":"get_perp_mark","description":"The live settlement mark for one Kalshi perpetual ticker, in dollars. Tickers come from list_perps."},{"name":"get_perp_history","description":"Recent stored snapshots for one Kalshi perpetual, newest first, in dollars. limit defaults to 20, max 50. since and until bound the window. source is all, live "},{"name":"get_cross_venue_quotes","description":"One instrument's YES price on each venue Arena shows, always as Kalshi, Novig, Polymarket, ProphetX, not ranked by price: 0-1 chances (yes_pct in percent) with "},{"name":"find_price_gaps","description":"Price gaps across Kalshi, Novig, Polymarket and ProphetX after taker fees: the list without ref (arbitrage first), all pairs with ref. A pair buys YES on one ve"},{"name":"get_orders","description":"Your limit orders with instrument_id; default status=resting (live, holding money, able to fill): check it before placing on the same market. cancel_reason says"},{"name":"get_track_record","description":"A trader's Ed25519-signed record over the last 90 days (arena.track_record), by user id or name. verify=true checks it against the key Arena publishes on its we"},{"name":"place_trade","description":"Buy YES or NO contracts. Required: contracts or stake_dollars; exactly one pair, ticker + side or instrument_id + instrument_side; and, to place (not with dry_r"},{"name":"sell_trade","description":"Exit an open position at the bid (current_bid_cents), or rest a limit exit that holds no money. No bid: a market sell cannot. A closed trade answers its termina"},{"name":"cancel_order","description":"Withdraw a resting limit. A buy returns its hold; a sell leaves the position. Already filled or closed answers reduced_by=0. confirm=true. live cancels Kalshi; "},{"name":"settle_open","description":"Settle your positions whose markets have resolved and report what changed; a backstop to the 5-minute settlement cron, safe at session start. Idempotent. Requir"}],"package":{"name":"arena-mcp-server","registry":"npm","observedAt":"2026-10-22T00:37:41.414Z","publishedAt":"2026-10-11T01:36:15.608Z","latestVersion":"0.6.0","weeklyDownloads":223},"toolSurface":{"id":"ts_wkrecyqgn557","endpointId":"ep_rvay2r5jv5by","hash":"fa0f452bda027b5712d31c696e8392d5771cc5d1afd403732191a808d9d9aeb2","toolCount":30,"serverName":"arena-predictions","serverVersion":"0.6.0-hosted.20261007.4","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-12T00:29:20.128Z","lastSeenAt":"2026-10-22T00:33:02.368Z","observations":37,"toolNames":["get_leaderboard","get_trader","get_eval_board","get_privacy","set_privacy","get_positions","get_balance","get_history","get_my_stats","list_markets","search_markets","resolve_market","get_instrument","get_game","list_games","get_market","get_orderbook","get_price_history","screen_markets","list_perps","get_perp_mark","get_perp_history","get_cross_venue_quotes","find_price_gaps","get_orders","get_track_record","place_trade","sell_trade","cancel_order","settle_open"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_rvay2r5jv5by","url":"https://arena-predictions.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-16T08:44:02.923Z","auth":{"observedAt":"2026-10-16T08:44:04.386Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://arena-predictions.com/.well-known/oauth-protected-resource/mcp","resource":"https://arena-predictions.com/mcp","authorizationServers":["https://hslhripungvmkbvqsbni.supabase.co/auth/v1"],"scopesSupported":["email"]},"authorizationServer":{"url":"https://hslhripungvmkbvqsbni.supabase.co/.well-known/oauth-authorization-server/auth/v1","issuer":"https://hslhripungvmkbvqsbni.supabase.co/auth/v1","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256","plain"],"tokenEndpointAuthMethodsSupported":["client_secret_basic","client_secret_post","none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-16T08:44:04.432Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"*.arena-predictions.com","issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validFrom":"2026-09-20T11:40:29.000Z","validTo":"2026-12-19T11:40:28.000Z","daysToExpiry":58,"sanCount":2,"fingerprint256":"2E:43:C0:E2:65:BA:F5:78:66:AE:A1:D9:E7:C1:AB:EA:FB:9E:42:B3:2D:56:23:80:09:FC:EF:CD:A6:5C:39:E8"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"npm","key":"arena-mcp-server","url":"https://www.npmjs.com/package/arena-mcp-server","firstSeenAt":"2026-09-29T17:18:08.362Z","fetchedAt":"2026-10-21T23:18:29.825Z","normalizedAt":"2026-10-21T23:18:29.825Z"},{"source":"mcp_registry","key":"com.arena-predictions/arena","url":"https://registry.modelcontextprotocol.io/v0/servers/com.arena-predictions%2Farena","firstSeenAt":"2026-09-30T12:19:51.545Z","fetchedAt":"2026-10-21T12:20:46.442Z","normalizedAt":"2026-10-21T12:20:46.442Z"}]},"firstSeenAt":"2026-09-29T17:18:08.362Z","updatedAt":"2026-10-22T00:37:41.414Z"}