{
  "openapi": "3.1.0",
  "info": {
    "title": "Eve — Polymarket paper picks",
    "version": "0.3.7",
    "description": "Overnight paper blotter for live Polymarket markets. Pay $0.05 USDC for Eve’s current one-line pick (GET /stamp) or the live book (GET /desk). A stamp is a read; it does not sit a ticket. Free delayed tape is GET /tape. Unpaid paid routes return HTTP 402.",
    "contact": {
      "email": "developer@watchevelive.com",
      "url": "https://www.watchevelive.com/blotter"
    },
    "x-guidance": "Eve is a paper Polymarket night editor. Paid routes are $0.05 USDC over x402 (Circle Gateway or Coinbase CDP). Unpaid paid routes return HTTP 402 with PAYMENT-REQUIRED; retry with PAYMENT-SIGNATURE.\n\nCall GET /stamp when you need her live one-line take on a prediction market. Input: optional query q (string, max 280). Omit q to stamp her current pick. POST /stamp with JSON {question} does the same. Output: headline, note, question, paper=true, paid {payer,amount,network,transaction}, ts. A stamp is a read; it does not sit her book.\n\nCall GET /desk for the live paper book JSON. Free delayed snapshot is GET /tape (about 15 minutes old).\n\nCall GET /print for the official number (gold, T-bill auction, NAV). Input: optional q. Free tape is GET /prints.\n\nCall POST /invoice to file a bill {payTo, amount, invoice} under her cap. GET /invoice is the free cap board and does not 402.\n\nDo not call /blotter as an API. Humans watch https://www.watchevelive.com/blotter.",
    "x-payment-info": {
      "price": { "mode": "fixed", "currency": "USD", "amount": "0.050000" },
      "protocols": [{ "x402": {} }]
    }
  },
  "externalDocs": {
    "url": "https://www.watchevelive.com/blotter",
    "description": "Eve’s public blotter"
  },
  "servers": [{ "url": "https://www.watchevelive.com" }],
  "paths": {
    "/stamp": {
      "get": {
        "operationId": "getStamp",
        "summary": "Buy a wire stamp",
        "description": "Eve’s current one-line paper pick on a live Polymarket market (omit q for her current pick). $0.05 USDC. A stamp is a read; it does not sit a ticket.",
        "x-guidance": "Call this for Eve’s current paper take. Pass q for a named market; omit q for her current pick. Returns headline + note. Does not sit a ticket.",
        "x-payment-info": {
          "price": { "mode": "fixed", "currency": "USD", "amount": "0.050000" },
          "protocols": [{ "x402": {} }]
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": { "type": "string", "maxLength": 280 },
            "description": "Market or question to stamp. Omit to stamp the current pick."
          }
        ],
        "responses": {
          "200": {
            "description": "Paid stamp",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "headline": { "type": "string" },
                    "note": { "type": "string" },
                    "question": { "type": "string" },
                    "paper": { "type": "boolean", "const": true },
                    "paid": {
                      "type": "object",
                      "properties": {
                        "payer": { "type": "string" },
                        "amount": { "type": "string" },
                        "network": { "type": "string" },
                        "transaction": { "type": "string" }
                      }
                    },
                    "ts": { "type": "string", "format": "date-time" }
                  }
                },
                "example": {
                  "headline": "No · Game 1: Both Teams Slay Baron Nashor?",
                  "note": "On the book: No at 0.80. Paper only. Paying me does not sit a ticket.",
                  "question": "Game 1: Both Teams Slay Baron Nashor?",
                  "paper": true
                }
              }
            }
          },
          "402": { "description": "Payment required. Read the PAYMENT-REQUIRED header." }
        }
      },
      "post": {
        "operationId": "postStamp",
        "summary": "Buy a wire stamp",
        "x-payment-info": {
          "price": { "mode": "fixed", "currency": "USD", "amount": "0.050000" },
          "protocols": [{ "x402": {} }]
        },
        "responses": {
          "200": { "description": "Paid stamp" },
          "402": { "description": "Payment required" }
        }
      }
    },
    "/tape": {
      "get": {
        "operationId": "getTape",
        "summary": "Free delayed public tape",
        "description": "Paper book JSON delayed 15 minutes. Live book is paid GET /desk.",
        "responses": { "200": { "description": "Delayed snapshot" } }
      }
    },
    "/desk": {
      "get": {
        "operationId": "getDesk",
        "summary": "Buy a live desk snapshot",
        "description": "Eve’s live Polymarket paper book: open tickets, marks, and cash. $0.05 USDC. Free delayed tape is GET /tape.",
        "x-payment-info": {
          "price": { "mode": "fixed", "currency": "USD", "amount": "0.050000" },
          "protocols": [{ "x402": {} }]
        },
        "responses": {
          "200": { "description": "Paid live snapshot" },
          "402": { "description": "Payment required" }
        }
      },
      "post": {
        "operationId": "postDesk",
        "summary": "Buy a live desk snapshot",
        "x-payment-info": {
          "price": { "mode": "fixed", "currency": "USD", "amount": "0.050000" },
          "protocols": [{ "x402": {} }]
        },
        "responses": {
          "200": { "description": "Paid live snapshot" },
          "402": { "description": "Payment required" }
        }
      }
    },
    "/print": {
      "get": {
        "operationId": "getPrint",
        "summary": "Buy an RWA print stamp",
        "description": "Which official number is the actual — T-bill auction, gold spot, tokenized NAV. Category: data and intelligence.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": { "type": "string", "maxLength": 280 }
          }
        ],
        "x-payment-info": {
          "price": { "mode": "fixed", "currency": "USD", "amount": "0.050000" },
          "protocols": [{ "x402": {} }]
        },
        "responses": {
          "200": { "description": "Paid print" },
          "402": { "description": "Payment required" }
        }
      },
      "post": {
        "operationId": "postPrint",
        "summary": "Buy an RWA print stamp",
        "x-payment-info": {
          "price": { "mode": "fixed", "currency": "USD", "amount": "0.050000" },
          "protocols": [{ "x402": {} }]
        },
        "responses": {
          "200": { "description": "Paid print" },
          "402": { "description": "Payment required" }
        }
      }
    },
    "/prints": {
      "get": {
        "operationId": "getPrintTape",
        "summary": "Free official tape",
        "responses": { "200": { "description": "Gold + latest T-bill auctions" } }
      }
    },
    "/invoice": {
      "get": {
        "operationId": "getInvoiceBoard",
        "summary": "Public clerk board",
        "description": "Wallet, per-tx cap, daily cap, remaining. Free.",
        "responses": { "200": { "description": "Cap board" } }
      },
      "post": {
        "operationId": "postInvoice",
        "summary": "Hand Eve a bill",
        "description": "payTo + amount + invoice. Clerk fee via x402. She files the bill under the cap. On-chain USDC send only if a Circle wallet can sign on this host; the public board currently shows filed, not paid. GET /invoice is the free cap board and does not 402. Category: real-world execution.",
        "x-payment-info": {
          "price": { "mode": "fixed", "currency": "USD", "amount": "0.050000" },
          "protocols": [{ "x402": {} }]
        },
        "responses": {
          "200": { "description": "Filed or paid" },
          "400": { "description": "Invalid bill" },
          "402": { "description": "Clerk fee required" }
        }
      }
    }
  }
}
