{
  "schema_version": "donotact_x402_discovery_v1",
  "name": "Do Not Act x402",
  "description": "Machine-payable DoNotAct diagnostics for agents: dispute lifecycle and token-risk preflight. Routes return READY, CAUTION, DO_NOT_ACT or INSUFFICIENT_EVIDENCE with structured reasons and not_advice=true.",
  "canonical_url": "https://donotact.com/.well-known/x402",
  "status_url": "https://donotact.com/x402/status",
  "docs_url": "https://donotact.com/docs/x402",
  "openapi_url": "https://donotact.com/openapi.json",
  "llms_url": "https://donotact.com/llms.txt",
  "quickstart_tx_hash_bridge": {
    "purpose": "Complete one paid verdict from any agent that can send accepted Polygon stablecoins but cannot yet build a standard x402 PaymentPayload.",
    "challenge_request": {
      "method": "GET",
      "url": "https://donotact.com/x402/v1/dispute/polymarket/580810",
      "expected_status": 402
    },
    "payment_instruction": "Read expected_payment from the 402 JSON body. Send exactly expected_payment.amount_atomic using one contract from expected_payment.accepted_assets on expected_payment.network to expected_payment.pay_to. Wait for confirmation.",
    "paid_retry": {
      "method": "GET",
      "url": "https://donotact.com/x402/v1/dispute/polymarket/580810",
      "header": "X-402-Tx-Hash: <confirmed transaction hash>",
      "tx_hash_format": "0x-prefixed 32-byte transaction hash is recommended; bare 64-character hex is also accepted.",
      "expected_success_status": 200,
      "expected_success_payment_settlement": "verified_on_chain_and_consumed_once"
    },
    "fail_closed_notes": [
      "402 after retry means the proof was not accepted or not confirmed.",
      "409 means the transaction hash was already consumed.",
      "Never send to a remembered wallet; use the challenge pay_to.",
      "Never use a remembered price; use the challenge amount."
    ]
  },
  "resources": [
    {
      "id": "donotact-dispute-polymarket",
      "method": "GET",
      "route": "/x402/v1/dispute/{venue}/{market_id}",
      "url_template": "https://donotact.com/x402/v1/dispute/{venue}/{market_id}",
      "example_url": "https://donotact.com/x402/v1/dispute/polymarket/580810",
      "discoverable": true,
      "venue": "polymarket",
      "market_id_example": "580810",
      "price": "$0.01",
      "amount_atomic": 10000,
      "asset": {
        "network": "eip155:137",
        "chain": "polygon",
        "symbol": "USDC",
        "contract": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
        "decimals": 6
      },
      "accepted_assets": [
        {
          "network": "eip155:137",
          "chain": "polygon",
          "symbol": "USDC",
          "contract": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
          "decimals": 6,
          "kind": "native_usdc"
        },
        {
          "network": "eip155:137",
          "chain": "polygon",
          "symbol": "USDC.e",
          "contract": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
          "decimals": 6,
          "kind": "bridged_usdc"
        }
      ],
      "payment": {
        "standard": "x402 v2 exact payment via CDP facilitator",
        "preferred_retry_headers": [
          "PAYMENT-SIGNATURE",
          "x-payment"
        ],
        "compatibility_retry_header": "X-402-Tx-Hash",
        "challenge_authority": "Use the 402 response challenge as the source of truth for pay_to, amount, asset and network. Do not reuse transaction hashes."
      },
      "input_schema": {
        "type": "object",
        "required": [
          "venue",
          "market_id"
        ],
        "properties": {
          "venue": {
            "type": "string",
            "enum": [
              "polymarket"
            ]
          },
          "market_id": {
            "type": "string",
            "description": "Polymarket market id, for example 580810."
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "type": "object",
        "required": [
          "schema_version",
          "venue",
          "market_id",
          "verdict",
          "not_advice",
          "payment"
        ],
        "properties": {
          "schema_version": {
            "type": "string"
          },
          "venue": {
            "type": "string"
          },
          "market_id": {
            "type": "string"
          },
          "verdict": {
            "type": "string",
            "enum": [
              "READY",
              "CAUTION",
              "DO_NOT_ACT",
              "INSUFFICIENT_EVIDENCE"
            ]
          },
          "no_trade_reasons": {
            "type": "array"
          },
          "what_would_change_this": {
            "type": "array"
          },
          "source_refs": {
            "type": "array"
          },
          "payment": {
            "type": "object"
          },
          "not_advice": {
            "type": "boolean",
            "const": true
          }
        }
      },
      "output": {
        "content_type": "application/json",
        "key_fields": [
          "schema_version",
          "venue",
          "market_id",
          "verdict",
          "no_trade_reasons",
          "what_would_change_this",
          "source_refs",
          "not_advice",
          "payment"
        ]
      }
    },
    {
      "id": "donotact-token-risk-preflight",
      "method": "GET",
      "route": "/x402/v1/preflight/token/{chain}/{address}",
      "url_template": "https://donotact.com/x402/v1/preflight/token/{chain}/{address}",
      "example_url": "https://donotact.com/x402/v1/preflight/token/bsc/0x8f96e9348898b498a2b4677f4c8abdad64e4349f",
      "discoverable": true,
      "domain": "token",
      "price": "$0.02 default, configurable by 402 challenge",
      "amount_atomic_default": 20000,
      "asset": {
        "network": "eip155:137",
        "chain": "polygon",
        "symbol": "USDC",
        "contract": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
        "decimals": 6
      },
      "accepted_assets": [
        {
          "network": "eip155:137",
          "chain": "polygon",
          "symbol": "USDC",
          "contract": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
          "decimals": 6,
          "kind": "native_usdc"
        },
        {
          "network": "eip155:137",
          "chain": "polygon",
          "symbol": "USDC.e",
          "contract": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
          "decimals": 6,
          "kind": "bridged_usdc"
        }
      ],
      "payment": {
        "standard": "transaction-hash bridge",
        "preferred_retry_headers": [
          "X-402-Tx-Hash"
        ],
        "challenge_authority": "Use the 402 response challenge as source of truth for pay_to, amount, asset and network. Do not reuse transaction hashes."
      },
      "input_schema": {
        "type": "object",
        "required": [
          "chain",
          "address"
        ],
        "properties": {
          "chain": {
            "type": "string",
            "description": "Token chain slug accepted by the token-risk endpoint, for example bsc or ethereum."
          },
          "address": {
            "type": "string",
            "description": "Token contract address."
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "type": "object",
        "required": [
          "schema_version",
          "domain",
          "chain",
          "address",
          "verdict",
          "not_advice",
          "payment"
        ],
        "properties": {
          "schema_version": {
            "type": "string"
          },
          "domain": {
            "type": "string",
            "const": "token"
          },
          "chain": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "verdict": {
            "type": "string",
            "enum": [
              "READY",
              "CAUTION",
              "DO_NOT_ACT",
              "INSUFFICIENT_EVIDENCE"
            ]
          },
          "decision": {
            "type": "string"
          },
          "no_trade_reasons": {
            "type": "array"
          },
          "token_security": {
            "type": "object"
          },
          "source_refs": {
            "type": "array"
          },
          "receipt": {
            "type": "object"
          },
          "payment": {
            "type": "object"
          },
          "not_advice": {
            "type": "boolean",
            "const": true
          }
        }
      },
      "output": {
        "content_type": "application/json",
        "key_fields": [
          "schema_version",
          "domain",
          "chain",
          "address",
          "verdict",
          "decision",
          "no_trade_reasons",
          "token_security",
          "source_refs",
          "receipt",
          "payment",
          "not_advice"
        ]
      }
    }
  ],
  "boundaries": {
    "execution": false,
    "custody": false,
    "private_keys": false,
    "order_signing": false,
    "financial_advice": false,
    "performance_claims": false
  },
  "discovery_version": "2026-06-26.1",
  "not_advice": true
}
