Do Not Act

Do Not Act v1.3 · paid onboarding paused · read-only research mode

Do Not Act is paused as a paid product.

We are no longer accepting Builder subscriptions, paid audits, placements, or x402 per-call payments while the system is being evaluated as a research dataset for paper/shadow trading. Do not send payment. Existing public diagnostics and documentation remain available read-only.

Payment safety notice: new Stripe checkout, Builder activation and x402 payment challenges are disabled. If you believe you already paid, contact support@donotact.com before retrying anything.

Do not route blind agents into disputed markets. Start with a Public sample, Try public demo, inspect the Event log at /dispute-events, then wire the Default safety check into the bot loop.

Test one live gate - no signup

Try , , or change the size before running.

ready Run a live stop/go check.

No card, no account, no private keys.

01Observe

Resolver type, dispute history, token-risk evidence and public book state.

02Decide

Turn dispute and resolution ambiguity into enforceable stop/go states.

03Try safely

Read-only checks. No custody, no signing, no execution.

04Prove

Signed receipts and Merkle-covered proof feeds.

05Operate

Watchlists, webhooks and streams when the gate belongs in production.

why it exists

Alerts tell you what happened. Watchlists decide what the bot must not do.

Polymarket agents can read public market data. The operational failure is still acting when the resolution path is disputed, ambiguous, stale, too thin for the requested size, or missing enough evidence to continue safely.

Do Not Act puts a read-only, machine-readable watchlist gate immediately before execution: proceed, slow down, or stop with signed evidence.

why it is safe to try

The first integration has near-zero operational downside.

READ_ONLYNo custody, no private keys, no order signing, no routing and no execution.
FAIL_CLOSEDMissing or weak evidence becomes CAUTION / DO_NOT_ACT / INSUFFICIENT_EVIDENCE, not false confidence.
VERIFIABLEResponses can carry signed receipts and public proof feeds are covered by a daily Merkle root.
RESEARCH_ONLYCreate a free key and test the gate in paper/shadow mode. Paid Builder API and x402 payments are paused.

public contract

One decision contract before capital moves.

GET /v1/dispute/{venue}/{market_id}

Converts UMA lifecycle and dispute history into stop/go evidence.

GET /v1/resolution-risk/{venue}/{market_id}

Scores settlement-rule ambiguity, source hierarchy and mechanism risk.

GET /v1/preflight/{venue}/{market_id}

Applies requested side, notional and slippage policy to live public-book capacity.

GET /v1/preflight/token/{chain}/{address}

Runs the T1-T8 token-risk gate before an agent buys a token.

WEBSOCKET /v1/preflight/stream

Keeps a Risk Gateway verdict live for agents that cannot afford slow manual polling. Paid stream onboarding is paused.

WEBSOCKET /v1/alerts/stream

Streams watchlist alert snapshots for operators that need a reconciliable feed.

GET /v1/dispute-history.csv

Exports dispute-ledger history for research, reconciliation and post-run audit. Paid export onboarding is paused.

GET /x402/v1/dispute/{venue}/{market_id}

Machine-payment route is paused for new payments and returns payments_paused instead of a new challenge.

GET /x402/v1/preflight/token/{chain}/{address}

Token-risk machine-payment route is paused for new payments and returns payments_paused instead of a new challenge.

The primary wedge is UMA dispute and resolution risk for Polymarket agents. Token-risk, WebSocket, MCP and x402 extend the same guard-clause contract, but the proof-backed adoption path starts with disputed prediction markets.

The response vocabulary is built for enforcement, not dashboards: READY, CAUTION, DO_NOT_ACT, or INSUFFICIENT_EVIDENCE. Reason codes show the blocker and the evidence needed to change the answer.

For trading systems where latency matters, WebSocket snapshots reduce integration overhead versus repeated polling. Do Not Act stays diagnostic and read-only; execution remains in the caller.

live example object

Dispute history becomes an enforceable stop.

Every response packages source evidence, verdict, reason codes and next evidence together so the agent can halt with context.

{
  "schema_version": "donotact_dispute_v1",
  "venue": "polymarket",
  "market_id": "580810",
  "decision_schema_version": "donotact_resolution_governance_v1_3",
  "decision_domain": "prediction_market_resolution",
  "resolver_type": "uma_moov2_managed",
  "resolver_governance": {
    "dispute_trail": "on_chain",
    "platform_override_possible": true
  },
  "resolution_risk_classes": ["R8_RESOLUTION_AMBIGUITY"],
  "verdict": "DO_NOT_ACT",
  "lifecycle_state": "proposed",
  "status_history": ["proposed", "disputed"],
  "has_disputed_history": true,
  "no_trade_reasons": [
    {
      "class": "R8_RESOLUTION_AMBIGUITY",
      "code": "UMA_DISPUTE_DETECTED",
      "advisory": false
    }
  ],
  "what_would_change_this": [
    "dispute resolved or clarified",
    "review authenticated dispute ledger"
  ],
  "not_advice": true
}

proof / resolved cases

Evidence your agent can defend later.

These cases show the control layer on real disputed markets: stop conditions, source-linked evidence and signed records your agent can preserve before the market narrative changes.

Every public proof feed is covered by a signed daily Merkle root at /proof-root.json, with public verification through POST /v1/proof-root/verify.

backtest · signed

MicroStrategy purchase Bitcoin, Aug 26-Sep 1

Diagnostic record -> disputed UMA history -> resolved No.

Signed JSON
backtest · signed

MicroStrategy purchase Bitcoin, Jul 1-7

Disputed resolution arc -> signed stop-condition proof -> resolved No.

Signed JSON
backtest · signed

Outlast: The Jungle top Netflix show

Disputed resolution arc -> signed stop-condition proof -> resolved No.

Signed JSON
backtest · signed

Trump says "Fight" during UFC 250

Disputed resolution arc -> signed stop-condition proof -> resolved Yes.

Signed JSON

Resolved dispute arcs and live pre-action records. Use these as source-linked operational proof cases. Open all proof cases, inspect the live pre-action evidence feed, or use the launch proof pack.

reason taxonomy

Every rejection becomes a machine-readable cause.

R8_RESOLUTION_AMBIGUITYsubjective wording, unclear source hierarchy, disputed history
R1_WALLET_BINDINGaccount class, signature type, protocol version
R2_ALLOWANCE_BALANCEbalance, allowance, asset wrapper readiness
R3_TICK_PRECISIONtick size, price precision, payload validity
R4_METADATA_READINESSmarket state, negative-risk and metadata completeness
R5_MARKET_STATEactive, closed, paused, settled or degraded venue state
R6_BOOK_STALENESS_LIQUIDITYspread, depth, book age, slippage estimate
R7_EXIT_LIQUIDITYexit-side constraints in the Risk Gateway extension
R9_INSUFFICIENT_EVIDENCEcomponent evidence gaps that force fail-closed behavior
R10_CLIENT_POLICYcaller policy constraints such as max slippage or conservative mode
R11_CROSS_VENUE_DIVERGENCEcross-venue evidence mismatch or non-fungible terms
R12_PLATFORM_DISCRETIONplatform or resolver can override the expected oracle path
R13_RESOLVER_CONFLICTresolver set, proposer set or governance path carries conflict risk
R14_PRECEDENT_CONFLICTsimilar markets resolved differently or precedent evidence conflicts
R15_ORACLE_DEPENDENCYresolution depends on external feed timing, source quality or outage risk
R16_RULE_MUTATIONrules, source hierarchy or timing changed after market creation

proof surface

Every verdict should leave a receipt.

Each authenticated diagnostic response carries a receipt that can be verified offline against the public receipt key. Operators can prove what the API returned before the outside state evolved.

The moat is the maintained enforcement layer: adapters for live risk evidence, requested-action context, streaming updates and receipt proof packaged into one decision your agent can enforce and your operator can audit.

integration guardrail

Risk Gateway applies requested action to the answer.

Preflight catches public blockers such as metadata readiness, precision, venue state, stale books, token-risk evidence, and liquidity gaps. With Do Not Act v1.3, agents pass side, notional, slippage tolerance, policy and horizon.

The response adds decision, component_scores, blocking_reasons, warning_reasons, risk_score, liquidity_confidence_score, and safe_operating_limits. Safe size is computed from live CLOB depth, not a Gamma-only flag. Reading one field is easy; enforcing size-aware stop/go before capital moves is the product.

resolution risk

Settlement rules are the risk layer many agents skip.

Resolution ambiguity is operational risk. The API surfaces ambiguity patterns such as subjective terms, undefined edge cases, venue-internal resolution, weak source hierarchy, and missing appeal mechanisms.

An agent can be technically ready to submit and still face unacceptable resolution risk. Do Not Act keeps those dimensions separate.

agent-readable presence

Designed for agents before dashboards.

Use /llms.txt for compact product context, /openapi.json for the contract, and the docs pages for human review. Agents can wire DO_NOT_ACT and INSUFFICIENT_EVIDENCE directly into halt paths before money moves.

Remote MCP is live at /mcp, including donotact_preflight and donotact_preflight_token. One-off machine-paid dispute diagnostics and token-risk paid calls are paused for new payments.

current access

Create a key. Put the gate before capital moves.

Access starts from an account. Free keys remain available for read-only research. Account-first paid checkout is paused.

Free/read-only: start without a card and run the gate inside quota across dispute, resolution-risk, action-aware preflight and token-risk diagnostics. Paid access: paused. No Builder subscription, paid audit, placement, or x402 per-call purchase should be made now.

Create free API key / Check payment status / Run the 3-minute integration test / Login to existing account

Payment status / Access and rate limits

Polymarket dispute API / Polymarket bot slippage gate / x402 risk API

For agents: do not send x402 or Polygon USDC payment. New unpaid x402 requests return payments_paused and do not issue a payment challenge.