clodds 1.2.9 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/skills/bundled/acp/SKILL.md +188 -0
- package/dist/skills/bundled/acp/index.d.ts +0 -3
- package/dist/skills/bundled/acp/index.js +1 -1
- package/dist/skills/bundled/acp/index.js.map +1 -1
- package/dist/skills/bundled/agentbets/SKILL.md +19 -0
- package/dist/skills/bundled/agentbets/index.js +1 -1
- package/dist/skills/bundled/agentbets/index.js.map +1 -1
- package/dist/skills/bundled/ai-strategy/SKILL.md +111 -0
- package/dist/skills/bundled/ai-strategy/index.js +1 -1
- package/dist/skills/bundled/ai-strategy/index.js.map +1 -1
- package/dist/skills/bundled/alerts/SKILL.md +87 -0
- package/dist/skills/bundled/analytics/SKILL.md +252 -0
- package/dist/skills/bundled/analytics/index.js +2 -2
- package/dist/skills/bundled/analytics/index.js.map +1 -1
- package/dist/skills/bundled/arbitrage/SKILL.md +287 -0
- package/dist/skills/bundled/arbitrage/index.js +6 -1
- package/dist/skills/bundled/arbitrage/index.js.map +1 -1
- package/dist/skills/bundled/auto-reply/SKILL.md +285 -0
- package/dist/skills/bundled/auto-reply/index.js +2 -2
- package/dist/skills/bundled/auto-reply/index.js.map +1 -1
- package/dist/skills/bundled/automation/SKILL.md +242 -0
- package/dist/skills/bundled/automation/index.js +2 -2
- package/dist/skills/bundled/automation/index.js.map +1 -1
- package/dist/skills/bundled/backtest/SKILL.md +225 -0
- package/dist/skills/bundled/bags/SKILL.md +131 -0
- package/dist/skills/bundled/bankr/SKILL.md +114 -0
- package/dist/skills/bundled/betfair/SKILL.md +113 -0
- package/dist/skills/bundled/binance-futures/SKILL.md +84 -0
- package/dist/skills/bundled/binance-futures/index.d.ts +0 -3
- package/dist/skills/bundled/binance-futures/index.js +1 -2
- package/dist/skills/bundled/binance-futures/index.js.map +1 -1
- package/dist/skills/bundled/botchan/SKILL.md +66 -0
- package/dist/skills/bundled/botchan/index.d.ts +0 -3
- package/dist/skills/bundled/botchan/index.js +0 -1
- package/dist/skills/bundled/botchan/index.js.map +1 -1
- package/dist/skills/bundled/bridge/SKILL.md +215 -0
- package/dist/skills/bundled/bridge/index.js +6 -0
- package/dist/skills/bundled/bridge/index.js.map +1 -1
- package/dist/skills/bundled/bybit-futures/SKILL.md +84 -0
- package/dist/skills/bundled/bybit-futures/index.d.ts +0 -3
- package/dist/skills/bundled/bybit-futures/index.js +0 -1
- package/dist/skills/bundled/bybit-futures/index.js.map +1 -1
- package/dist/skills/bundled/clanker/SKILL.md +125 -0
- package/dist/skills/bundled/clanker/index.d.ts +0 -3
- package/dist/skills/bundled/clanker/index.js +0 -1
- package/dist/skills/bundled/clanker/index.js.map +1 -1
- package/dist/skills/bundled/copy-trading/SKILL.md +285 -0
- package/dist/skills/bundled/copy-trading/index.js +15 -8
- package/dist/skills/bundled/copy-trading/index.js.map +1 -1
- package/dist/skills/bundled/copy-trading-solana/SKILL.md +66 -0
- package/dist/skills/bundled/credentials/SKILL.md +261 -0
- package/dist/skills/bundled/credentials/index.js +4 -0
- package/dist/skills/bundled/credentials/index.js.map +1 -1
- package/dist/skills/bundled/crypto-hft/SKILL.md +121 -0
- package/dist/skills/bundled/crypto-hft/index.js +18 -3
- package/dist/skills/bundled/crypto-hft/index.js.map +1 -1
- package/dist/skills/bundled/dca/SKILL.md +27 -0
- package/dist/skills/bundled/dex/SKILL.md +92 -0
- package/dist/skills/bundled/dex/index.js +77 -29
- package/dist/skills/bundled/dex/index.js.map +1 -1
- package/dist/skills/bundled/divergence/SKILL.md +83 -0
- package/dist/skills/bundled/doctor/SKILL.md +267 -0
- package/dist/skills/bundled/doctor/index.js +2 -8
- package/dist/skills/bundled/doctor/index.js.map +1 -1
- package/dist/skills/bundled/drift/SKILL.md +53 -0
- package/dist/skills/bundled/drift-sdk/SKILL.md +103 -0
- package/dist/skills/bundled/drift-sdk/index.d.ts +0 -3
- package/dist/skills/bundled/drift-sdk/index.js +0 -1
- package/dist/skills/bundled/drift-sdk/index.js.map +1 -1
- package/dist/skills/bundled/edge/SKILL.md +84 -0
- package/dist/skills/bundled/embeddings/SKILL.md +244 -0
- package/dist/skills/bundled/endaoment/SKILL.md +65 -0
- package/dist/skills/bundled/endaoment/index.d.ts +0 -3
- package/dist/skills/bundled/endaoment/index.js +0 -1
- package/dist/skills/bundled/endaoment/index.js.map +1 -1
- package/dist/skills/bundled/ens/SKILL.md +63 -0
- package/dist/skills/bundled/ens/index.d.ts +0 -3
- package/dist/skills/bundled/ens/index.js +0 -1
- package/dist/skills/bundled/ens/index.js.map +1 -1
- package/dist/skills/bundled/erc8004/SKILL.md +79 -0
- package/dist/skills/bundled/erc8004/index.d.ts +0 -3
- package/dist/skills/bundled/erc8004/index.js +0 -1
- package/dist/skills/bundled/erc8004/index.js.map +1 -1
- package/dist/skills/bundled/execution/SKILL.md +278 -0
- package/dist/skills/bundled/farcaster/SKILL.md +80 -0
- package/dist/skills/bundled/farcaster/index.js +12 -0
- package/dist/skills/bundled/farcaster/index.js.map +1 -1
- package/dist/skills/bundled/features/SKILL.md +20 -0
- package/dist/skills/bundled/feeds/SKILL.md +288 -0
- package/dist/skills/bundled/harden/SKILL.md +74 -0
- package/dist/skills/bundled/history/SKILL.md +257 -0
- package/dist/skills/bundled/hyperliquid/SKILL.md +200 -0
- package/dist/skills/bundled/hyperliquid/index.d.ts +0 -3
- package/dist/skills/bundled/hyperliquid/index.js +0 -1
- package/dist/skills/bundled/hyperliquid/index.js.map +1 -1
- package/dist/skills/bundled/identity/SKILL.md +228 -0
- package/dist/skills/bundled/identity/index.js +2 -2
- package/dist/skills/bundled/identity/index.js.map +1 -1
- package/dist/skills/bundled/integrations/SKILL.md +321 -0
- package/dist/skills/bundled/integrations/index.js +2 -2
- package/dist/skills/bundled/integrations/index.js.map +1 -1
- package/dist/skills/bundled/jupiter/SKILL.md +163 -0
- package/dist/skills/bundled/jupiter/index.js +2 -2
- package/dist/skills/bundled/kamino/SKILL.md +69 -0
- package/dist/skills/bundled/ledger/SKILL.md +20 -0
- package/dist/skills/bundled/lighter/SKILL.md +83 -0
- package/dist/skills/bundled/lighter/index.d.ts +0 -3
- package/dist/skills/bundled/lighter/index.js +0 -1
- package/dist/skills/bundled/lighter/index.js.map +1 -1
- package/dist/skills/bundled/marginfi/SKILL.md +62 -0
- package/dist/skills/bundled/market-index/SKILL.md +242 -0
- package/dist/skills/bundled/market-index/index.js +1 -3
- package/dist/skills/bundled/market-index/index.js.map +1 -1
- package/dist/skills/bundled/markets/SKILL.md +49 -0
- package/dist/skills/bundled/mcp/SKILL.md +235 -0
- package/dist/skills/bundled/mcp/index.js +1 -3
- package/dist/skills/bundled/mcp/index.js.map +1 -1
- package/dist/skills/bundled/memory/SKILL.md +209 -0
- package/dist/skills/bundled/metaculus/SKILL.md +62 -0
- package/dist/skills/bundled/metaculus/index.js +4 -1
- package/dist/skills/bundled/metaculus/index.js.map +1 -1
- package/dist/skills/bundled/meteora/SKILL.md +28 -0
- package/dist/skills/bundled/meteora-dbc/SKILL.md +25 -0
- package/dist/skills/bundled/metrics/SKILL.md +338 -0
- package/dist/skills/bundled/mev/SKILL.md +239 -0
- package/dist/skills/bundled/mev/index.js +2 -2
- package/dist/skills/bundled/mev/index.js.map +1 -1
- package/dist/skills/bundled/mexc-futures/SKILL.md +86 -0
- package/dist/skills/bundled/mexc-futures/index.d.ts +0 -3
- package/dist/skills/bundled/mexc-futures/index.js +0 -1
- package/dist/skills/bundled/mexc-futures/index.js.map +1 -1
- package/dist/skills/bundled/mm/SKILL.md +142 -0
- package/dist/skills/bundled/mm/index.js +28 -27
- package/dist/skills/bundled/mm/index.js.map +1 -1
- package/dist/skills/bundled/monitoring/SKILL.md +249 -0
- package/dist/skills/bundled/news/SKILL.md +95 -0
- package/dist/skills/bundled/news/index.js +1 -2
- package/dist/skills/bundled/news/index.js.map +1 -1
- package/dist/skills/bundled/onchainkit/SKILL.md +83 -0
- package/dist/skills/bundled/opinion/SKILL.md +87 -0
- package/dist/skills/bundled/opportunity/SKILL.md +308 -0
- package/dist/skills/bundled/orca/SKILL.md +28 -0
- package/dist/skills/bundled/orca/index.js +11 -7
- package/dist/skills/bundled/orca/index.js.map +1 -1
- package/dist/skills/bundled/pairing/SKILL.md +275 -0
- package/dist/skills/bundled/pancakeswap/SKILL.md +93 -0
- package/dist/skills/bundled/pancakeswap/index.d.ts +0 -3
- package/dist/skills/bundled/pancakeswap/index.js +0 -1
- package/dist/skills/bundled/pancakeswap/index.js.map +1 -1
- package/dist/skills/bundled/percolator/SKILL.md +22 -0
- package/dist/skills/bundled/permissions/SKILL.md +269 -0
- package/dist/skills/bundled/permissions/index.js +2 -2
- package/dist/skills/bundled/permissions/index.js.map +1 -1
- package/dist/skills/bundled/plugins/SKILL.md +263 -0
- package/dist/skills/bundled/plugins/index.js +2 -2
- package/dist/skills/bundled/plugins/index.js.map +1 -1
- package/dist/skills/bundled/portfolio/SKILL.md +161 -0
- package/dist/skills/bundled/portfolio/index.js +1 -1
- package/dist/skills/bundled/portfolio/index.js.map +1 -1
- package/dist/skills/bundled/portfolio-sync/SKILL.md +466 -0
- package/dist/skills/bundled/positions/SKILL.md +262 -0
- package/dist/skills/bundled/predictfun/SKILL.md +109 -0
- package/dist/skills/bundled/predictfun/index.js +1 -1
- package/dist/skills/bundled/predictfun/index.js.map +1 -1
- package/dist/skills/bundled/predictit/SKILL.md +66 -0
- package/dist/skills/bundled/predictit/index.js +4 -1
- package/dist/skills/bundled/predictit/index.js.map +1 -1
- package/dist/skills/bundled/presence/SKILL.md +217 -0
- package/dist/skills/bundled/presence/index.js +2 -2
- package/dist/skills/bundled/presence/index.js.map +1 -1
- package/dist/skills/bundled/processes/SKILL.md +254 -0
- package/dist/skills/bundled/pump-swarm/SKILL.md +309 -0
- package/dist/skills/bundled/pumpfun/SKILL.md +145 -0
- package/dist/skills/bundled/pumpfun/index.js +82 -8
- package/dist/skills/bundled/pumpfun/index.js.map +1 -1
- package/dist/skills/bundled/qmd/SKILL.md +129 -0
- package/dist/skills/bundled/qrcoin/SKILL.md +60 -0
- package/dist/skills/bundled/qrcoin/index.d.ts +0 -3
- package/dist/skills/bundled/qrcoin/index.js +0 -1
- package/dist/skills/bundled/qrcoin/index.js.map +1 -1
- package/dist/skills/bundled/raydium/SKILL.md +198 -0
- package/dist/skills/bundled/remote/SKILL.md +201 -0
- package/dist/skills/bundled/research/SKILL.md +83 -0
- package/dist/skills/bundled/research/index.js +2 -2
- package/dist/skills/bundled/research/index.js.map +1 -1
- package/dist/skills/bundled/risk/SKILL.md +323 -0
- package/dist/skills/bundled/router/SKILL.md +233 -0
- package/dist/skills/bundled/routing/SKILL.md +258 -0
- package/dist/skills/bundled/sandbox/SKILL.md +257 -0
- package/dist/skills/bundled/search-config/SKILL.md +257 -0
- package/dist/skills/bundled/search-config/index.js +2 -2
- package/dist/skills/bundled/search-config/index.js.map +1 -1
- package/dist/skills/bundled/sessions/SKILL.md +251 -0
- package/dist/skills/bundled/sessions/index.js +1 -1
- package/dist/skills/bundled/sessions/index.js.map +1 -1
- package/dist/skills/bundled/setup/SKILL.md +53 -0
- package/dist/skills/bundled/shield/SKILL.md +21 -0
- package/dist/skills/bundled/signals/SKILL.md +106 -0
- package/dist/skills/bundled/signals/index.d.ts +0 -3
- package/dist/skills/bundled/signals/index.js +3 -4
- package/dist/skills/bundled/signals/index.js.map +1 -1
- package/dist/skills/bundled/sizing/SKILL.md +238 -0
- package/dist/skills/bundled/slippage/SKILL.md +306 -0
- package/dist/skills/bundled/smarkets/SKILL.md +107 -0
- package/dist/skills/bundled/smarkets/index.js +3 -3
- package/dist/skills/bundled/smarkets/index.js.map +1 -1
- package/dist/skills/bundled/solend/SKILL.md +63 -0
- package/dist/skills/bundled/strategy/SKILL.md +266 -0
- package/dist/skills/bundled/streaming/SKILL.md +150 -0
- package/dist/skills/bundled/streaming/index.js +2 -2
- package/dist/skills/bundled/streaming/index.js.map +1 -1
- package/dist/skills/bundled/tailscale/SKILL.md +249 -0
- package/dist/skills/bundled/tailscale/index.js +2 -2
- package/dist/skills/bundled/tailscale/index.js.map +1 -1
- package/dist/skills/bundled/ticks/SKILL.md +61 -0
- package/dist/skills/bundled/token-security/SKILL.md +18 -0
- package/dist/skills/bundled/trading-evm/SKILL.md +329 -0
- package/dist/skills/bundled/trading-futures/SKILL.md +865 -0
- package/dist/skills/bundled/trading-kalshi/SKILL.md +629 -0
- package/dist/skills/bundled/trading-kalshi/index.js +2 -0
- package/dist/skills/bundled/trading-kalshi/index.js.map +1 -1
- package/dist/skills/bundled/trading-manifold/SKILL.md +387 -0
- package/dist/skills/bundled/trading-polymarket/SKILL.md +1080 -0
- package/dist/skills/bundled/trading-polymarket/index.js +28 -19
- package/dist/skills/bundled/trading-polymarket/index.js.map +1 -1
- package/dist/skills/bundled/trading-solana/SKILL.md +418 -0
- package/dist/skills/bundled/trading-solana/index.js +1 -1
- package/dist/skills/bundled/trading-solana/index.js.map +1 -1
- package/dist/skills/bundled/trading-system/SKILL.md +290 -0
- package/dist/skills/bundled/triggers/SKILL.md +433 -0
- package/dist/skills/bundled/tts/SKILL.md +220 -0
- package/dist/skills/bundled/tweet-ideas/SKILL.md +77 -0
- package/dist/skills/bundled/usage/SKILL.md +239 -0
- package/dist/skills/bundled/usage/index.js +2 -2
- package/dist/skills/bundled/usage/index.js.map +1 -1
- package/dist/skills/bundled/veil/SKILL.md +76 -0
- package/dist/skills/bundled/veil/index.d.ts +0 -3
- package/dist/skills/bundled/veil/index.js +0 -1
- package/dist/skills/bundled/veil/index.js.map +1 -1
- package/dist/skills/bundled/verify/SKILL.md +199 -0
- package/dist/skills/bundled/verify/index.d.ts +0 -3
- package/dist/skills/bundled/verify/index.js +0 -1
- package/dist/skills/bundled/verify/index.js.map +1 -1
- package/dist/skills/bundled/virtuals/SKILL.md +82 -0
- package/dist/skills/bundled/voice/SKILL.md +217 -0
- package/dist/skills/bundled/voice/index.js +2 -2
- package/dist/skills/bundled/voice/index.js.map +1 -1
- package/dist/skills/bundled/weather/SKILL.md +80 -0
- package/dist/skills/bundled/weather/index.js +3 -0
- package/dist/skills/bundled/weather/index.js.map +1 -1
- package/dist/skills/bundled/webhooks/SKILL.md +297 -0
- package/dist/skills/bundled/webhooks/index.js +2 -2
- package/dist/skills/bundled/webhooks/index.js.map +1 -1
- package/dist/skills/bundled/whale-tracking/SKILL.md +287 -0
- package/dist/skills/bundled/whale-tracking/index.js +2 -2
- package/dist/skills/bundled/whale-tracking/index.js.map +1 -1
- package/dist/skills/bundled/yoink/SKILL.md +54 -0
- package/dist/skills/bundled/yoink/index.d.ts +0 -3
- package/dist/skills/bundled/yoink/index.js +0 -1
- package/dist/skills/bundled/yoink/index.js.map +1 -1
- package/dist/skills/executor.js +5 -3
- package/dist/skills/executor.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: execution
|
|
3
|
+
description: "Execute trades on prediction markets with slippage protection and order management"
|
|
4
|
+
emoji: "⚡"
|
|
5
|
+
gates:
|
|
6
|
+
envs:
|
|
7
|
+
anyOf:
|
|
8
|
+
- POLY_API_KEY
|
|
9
|
+
- KALSHI_API_KEY
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Execution Service - Complete API Reference
|
|
13
|
+
|
|
14
|
+
Execute trades on Polymarket and Kalshi with slippage protection, maker orders, and order management.
|
|
15
|
+
|
|
16
|
+
## Supported Platforms
|
|
17
|
+
|
|
18
|
+
| Platform | Order Types | Features |
|
|
19
|
+
|----------|-------------|----------|
|
|
20
|
+
| Polymarket | Limit, Market, Maker | -0.5% maker rebate, GTC/FOK |
|
|
21
|
+
| Kalshi | Limit, Market | US regulated |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Chat Commands
|
|
26
|
+
|
|
27
|
+
### Place Orders
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
/execute buy poly <market> YES 100 @ 0.52 # Limit buy on Polymarket
|
|
31
|
+
/execute sell kalshi <market> NO 50 @ 0.48 # Limit sell on Kalshi
|
|
32
|
+
/execute market-buy poly <market> YES 100 # Market buy
|
|
33
|
+
/execute market-sell poly <market> NO 50 # Market sell
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Maker Orders (Rebates)
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
/execute maker-buy poly <market> YES 100 @ 0.52 # Post-only buy
|
|
40
|
+
/execute maker-sell poly <market> NO 50 @ 0.48 # Post-only sell
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Protected Orders (Slippage Protection)
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
/execute protected-buy poly <market> YES 100 --max-slippage 1%
|
|
47
|
+
/execute protected-sell poly <market> NO 50 --max-slippage 0.5%
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Order Management
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
/orders open # View open orders
|
|
54
|
+
/orders open poly # Open orders on Polymarket
|
|
55
|
+
/orders cancel <order-id> # Cancel specific order
|
|
56
|
+
/orders cancel-all # Cancel all open orders
|
|
57
|
+
/orders cancel-all poly # Cancel all on Polymarket
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Slippage Estimation
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
/estimate-slippage poly <market> buy 1000 # Estimate slippage for $1000 buy
|
|
64
|
+
/estimate-slippage kalshi <market> sell 500 # Estimate for $500 sell
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## TypeScript API Reference
|
|
70
|
+
|
|
71
|
+
### Create Execution Service
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
import { createExecutionService } from 'clodds/execution';
|
|
75
|
+
|
|
76
|
+
const executor = createExecutionService({
|
|
77
|
+
polymarket: {
|
|
78
|
+
apiKey: process.env.POLY_API_KEY,
|
|
79
|
+
apiSecret: process.env.POLY_API_SECRET,
|
|
80
|
+
passphrase: process.env.POLY_API_PASSPHRASE,
|
|
81
|
+
privateKey: process.env.PRIVATE_KEY,
|
|
82
|
+
},
|
|
83
|
+
kalshi: {
|
|
84
|
+
apiKey: process.env.KALSHI_API_KEY,
|
|
85
|
+
privateKey: process.env.KALSHI_PRIVATE_KEY,
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
// Defaults
|
|
89
|
+
defaultSlippageTolerance: 0.5, // 0.5%
|
|
90
|
+
autoLogTrades: true,
|
|
91
|
+
});
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Limit Orders
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
// Buy limit order
|
|
98
|
+
const order = await executor.buyLimit({
|
|
99
|
+
platform: 'polymarket',
|
|
100
|
+
marketId: 'market-123',
|
|
101
|
+
side: 'YES',
|
|
102
|
+
size: 100, // $100
|
|
103
|
+
price: 0.52, // 52 cents
|
|
104
|
+
timeInForce: 'GTC', // Good-til-cancel
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
console.log(`Order placed: ${order.orderId}`);
|
|
108
|
+
console.log(`Status: ${order.status}`);
|
|
109
|
+
|
|
110
|
+
// Sell limit order
|
|
111
|
+
const sellOrder = await executor.sellLimit({
|
|
112
|
+
platform: 'polymarket',
|
|
113
|
+
marketId: 'market-123',
|
|
114
|
+
side: 'YES',
|
|
115
|
+
size: 100,
|
|
116
|
+
price: 0.55,
|
|
117
|
+
});
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Market Orders
|
|
121
|
+
|
|
122
|
+
```typescript
|
|
123
|
+
// Market buy - executes immediately at best price
|
|
124
|
+
const order = await executor.marketBuy({
|
|
125
|
+
platform: 'polymarket',
|
|
126
|
+
marketId: 'market-123',
|
|
127
|
+
side: 'YES',
|
|
128
|
+
size: 100,
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
console.log(`Filled at: ${order.avgFillPrice}`);
|
|
132
|
+
console.log(`Filled size: ${order.filledSize}`);
|
|
133
|
+
|
|
134
|
+
// Market sell
|
|
135
|
+
const sellOrder = await executor.marketSell({
|
|
136
|
+
platform: 'kalshi',
|
|
137
|
+
marketId: 'TRUMP-WIN',
|
|
138
|
+
side: 'YES',
|
|
139
|
+
size: 50,
|
|
140
|
+
});
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Maker Orders (Post-Only)
|
|
144
|
+
|
|
145
|
+
```typescript
|
|
146
|
+
// Maker buy - only executes as maker (gets rebate)
|
|
147
|
+
const order = await executor.makerBuy({
|
|
148
|
+
platform: 'polymarket',
|
|
149
|
+
marketId: 'market-123',
|
|
150
|
+
side: 'YES',
|
|
151
|
+
size: 100,
|
|
152
|
+
price: 0.52,
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
// Will be rejected if it would execute immediately as taker
|
|
156
|
+
if (order.status === 'rejected') {
|
|
157
|
+
console.log('Price too aggressive - would be taker');
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Maker sell
|
|
161
|
+
const sellOrder = await executor.makerSell({
|
|
162
|
+
platform: 'polymarket',
|
|
163
|
+
marketId: 'market-123',
|
|
164
|
+
side: 'NO',
|
|
165
|
+
size: 50,
|
|
166
|
+
price: 0.48,
|
|
167
|
+
});
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Protected Orders (Slippage Protection)
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
// Protected buy - checks slippage before executing
|
|
174
|
+
const order = await executor.protectedBuy({
|
|
175
|
+
platform: 'polymarket',
|
|
176
|
+
marketId: 'market-123',
|
|
177
|
+
side: 'YES',
|
|
178
|
+
size: 100,
|
|
179
|
+
maxSlippage: 0.5, // 0.5% max slippage
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
if (order.status === 'rejected') {
|
|
183
|
+
console.log(`Rejected: slippage would be ${order.estimatedSlippage}%`);
|
|
184
|
+
} else {
|
|
185
|
+
console.log(`Executed with ${order.actualSlippage}% slippage`);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// Protected sell
|
|
189
|
+
const sellOrder = await executor.protectedSell({
|
|
190
|
+
platform: 'kalshi',
|
|
191
|
+
marketId: 'TRUMP-WIN',
|
|
192
|
+
side: 'YES',
|
|
193
|
+
size: 50,
|
|
194
|
+
maxSlippage: 1,
|
|
195
|
+
});
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Order Management
|
|
199
|
+
|
|
200
|
+
```typescript
|
|
201
|
+
// Cancel specific order
|
|
202
|
+
await executor.cancelOrder('polymarket', orderId);
|
|
203
|
+
|
|
204
|
+
// Cancel all orders on platform
|
|
205
|
+
await executor.cancelAllOrders('polymarket');
|
|
206
|
+
|
|
207
|
+
// Cancel all orders for a market
|
|
208
|
+
await executor.cancelAllOrders('polymarket', { marketId: 'market-123' });
|
|
209
|
+
|
|
210
|
+
// Get open orders
|
|
211
|
+
const openOrders = await executor.getOpenOrders('polymarket');
|
|
212
|
+
|
|
213
|
+
for (const order of openOrders) {
|
|
214
|
+
console.log(`${order.orderId}: ${order.side} ${order.size} @ ${order.price}`);
|
|
215
|
+
console.log(` Status: ${order.status}`);
|
|
216
|
+
console.log(` Filled: ${order.filledSize}/${order.size}`);
|
|
217
|
+
}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### Slippage Estimation
|
|
221
|
+
|
|
222
|
+
```typescript
|
|
223
|
+
// Estimate slippage before executing
|
|
224
|
+
const estimate = await executor.estimateSlippage({
|
|
225
|
+
platform: 'polymarket',
|
|
226
|
+
marketId: 'market-123',
|
|
227
|
+
side: 'buy',
|
|
228
|
+
size: 1000,
|
|
229
|
+
});
|
|
230
|
+
|
|
231
|
+
console.log(`For $1000 buy:`);
|
|
232
|
+
console.log(` Avg fill price: ${estimate.avgFillPrice}`);
|
|
233
|
+
console.log(` Expected slippage: ${estimate.slippagePct}%`);
|
|
234
|
+
console.log(` Total filled: ${estimate.totalFilled}`);
|
|
235
|
+
console.log(` Levels consumed: ${estimate.levelsConsumed}`);
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Order Types
|
|
241
|
+
|
|
242
|
+
| Type | Description | Best For |
|
|
243
|
+
|------|-------------|----------|
|
|
244
|
+
| **Limit** | Execute at specific price or better | Price-sensitive orders |
|
|
245
|
+
| **Market** | Execute immediately at best available | Urgent execution |
|
|
246
|
+
| **Maker** | Post-only, gets rebate | Collecting rebates |
|
|
247
|
+
| **Protected** | Checks slippage before executing | Large orders |
|
|
248
|
+
|
|
249
|
+
## Time In Force
|
|
250
|
+
|
|
251
|
+
| Value | Description |
|
|
252
|
+
|-------|-------------|
|
|
253
|
+
| **GTC** | Good-til-cancel (default) |
|
|
254
|
+
| **FOK** | Fill-or-kill - all or nothing |
|
|
255
|
+
| **IOC** | Immediate-or-cancel - fill what you can |
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Fee Structure
|
|
260
|
+
|
|
261
|
+
### Polymarket (Verified Jan 2026)
|
|
262
|
+
- **Most markets**: 0% maker, 0% taker (zero fees)
|
|
263
|
+
- **15-min crypto markets**: Dynamic taker fees up to ~3% at 50/50 odds; makers eligible for rebate program
|
|
264
|
+
|
|
265
|
+
### Kalshi
|
|
266
|
+
- **Taker**: Formula-based ~1.2% average, capped at ~2%
|
|
267
|
+
- **Maker**: ~0.17% (formula-based)
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Best Practices
|
|
272
|
+
|
|
273
|
+
1. **Use maker orders** when possible - Pay no fees on Polymarket (most markets)
|
|
274
|
+
2. **Check slippage** before large orders
|
|
275
|
+
3. **Use protected orders** for size > $500
|
|
276
|
+
4. **Set appropriate timeInForce** - GTC for patient orders, FOK for all-or-nothing
|
|
277
|
+
5. **Monitor open orders** - Cancel stale orders
|
|
278
|
+
6. **Start small** - Test with small sizes first
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: farcaster
|
|
3
|
+
description: "Farcaster social protocol via Neynar API - read feeds, post casts, follow users"
|
|
4
|
+
command: fc
|
|
5
|
+
emoji: "🟪"
|
|
6
|
+
gates:
|
|
7
|
+
envs:
|
|
8
|
+
- NEYNAR_API_KEY
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Farcaster
|
|
12
|
+
|
|
13
|
+
Interact with the Farcaster decentralized social protocol via Neynar API.
|
|
14
|
+
|
|
15
|
+
## Setup
|
|
16
|
+
|
|
17
|
+
Get your API key from [dev.neynar.com](https://dev.neynar.com):
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
export NEYNAR_API_KEY=xxx
|
|
21
|
+
|
|
22
|
+
# Optional: For posting (requires signer)
|
|
23
|
+
export NEYNAR_SIGNER_UUID=xxx
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Commands
|
|
27
|
+
|
|
28
|
+
### Users
|
|
29
|
+
```
|
|
30
|
+
/fc user <username> Look up user profile
|
|
31
|
+
/fc search-users <query> Search for users
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Feeds
|
|
35
|
+
```
|
|
36
|
+
/fc feed [--channel X] Get feed (optionally from channel)
|
|
37
|
+
/fc trending Trending casts
|
|
38
|
+
/fc channel <id> Get channel info
|
|
39
|
+
/fc channels <query> Search channels
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Search
|
|
43
|
+
```
|
|
44
|
+
/fc search <query> Search casts
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Write Operations (require signer)
|
|
48
|
+
```
|
|
49
|
+
/fc post <text> Post a cast
|
|
50
|
+
/fc reply <hash> <text> Reply to a cast
|
|
51
|
+
/fc like <hash> Like a cast
|
|
52
|
+
/fc recast <hash> Recast
|
|
53
|
+
/fc follow <username> Follow user
|
|
54
|
+
/fc unfollow <username> Unfollow user
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Examples
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
/fc user vitalik.eth
|
|
61
|
+
/fc trending
|
|
62
|
+
/fc channel base
|
|
63
|
+
/fc search "ethereum"
|
|
64
|
+
/fc post "Hello Farcaster!"
|
|
65
|
+
/fc follow dwr.eth
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Rate Limits
|
|
69
|
+
|
|
70
|
+
- Free tier: 300 requests/minute
|
|
71
|
+
- Standard: 1,000 requests/minute
|
|
72
|
+
- Premium: Higher limits
|
|
73
|
+
|
|
74
|
+
## Features
|
|
75
|
+
|
|
76
|
+
- User profiles with verified addresses
|
|
77
|
+
- Cast search and feeds
|
|
78
|
+
- Channel discovery
|
|
79
|
+
- Trending content
|
|
80
|
+
- Full write operations (with signer)
|
|
@@ -138,6 +138,8 @@ async function handleSearchChannels(query) {
|
|
|
138
138
|
async function handlePost(text) {
|
|
139
139
|
if (!text)
|
|
140
140
|
return '❌ Usage: /fc post <text>';
|
|
141
|
+
if (!process.env.NEYNAR_SIGNER_UUID)
|
|
142
|
+
return '❌ Set NEYNAR_SIGNER_UUID to post casts.';
|
|
141
143
|
const client = (0, farcaster_1.getNeynarClient)();
|
|
142
144
|
const cast = await client.postCast(text);
|
|
143
145
|
return `✅ Posted!\n\n${formatCast(cast)}`;
|
|
@@ -147,6 +149,8 @@ async function handleReply(args) {
|
|
|
147
149
|
const text = textParts.join(' ');
|
|
148
150
|
if (!hash || !text)
|
|
149
151
|
return '❌ Usage: /fc reply <hash> <text>';
|
|
152
|
+
if (!process.env.NEYNAR_SIGNER_UUID)
|
|
153
|
+
return '❌ Set NEYNAR_SIGNER_UUID to post casts.';
|
|
150
154
|
const client = (0, farcaster_1.getNeynarClient)();
|
|
151
155
|
const cast = await client.postCast(text, { parentHash: hash });
|
|
152
156
|
return `✅ Replied!\n\n${formatCast(cast)}`;
|
|
@@ -154,6 +158,8 @@ async function handleReply(args) {
|
|
|
154
158
|
async function handleLike(hash) {
|
|
155
159
|
if (!hash)
|
|
156
160
|
return '❌ Usage: /fc like <hash>';
|
|
161
|
+
if (!process.env.NEYNAR_SIGNER_UUID)
|
|
162
|
+
return '❌ Set NEYNAR_SIGNER_UUID to interact.';
|
|
157
163
|
const client = (0, farcaster_1.getNeynarClient)();
|
|
158
164
|
await client.likeCast(hash);
|
|
159
165
|
return `✅ Liked cast ${hash.slice(0, 10)}...`;
|
|
@@ -161,6 +167,8 @@ async function handleLike(hash) {
|
|
|
161
167
|
async function handleRecast(hash) {
|
|
162
168
|
if (!hash)
|
|
163
169
|
return '❌ Usage: /fc recast <hash>';
|
|
170
|
+
if (!process.env.NEYNAR_SIGNER_UUID)
|
|
171
|
+
return '❌ Set NEYNAR_SIGNER_UUID to interact.';
|
|
164
172
|
const client = (0, farcaster_1.getNeynarClient)();
|
|
165
173
|
await client.recastCast(hash);
|
|
166
174
|
return `✅ Recasted ${hash.slice(0, 10)}...`;
|
|
@@ -168,6 +176,8 @@ async function handleRecast(hash) {
|
|
|
168
176
|
async function handleFollow(username) {
|
|
169
177
|
if (!username)
|
|
170
178
|
return '❌ Usage: /fc follow <username>';
|
|
179
|
+
if (!process.env.NEYNAR_SIGNER_UUID)
|
|
180
|
+
return '❌ Set NEYNAR_SIGNER_UUID to follow users.';
|
|
171
181
|
const client = (0, farcaster_1.getNeynarClient)();
|
|
172
182
|
const user = await client.getUserByUsername(username.replace('@', ''));
|
|
173
183
|
await client.followUser(user.fid);
|
|
@@ -176,6 +186,8 @@ async function handleFollow(username) {
|
|
|
176
186
|
async function handleUnfollow(username) {
|
|
177
187
|
if (!username)
|
|
178
188
|
return '❌ Usage: /fc unfollow <username>';
|
|
189
|
+
if (!process.env.NEYNAR_SIGNER_UUID)
|
|
190
|
+
return '❌ Set NEYNAR_SIGNER_UUID to unfollow users.';
|
|
179
191
|
const client = (0, farcaster_1.getNeynarClient)();
|
|
180
192
|
const user = await client.getUserByUsername(username.replace('@', ''));
|
|
181
193
|
await client.unfollowUser(user.fid);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/farcaster/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/farcaster/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: features
|
|
3
|
+
description: "Real-time market features and trading signals"
|
|
4
|
+
command: features
|
|
5
|
+
emoji: "📈"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Features
|
|
9
|
+
|
|
10
|
+
View real-time market features and trading signals computed from tick and orderbook data.
|
|
11
|
+
|
|
12
|
+
## Commands
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/features get <platform> <marketId> Get features for a specific market
|
|
16
|
+
/features all List all tracked markets
|
|
17
|
+
/features signals <platform> <marketId> Get trading signals and recommendations
|
|
18
|
+
/features stats Show feature engine statistics
|
|
19
|
+
/features help Show help
|
|
20
|
+
```
|