Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
alsk1992 avatar

Execution

  • 13 installs
  • 610 repo stars
  • Updated June 26, 2026
  • alsk1992/cloddsbot

Execution is a Claude Code skill that executes and manages trades on Polymarket and Kalshi with slippage protection and order management.

About

Execution is a trading skill that places and manages orders on the Polymarket and Kalshi prediction markets. A developer uses /execute commands or the createExecutionService TypeScript API to submit limit, market, and post-only maker orders, run slippage-protected orders, estimate slippage, and cancel open orders. It is gated on a Polymarket or Kalshi API key.

  • Executes buy/sell orders on Polymarket and Kalshi with limit, market, and maker order types
  • Slippage-protected orders reject if estimated slippage exceeds a set threshold
  • Manages open orders and estimates slippage before a trade; supports maker rebates

Execution by the numbers

  • 13 all-time installs (skills.sh)
  • Ranked #759 of 1,106 Finance & Trading skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

execution capabilities & compatibility

Requires a Polymarket or Kalshi API key (and Polymarket also API secret/passphrase/private key) plus trading capital; no service fee stated.

Capabilities
order execution · slippage protection · order management · slippage estimation
Use cases
trading
Pricing
Bring your own API key
From the docs

What execution says it does

Execute trades on Polymarket and Kalshi with slippage protection, maker orders, and order management.
SKILL.md
Protected buy - checks slippage before executing
SKILL.md
npx skills add https://github.com/alsk1992/cloddsbot --skill execution

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs13
repo stars610
Last updatedJune 26, 2026
Repositoryalsk1992/cloddsbot

What it does

Execute and manage limit, market, maker, and slippage-protected orders on Polymarket and Kalshi prediction markets.

Who is it for?

Executing prediction-market trades with maker rebates and slippage-protected orders.

Skip if: Users without a Polymarket or Kalshi API key or wanting non-prediction-market brokerages.

When should I use this skill?

You want an agent to place or manage orders on Polymarket or Kalshi with slippage control.

What you get

Orders placed and managed on Polymarket and Kalshi with limit/market/maker types and slippage protection.

By the numbers

  • 2 platforms: Polymarket and Kalshi
  • Polymarket offers -0.5% maker rebate

Files

SKILL.mdMarkdownGitHub ↗

Execution Service - Complete API Reference

Execute trades on Polymarket and Kalshi with slippage protection, maker orders, and order management.

Supported Platforms

PlatformOrder TypesFeatures
PolymarketLimit, Market, Maker-0.5% maker rebate, GTC/FOK
KalshiLimit, MarketUS regulated

---

Chat Commands

Place Orders

/execute buy poly <market> YES 100 @ 0.52   # Limit buy on Polymarket
/execute sell kalshi <market> NO 50 @ 0.48  # Limit sell on Kalshi
/execute market-buy poly <market> YES 100   # Market buy
/execute market-sell poly <market> NO 50    # Market sell

Maker Orders (Rebates)

/execute maker-buy poly <market> YES 100 @ 0.52   # Post-only buy
/execute maker-sell poly <market> NO 50 @ 0.48    # Post-only sell

Protected Orders (Slippage Protection)

/execute protected-buy poly <market> YES 100 --max-slippage 1%
/execute protected-sell poly <market> NO 50 --max-slippage 0.5%

Order Management

/orders open                                # View open orders
/orders open poly                           # Open orders on Polymarket
/orders cancel <order-id>                   # Cancel specific order
/orders cancel-all                          # Cancel all open orders
/orders cancel-all poly                     # Cancel all on Polymarket

Slippage Estimation

/estimate-slippage poly <market> buy 1000   # Estimate slippage for $1000 buy
/estimate-slippage kalshi <market> sell 500 # Estimate for $500 sell

---

TypeScript API Reference

Create Execution Service

import { createExecutionService } from 'clodds/execution';

const executor = createExecutionService({
  polymarket: {
    apiKey: process.env.POLY_API_KEY,
    apiSecret: process.env.POLY_API_SECRET,
    passphrase: process.env.POLY_API_PASSPHRASE,
    privateKey: process.env.PRIVATE_KEY,
  },
  kalshi: {
    apiKey: process.env.KALSHI_API_KEY,
    privateKey: process.env.KALSHI_PRIVATE_KEY,
  },

  // Defaults
  defaultSlippageTolerance: 0.5,  // 0.5%
  autoLogTrades: true,
});

Limit Orders

// Buy limit order
const order = await executor.buyLimit({
  platform: 'polymarket',
  marketId: 'market-123',
  side: 'YES',
  size: 100,           // $100
  price: 0.52,         // 52 cents
  timeInForce: 'GTC',  // Good-til-cancel
});

console.log(`Order placed: ${order.orderId}`);
console.log(`Status: ${order.status}`);

// Sell limit order
const sellOrder = await executor.sellLimit({
  platform: 'polymarket',
  marketId: 'market-123',
  side: 'YES',
  size: 100,
  price: 0.55,
});

Market Orders

// Market buy - executes immediately at best price
const order = await executor.marketBuy({
  platform: 'polymarket',
  marketId: 'market-123',
  side: 'YES',
  size: 100,
});

console.log(`Filled at: ${order.avgFillPrice}`);
console.log(`Filled size: ${order.filledSize}`);

// Market sell
const sellOrder = await executor.marketSell({
  platform: 'kalshi',
  marketId: 'TRUMP-WIN',
  side: 'YES',
  size: 50,
});

Maker Orders (Post-Only)

// Maker buy - only executes as maker (gets rebate)
const order = await executor.makerBuy({
  platform: 'polymarket',
  marketId: 'market-123',
  side: 'YES',
  size: 100,
  price: 0.52,
});

// Will be rejected if it would execute immediately as taker
if (order.status === 'rejected') {
  console.log('Price too aggressive - would be taker');
}

// Maker sell
const sellOrder = await executor.makerSell({
  platform: 'polymarket',
  marketId: 'market-123',
  side: 'NO',
  size: 50,
  price: 0.48,
});

Protected Orders (Slippage Protection)

// Protected buy - checks slippage before executing
const order = await executor.protectedBuy({
  platform: 'polymarket',
  marketId: 'market-123',
  side: 'YES',
  size: 100,
  maxSlippage: 0.5,  // 0.5% max slippage
});

if (order.status === 'rejected') {
  console.log(`Rejected: slippage would be ${order.estimatedSlippage}%`);
} else {
  console.log(`Executed with ${order.actualSlippage}% slippage`);
}

// Protected sell
const sellOrder = await executor.protectedSell({
  platform: 'kalshi',
  marketId: 'TRUMP-WIN',
  side: 'YES',
  size: 50,
  maxSlippage: 1,
});

Order Management

// Cancel specific order
await executor.cancelOrder('polymarket', orderId);

// Cancel all orders on platform
await executor.cancelAllOrders('polymarket');

// Cancel all orders for a market
await executor.cancelAllOrders('polymarket', { marketId: 'market-123' });

// Get open orders
const openOrders = await executor.getOpenOrders('polymarket');

for (const order of openOrders) {
  console.log(`${order.orderId}: ${order.side} ${order.size} @ ${order.price}`);
  console.log(`  Status: ${order.status}`);
  console.log(`  Filled: ${order.filledSize}/${order.size}`);
}

Slippage Estimation

// Estimate slippage before executing
const estimate = await executor.estimateSlippage({
  platform: 'polymarket',
  marketId: 'market-123',
  side: 'buy',
  size: 1000,
});

console.log(`For $1000 buy:`);
console.log(`  Avg fill price: ${estimate.avgFillPrice}`);
console.log(`  Expected slippage: ${estimate.slippagePct}%`);
console.log(`  Total filled: ${estimate.totalFilled}`);
console.log(`  Levels consumed: ${estimate.levelsConsumed}`);

---

Order Types

TypeDescriptionBest For
LimitExecute at specific price or betterPrice-sensitive orders
MarketExecute immediately at best availableUrgent execution
MakerPost-only, gets rebateCollecting rebates
ProtectedChecks slippage before executingLarge orders

Time In Force

ValueDescription
GTCGood-til-cancel (default)
FOKFill-or-kill - all or nothing
IOCImmediate-or-cancel - fill what you can

---

Fee Structure

Polymarket (Verified Jan 2026)

  • Most markets: 0% maker, 0% taker (zero fees)
  • 15-min crypto markets: Dynamic taker fees up to ~3% at 50/50 odds; makers eligible for rebate program

Kalshi

  • Taker: Formula-based ~1.2% average, capped at ~2%
  • Maker: ~0.17% (formula-based)

---

Best Practices

1. Use maker orders when possible - Pay no fees on Polymarket (most markets) 2. Check slippage before large orders 3. Use protected orders for size > $500 4. Set appropriate timeInForce - GTC for patient orders, FOK for all-or-nothing 5. Monitor open orders - Cancel stale orders 6. Start small - Test with small sizes first

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.