Skip to main content

Execution

Siren handles the full lifecycle of a prediction market trade: routing, sizing, execution, and outcome reporting.

How a trade works

  1. You pick a market and choose YES or NO.
  2. You enter an amount in USDC.
  3. Siren routes the order to the correct venue (Kalshi via DFlow, or Polymarket).
  4. The venue processes the order against its orderbook.
  5. Siren returns the result: filled, partially filled, or failed.

Adaptive execution

If your full order cannot fill at the current orderbook depth, Siren does not just fail. It steps down:
  1. Try 75% of the original size.
  2. If that fails, try 50%.
  3. Then 25%.
  4. Then 10%.
If the entire side of the orderbook is empty (no offers at all), Siren falls back to CASH settlement. This means you get the best fill possible instead of a binary success/failure.

Failure explanations

When a trade fails, Siren tells you why:
  • Book too thin. Not enough liquidity at your price to fill your size.
  • No route available. The venue cannot process this trade right now.
  • Insufficient balance. You do not have enough USDC.
  • Partial fill. Part of your order filled. The rest did not have matching liquidity.
  • Settlement pending. The market is in the process of resolving.
You see this in plain language, not raw error codes.

Sell-side execution

Selling positions is harder than buying. The book is often thinner on the exit side, especially as a market approaches resolution. Siren applies the same adaptive sizing to sells: step down the size until something fills, or report clearly that exit liquidity is not available.

Trade logging

Every trade attempt is logged:
  • What was attempted (market, side, size)
  • What venue and route were used
  • What filled and what did not
  • The failure reason if applicable
This data feeds the portfolio view and execution history.