{
  "x402Version": 2,
  "id": 8675,
  "slug": "8675",
  "resource": "https://workbot1.oddsys.org/qr",
  "description": "Generate a QR code from text as PNG (base64) or SVG. Custom module size, quiet-zone margin, and hex colours. Deterministic, capacity-capped at 2953 bytes. Set delivery to \"url\" to receive a short-lived download link instead of inline data.",
  "type": "http",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "5000",
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "dark": "#000000",
            "format": "png",
            "light": "#ffffff",
            "margin": 2,
            "scale": 4,
            "text": "https://example.com"
          },
          "bodyType": "json",
          "method": "POST",
          "type": "http"
        },
        "output": {
          "body": {
            "dataBase64": "string (png, inline delivery) | absent",
            "downloadsRemaining": "number (url delivery)",
            "expiresAt": "string (url delivery)",
            "format": "string",
            "meta": {
              "inputBytes": "number",
              "margin": "number",
              "modules": "number",
              "pixels": "number",
              "scale": "number"
            },
            "svg": "string (svg, inline delivery) | absent",
            "url": "string (url delivery) — expiring download link"
          },
          "bodyType": "json",
          "example": {
            "dataBase64": "iVBORw0KGgoAAAANSUhEUgAA…",
            "format": "png",
            "meta": {
              "dark": "#000000",
              "errorCorrection": "M",
              "inputBytes": 23,
              "light": "#ffffff",
              "margin": 2,
              "modules": 25,
              "outputBytes": 412,
              "pixels": 116,
              "scale": 4
            }
          }
        }
      },
      "routeTemplate": "/qr",
      "schema": {
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "body": {
                "additionalProperties": false,
                "properties": {
                  "dark": {
                    "description": "Hex colour of the data modules (default #000000).",
                    "type": "string"
                  },
                  "delivery": {
                    "description": "inline (default) = data in the response body; url = a short-lived download link (expires after ~15 min or a small download budget) — hand it to a user or client script instead of carrying the bytes.",
                    "enum": [
                      "inline",
                      "url"
                    ],
                    "type": "string"
                  },
                  "downloads": {
                    "description": "url delivery only: download budget before the link dies (1-3, default 2).",
                    "type": "number"
                  },
                  "format": {
                    "description": "Output format (default png).",
                    "enum": [
                      "png",
                      "svg"
                    ],
                    "type": "string"
                  },
                  "light": {
                    "description": "Hex colour of the background (default #ffffff).",
                    "type": "string"
                  },
                  "margin": {
                    "description": "Quiet-zone width in modules (0-16, default 2).",
                    "type": "number"
                  },
                  "scale": {
                    "description": "Pixels per QR module, PNG only (1-20, default 4).",
                    "type": "number"
                  },
                  "text": {
                    "description": "Content to encode (max 2953 bytes utf8 — QR capacity).",
                    "type": "string"
                  }
                },
                "required": [
                  "text"
                ],
                "type": "object"
              },
              "bodyType": {
                "enum": [
                  "json"
                ],
                "type": "string"
              },
              "method": {
                "enum": [
                  "POST"
                ],
                "type": "string"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "type": "object"
          }
        }
      }
    }
  },
  "tags": [
    "bazaar"
  ],
  "sourceHost": "workbot1.oddsys.org",
  "lastUpdated": "2026-08-30T15:21:26.693Z",
  "quality": {
    "calls30d": 1,
    "uniquePayers30d": 1,
    "lastCalledAt": "2026-08-30T15:21:25.74Z"
  },
  "liveness": {},
  "verified": false,
  "featured": false,
  "provider": {
    "host": "workbot1.oddsys.org",
    "manifest_name": "workbot1.oddsys.org",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-09-18T22:00:31.484Z"
  }
}