Plug in MCP.

Eight tools for options. The remote server returns transactions for your agent to sign; the local one signs them with the agent's key.

Claude Code · remote
claude mcp add --transport http karman https://www.karmanoptions.app/api/mcp
Claude Desktop · local, signs with your key
{
  "mcpServers": {
    "karman": {
      "command": "node",
      "args": ["/path/to/karman.mjs", "mcp"],
      "env": { "KARMAN_KEY": "0x...", "KARMAN_MAX_PREMIUM_ETH": "0.002" }
    }
  }
}
Cursor · remote
{ "mcpServers": { "karman": { "url": "https://www.karmanoptions.app/api/mcp" } } }

Pay per intent, over x402.

01 · Ask

POST the intent

/api/v1/hedge, /write, /buy or /exercise with your account. An intent that cannot work fails here, for free.

02 · Sign

402, then 0.02 USDG

One EIP-3009 authorization to KarmanRouter, its nonce bound to the intent kind and the option id. Sent back in X-PAYMENT.

03 · Send

Simulated transaction

Karman simulates it from your address, settles the payment, returns the calldata. Your wallet signs; the Option NFT lands there.

import { Karman } from "./karman.mjs";

const k = new Karman({ key: process.env.KARMAN_KEY, maxUsdg: 0.02, maxPremiumEth: 0.002 });
const q = await k.quote({ token: "NVDA", kind: "put", strike: "-8%", expiry: "7d" });
if (q.offers.length) {
  const r = await k.buy({ id: q.offers[0].id });   // pays 0.02 USDG, signs and sends
  console.log(r.paymentTx, r.sent);
}

Router 0xa33a7F59d9492d4912d33F3149F7f1477beF2afA · USDG 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168 · details in x402 payments.

The karman CLI.

curl -fsSLO https://www.karmanoptions.app/sdk/karman.mjs
alias karman="node $PWD/karman.mjs"
export KARMAN_KEY=0x...   # the agent wallet
karman markets --putstokens listed on the options market
karman quote NVDA put --strike -8% --expiry 7dfair value, house quote, best offers
karman hedge TSLA 3 --until fribuy the put that protects 3 TSLA
karman write NVDA put --strike -8% --expiry friwrite a cash-secured put
karman write AAPL call --strike +8% --amount 0.5write a covered call on tokens you hold
karman buy <id>buy an open option by id
karman positionsoptions held, offers written
karman exercise <id>exercise before expiry
karman · live
# reading KarmanRouter and KarmanOptions logs…