>_ Callput Lite MCP

One Console for Crypto + Stock Option Agents

A single operator map for OpenClaw, Bankr, and compatible runtimes using callput-lite-agent-mcp. Scan, build, and manage spread-only positions while the agent signs and submits externally.

Base 8453 Unsigned transactions Spread-only risk Stock/ETF feed enabled No frontend key handling
Package callput-lite-mcp-skill Server callput-lite-agent-mcp
Live market scan Base 8453

Start Trading Through an Agent

This single page is not a wallet. Install the package, register the MCP server, then sign transactions in your own agent runtime.

1

Get the package

git clone https://github.com/ayggdrasil/callput-option-agent.git
cd callput-option-agent
npm install
npm run build
npm run verify
npm run verify:mcp
2

Register the MCP server

node build/index.js

{
  "mcpServers": {
    "callput-lite-agent-mcp": {
      "command": "node",
      "args": ["/absolute/path/callput-option-agent/build/index.js"],
      "env": {
        "RPC_URL": "https://mainnet.base.org"
      }
    }
  }
}
3

Run the trade loop

Scan TSLA spreads, validate a candidate, build unsigned_tx, ask for approval, sign externally, broadcast, parse request_key, then poll status.

Supported Markets

Live tradability depends on the Callput feed. The MCP can still normalize configured symbols and aliases.

11 feed symbols across crypto, stocks, and ETFs
8 configured option-token contracts wired in the package registry

Supported Spread Strategies

Callput Lite builds capped-risk vertical spreads first. Agents can compose larger structures from those same legs.

Debit call

BuyCallSpread

Bullish call spread: buy the lower call, sell the higher call, pay premium for upside exposure.

Debit put

BuyPutSpread

Bearish put spread: buy the higher put, sell the lower put, pay premium for downside exposure.

Credit call

SellCallSpread

Neutral-bearish call spread: sell the lower call, buy the higher call, collect credit with capped loss.

Credit put

SellPutSpread

Neutral-bullish put spread: sell the higher put, buy the lower put, collect credit with defined risk.

Butterfly

Compose one buy spread and one sell spread around the same middle strike. The agent coordinates multiple unsigned transactions and tracks each request key.

BuyBuyButterflydebit tent, max profit near the middle strike
SellSellButterflycredit inverse tent, profit outside the wings
Iron Condor

Compose a sell call spread and a sell put spread around a target range. Each wing remains capped-risk; execution is managed as separate spread orders.

BuyBuyIronCondordebit outside-range structure, profit past either wing
SellSellIronCondorcredit range structure, max profit between short strikes

Agent Flows

Each flow maps to one or more MCP calls. Signing remains outside the MCP boundary.

Step 1

Market Scan

Choose symbol and bias, then rank spread candidates with IV and expiry context.

Step 2

Select

Pick a candidate by strike width, cost or credit, expiry, and directional thesis.

Step 3

Build Transaction

Generate unsigned calldata plus USDC approval details for an external signer.

Step 4

Sign

Send approval and order payloads to the agent runtime wallet boundary.

Step 5

Track Request

Persist the request key and poll keeper status until the request reaches terminal state.

Step 6

Manage Position

Read P&L, close before expiry when needed, and settle after expiry.

MCP Tool-to-UI Contract

One tool maps to one operator action block. No hidden schema transformations.

Security Boundary

The frontend and MCP explain and build. The agent runtime signs.

Agent Chooses symbol, bias, size, and lifecycle action.
->
MCP Reads market data and returns unsigned transaction payloads.
->
Signer Approves, signs, broadcasts, and applies wallet policy.
Never put private keys in frontend state.

CALLPUT_PRIVATE_KEY is not read by this MCP server. Configure secrets only in the external agent runtime.

Operator Prompt Snippet

Scan TSLA and ETH spreads, pick one valid candidate, build unsigned_tx, ask for explicit authorization, sign externally, broadcast, parse request_key, then poll request status.