mirrored listing x402 eip155:8453solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

Send a list of texts — website addresses, phone numbers, plain words, WiFi details, anythi

Send a list of texts — website addresses, phone numbers, plain words, WiFi details, anything — and get back a ready-to-use QR code image for each one. Every QR code comes as a base64-encoded PNG you can drop straight into a webpage or save to disk. Great for marketing campaigns, event tickets, product labels, menus, or any situation where you need many QR codes in one go. Empty entries are quietly skipped. Each input is limited to 700 characters. You must send at least one non-empty entry.

Do you run qr-code-generator.underscoredone.com? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
10000 (raw units)
price
3
calls / 30d
3
unique payers
2026-09-14
updated

Provider

qr-code-generator.underscoredone.com · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "maxTimeoutSeconds": 300
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "payTo": "8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "10000",
    "maxTimeoutSeconds": 300
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "error_correction": "H",
          "size": 600,
          "texts": [
            "https://example.com",
            "https://example.com/product/42",
            "WiFi:T:WPA;S:GuestNetwork;P:welcome123;;",
            "Phone: +1-800-555-0199"
          ]
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "example": {
          "api_version": "1.0.0",
          "count": 2,
          "results": [
            {
              "qr_base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAYAAAC+ZpjcAA...",
              "text": "https://example.com"
            },
            {
              "qr_base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAYAAAC+ZpjcAA...",
              "text": "Phone: +1-800-555-0199"
            }
          ]
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "body": {
              "additionalProperties": false,
              "properties": {
                "error_correction": {
                  "description": "How much damage or dirt the QR code can survive and still scan correctly. Choose L (least tough, smallest code), M, Q, or H (most tough, slightly larger code). Defaults to H, which is best for printed labels or stickers.",
                  "type": "string"
                },
                "size": {
                  "description": "How wide (and tall — QR codes are square) the output image should be, measured in pixels. Must be between 100 and 1200. Defaults to 600 if you leave it out.",
                  "type": "integer"
                },
                "texts": {
                  "description": "The list of things you want turned into QR codes — website addresses, phone numbers, plain text, WiFi credentials, anything you like. Each entry must be 700 characters or fewer. Empty entries are skipped. At least one real entry is required.",
                  "type": "array"
                }
              },
              "required": [
                "texts"
              ],
              "type": "object"
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            },
            "method": {
              "enum": [
                "POST",
                "PUT",
                "PATCH"
              ],
              "type": "string"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "properties": {
                "api_version": {
                  "type": "string"
                },
                "count": {
                  "type": "integer"
                },
                "results": {
                  "items": {
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "api_version",
                "count",
                "results"
              ],
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}

Use it

curl

curl "https://qr-code-generator.underscoredone.com/generate"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://qr-code-generator.underscoredone.com/generate");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://qr-code-generator.underscoredone.com/generate")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/3626.json, and this resource appears in /discovery/resources and /discovery/search.