open_futures_position
ActiveTool of CoinRithm Agent Trading
Open (or add to) a mock futures position. Requires the trade:futures scope. Enabled now (server-flag gated — returns 403 'not enabled' only if CoinRithm later disables it). idempotencyKey is REQUIRED and must be unique per intent. leverage 1-20, marginMusd >= 10. Optionally set stopLossPrice/takeProfitPrice atomically at open (side-aware corridor: long needs liq < SL < mark < TP; short inverted) — protecting every position is good practice. Quote first and CONFIRM with the user. Paper trading only — virtual funds (50,000 mUSD). Not financial advice. Paper fills apply a disclosed execution cost folded into realized PnL: spot/futures pay a taker fee (spot market orders also pay half-spread + slippage); PM fills at the ask with size-based slippage and a Polymarket-shaped taker fee, with entryProbability kept at the mid for calibration. See the executionModel in quote/trade results — a rehearsal cost, not an exchange fill guarantee.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"coinId",
"side",
"leverage",
"marginMusd",
"idempotencyKey"
],
"properties": {
"side": {
"enum": [
"long",
"short"
],
"type": "string",
"description": "Futures direction: long benefits if price rises; short benefits if price falls."
},
"coinId": {
"type": "string",
"description": "Coin UCID to open futures for. Use resolve_symbol first."
},
"leverage": {
"type": "number",
"maximum": 20,
"minimum": 1,
"description": "Leverage multiplier (1-20x)."
},
"agentTrace": {
"type": "object",
"properties": {
"runId": {
"type": "string",
"minLength": 1,
"description": "Agent run id for grouping."
},
"confidence": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Optional confidence score from 0 to 1."
},
"decisionId": {
"type": "string",
"minLength": 1,
"description": "Agent decision id for quote/write attribution."
},
"strategyLabel": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Short strategy label, self-reported by the caller."
},
"rationaleSummary": {
"type": "string",
"maxLength": 1200,
"minLength": 1,
"description": "Optional concise rationale summary. Do not include chain-of-thought, secrets, or account identity."
}
},
"description": "Optional private trace metadata stored in the caller's ledger.",
"additionalProperties": false
},
"marginMusd": {
"type": "number",
"minimum": 10,
"description": "Isolated margin in mUSD (>= 10)."
},
"stopLossPrice": {
"type": "number",
"description": "Optional resting stop-loss set atomically at open (USD trigger; fired by the per-minute worker).",
"exclusiveMinimum": 0
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"description": "Unique per intent; reuse replays the original result."
},
"takeProfitPrice": {
"type": "number",
"description": "Optional resting take-profit set atomically at open (USD trigger; fired by the per-minute worker).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}No endpoints wrapped at confidence ≥ 0.50.
Parent server
CoinRithm Agent Trading
https://github.com/CoinRithm/coinrithm-agent-trading
1/7 registries