B
QR Code Service — MPP Grade B
Preview responses and set spending limits for this service through use.mpp.land
Free budget controls, response samples, and reliability routing.
On-chain Activity
123
Total txs
66
7d txs
$0.91
7d volume
$1.66
Total volume
86
Unique payers
1
Unique clients
7-day activity
▆▇▆█▃▇▁
Compliance Checks
All paid ops declare 402 response
MUST
10pt
All x-payment-info valid
MUST
10pt
Challenge has Cache-Control: no-store
MUST
5pt
Challenge digest on POST
SHOULD
3pt
Challenge has expires
SHOULD
3pt
Challenge has Problem Details
SHOULD
2pt
Challenge has required params
MUST
5pt
Challenge has WWW-Authenticate
MUST
5pt
Challenge returns 402
MUST
10pt
Correct Content-Type
MUST
5pt
Has Cache-Control on discovery
SHOULD
5pt
Has input schemas
SHOULD
5pt
Has llms.txt
SHOULD
5pt
Has /openapi.json at root
MUST
10pt
Has required top-level fields
MUST
10pt
Served over HTTPS
MUST
10pt
Uses standard categories
SHOULD
2pt
Paid Operations (7)
GET /api/qr dynamic USDC.e
Generate basic PNG QR code
Returns a PNG image of the QR code for the given text. Optionally specify size (100–1000px).
- Amount
- 0.01
- Currency
- USDC.e
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
authMode: paid chainId: 4217 currencyAddress: 0x20C000000000000000000000b9537d11c60E8b50 feePayer: true gasAbstracted: true network: tempo price: 0.01 protocols: [mpp] recipient: 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| text | query | string | Yes | Text or URL to encode |
| size | query | integer | No | Image size in pixels |
GET /api/qr/styled dynamic USDC.e
Styled QR with custom colors
Generate a PNG QR code with custom foreground and background colors. Pass hex colors without the # prefix.
- Amount
- 0.02
- Currency
- USDC.e
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
authMode: paid chainId: 4217 currencyAddress: 0x20C000000000000000000000b9537d11c60E8b50 feePayer: true gasAbstracted: true network: tempo price: 0.02 protocols: [mpp] recipient: 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| text | query | string | Yes | Text or URL to encode |
| color | query | string | No | Foreground hex color (without #) |
| bg | query | string | No | Background hex color (without #) |
| shape | query | string | No | Module shape |
GET /api/qr/batch dynamic USDC.e
Batch QR generation (up to 50)
Generate multiple QR codes in one call. Price is $0.01 × N codes. Returns JSON array with base64 data URLs.
- Amount
- 0.01
- Currency
- USDC.e
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
authMode: paid chainId: 4217 currencyAddress: 0x20C000000000000000000000b9537d11c60E8b50 feePayer: true gasAbstracted: true network: tempo price: 0.01 protocols: [mpp] recipient: 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| texts | query | string | Yes | Comma-separated texts to encode (max 50) |
GET /api/qr/scan dynamic USDC.e
Decode QR code from image URL or data URI
Decodes a QR code from an image. Pass a public image URL or a base64 data URI (data:image/png;base64,...). Returns the decoded text.
- Amount
- 0.01
- Currency
- USDC.e
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
authMode: paid chainId: 4217 currencyAddress: 0x20C000000000000000000000b9537d11c60E8b50 feePayer: true gasAbstracted: true network: tempo price: 0.01 protocols: [mpp] recipient: 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| image | query | string | Yes | Public URL or base64 data URI (data:image/png;base64,...) of image containing QR code |
GET /api/qr/wifi dynamic USDC.e
WiFi config QR code
Generate a QR code that configures WiFi when scanned. Supports WPA, WEP, and open networks.
- Amount
- 0.01
- Currency
- USDC.e
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
authMode: paid chainId: 4217 currencyAddress: 0x20C000000000000000000000b9537d11c60E8b50 feePayer: true gasAbstracted: true network: tempo price: 0.01 protocols: [mpp] recipient: 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ssid | query | string | Yes | Network SSID |
| password | query | string | No | Network password |
| security | query | string | No | Security type |
GET /api/qr/vcard dynamic USDC.e
vCard contact QR code
Generate a QR code encoding a vCard 3.0 contact. Scan with any contacts app to import.
- Amount
- 0.01
- Currency
- USDC.e
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
authMode: paid chainId: 4217 currencyAddress: 0x20C000000000000000000000b9537d11c60E8b50 feePayer: true gasAbstracted: true network: tempo price: 0.01 protocols: [mpp] recipient: 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | query | string | Yes | Full name |
| phone | query | string | No | Phone number |
| query | string | No | Email address | |
| org | query | string | No | Organisation |
| website | query | string | No | Website URL |
GET /api/qr/svg dynamic USDC.e
QR code as SVG markup
Returns raw SVG markup for the QR code. Ideal for embedding in web pages or documents.
- Amount
- 0.01
- Currency
- USDC.e
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
authMode: paid chainId: 4217 currencyAddress: 0x20C000000000000000000000b9537d11c60E8b50 feePayer: true gasAbstracted: true network: tempo price: 0.01 protocols: [mpp] recipient: 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| text | query | string | Yes | Text or URL to encode |
Payment Methods
- Methods
- tempo (from challenge)
- Intents
- charge (from challenge)
- Currencies (discovery)
- USDC.e
- Currency (challenge)
- USDC.e on Tempo Mainnet Presto (Tempo Mainnet Presto)
- Multiple Challenges
- No
Recipients
- 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
Per-endpoint breakdown
- GET /api/qr
- 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
- GET /api/qr/batch
- 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
- GET /api/qr/scan
- 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
- GET /api/qr/styled
- 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
- GET /api/qr/vcard
- 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
- GET /api/qr/wifi
- 0x0d509f743bc6fc907d5f63d8b0dae1fca8d80897
Security
- TLS Version
- TLSv1.3
- Challenge ID Unique
- Yes
- Challenge ID Length
- 43
- Digest Binding
- -
Uptime
- Discovery
- Reachable (43ms)
- Challenge
- Reachable (1143ms)
- Last Checked
Schema Completeness
- Paid Operations
- 7
- With Input Schema
- 0
- With Description
- 7
7 missing schema
- GET /api/qr
- GET /api/qr/styled
- GET /api/qr/batch
- GET /api/qr/scan
- GET /api/qr/wifi
- GET /api/qr/vcard
- GET /api/qr/svg
Documentation
- Homepage
- -
- API Reference
- -
- llms.txt
- -
Discovery
- OpenAPI URL
- https://qr.ivan-tempo.xyz/openapi.json
- OpenAPI Version
- 3.0.0
- Service Version
- 1.0.0
- Document Size
- 11156 bytes
- Document Hash
- 9314d7420edb8a50b3ded87ee073754cfb6f4f86ef4bd905acce7eb72e7ccf0d
Version History (10 snapshots)
Grade: B (78%) → F (13%)
- document hash changed (no semantic differences detected)
Scan snapshots
| Date | Grade | Score | Response | Status |
|---|---|---|---|---|
| 2026-06-11 | B | 78% | 233ms | Up |
| 2026-06-12 | B | 78% | 63ms | Up |
| 2026-06-13 | B | 78% | 64ms | Up |
| 2026-06-14 | B | 78% | 96ms | Up |
| 2026-06-15 | B | 78% | 57ms | Up |
| 2026-06-16 | B | 78% | 59ms | Up |
| 2026-06-17 | B | 78% | 335ms | Up |
| 2026-06-18 | B | 78% | 106ms | Up |
| 2026-06-19 | B | 78% | 42ms | Up |
| 2026-06-20 | B | 78% | 55ms | Up |