Prediction Markets
Position sizing and exposure governance for crypto prediction market positions on Polymarket and similar venues.
Free during beta
The problem
A 70% conviction bet on BTC hitting $100K doesn’t tell you how much capital to deploy. Without regime-aware sizing, prediction market positions are unsized directional bets.
Long BTC spot, long BTC perps, and long ‘BTC above $90K’ on Polymarket are three expressions of the same directional bet. Without unified exposure tracking, a single move can hit all three.
Autonomous agents placing prediction market bets need guardrails. Without a pre-trade check, an agent can concentrate 100% of capital into a single binary outcome during a PANIC regime.
How it works
max_size_fraction caps how much capital you can deploy to any single prediction market position. Caps tighten in PANIC/SQUEEZE regimes and widen in confirmed TREND — matching prediction confidence to market conditions.
The API returns tactical_state (LEAN BULL/BEAR/NEUTRAL), market_regime (5 states), and cycle_phase (8 phases). Use these to calibrate prediction confidence before placing bets.
structural_blockers halt execution when data is stale or conditions are extreme. allowed_actions control what your agent can do. No prediction bet should bypass the governance check.
API response
max_size_fractionMaximum capital allocation per prediction market position
tactical_stateDirectional bias to calibrate prediction confidence
market_regimePANIC, EUPHORIA, SQUEEZE, TREND, or RANGE — context for binary outcomes
risk_flagsActive warnings and blockers relevant to directional crypto bets
Request
curl -X POST https://riskstate.netlify.app/v1/risk-state \
-H "Authorization: Bearer $RISKSTATE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"asset": "BTC"}'Response
{
"exposure_policy": {
"max_size_fraction": 0.42, // ◀
"leverage_allowed": true, // ◀
"allowed_actions": ["DCA", "LONG_SHORT_CONFIRMED"],
"blocked_actions": ["ALL_IN", "LEVERAGE_GT_2X"]
},
"tactical_state": "LEAN BULL", // ◀
"market_regime": "TREND",
"policy_level": 4,
"binding_constraint": {
"source": "MACRO", // ◀
"reason_codes": ["MACRO_NEUTRAL", "COUPLING_NORMAL"]
},
"risk_flags": {
"structural_blockers": [],
"context_risks": ["HIGH_COUPLING", "TREND_NOT_CONFIRMED"]
}
}One POST request. Deterministic policy. No ML to train, no rules to write.
RiskState provides max_size_fraction — a regime-aware cap on how much capital to deploy per position. If you have $10K and max_size_fraction is 0.25, your maximum prediction market bet is $2,500. This cap tightens automatically when market conditions deteriorate (PANIC, SQUEEZE, extreme volatility) and widens when conditions are favorable.
Yes. RiskState is venue-agnostic — it provides risk permissions, not execution. Call the API before placing any Polymarket position. Use the tactical_state and market_regime to calibrate your prediction confidence, and max_size_fraction to cap your position size. The API works with any prediction market platform.
No. RiskState does not predict prices, outcomes, or probabilities. It tells you how much risk is allowed given current market conditions. You bring the prediction (your conviction on an outcome); RiskState tells you the maximum position size that’s appropriate given the current market regime, volatility, and macro environment.
Your agent decides which prediction to take (its own intelligence). Before placing the bet, it calls POST /v1/risk-state to get risk permissions. It checks structural_blockers (non-empty = halt), reads max_size_fraction (size cap), and verifies its intended action is in allowed_actions. Three lines of governance before every bet. Works with any agent framework.
RiskState is purpose-built for BTC and ETH market conditions. It scores crypto-specific signals (MVRV, funding rates, on-chain metrics). For non-crypto prediction markets (politics, sports, weather), the risk permissions would reflect crypto market state, not the prediction topic. Use RiskState for crypto-correlated predictions.
Free during beta. API key delivered instantly.