B

Cloudflare — 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

10 Total txs
10 7d txs
$0.09 7d volume
$0.09 Total volume
1 Unique payers
0 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
2 issues
  • POST endpoint challenge missing digest parameter (SHOULD per spec)
  • Multiple recipient addresses detected across endpoints (2 unique)

Paid Operations (14)

POST /content dynamic
Browser Render: HTML Content

Fetch rendered HTML content from a URL via Cloudflare Browser Run

Amount
map[amount:0.010000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:10000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
actionTimeout integer No
addScriptTag array No
addStyleTag array No
allowRequestPattern array No
allowResourceTypes array No
authenticate object No
bestAttempt boolean No
cacheTTL integer No
cookies array No
emulateMediaType string No
gotoOptions object No
html string No
rejectRequestPattern array No
rejectResourceTypes array No
setExtraHTTPHeaders object No
setJavaScriptEnabled boolean No
url string (uri) Yes
userAgent string No
viewport object No
waitForSelector object No
waitForTimeout integer No

Response Schema (200)

{
  "description": "Rendered HTML as a plain string",
  "type": "string"
}
POST /images/info dynamic
Cloudflare Images: Info

Return metadata (format, width, height, file size) for an image at a URL without transforming it. Useful to inspect an image before deciding on operations.

Amount
map[amount:0.001000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:1000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:1000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
source_url string (uri) Yes Public URL of the image to inspect (max 15 MB).

Response Schema (200)

FieldTypeDescription
file_size integer Source file size in bytes (absent for SVG)
format string Detected image MIME type
height integer Height in pixels (absent for SVG)
width integer Width in pixels (absent for SVG)
POST /images/transform dynamic
Cloudflare Images: Transform

Resize, crop, rotate, flip, blur, sharpen, recolor, compress, or format-convert an image from a URL using the Cloudflare Images binding. Returns the transformed image bytes (default WebP). Provide source_url plus any operations; with none it just re-encodes to the output format.

Amount
map[amount:0.003000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.003000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:3000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:3000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
background string No Background color (e.g. "#ffffff") for pad/transparent areas.
blur number No Gaussian blur radius (0-250).
brightness number No Brightness multiplier (1 = unchanged).
contrast number No Contrast multiplier (1 = unchanged).
fit string No How the image fits within width/height when both are set.
enum: scale-down, contain, pad, squeeze, cover, crop
flip string No Flip horizontally, vertically, or both.
enum: h, v, hv
format string No Output format: webp (default), avif, jpeg, png, or gif.
enum: webp, avif, jpeg, png, gif
gravity string No Focal point used when cropping.
enum: face, left, right, top, bottom, center, auto, entropy
height integer No Target height in pixels.
quality integer No Output quality for lossy formats (1-100).
rotate number No Rotation in degrees.
enum: 0, 90, 180, 270
sharpen number No Sharpen strength (0-10).
source_url string (uri) Yes Public URL of the source image to transform (max 15 MB).
width integer No Target width in pixels.
POST /json dynamic
Browser Render: AI Structured Extraction

AI-powered structured data extraction from a URL via Cloudflare Browser Run (default model: @cf/meta/llama-3.3-70b-instruct-fp8-fast)

Amount
map[amount:0.020000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.020000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:20000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:20000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
actionTimeout integer No
addScriptTag array No
addStyleTag array No
allowRequestPattern array No
allowResourceTypes array No
authenticate object No
bestAttempt boolean No
cacheTTL integer No
cookies array No
emulateMediaType string No
gotoOptions object No
html string No
prompt string Yes
rejectRequestPattern array No
rejectResourceTypes array No
response_format object No
setExtraHTTPHeaders object No
setJavaScriptEnabled boolean No
url string (uri) Yes
userAgent string No
viewport object No
waitForSelector object No
waitForTimeout integer No

Response Schema (200)

{
  "additionalProperties": true,
  "description": "AI-extracted JSON. Exact shape is determined by the `response_format` schema you provide in the request (or the LLM if only `prompt` is given).",
  "properties": {},
  "type": "object"
}
POST /links dynamic
Browser Render: Extract Links

Extract all links from a URL via Cloudflare Browser Run

Amount
map[amount:0.010000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:10000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
actionTimeout integer No
addScriptTag array No
addStyleTag array No
allowRequestPattern array No
allowResourceTypes array No
authenticate object No
bestAttempt boolean No
cacheTTL integer No
cookies array No
emulateMediaType string No
gotoOptions object No
html string No
rejectRequestPattern array No
rejectResourceTypes array No
setExtraHTTPHeaders object No
setJavaScriptEnabled boolean No
url string (uri) Yes
userAgent string No
viewport object No
visibleLinksOnly boolean No
waitForSelector object No
waitForTimeout integer No

Response Schema (200)

{
  "description": "All links found on the page",
  "items": {
    "format": "uri",
    "type": "string"
  },
  "type": "array"
}
POST /markdown dynamic
Browser Render: Page to Markdown

Render a URL as clean LLM-friendly markdown via Cloudflare Browser Run

Amount
map[amount:0.010000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:10000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
actionTimeout integer No
addScriptTag array No
addStyleTag array No
allowRequestPattern array No
allowResourceTypes array No
authenticate object No
bestAttempt boolean No
cacheTTL integer No
cookies array No
emulateMediaType string No
gotoOptions object No
html string No
rejectRequestPattern array No
rejectResourceTypes array No
rejectResourceTypesForMarkdown array No
setExtraHTTPHeaders object No
setJavaScriptEnabled boolean No
url string (uri) Yes
userAgent string No
viewport object No
waitForSelector object No
waitForTimeout integer No

Response Schema (200)

{
  "description": "Rendered page converted to LLM-friendly markdown",
  "type": "string"
}
POST /pdf dynamic
Browser Render: Page to PDF

Render a URL to PDF via Cloudflare Browser Run

Amount
map[amount:0.010000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:10000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
actionTimeout integer No
addScriptTag array No
addStyleTag array No
allowRequestPattern array No
allowResourceTypes array No
authenticate object No
bestAttempt boolean No
cacheTTL integer No
cookies array No
emulateMediaType string No
gotoOptions object No
html string No
pdfOptions object No
rejectRequestPattern array No
rejectResourceTypes array No
setExtraHTTPHeaders object No
setJavaScriptEnabled boolean No
url string (uri) Yes
userAgent string No
viewport object No
waitForSelector object No
waitForTimeout integer No
POST /scrape dynamic
Browser Render: CSS Selector Scrape

Extract HTML elements by CSS selector via Cloudflare Browser Run

Amount
map[amount:0.010000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:10000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
actionTimeout integer No
addScriptTag array No
addStyleTag array No
allowRequestPattern array No
allowResourceTypes array No
authenticate object No
bestAttempt boolean No
cacheTTL integer No
cookies array No
elements array Yes
emulateMediaType string No
gotoOptions object No
html string No
rejectRequestPattern array No
rejectResourceTypes array No
setExtraHTTPHeaders object No
setJavaScriptEnabled boolean No
url string (uri) Yes
userAgent string No
viewport object No
waitForSelector object No
waitForTimeout integer No

Response Schema (200)

{
  "description": "One entry per requested selector",
  "items": {
    "additionalProperties": false,
    "properties": {
      "results": {
        "additionalProperties": false,
        "properties": {
          "attributes": {
            "description": "HTML attributes on the element",
            "items": {
              "additionalProperties": false,
              "properties": {
                "name": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "name",
                "value"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "height": {
            "description": "Element height in pixels",
            "type": "number"
          },
          "html": {
            "description": "Inner HTML",
            "type": "string"
          },
          "left": {
            "description": "Offset from left of page",
            "type": "number"
          },
          "text": {
            "description": "Visible text content",
            "type": "string"
          },
          "top": {
            "description": "Offset from top of page",
            "type": "number"
          },
          "width": {
            "description": "Element width in pixels",
            "type": "number"
          }
        },
        "required": [
          "attributes",
          "height",
          "width",
          "top",
          "left",
          "html",
          "text"
        ],
        "type": "object"
      },
      "selector": {
        "description": "CSS selector from the request",
        "type": "string"
      }
    },
    "required": [
      "selector",
      "results"
    ],
    "type": "object"
  },
  "type": "array"
}
POST /screenshot dynamic
Browser Render: Screenshot

Capture a full-page or element screenshot via Cloudflare Browser Run

Amount
map[amount:0.010000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:10000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
actionTimeout integer No
addScriptTag array No
addStyleTag array No
allowRequestPattern array No
allowResourceTypes array No
authenticate object No
bestAttempt boolean No
cacheTTL integer No
cookies array No
emulateMediaType string No
gotoOptions object No
html string No
rejectRequestPattern array No
rejectResourceTypes array No
screenshotOptions object No
scrollPage boolean No
selector string No
setExtraHTTPHeaders object No
setJavaScriptEnabled boolean No
url string (uri) Yes
userAgent string No
viewport object No
waitForSelector object No
waitForTimeout integer No
POST /snapshot dynamic
Browser Render: HTML + Screenshot Snapshot

Capture HTML content and base64 screenshot of a URL in one call

Amount
map[amount:0.010000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:10000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
actionTimeout integer No
addScriptTag array No
addStyleTag array No
allowRequestPattern array No
allowResourceTypes array No
authenticate object No
bestAttempt boolean No
cacheTTL integer No
cookies array No
emulateMediaType string No
gotoOptions object No
html string No
rejectRequestPattern array No
rejectResourceTypes array No
screenshotOptions object No
setExtraHTTPHeaders object No
setJavaScriptEnabled boolean No
url string (uri) Yes
userAgent string No
viewport object No
waitForSelector object No
waitForTimeout integer No

Response Schema (200)

FieldTypeDescription
content string Rendered HTML content
screenshot string Base64-encoded screenshot of the page
POST /transcribe dynamic
Whisper: Audio Transcription

Transcribe an audio file (max 10 MB) to text using Cloudflare Workers AI Whisper (model `@cf/openai/whisper`). Returns the full transcription plus optional WebVTT subtitles and per-word timing when supported by the audio.

Amount
map[amount:0.020000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.020000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:20000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:20000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
audio_url string (uri) Yes Public URL of the audio file to transcribe (max 10 MB)
model string No Whisper variant. Currently only `whisper` (@cf/openai/whisper) is supported. Defaults to `whisper`.
enum: whisper

Response Schema (200)

FieldTypeDescription
text string Full transcription
vtt string WebVTT subtitle string with timestamps (when available)
word_count integer -
words array[object] Per-word timing (when supported by the model)
POST /tts/speak dynamic
Cloudflare TTS: Speak

Synthesize natural speech from text using OpenAI TTS (gpt-4o-mini-tts by default) through Cloudflare AI Gateway. Pass text plus an optional voice and model. Returns MP3 audio. Priced per 1k input characters.

Amount
map[amount:0.030000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.030000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:30000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:30000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
model string No Model: gpt-4o-mini-tts (default), tts-1, or tts-1-hd.
enum: gpt-4o-mini-tts, tts-1, tts-1-hd
text string Yes Text to synthesize. 1-2000 characters. Priced per 1k chars.
voice string No Voice: alloy (default), ash, coral, echo, fable, onyx, nova, sage, shimmer.
enum: alloy, ash, coral, echo, fable, onyx, nova, sage, shimmer
POST /vision/describe dynamic
Cloudflare Vision: Describe

Caption an image or answer a question about it using Cloudflare Workers AI (@cf/meta/llama-3.2-11b-vision-instruct). Pass source_url plus an optional prompt (e.g. "Read the text" or "What is in this image?"). The source is downscaled before inference.

Amount
map[amount:0.003000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.003000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:3000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:3000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
max_tokens integer No Maximum tokens to generate (1-512). Defaults to 256.
prompt string No Question or instruction about the image. Defaults to a general description ask.
source_url string (uri) Yes Public URL of the image to describe (max 10 MB).

Response Schema (200)

FieldTypeDescription
description string The generated description or answer
model string Workers AI model id used
POST /vision/detect dynamic
Cloudflare Vision: Detect Objects

Detect objects in an image with bounding boxes using Cloudflare Workers AI (@cf/facebook/detr-resnet-50). Returns labels, confidence scores, and pixel boxes, highest confidence first. Optionally filter by min_score.

Amount
map[amount:0.002000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.002000 currency:USD mode:fixed] protocols: [map[mpp:map[amount:2000 currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo network:eip155:4217]] map[mpp:map[amount:2000 currency:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v intent:charge method:solana network:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp]]]

Input Schema

FieldTypeRequiredDescription
min_score number No Only return detections with at least this confidence (0-1). Defaults to 0.
source_url string (uri) Yes Public URL of the image to analyze (max 10 MB).

Response Schema (200)

FieldTypeDescription
objects array[object] Detected objects, highest confidence first

Payment Methods

Methods
solana, tempo (from challenge)
Intents
charge (from challenge)
Currencies (discovery)
-
Currency (challenge)
USDC
Multiple Challenges
Yes

Recipients (Multi-Recipient)

  • 0x19491164262c8963b11E1BcB1E4351c101B420FF
  • 2SbhPjHwijJExLcjjDuk6hAgxHCbBqs7xu45cXz5DCEb
Per-endpoint breakdown
POST /content
2SbhPjHwijJExLcjjDuk6hAgxHCbBqs7xu45cXz5DCEb
POST /images/info
2SbhPjHwijJExLcjjDuk6hAgxHCbBqs7xu45cXz5DCEb
POST /images/transform
2SbhPjHwijJExLcjjDuk6hAgxHCbBqs7xu45cXz5DCEb
POST /json
2SbhPjHwijJExLcjjDuk6hAgxHCbBqs7xu45cXz5DCEb
POST /links
2SbhPjHwijJExLcjjDuk6hAgxHCbBqs7xu45cXz5DCEb
POST /markdown
2SbhPjHwijJExLcjjDuk6hAgxHCbBqs7xu45cXz5DCEb

Security

TLS Version
TLSv1.3
Challenge ID Unique
Yes
Challenge ID Length
43
Digest Binding
-

Uptime

Discovery
Reachable (1121ms)
Challenge
Reachable (354ms)
Last Checked

Schema Completeness

Paid Operations
14
With Input Schema
14
With Description
14

Documentation

Homepage
-
API Reference
-
llms.txt
-

Discovery

OpenAPI URL
https://cloudflare.payweave.services/openapi.json
OpenAPI Version
3.1.0
Service Version
1.0.0
Document Size
52073 bytes
Document Hash
e9cc62dd1d67eba33390d404d79d2f8f4419450bedc78e425b5b40000c1ae2e3

Version History (5 snapshots)

  • document hash changed (no semantic differences detected)
Scan snapshots
Date Grade Score Response Status
2026-06-16 B 80% 365ms Up
2026-06-17 B 80% 382ms Up
2026-06-18 B 80% 314ms Up
2026-06-19 B 80% 246ms Up
2026-06-20 B 80% 303ms Up