{
  "openapi": "3.1.0",
  "info": {
    "title": "ResolveBots x402 Launch Seeding",
    "version": "1.0.0",
    "description": "Paid x402 intake endpoint for ResolveBots launch seeding campaigns.",
    "contact": {
      "name": "ResolveBots",
      "email": "sales@resolvebots.com",
      "url": "https://resolvebots.com/x402-launch-seeding.html"
    }
  },
  "servers": [
    {
      "url": "https://resolvebots.com"
    }
  ],
  "paths": {
    "/api/x402-launch-seeding-intake": {
      "get": {
        "summary": "Buy ResolveBots x402 Launch Seeding paid intake",
        "description": "Returns a paid intake package for x402 sellers after x402 payment. The package includes campaign intake schema, fulfilment workflow, proof case, and next steps.",
        "operationId": "buyResolveBotsX402LaunchSeedingIntake",
        "tags": [
          "x402",
          "launch-seeding"
        ],
        "x402": {
          "required": true,
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x0BF63F37b0f512839C001548dc66a6A99Bfc019B",
          "price": "49.00",
          "currency": "USDC"
        },
        "responses": {
          "200": {
            "description": "Paid intake package",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "purchased": {
                      "type": "boolean"
                    },
                    "service": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "purchased",
                    "service"
                  ]
                }
              }
            }
          },
          "402": {
            "description": "x402 payment required"
          }
        }
      }
    },
    "/api/x-signal-relay/query": {
      "get": {
        "summary": "Query ResolveBots X Signal Relay",
        "description": "Returns normalized read-only X/Twitter profile, tweet, recent-search, or user-timeline data after payment. Credentials stay server-side and account mutation actions are not supported.",
        "operationId": "queryResolveBotsXSignalRelay",
        "tags": [
          "x402",
          "x-signal-relay"
        ],
        "parameters": [
          {
            "name": "kind",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "health",
                "user",
                "tweet",
                "timeline",
                "search"
              ]
            }
          },
          {
            "name": "username",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "X username for kind=user or timeline when id is omitted."
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Tweet id for kind=tweet, or user id for kind=timeline."
          },
          {
            "name": "query",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Recent search query for kind=search."
          },
          {
            "name": "max_results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 5,
              "maximum": 50,
              "default": 10
            }
          }
        ],
        "x402": {
          "required": true,
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x0BF63F37b0f512839C001548dc66a6A99Bfc019B",
          "price": "0.10",
          "currency": "USDC"
        },
        "responses": {
          "200": {
            "description": "Normalized read-only X signal payload",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "service": {
                      "type": "string"
                    },
                    "kind": {
                      "type": "string"
                    },
                    "data": {},
                    "includes": {},
                    "meta": {},
                    "posture": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "ok",
                    "service",
                    "kind",
                    "posture"
                  ]
                }
              }
            }
          },
          "402": {
            "description": "x402 payment required"
          },
          "503": {
            "description": "X credentials are not configured on the active backend"
          }
        }
      }
    },
    "/api/x402-endpoint-check": {
      "get": {
        "summary": "Run ResolveBots x402 Endpoint Check",
        "description": "Returns a paid machine-readable score for an advertised public HTTPS x402 endpoint. The check validates public-target safety, payment challenge metadata, and discovery posture; it rejects local/private targets and does not pay the submitted endpoint or certify paid fulfillment.",
        "operationId": "runResolveBotsX402EndpointCheck",
        "tags": [
          "x402",
          "endpoint-check",
          "trust-index"
        ],
        "parameters": [
          {
            "name": "endpoint",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Absolute public HTTPS URL for the advertised x402 resource to validate. Credentials, non-default ports, localhost, private/reserved IPs, and private DNS resolutions are rejected."
          }
        ],
        "x402": {
          "required": true,
          "network": "Circle Gateway supported networks; Base preferred",
          "asset": "USDC",
          "payTo": "0x0BF63F37b0f512839C001548dc66a6A99Bfc019B",
          "price": "0.25",
          "currency": "USDC",
          "facilitator": "https://gateway-api.circle.com"
        },
        "responses": {
          "200": {
            "description": "Endpoint check completed with advertised x402 handshake passing threshold",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "score": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "verdict": {
                      "type": "string"
                    },
                    "last_validated": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "advertised_works": {
                      "type": "boolean"
                    },
                    "paid_fulfillment_tested": {
                      "type": "boolean"
                    },
                    "checks": {
                      "type": "array"
                    }
                  },
                  "required": [
                    "ok",
                    "score",
                    "verdict",
                    "last_validated",
                    "advertised_works",
                    "paid_fulfillment_tested",
                    "checks"
                  ]
                }
              }
            }
          },
          "402": {
            "description": "x402 payment required or rejected"
          },
          "422": {
            "description": "Paid check completed, but the submitted endpoint did not pass the advertised-handshake threshold"
          }
        }
      }
    },
    "/api/x402-sample-output": {
      "get": {
        "summary": "Buy a ResolveBots x402 sample output",
        "description": "Returns a paid fixed-price, point-in-time structured sample output captured by ResolveBots during a prior paid x402 endpoint test. This is not a live upstream call.",
        "operationId": "getResolveBotsX402SampleOutput",
        "tags": [
          "x402",
          "sample-output",
          "trust-index"
        ],
        "parameters": [
          {
            "name": "sample_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Sample ID from https://resolvebots.com/x402-sample-outputs/catalog.json."
          }
        ],
        "x402": {
          "required": true,
          "network": "Circle Gateway supported networks; Base preferred",
          "asset": "USDC",
          "payTo": "0x0BF63F37b0f512839C001548dc66a6A99Bfc019B",
          "price": "0.02",
          "currency": "USDC",
          "facilitator": "https://gateway-api.circle.com"
        },
        "responses": {
          "200": {
            "description": "Paid sample output returned",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "service": {
                      "type": "string"
                    },
                    "sample_id": {
                      "type": "string"
                    },
                    "paid": {
                      "type": "boolean"
                    },
                    "lab_metadata": {
                      "type": "object"
                    },
                    "captured_output": {
                      "type": "object"
                    },
                    "normalized_output": {},
                    "limitation": {
                      "type": "string"
                    },
                    "receipt": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "ok",
                    "service",
                    "sample_id",
                    "paid",
                    "lab_metadata",
                    "captured_output",
                    "normalized_output",
                    "limitation"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Missing sample_id; response includes the free sample catalogue metadata"
          },
          "402": {
            "description": "x402 payment required or rejected"
          },
          "404": {
            "description": "No stored sample output matches the requested sample_id"
          }
        }
      }
    },
    "/api/x402-client-probe/basic": {
      "post": {
        "summary": "Run ResolveBots x402 Client Payment Probe",
        "description": "Lower-cost basic payment probe for x402-paying clients. By default the route uses standard Base exact via the CDP facilitator. Add ?facilitator=gateway to test Circle Gateway batched payments. The response returns detected payment facts plus a signed ResolveBots receipt. This verifies one payment to the expected seller; it does not certify scam resistance, recipient-swap refusal, wallet reputation, or delivery quality.",
        "operationId": "runResolveBotsX402ClientPaymentProbe",
        "tags": [
          "x402",
          "client-conformance",
          "payment-probe"
        ],
        "x402": {
          "required": true,
          "default": {
            "network": "eip155:8453",
            "asset": "USDC",
            "payTo": "0x0BF63F37b0f512839C001548dc66a6A99Bfc019B",
            "price": "0.10",
            "currency": "USDC",
            "facilitator": "https://api.cdp.coinbase.com/platform/v2/x402",
            "mode": "base-exact"
          },
          "alternatives": [
            {
              "network": "Circle Gateway supported Base/Polygon accepts",
              "asset": "USDC",
              "payTo": "0x0BF63F37b0f512839C001548dc66a6A99Bfc019B",
              "price": "0.10",
              "currency": "USDC",
              "facilitator": "https://gateway-api.circle.com",
              "mode": "gateway"
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Basic client payment probe passed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "service": {
                      "type": "string"
                    },
                    "product": {
                      "type": "string"
                    },
                    "verdict": {
                      "type": "string"
                    },
                    "level": {
                      "type": "string"
                    },
                    "certificate_id": {
                      "type": "string"
                    },
                    "wallet": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "checks": {
                      "type": "object"
                    },
                    "detected": {
                      "type": "object"
                    },
                    "payment": {
                      "type": "object"
                    },
                    "receipt": {
                      "type": "object"
                    },
                    "verify_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "limitation": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "ok",
                    "service",
                    "product",
                    "verdict",
                    "level",
                    "checks",
                    "detected",
                    "payment",
                    "receipt",
                    "limitation"
                  ]
                }
              }
            }
          },
          "402": {
            "description": "x402 payment required or rejected"
          }
        },
        "parameters": [
          {
            "name": "facilitator",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "base-exact",
                "gateway"
              ],
              "default": "base-exact"
            },
            "description": "Payment rail to test. base-exact uses the standard Base exact/CDP facilitator path; gateway uses Circle Gateway batched settlement."
          }
        ]
      }
    },
    "/api/x402-client-probe/verify": {
      "get": {
        "summary": "Verify a ResolveBots x402 Client Payment Probe receipt",
        "description": "Free receipt verifier for signed ResolveBots x402 Client Payment Probe receipts. It checks the ResolveBots signature when the production signing secret is configured and returns the probe payload.",
        "operationId": "verifyResolveBotsX402ClientProbeReceipt",
        "tags": [
          "x402",
          "client-conformance",
          "payment-probe"
        ],
        "parameters": [
          {
            "name": "receipt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Receipt token returned by /api/x402-client-probe/basic."
          }
        ],
        "responses": {
          "200": {
            "description": "Receipt decoded and verification status returned"
          },
          "400": {
            "description": "Missing or invalid receipt token"
          }
        }
      }
    },
    "/api/x402-client-probe/facilitators": {
      "get": {
        "summary": "List ResolveBots x402 Client Payment Probe facilitators",
        "description": "Returns the supported payment rails for the ResolveBots x402 Client Payment Probe.",
        "operationId": "listResolveBotsX402ClientPaymentProbeFacilitators",
        "tags": [
          "x402",
          "client-conformance",
          "payment-probe"
        ],
        "responses": {
          "200": {
            "description": "Supported client probe facilitators",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "service": {
                      "type": "string"
                    },
                    "price": {
                      "type": "object"
                    },
                    "default": {
                      "type": "string"
                    },
                    "facilitators": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "verifier": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "ok",
                    "service",
                    "price",
                    "default",
                    "facilitators",
                    "verifier"
                  ]
                }
              }
            }
          }
        }
      }
    }
  }
}
