Triggers Conditional orders that auto-execute when price thresholds are met
이커머스 개발
Triggers - Complete API Reference
Set up conditional orders that automatically execute trades when price conditions are met. Works across prediction markets, futures, and crypto spot.
Chat Commands
Create Trigger Orders
/trigger buy poly "Trump 2028" YES below 0.40 size 100
/trigger buy poly "Fed rate" NO above 0.60 size 50
/trigger sell poly "Trump 2028" YES above 0.55 size all
Futures Triggers
/trigger long binance BTCUSDT below 95000 size 0.1 leverage 10x
/trigger short binance ETHUSDT above 4000 size 1 leverage 20x
/trigger close binance BTCUSDT above 105000
Crypto Spot Triggers
npx skills add shreed27/DAIN
스타 0
업데이트 2026. 2. 6.
직업 /trigger buy sol SOL below 180 size 100usdc
/trigger sell eth ETH above 4000 size 0.5
/trigger swap arb USDC to ARB below 1.50 size 500
Manage Triggers /triggers List all active triggers
/triggers pending Show pending only
/triggers history Triggered order history
/trigger cancel <id> Cancel trigger
/trigger cancel all Cancel all triggers
Stop-Loss & Take-Profit /sl poly "Trump" at 0.35 Stop-loss on position
/tp poly "Trump" at 0.65 Take-profit on position
/trailing-stop poly "Trump" 10% Trailing stop (% from high)
TypeScript API Reference
Create Trigger Service import { createTriggerService } from 'clodds/triggers';
const triggers = createTriggerService({
// Price monitoring
checkIntervalMs: 5000, // Check every 5 seconds
// Execution
maxSlippagePercent: 2,
retryAttempts: 3,
// Storage
storage: 'sqlite',
dbPath: './triggers.db',
});
// Start monitoring
await triggers.start();
Create Prediction Market Trigger // Buy YES when price drops below threshold
const trigger = await triggers.create({
type: 'entry',
platform: 'polymarket',
market: 'will-trump-win-2028',
side: 'YES',
direction: 'below',
triggerPrice: 0.40,
size: 100, // $100
orderType: 'limit', // 'market' | 'limit'
limitPrice: 0.41, // Optional: max price for limit
});
console.log(`Trigger ID: ${trigger.id}`);
console.log(`Status: ${trigger.status}`); // 'pending'
// Sell when price rises above threshold
await triggers.create({
type: 'exit',
platform: 'polymarket',
market: 'will-trump-win-2028',
side: 'YES',
direction: 'above',
triggerPrice: 0.55,
size: 'all', // Sell entire position
});
Create Futures Trigger // Long entry when BTC drops below support
await triggers.create({
type: 'entry',
platform: 'binance',
symbol: 'BTCUSDT',
side: 'long',
direction: 'below',
triggerPrice: 95000,
size: 0.1,
leverage: 10,
// Auto-set SL/TP on fill
stopLoss: 93000,
takeProfit: 105000,
});
// Short entry when ETH breaks above resistance
await triggers.create({
type: 'entry',
platform: 'bybit',
symbol: 'ETHUSDT',
side: 'short',
direction: 'above',
triggerPrice: 4000,
size: 1,
leverage: 20,
});
// Close position when price target hit
await triggers.create({
type: 'exit',
platform: 'binance',
symbol: 'BTCUSDT',
direction: 'above',
triggerPrice: 105000,
size: 'all',
});
Create Crypto Spot Trigger // Buy SOL when price drops
await triggers.create({
type: 'entry',
platform: 'jupiter', // Solana DEX
tokenIn: 'USDC',
tokenOut: 'SOL',
direction: 'below',
triggerPrice: 180,
size: 100, // 100 USDC
slippagePercent: 1,
});
// Sell ETH when price rises
await triggers.create({
type: 'exit',
platform: 'uniswap', // EVM DEX
chain: 'ethereum',
tokenIn: 'ETH',
tokenOut: 'USDC',
direction: 'above',
triggerPrice: 4000,
size: 0.5,
});
Stop-Loss & Take-Profit // Set stop-loss on existing position
await triggers.setStopLoss({
platform: 'polymarket',
market: 'will-trump-win-2028',
side: 'YES',
triggerPrice: 0.35,
size: 'all',
});
// Set take-profit
await triggers.setTakeProfit({
platform: 'polymarket',
market: 'will-trump-win-2028',
side: 'YES',
triggerPrice: 0.65,
size: 'all',
});
// Trailing stop (follows price up, triggers on pullback)
await triggers.setTrailingStop({
platform: 'polymarket',
market: 'will-trump-win-2028',
side: 'YES',
trailPercent: 10, // Trigger if drops 10% from high
size: 'all',
});
Multi-Condition Triggers // Trigger only when multiple conditions met
await triggers.create({
type: 'entry',
platform: 'polymarket',
market: 'will-trump-win-2028',
side: 'YES',
conditions: [
{ type: 'price', direction: 'below', value: 0.40 },
{ type: 'volume24h', direction: 'above', value: 100000 },
{ type: 'spread', direction: 'below', value: 0.02 },
],
// All conditions must be true
conditionLogic: 'AND', // 'AND' | 'OR'
size: 100,
});
One-Cancels-Other (OCO) // OCO: Either SL or TP triggers, other cancels
const oco = await triggers.createOCO({
platform: 'binance',
symbol: 'BTCUSDT',
stopLoss: {
direction: 'below',
triggerPrice: 93000,
size: 'all',
},
takeProfit: {
direction: 'above',
triggerPrice: 105000,
size: 'all',
},
});
List & Manage Triggers // List all triggers
const all = await triggers.list();
for (const t of all) {
console.log(`${t.id}: ${t.platform} ${t.market || t.symbol}`);
console.log(` ${t.direction} ${t.triggerPrice}`);
console.log(` Status: ${t.status}`);
console.log(` Created: ${t.createdAt}`);
}
// Get pending only
const pending = await triggers.list({ status: 'pending' });
// Get history (triggered)
const history = await triggers.list({ status: 'triggered' });
// Cancel trigger
await triggers.cancel(triggerId);
// Cancel all
await triggers.cancelAll();
Event Handlers // Trigger activated
triggers.on('triggered', async (trigger, result) => {
console.log(`Trigger ${trigger.id} activated!`);
console.log(`Order: ${result.orderId}`);
console.log(`Fill price: ${result.fillPrice}`);
console.log(`Size: ${result.filledSize}`);
});
// Trigger failed
triggers.on('failed', (trigger, error) => {
console.error(`Trigger ${trigger.id} failed: ${error.message}`);
});
// Price approaching trigger
triggers.on('approaching', (trigger, currentPrice) => {
console.log(`Price ${currentPrice} approaching trigger at ${trigger.triggerPrice}`);
});
Prediction Markets Platform Entry Triggers Exit Triggers SL/TP Polymarket ✓ ✓ ✓ Kalshi ✓ ✓ ✓ Manifold ✓ ✓ ✓
Futures Platform Entry Triggers Native Triggers SL/TP Binance ✓ ✓ ✓ Bybit ✓ ✓ ✓ MEXC ✓ ✓ Native ✓ Hyperliquid ✓ ✓ ✓
Crypto Spot Platform Entry Triggers Exit Triggers Jupiter (Solana)✓ ✓ Raydium ✓ ✓ Uniswap (EVM)✓ ✓ 1inch (EVM)✓ ✓
Trigger Types Type Description entry Open new position when triggered exit Close position when triggered stop-loss Exit to limit losses take-profit Exit to lock in gains trailing-stop Dynamic stop that follows price oco One-cancels-other (SL + TP pair)
Price Sources Platform Price Source Polymarket WebSocket mid price Kalshi REST API best bid/ask Binance WebSocket mark price Bybit WebSocket last price Jupiter On-chain oracle
Examples
Prediction Market Strategy // Buy the dip, sell the rip
await triggers.create({
platform: 'polymarket',
market: 'trump-2028',
side: 'YES',
direction: 'below',
triggerPrice: 0.40,
size: 200,
});
await triggers.create({
platform: 'polymarket',
market: 'trump-2028',
side: 'YES',
direction: 'above',
triggerPrice: 0.55,
size: 'all',
});
Futures Breakout Strategy // Enter long on breakout above resistance
await triggers.create({
platform: 'binance',
symbol: 'BTCUSDT',
side: 'long',
direction: 'above',
triggerPrice: 100000,
size: 0.5,
leverage: 10,
stopLoss: 98000,
takeProfit: 110000,
});
DCA on Dips // Buy more as price drops
const levels = [180, 170, 160, 150];
for (const price of levels) {
await triggers.create({
platform: 'jupiter',
tokenOut: 'SOL',
tokenIn: 'USDC',
direction: 'below',
triggerPrice: price,
size: 50, // $50 at each level
});
}
Best Practices
Use limit orders — Avoid slippage on triggers
Set expiration — Don't leave triggers forever
Monitor execution — Check fill prices
Use OCO for exits — SL + TP together
Test with small size — Verify triggers work
Account for fees — Include in trigger price
02
Chat Commands
Triggers | Skills Pool