Use when you need a qr code generator for a URL, text, Wi-Fi or payment link as
Use when you need a qr code generator for a URL, text, Wi-Fi or payment link as an SVG image. Do not use for reading or decoding an existing QR code, logos, colored codes or PNG output. Returns JSON with a QR code for your text or URL as SVG markup and an SVG data URL, with error correction level and border options, generated by the uqr library for 0.004 USDC per call. Typical response time 500 ms (p95). Category: Media.
Answeringour last check, 2026-10-18
1 of 1checks answered this week
2274 msmedian answer time
$0.004listed price per call
$0.004price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://x402-gateway.blackwoodstate8.workers.dev/v1/qr-code
| Category | Image and media |
|---|---|
| Provider host | x402-gateway.blackwoodstate8.workers.dev |
| Networks | eip155:8453 |
| Payment schemes | exact, upto |
| Self-reported calls, 30 days | 3 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-18 | valid payment request | 402 | $0.004 | 2274 ms |
Example input (from the provider)
{
"body": {
"ecc": "M",
"text": "https://x402-gateway.blackwoodstate8.workers.dev"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"border": {
"description": "Quiet zone around the code, in modules (default 2)",
"maximum": 10,
"minimum": 0,
"type": "integer"
},
"ecc": {
"description": "Error correction level: L 7%, M 15% (default), Q 25%, H 30%",
"enum": [
"L",
"M",
"Q",
"H"
],
"type": "string"
},
"pixelSize": {
"description": "SVG units per module (default 10)",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"text": {
"description": "Text or URL to encode, e.g. https://example.com (up to 2000 characters)",
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"additionalProperties": false,
"properties": {
"bytes": {
"type": "number"
},
"dataUrl": {
"type": "string"
},
"ecc": {
"type": "string"
},
"modules": {
"type": "number"
},
"next": {
"additionalProperties": false,
"description": "Suggested next paid call in the same family (call it in a loop when the task continues)",
"properties": {
"method": {
"enum": [
"GET",
"POST"
],
"type": "string"
},
"sample": {
"description": "Free fixed sample of the whole family",
"type": "string"
},
"service": {
"description": "Service id of the suggested next paid call",
"type": "string"
},
"tool": {
"description": "MCP tool name of the same call",
"type": "string"
},
"url": {
"description": "Paid route of the next call",
"type": "string"
},
"useWhen": {
"description": "When the next call is the right one",
"type": "string"
}
},
"required": [
"service",
"tool",
"method",
"url",
"useWhen",
"sample"
],
"type": "object"
},
"svg": {
"type": "string"
},
"version": {
"type": "number"
}
},
"required": [
"svg",
"dataUrl",
"version",
"modules",
"ecc",
"bytes"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}