{"uid":"cap_0-lmj6_rsC9AQsr8Eyu3p","slug":"verdict-l402-pre-trade-risk-gate-e4c68b80","name":"Verdict L402 – Pre-Trade Risk Gate","description":"Pre-trade risk check for traders and trading bots. Before an order is sent, checks it exactly against your own rules (risk per trade, daily loss, max loss, cooldown after a loss, trade quota, blocked hours, days and instruments, minimum reward to risk) and computes the largest size still allowed. If","url":"https://verdict.kechlab.com/v1/trade-gate?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"now":{"description":"(optional) ISO date and time of the order, for excluded hours and days"},"news":{"description":"(optional) recent headlines or news about the instrument"},"order":{"type":"object","description":"{ symbol, side (long|short), entry, stop, target (optional), size or risk_amount, point_value (optional, value of one point per unit) }"},"rules":{"type":"object","description":"(optional) { max_risk_pct, daily_loss_pct, max_loss_pct, trailing, max_trades_per_day, cooldown_minutes_after_loss, max_consecutive_losses, min_rr, blocked_hours, blocked_weekdays, blocked_symbols, blocked_side, no_size_up_after_loss }: the trade-audit flight plan plugs in as is"},"account":{"type":"object","description":"{ equity, start_of_day_equity, day_pnl, initial_balance, peak_equity, open_risk, trades_today, consecutive_losses, minutes_since_last_loss, usual_risk_amount } (equity required, the rest optional)"},"rationale":{"type":"string","description":"(optional) why you take this trade, in one or two sentences"}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.0174","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.0174/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0174","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0174","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Eccvh8ksFw68EqsLqMA7M","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.0174","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates a proposed trade order against user-defined risk rules and computes the maximum allowable position size before the order is sent to market.","exampleAgentPrompt":"Before I send this long EURUSD order — entry 1.0850, stop 1.0800, target 1.0920, risking $200 — check it against my rules: max 1% risk per trade, daily loss limit 3%, cooldown 60 minutes after a loss, minimum 1.5 R:R. My account equity is $20,000, I'm down $300 today and had one loss 30 minutes ago.","exampleUseCases":[{"title":"Trading bot pre-order safety check","prompt":"My algo bot is about to send a short NQ futures order — entry 18500, stop 18560, size 2 contracts, point value $20. My equity is $50,000, start-of-day equity was $51,000, I've already made 4 trades today. Check it against these rules: max 1% risk per trade, max 3 trades per day, daily loss limit 2%, no trading after 3pm EST. It's 2:45pm EST right now."},{"title":"Manual trader enforcing drawdown rules","prompt":"I want to go long on AAPL at $182.50 with a stop at $180.00 and target $187.50, risking $500. My account has $30,000 equity, peak equity was $32,000, I'm down $800 today. My rules are: max 2% risk per trade, max 5% drawdown from peak, max daily loss 3%, minimum R:R of 2. Can I take this trade?"},{"title":"Cooldown and blocked-hours enforcement","prompt":"I'm thinking of shorting BTCUSD — entry $65,000, stop $65,800, risk amount $300, account equity $15,000. My rules say: no trading on Mondays, blocked hours 8am–10am UTC, 45-minute cooldown after any loss, max 2 consecutive losses. I had a loss 20 minutes ago and today is Monday at 9am UTC — should I place this trade?"}],"resultDescription":"Returns a structured verdict indicating whether the trade passes or fails the specified rules, the maximum position size allowed under current account conditions, which specific rules were triggered or violated, and computed metrics such as actual risk percentage and reward-to-risk ratio.","failureModes":["Missing required 'equity' field in account object returns validation error","Invalid side value (not 'long' or 'short') causes rejection","Stop price equal to or beyond entry price yields invalid R:R computation","Malformed ISO datetime in 'now' field causes parsing error","Payment header missing or insufficient USDC balance returns 402 Payment Required","Conflicting rule parameters (e.g. zero max_risk_pct) may produce zero-size result"],"whenToPreferThis":"Choose this endpoint when you need deterministic, rule-based pre-trade risk enforcement before any order is submitted — especially for trading bots, automated strategies, or disciplined manual traders who need to enforce position sizing, daily loss limits, cooldown periods, and blocked trading windows without relying on broker-side controls. Prefer it over general-purpose LLM reasoning for risk checks when auditability and exact rule application matter.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-21T07:20:53.031Z","isFirstParty":false,"canonicalSlug":"verdict-l402-pre-trade-risk-gate-e4c68b80"}