Deterministic decision guardrail for AI agents and bots. Verifies pre-trade economics (long-only).
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Smolabot API key as a Bearer token. Get one (10 free checks) at https://smolabot.arison8.com
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Deterministic pre-trade economics check for a long (buy) round trip. Call it before placing a trade: given size, entry/exit reference prices, maker/taker roles, fees, spread and slippage, it returns whether the trade still clears after all costs (result.economically_clears, result.reason), the net P&L and return, a per-leg cost breakdown, the break-even and minimum profitable exit prices, and every assumption applied. No predictions, no market data, no execution. Costs 1 prepaid credit per successful check; invalid input costs nothing. Requires "Authorization: Bearer smk_..." (get a key at https://smolabot.arison8.com).
Long-only: "buy". Shorts are rejected with SIDE_NOT_SUPPORTED.
Exactly one of quantity (base units) or notional (quote currency, at the entry reference price).
Label only; does not affect the math.
Expected exit reference (mid) price, before spread, slippage and fees.
FULL bid/ask spread in bps; a taker leg pays half.
Entry reference (mid) price, before spread, slippage and fees.
Adverse slippage per taker leg, in bps.
Optional required net return in bps; omitted means 0 (echoed in assumptions).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Deterministic pre-trade economics check for a long (buy) round trip. Call it before placing a trade: given size, entry/exit reference prices, maker/taker roles, fees, spread and slippage, it returns whether the trade still clears after all costs (result.economically_clears, result.reason), the net P&L and return, a per-leg cost breakdown, the break-even and minimum profitable exit prices, and every assumption applied. No predictions, no market data, no execution. Costs 1 prepaid credit per successful check; invalid input costs nothing. Requires "Authorization: Bearer smk_..." (get a key at https://smolabot.arison8.com).
| Argument | Type | Description |
|---|---|---|
| side* | string | Long-only: "buy". Shorts are rejected with SIDE_NOT_SUPPORTED. |
| size* | any | Exactly one of quantity (base units) or notional (quote currency, at the entry reference price). |
| symbol* | string | Label only; does not affect the math. |
| exit_price* | number | Expected exit reference (mid) price, before spread, slippage and fees. |
| spread_bps* | number | FULL bid/ask spread in bps; a taker leg pays half. |
| entry_price* | number | Entry reference (mid) price, before spread, slippage and fees. |
| slippage_bps* | number | Adverse slippage per taker leg, in bps. |
| maker_fee_bps* | number | |
| taker_fee_bps* | number | |
| exit_liquidity* | string | |
| entry_liquidity* | string | |
| profit_buffer_bps | number | Optional required net return in bps; omitted means 0 (echoed in assumptions). |
{
"type": "object",
"required": [
"symbol",
"side",
"size",
"entry_price",
"exit_price",
"entry_liquidity",
"exit_liquidity",
"maker_fee_bps",
"taker_fee_bps",
"spread_bps",
"slippage_bps"
],
"properties": {
"side": {
"enum": [
"buy"
],
"type": "string",
"description": "Long-only: \"buy\". Shorts are rejected with SIDE_NOT_SUPPORTED."
},
"size": {
"oneOf": [
{
"type": "object",
"required": [
"quantity"
],
"properties": {
"quantity": {
"type": "number",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"notional"
],
"properties": {
"notional": {
"type": "number",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}
],
"description": "Exactly one of quantity (base units) or notional (quote currency, at the entry reference price)."
},
"symbol": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Label only; does not affect the math."
},
"exit_price": {
"type": "number",
"description": "Expected exit reference (mid) price, before spread, slippage and fees.",
"exclusiveMinimum": 0
},
"spread_bps": {
"type": "number",
"minimum": 0,
"description": "FULL bid/ask spread in bps; a taker leg pays half."
},
"entry_price": {
"type": "number",
"description": "Entry reference (mid) price, before spread, slippage and fees.",
"exclusiveMinimum": 0
},
"slippage_bps": {
"type": "number",
"minimum": 0,
"description": "Adverse slippage per taker leg, in bps."
},
"maker_fee_bps": {
"type": "number",
"minimum": 0,
"exclusiveMaximum": 10000
},
"taker_fee_bps": {
"type": "number",
"minimum": 0,
"exclusiveMaximum": 10000
},
"exit_liquidity": {
"enum": [
"maker",
"taker"
],
"type": "string"
},
"entry_liquidity": {
"enum": [
"maker",
"taker"
],
"type": "string"
},
"profit_buffer_bps": {
"type": "number",
"minimum": 0,
"description": "Optional required net return in bps; omitted means 0 (echoed in assumptions)."
}
},
"additionalProperties": false
}