### Install Simmer SDK Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-ai-divergence/SKILL.md Install the required Python package to begin using the Simmer SDK. ```bash pip install simmer-sdk ``` -------------------------------- ### Configure Environment and Install SDK Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/bundled-skills/simmer/SKILL.md Set the API key environment variable and install the Python SDK. ```bash export SIMMER_API_KEY="sk_live_..." # paste your actual key here pip install simmer-sdk # Verify the key loaded correctly (catches clipboard contamination): [[ "$SIMMER_API_KEY" == sk_live_* ]] || echo "WARNING: SIMMER_API_KEY should start with sk_live_ — re-set the key" ``` -------------------------------- ### Install Simmer Skill Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/README.md Command to install the SKILL.md file for agent runtimes. ```bash npx simmer-mcp install-skill ``` -------------------------------- ### Install Simmer SDK Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-copytrading/SKILL.md Install the required version of the Simmer SDK to enable reactor mode. ```bash pip install -U 'simmer-sdk>=0.9.19' ``` -------------------------------- ### Install x402 Dependencies Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer-x402/SKILL.md Install the necessary x402 library dependencies for HTTP and EVM support. ```bash pip install x402[httpx,evm] ``` -------------------------------- ### Install Simmer MCP Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/SUBMISSION.md Execute this command to install the Simmer MCP server via npx. ```bash npx -y simmer-mcp ``` -------------------------------- ### Install a skill via skills.sh Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer-skill-builder/SKILL.md Install a skill hosted in a public git repository using the skills.sh ecosystem. ```bash npx skills add your-org/your-skills --skill ``` -------------------------------- ### Install and Configure OWS CLI Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/bundled-skills/simmer-wallet-setup/SKILL.md Commands to install the OWS CLI, the Simmer SDK with OWS support, and initialize a new agent wallet. ```bash # Install OWS CLI (creates ~/.ows vault, runs `ows wallet create`) curl -fsSL https://docs.openwallet.sh/install.sh | bash # Install the SDK with OWS Python bindings (one command — note the [ows] extra) pip install 'simmer-sdk[ows]' # Create a wallet for this agent ows wallet create --name "my-agent-wallet" # Stores at ~/.ows/wallets/, derives addresses for EVM (Polygon), Solana, etc. # Fund it — show the EVM address to the human, they bridge USDC.e to Polygon ows wallet show my-agent-wallet ``` -------------------------------- ### Install a skill via ClawHub CLI Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/README.md Use the ClawHub CLI to install pre-built trading strategies from the registry. ```bash # Install a skill via ClawHub CLI clawhub install polymarket-weather-trader ``` -------------------------------- ### Initialize development environment Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/CONTRIBUTING.md Clone the repository and install the SDK in editable mode to begin development. ```bash git clone https://github.com/SpartanLabsXyz/simmer-sdk cd simmer-sdk pip install -e . ``` -------------------------------- ### Install Simmer SDK and Dependencies Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-wallet-xray/README.md Install the necessary Python packages and set the API key environment variable for the Simmer SDK. ```bash pip install simmer-sdk requests ``` ```bash export SIMMER_API_KEY="sk_live..." ``` -------------------------------- ### Install simmer-mcp globally Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/bundled-skills/simmer-mcp-setup/SKILL.md Install the simmer-mcp package globally to improve startup performance by avoiding fetch delays. ```bash npm install -g simmer-mcp ``` -------------------------------- ### Verify Agent Setup Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/bundled-skills/simmer-wallet-setup/SKILL.md Verify the agent configuration by retrieving the briefing. ```python python -c "from simmer_sdk import SimmerClient; \ c = SimmerClient.from_env(); \ print(c.get_briefing())" ``` -------------------------------- ### Example Configuration File Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-btc-up-down-trader/SKILL.md A sample JSON configuration file defining strategy thresholds and limits. ```json { "exit_before_resolution_hours": 1.0, "volume_spike_exit_multiplier": 3.0, "target_hit_capture_pct": 0.85, "entry_threshold": 0.05, "min_momentum_pct": 0.3, "max_position": 10.0, "daily_budget": 50.0 } ``` -------------------------------- ### Example Configuration File Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-fast-loop/SKILL.md Define trading parameters using a JSON configuration file. ```json { "entry_threshold": 0.08, "min_momentum_pct": 0.3, "max_position": 10.0, "asset": "BTC", "window": "5m", "signal_source": "binance", "enable_news_veto": false } ``` -------------------------------- ### Install and Configure Simmer SDK Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-research/SKILL.md Install the required package and set the API key environment variable before running research commands. ```bash pip install simmer-sdk export SIMMER_API_KEY="sk_live_..." ``` -------------------------------- ### Install Simmer MCP Server Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/bundled-skills/simmer/SKILL.md Command to install the Simmer MCP server package. ```bash pip install simmer-mcp ``` -------------------------------- ### Ad-Hoc Wallet Input Examples Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-copytrading/SKILL.md Examples of how a user provides wallet addresses directly in chat. ```text User: "Copytrade this wallet: 0x1234...abcd" User: "What positions does 0x5678...efgh have?" User: "Follow these whales: 0xaaa..., 0xbbb..." ``` -------------------------------- ### Verify SDK functionality Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/CONTRIBUTING.md Test the installation by initializing the SimmerClient and fetching market data with a valid API key. ```bash export SIMMER_API_KEY=sk_live_... python -c "from simmer_sdk import SimmerClient; c = SimmerClient(api_key='$SIMMER_API_KEY'); print(c.get_markets(limit=1))" ``` -------------------------------- ### Initialize and build the project Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/CONTRIBUTING.md Commands to install dependencies, bundle skills, build the TypeScript source, and run tests. ```bash cd mcp npm install npm run bundle-skills # bundles skills + snapshots into dist artefacts npm run check:bundle-skills # verifies bundled-skills matches ../skills npm run build # TypeScript → dist/ npm test # build + all tests (104 tests) ``` -------------------------------- ### Install Node.js and npm on Linux Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer-mcp-setup/SKILL.md Platform-specific commands for installing Node.js and npm on various Linux distributions. ```bash sudo apt update && sudo apt install nodejs npm ``` ```bash sudo dnf install nodejs npm ``` -------------------------------- ### Reactor Mode Output Examples Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-copytrading/SKILL.md Example console output for reactor status and trade execution. ```text [reactor] price_buffer=0.020 (from config) [reactor] --once: single poll against /api/sdk/reactor/pending [reactor] 0 pending signals ``` ```text [reactor] price_buffer=0.020 (from config) [reactor] loop mode: polling /api/sdk/reactor/pending every 2.0s [reactor] 1 pending signal(s) [reactor] 0xbaa2bc... BUY 7067 shares on "Will Iran strike Iraq by April 30, 2026?" [reactor] mirror: 70.67 shares @ $0.673 (buffer +2.0%) → GTC order placed [reactor] ✅ mirrored — trade_id=a23dc52a, signal deleted ``` -------------------------------- ### Install OpenClaw Skills Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/README.md Use these commands to install specific trading skills via the clawhub CLI. ```bash clawhub install simmer-weather clawhub install simmer-copytrading clawhub install simmer-signalsniper clawhub install polymarket-dca-eval-trader ``` -------------------------------- ### Kalshi Solana Wallet Setup Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/bundled-skills/simmer-wallet-setup/SKILL.md Commands and configuration for using OWS with Solana-based venues like Kalshi. ```bash ows wallet show my-agent-wallet # shows Solana address too # Fund with SOL + USDC, complete KYC at dflow.net/proof ``` ```python client = SimmerClient( api_key="sk_live_...", ows_wallet="my-agent-wallet", venue="kalshi", ) client.trade(market_id, "yes", 5.0, reasoning="...") ``` -------------------------------- ### Backtest strategies via CLI Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/README.md Install the backtest dependencies and execute strategy simulations using various time windows or local data slices. ```bash pip install 'simmer-sdk[backtest]' # Try it offline — bundled 10-market demo slice, no data download: simmer backtest --demo # Backtest your own skill over a window — the tape is fetched + cached for you: simmer backtest ./my-skill --entrypoint run.py \ --t0 2026-03-01 --t1 2026-03-08 --cadence 12h --out report.json # ...or by duration, and with your own local slice (BYO): simmer backtest ./my-skill --entrypoint run.py --window 30d simmer backtest ./my-skill --entrypoint run.py --tape ./slice --t0 2026-03-01 --t1 2026-03-08 ``` -------------------------------- ### Verify Node.js and npm installation Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/bundled-skills/simmer-mcp-setup/SKILL.md Check that Node.js version 18 or higher and npm are available in the current environment. ```bash node --version # need v18 or higher npm --version ``` -------------------------------- ### Implement SimmerClient Singleton Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer-skill-builder/references/skill-template.md Lazy-initialization pattern for the SimmerClient to ensure proper environment setup. ```python _client = None def get_client(live=True): """Lazy-init SimmerClient singleton.""" global _client if _client is None: try: from simmer_sdk import SimmerClient except ImportError: print("Error: simmer-sdk not installed. Run: pip install simmer-sdk") sys.exit(1) api_key = os.environ.get("SIMMER_API_KEY") if not api_key: print("Error: SIMMER_API_KEY environment variable not set") print("Get your API key from: simmer.markets/dashboard -> SDK tab") sys.exit(1) venue = os.environ.get("TRADING_VENUE", "polymarket") _client = SimmerClient(api_key=api_key, venue=venue, live=live) return _client ``` -------------------------------- ### Automate Market Maker via Cron Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-market-maker/SKILL.md Example cron configuration to run the market maker every 5 minutes with automaton management enabled. ```bash # Run every 5 minutes (OpenClaw / cron) */5 * * * * AUTOMATON_MANAGED=1 MM_MARKETS=abc123 MM_SPREAD_PCT=0.04 \ python market_maker.py --live ``` -------------------------------- ### Configuring Claude Desktop with a pinned interpreter Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/README.md Example configuration for the Claude Desktop mcpServers settings, including API key and Python interpreter path. ```json { "mcpServers": { "simmer": { "command": "npx", "args": ["-y", "simmer-mcp"], "env": { "SIMMER_API_KEY": "sk_live_...", "SIMMER_MCP_PYTHON": "/home/user/.venvs/simmer/bin/python" } } } } ``` -------------------------------- ### Example Execution Output Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-elon-tweets/SKILL.md Displays the console output generated by the skill during a trading cycle, including configuration, market stats, and trade execution logs. ```text 🐦 Simmer Elon Tweet Trader ================================================== ⚙️ Configuration: Max bucket sum: $0.90 Max position: $5.00 Bucket spread: 1 (center ± 1 = 3 buckets) Exit threshold: 65% Data source: xtracker 📊 XTracker Stats: Tracking: Elon Musk # tweets Feb 13 - Feb 20 Current count: 187 posts Pace: 243 projected Days remaining: 2.3 🎯 Target cluster: 240-259 (center) + 220-239, 260-279 240-259: $0.35 220-239: $0.22 260-279: $0.18 Cluster sum: $0.75 (< $0.90 threshold) ✅ Executing trades... ✅ Bought 14.3 shares of 240-259 @ $0.35 ✅ Bought 22.7 shares of 220-239 @ $0.22 ✅ Bought 27.8 shares of 260-279 @ $0.18 📊 Summary: Events scanned: 2 Clusters evaluated: 2 Trades executed: 3 Exits: 0 ``` -------------------------------- ### Initialize Client and Perform Headless Signing Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/bundled-skills/simmer-wallet-setup/SKILL.md Initialize the SimmerClient and execute headless signing operations for wallet linking and approvals. ```python client = SimmerClient(api_key="sk_live_...") # private_key is auto-detected from WALLET_PRIVATE_KEY env var client.link_wallet() # signs a challenge message locally — fully headless client.set_approvals() # signs approval txs locally — fully headless, key never leaves agent # If your account uses a Polymarket Deposit Wallet (Elite / upgraded accounts): client.activate_polymarket_dw() # one-time — signs EIP-712 batch locally, no browser needed # If you have stranded USDC.e on your Deposit Wallet, wrap it to pUSD: result = client.wrap_on_dw() # idempotent — no-op when nothing stranded ``` -------------------------------- ### GET /api/sdk/positions Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-ai-divergence/SKILL.md Retrieves the current portfolio positions. ```APIDOC ## GET /api/sdk/positions ### Description Retrieves the current portfolio positions. ### Method GET ### Endpoint /api/sdk/positions ``` -------------------------------- ### GET /api/sdk/briefing Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer-skill-builder/references/simmer-api.md Retrieves a portfolio and market briefing heartbeat. ```APIDOC ## GET /api/sdk/briefing ### Description Provides a summary of portfolio, positions, opportunities, and risk alerts. ### Method GET ### Endpoint /api/sdk/briefing ### Query Parameters - **since** (string) - Optional - ISO timestamp to filter updates. ``` -------------------------------- ### Initialize Client and Execute Trades Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/README.md Demonstrates how to initialize the SimmerClient for different venues and override the venue during a specific trade execution. ```python # Paper trading (default) client = SimmerClient(api_key="sk_live_...", venue="sim") # Real trading on Polymarket client = SimmerClient(api_key="sk_live_...", venue="polymarket") # Override venue for a single trade client.trade(market_id, side="yes", amount=10.0, venue="polymarket") ``` -------------------------------- ### Initialize SimmerClient and fetch briefing Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/bundled-skills/simmer-briefing/SKILL.md Instantiate the client with your API key and retrieve the briefing data using an ISO8601 timestamp for the 'since' parameter. ```python from simmer_sdk import SimmerClient client = SimmerClient(api_key="sk_live_...") # the api_key from registration briefing = client.get_briefing(since="2026-04-25T08:00:00Z") # since = last check ``` -------------------------------- ### GET /api/sdk/positions Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-copytrading/SKILL.md Retrieves the list of current copytrading positions. ```APIDOC ## GET /api/sdk/positions ### Description Retrieves the list of current copytrading positions. ### Method GET ### Endpoint https://api.simmer.markets/api/sdk/positions ``` -------------------------------- ### GET /api/sdk/markets/opportunities Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-ai-divergence/SKILL.md Retrieves a list of markets ranked by divergence. ```APIDOC ## GET /api/sdk/markets/opportunities ### Description Retrieves a list of markets ranked by divergence. ### Method GET ### Endpoint /api/sdk/markets/opportunities ``` -------------------------------- ### GET /api/sdk/portfolio Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/kalshi-weather-trader/SKILL.md Retrieves the current portfolio information for the authenticated user. ```APIDOC ## GET /api/sdk/portfolio ### Description Retrieves the current portfolio information for the authenticated user. ### Method GET ### Endpoint /api/sdk/portfolio ``` -------------------------------- ### GET https://clob.polymarket.com/prices-history Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer-skill-builder/references/simmer-api.md Retrieves the price history for a specific Polymarket market. ```APIDOC ## GET https://clob.polymarket.com/prices-history ### Description Retrieves the price history for a specific Polymarket market. ### Method GET ### Endpoint https://clob.polymarket.com/prices-history?market=&interval=1w&fidelity=60 ### Parameters #### Query Parameters - **market** (string) - Required - The token_id of the market. - **interval** (string) - Optional - The time interval for the history (e.g., 1w). - **fidelity** (integer) - Optional - The data fidelity. ``` -------------------------------- ### Initialize SimmerClient Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer-skill-builder/references/simmer-api.md Configure the client with an API key and trading venue. Set live to False for paper trading mode. ```python from simmer_sdk import SimmerClient client = SimmerClient( api_key="sk_live_...", # Required: from SIMMER_API_KEY env var venue="polymarket", # "sim" (virtual $SIM), "polymarket" (real USDC), "kalshi" (real USD) live=True, # False = paper mode (simulated trades at real prices) ) ``` -------------------------------- ### Run live trading Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-market-maker/SKILL.md Execute the market maker script with the --live flag to begin placing orders. ```bash python market_maker.py --live ``` -------------------------------- ### GET https://clob.polymarket.com/midpoint Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer-skill-builder/references/simmer-api.md Retrieves the midpoint price for a specific Polymarket token. ```APIDOC ## GET https://clob.polymarket.com/midpoint ### Description Retrieves the midpoint price for a specific Polymarket token. ### Method GET ### Endpoint https://clob.polymarket.com/midpoint?token_id= ### Parameters #### Query Parameters - **token_id** (string) - Required - The unique identifier for the token. ``` -------------------------------- ### GET https://clob.polymarket.com/book Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer-skill-builder/references/simmer-api.md Retrieves the orderbook depth for a specific Polymarket token. ```APIDOC ## GET https://clob.polymarket.com/book ### Description Retrieves the orderbook depth for a specific Polymarket token. ### Method GET ### Endpoint https://clob.polymarket.com/book?token_id= ### Parameters #### Query Parameters - **token_id** (string) - Required - The unique identifier for the Polymarket token. ``` -------------------------------- ### Configure Environment Variables Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-soccer-shock-ladder/SKILL.md Set the necessary API and wallet keys for SDK operation. ```bash export SIMMER_API_KEY=... # simmer.markets/dashboard → SDK tab ``` ```bash export WALLET_PRIVATE_KEY=0x... ``` -------------------------------- ### Get Price History Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer-skill-builder/references/simmer-api.md Retrieves the price history for a given market UUID. ```python history = client.get_price_history("uuid") # List of {price_yes: float, timestamp: str, ...} ``` -------------------------------- ### Define CLI Entry Point Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer-skill-builder/references/skill-template.md The main block handles command-line arguments for configuring the strategy execution, including live mode toggles and configuration updates. ```python if __name__ == "__main__": parser = argparse.ArgumentParser(description="") parser.add_argument("--live", action="store_true", help="Execute real trades") parser.add_argument("--dry-run", action="store_true", help="(Default) Dry run") parser.add_argument("--positions", action="store_true", help="Show positions only") parser.add_argument("--config", action="store_true", help="Show config") parser.add_argument("--set", action="append", metavar="KEY=VALUE", help="Set config value") parser.add_argument("--no-safeguards", action="store_true", help="Disable safeguards") parser.add_argument("--quiet", "-q", action="store_true", help="Only output on trades/errors") args = parser.parse_args() # Handle --set if args.set: updates = {} for item in args.set: if "=" in item: key, value = item.split("=", 1) if key in CONFIG_SCHEMA: type_fn = CONFIG_SCHEMA[key].get("type", str) try: value = type_fn(value) except (ValueError, TypeError): pass updates[key] = value if updates: updated = update_config(updates, __file__) print(f"Config updated: {updates}") print(f"Saved to: {get_config_path(__file__)}") _config = load_config(CONFIG_SCHEMA, __file__, slug=SKILL_SLUG) # Reload module-level vars: # globals()["MAX_POSITION_USD"] = _config["max_position_usd"] # ... one line per config var dry_run = not args.live run_strategy( dry_run=dry_run, positions_only=args.positions, show_config=args.config, use_safeguards=not args.no_safeguards, ) ``` -------------------------------- ### GET /api/sdk/context/{market_id} Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-ai-divergence/SKILL.md Retrieves fee rates and safeguards for a specific market. ```APIDOC ## GET /api/sdk/context/{market_id} ### Description Retrieves fee rates and safeguards for a specific market. ### Method GET ### Endpoint /api/sdk/context/{market_id} ### Parameters #### Path Parameters - **market_id** (string) - Required - The unique identifier of the market. ``` -------------------------------- ### Configure Exit Discipline Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-btc-up-down-trader/SKILL.md Initialize the configuration file for the trading strategy. ```bash python strategy.py --config ``` -------------------------------- ### GET /api/sdk/positions Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/kalshi-weather-trader/SKILL.md Retrieves a list of current market positions held by the user. ```APIDOC ## GET /api/sdk/positions ### Description Retrieves a list of current market positions held by the user. ### Method GET ### Endpoint /api/sdk/positions ``` -------------------------------- ### Verify existing SIMMER_API_KEY Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/bundled-skills/simmer-mcp-setup/SKILL.md Checks if the environment variable starts with the required prefix. ```bash [[ "$SIMMER_API_KEY" == sk_live_* ]] && echo "OK" || echo "MISSING or malformed" ``` -------------------------------- ### Initialize SimmerClient for paper trading Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer/SKILL.md Configure the client for paper trading on a real venue to simulate real prices and modeled spreads without risking actual funds. ```python SimmerClient(live=False) ``` -------------------------------- ### Initialize Simmer SDK Client Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-weather-trader/SKILL.md Initializes the client using environment variables. Requires SIMMER_API_KEY to be set in the environment. ```python from simmer_sdk import SimmerClient client = SimmerClient.from_env(venue="polymarket", live=True) ``` -------------------------------- ### Use Raw SDK for Custom Integrations Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/README.md Direct usage of the SimmerClient for browsing markets, trading with virtual currency, and checking positions. ```python from simmer_sdk import SimmerClient client = SimmerClient(api_key="sk_live_...") # Browse markets (unfiltered browse is windowed to the newest ~1,000 active # markets — use sort="volume", q="...", or tags="..." for discovery) markets = client.get_markets(sort="volume", limit=10) for m in markets: print(f"{m.question}: {m.current_probability:.1%}") # Trade with $SIM (virtual currency) result = client.trade(market_id=markets[0].id, side="yes", amount=10.0) print(f"Bought {result.shares_bought:.2f} shares for ${result.cost:.2f}") # Check P&L for p in client.get_positions(): print(f"{p.question[:50]}: P&L ${p.pnl:.2f}") ``` -------------------------------- ### POST /api/sdk/agents/register Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/mcp/bundled-skills/simmer/SKILL.md Registers a new agent to receive an API key and starting balance. ```APIDOC ## POST /api/sdk/agents/register ### Description Registers a new agent with the Simmer platform. The response provides an API key, a claim URL for human verification, and a starting balance of 10,000 $SIM. ### Method POST ### Endpoint https://api.simmer.markets/api/sdk/agents/register ### Request Body - **name** (string) - Required - The name of the agent. - **description** (string) - Required - A description of the agent's purpose. ### Response #### Success Response (200) - **api_key** (string) - The API key for the registered agent. - **claim_url** (string) - The URL for human verification. - **balance** (number) - The starting balance of $SIM. ``` -------------------------------- ### Configure Skill Parameters Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/simmer-skill-builder/references/skill-template.md Define configuration schema and load settings using the Simmer SDK. ```python from simmer_sdk.skill import load_config, update_config, get_config_path from simmer_sdk.sizing import SIZING_CONFIG_SCHEMA SKILL_SLUG = "your-skill-slug" # Must match skills_registry slug CONFIG_SCHEMA = { "param_name": {"env": "SIMMER_SKILLNAME_PARAM", "default": 0.10, "type": float}, "max_position_usd": {"env": "SIMMER_SKILLNAME_MAX_POSITION", "default": 5.00, "type": float}, "max_trades_per_run": {"env": "SIMMER_SKILLNAME_MAX_TRADES", "default": 5, "type": int}, "max_bankroll_fraction": {"env": "SIMMER_SKILLNAME_MAX_FRACTION", "default": 0.95, "type": float}, # Order type: "GTC" (limit on book), "FAK" (immediate-or-cancel), "FOK", "GTD" "order_type": {"env": "SIMMER_SKILLNAME_ORDER_TYPE", "default": "GTC", "type": str}, # Position sizing knobs (SIMMER_POSITION_SIZING, SIMMER_KELLY_MULTIPLIER, SIMMER_MIN_EV) **SIZING_CONFIG_SCHEMA, } _config = load_config(CONFIG_SCHEMA, __file__, slug=SKILL_SLUG) ``` -------------------------------- ### Schedule bounded-continuous polling Source: https://github.com/spartanlabsxyz/simmer-sdk/blob/main/skills/polymarket-soccer-shock-ladder/SKILL.md Crontab entry to start a fresh bounded-continuous process every minute. ```bash # crontab — start a fresh bounded-continuous run every minute */1 * * * * cd /path/to/skill && ./run_bounded.sh ```