x402 List

x402 Protocol Service Directory

Busker

Content PAYMENT-READY

payment-ready until 2026-08-20

Content-to-context toolkit for AI agents, live on Base mainnet. Twelve deterministic pay-per-call tools: HTML to markdown (~80-85% token reduction), PDF to markdown, OCR for scanned PDFs, structured JSON extraction, RAG chunking, sentence embeddings, cross-encoder reranking, URL fetch-and-clean, JSON/YAML/CSV/XML conversion, QR generation, image ops, and object detection. $0.001-$0.01 USDC per call, settled via CDP. Machine-readable discovery at /.well-known/x402, /openapi.json and /llms.txt.

Pay from $0.001 to $0.01 per request in USDC on Base, settled onchain via the x402 protocol, no signup, no API key needed.

first settlement 2026-08-03 · $0.05 all-time · settled via coinbase

BASE URL https://workbot1.oddsys.org WEBSITE https://workbot1.oddsys.org ENDPOINTS 12 NETWORK Base ASSET USDC MEMBER SINCE 2026-08-03 MONITORED SINCE 2026-08-03

ASSESSMENT

updated 17m ago

Evidence-backed signals, not a single score. Click any chip for the proof. Measured values stay read-only; unknown is honest.

reliability 100%
uptime 24h
100%
uptime 7d
100%
uptime 30d
100%
uptime 90d
100%
response p95
893ms
avg response
619ms
total checks
879

Measured on the unpaid 402 handshake, not the paid call. A service can 402 correctly and still fail after payment.

compliance A (14/14)

14 of 14 x402 conformance checks pass. Full checklist below.

jump to compliance checklist

price $0.001 to $0.01 (p13 in Content)
price (min)
$0.001
price (max)
$0.01
category percentile (min)
p13 in Content
category percentile (max)
p37 in Content
endpoints / prices
12 / 4
model
tiered
stability
100%
risk clean

No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.

domain age
4133d
registrar
Name106, Inc.
hosting
custom
domain created
2015-04-17

Identity facts, not a risk score.

traction $0.056 30d · 2 buyers · top buyer 98%
volume 30d
$0.056
buyers 30d
2
settlements 30d
26
first settlement
2026-08-03
last settlement
2026-08-13
top buyer share
98% of 30d volume
trend 7d vs 30d
0.08x the 30d daily rate
networks
eip155:8453
volume all-time
$0.05
settlements all-time
26
median settlement 30d
$0.001
max settlement 30d
$0.03
settled via
coinbase ($0.06, 26 tx)

Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.

Top buyer share is a concentration signal, not part of the ranking score.

WHAT IT DOES

ai-derived

No AI synthesis has been produced for this service yet.

ENDPOINTS

Service endpoints with HTTP method, path, description, pricing, and network
METHOD PATH DESCRIPTION PRICE NETWORK ASSET 402 CHANNEL
POST /chunk $0.001 Base USDC header
POST /convert $0.001 Base USDC header
POST /detect $0.01 Base USDC header
POST /embed $0.002 Base USDC header
POST /extract $0.002 Base USDC header
POST /fetch $0.005 Base USDC header
POST /image $0.002 Base USDC header
POST /ocr $0.01 Base USDC header
POST /pdf $0.002 Base USDC header
POST /qr $0.001 Base USDC header
POST /rerank $0.002 Base USDC header
POST /transform $0.001 Base USDC header
12 endpoints

REQUEST / RESPONSE EXAMPLE

An unpaid request to POST /chunk returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.

// request
curl -i -X POST 'https://workbot1.oddsys.org/chunk'
// 402 response (captured by monitor) · 12 payloads · click to expand
[
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://workbot1.oddsys.org/rerank",
      "tags": [
        "rerank",
        "reranking",
        "rag",
        "search",
        "relevance",
        "cross-encoder",
        "retrieval"
      ],
      "mimeType": "application/json",
      "description": "Rerank candidate texts against a query with a cross-encoder (ms-marco-MiniLM-L-6-v2): joint query+document scoring, much sharper than cosine similarity over embeddings. Returns ranked indices with 0-1 relevance scores. Up to 64 texts per call. Pairs with /embed for a recall-then-precision RAG pipeline.",
      "serviceName": "Busker Reranker"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "topK": 5,
              "query": "how do x402 payments settle?",
              "texts": [
                "first candidate passage",
                "second candidate passage"
              ]
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "body": {
              "meta": {
                "topK": "number",
                "count": "number",
                "model": "string",
                "inferenceMs": "number",
                "totalTokens": "number"
              },
              "results": "array of { index: number, score: number 0-1, text?: string }, best first"
            },
            "example": {
              "meta": {
                "topK": 2,
                "count": 5,
                "model": "ms-marco-minilm-l6-v2",
                "inferenceMs": 180,
                "totalTokens": 512
              },
              "results": [
                {
                  "index": 3,
                  "score": 0.982
                },
                {
                  "index": 0,
                  "score": 0.417
                }
              ]
            },
            "bodyType": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "query",
                    "texts"
                  ],
                  "properties": {
                    "topK": {
                      "type": "integer",
                      "description": "Return only the best K results (default: all, ranked)."
                    },
                    "query": {
                      "type": "string",
                      "description": "The search query to rank against."
                    },
                    "texts": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "1-64 candidate texts to rerank (each pair truncated at 256 tokens)."
                    },
                    "returnTexts": {
                      "type": "boolean",
                      "description": "Include the text of each result (default false: indices only)."
                    }
                  },
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "routeTemplate": "/rerank"
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://workbot1.oddsys.org/transform",
      "tags": [
        "html",
        "markdown",
        "extraction",
        "context-compression",
        "scraping"
      ],
      "mimeType": "application/json",
      "description": "Convert raw HTML into clean markdown. Typically cuts page tokens by 80-85% before they hit an LLM context window.",
      "serviceName": "RemoteSight HTML→Markdown"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "html": ""
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "body": {
              "meta": {
                "inputBytes": "number",
                "outputChars": "number",
                "estInputTokens": "number",
                "estOutputTokens": "number"
              },
              "title": "string|null",
              "markdown": "string",
              "extracted": "boolean"
            },
            "example": {
              "meta": {
                "inputBytes": 1256,
                "outputChars": 68,
                "estInputTokens": 314,
                "estOutputTokens": 17
              },
              "title": "Example Domain",
              "markdown": "# Example Domain\n\nThis domain is for use in documentation examples.",
              "extracted": false
            },
            "bodyType": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "html"
                  ],
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "Optional source URL of the page; improves extraction."
                    },
                    "html": {
                      "type": "string",
                      "description": "Raw HTML document to convert to markdown."
                    }
                  },
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "routeTemplate": "/transform"
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://workbot1.oddsys.org/pdf",
      "tags": [
        "pdf",
        "markdown",
        "extraction",
        "document",
        "context-compression"
      ],
      "mimeType": "application/json",
      "description": "Extract clean markdown text from a PDF (text-layer PDFs; no OCR). Turns a document an agent can't cheaply read into compact tokens.",
      "serviceName": "RemoteSight PDF→Markdown"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "pdfBase64": ""
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "body": {
              "meta": {
                "inputBytes": "number",
                "outputChars": "number",
                "estInputTokens": "number",
                "processedPages": "number",
                "estOutputTokens": "number"
              },
              "pages": "number",
              "markdown": "string"
            },
            "example": {
              "meta": {
                "inputBytes": 84213,
                "outputChars": 5120,
                "estInputTokens": 21053,
                "processedPages": 4,
                "estOutputTokens": 1280
              },
              "pages": 4,
              "markdown": "# Quarterly Report\n\nRevenue grew 12% year over year..."
            },
            "bodyType": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "pdfBase64"
                  ],
                  "properties": {
                    "pdfBase64": {
                      "type": "string",
                      "description": "Base64-encoded PDF file (text-layer PDFs; no OCR)."
                    }
                  },
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "routeTemplate": "/pdf"
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://workbot1.oddsys.org/ocr",
      "tags": [
        "ocr",
        "pdf",
        "scanned",
        "extraction",
        "document",
        "tesseract"
      ],
      "mimeType": "application/json",
      "description": "OCR a scanned PDF into clean text (Tesseract, English, machine-printed documents). Up to 25 pages per call. PDFs that turn out to have a text layer are extracted the fast way at the same price.",
      "serviceName": "RemoteSight PDF OCR"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "maxPages": 10,
              "pdfBase64": ""
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "body": {
              "meta": {
                "method": "string",
                "truncated": "boolean",
                "inputBytes": "number",
                "totalPages": "number",
                "outputChars": "number",
                "processedPages": "number",
                "estOutputTokens": "number"
              },
              "pages": "number",
              "markdown": "string"
            },
            "example": {
              "meta": {
                "method": "ocr",
                "truncated": false,
                "inputBytes": 412876,
                "totalPages": 2,
                "outputChars": 1840,
                "processedPages": 2,
                "estOutputTokens": 460
              },
              "pages": 2,
              "markdown": "INVOICE\n\nAcme Supply Co.\n\nItem Qty Price\nWidgets 12 $48.00"
            },
            "bodyType": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "pdfBase64"
                  ],
                  "properties": {
                    "maxPages": {
                      "type": "number",
                      "description": "Pages to OCR from the start of the document (1-25, default 10)."
                    },
                    "pdfBase64": {
                      "type": "string",
                      "description": "Base64-encoded PDF file (scanned/image PDFs; machine-printed text, English)."
                    }
                  },
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "routeTemplate": "/ocr"
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://workbot1.oddsys.org/extract",
      "tags": [
        "html",
        "extraction",
        "metadata",
        "json-ld",
        "schema.org",
        "scraping"
      ],
      "mimeType": "application/json",
      "description": "Extract structured JSON from a web page: title, byline, publish date, Open Graph/meta tags, embedded JSON-LD (schema.org), links, and images. Deterministic, no LLM.",
      "serviceName": "RemoteSight Structured Extract"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "html": ""
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "body": {
              "meta": "object",
              "text": "string",
              "links": "array",
              "title": "string|null",
              "byline": "string|null",
              "images": "array",
              "jsonLd": "array",
              "excerpt": "string|null",
              "siteName": "string|null",
              "wordCount": "number",
              "publishedTime": "string|null"
            },
            "example": {
              "meta": {
                "og:type": "article",
                "description": "A practical guide to widgets."
              },
              "text": "Widgets are useful components...",
              "links": [
                {
                  "href": "https://example.com/docs",
                  "text": "docs"
                }
              ],
              "title": "Understanding Widgets",
              "byline": "Jane Doe",
              "images": [
                {
                  "alt": "widget",
                  "src": "https://example.com/hero.png"
                }
              ],
              "jsonLd": [
                {
                  "@type": "Article",
                  "headline": "Understanding Widgets"
                }
              ],
              "excerpt": "A practical guide to widgets.",
              "siteName": "Example Blog",
              "wordCount": 850,
              "publishedTime": "2026-01-15T10:00:00Z"
            },
            "bodyType": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "html"
                  ],
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "Optional source URL; resolves relative links/images."
                    },
                    "html": {
                      "type": "string",
                      "description": "Raw HTML document to extract structure from."
                    }
                  },
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "routeTemplate": "/extract"
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://workbot1.oddsys.org/chunk",
      "tags": [
        "chunking",
        "rag",
        "text",
        "embeddings",
        "context"
      ],
      "mimeType": "application/json",
      "description": "Split a document into token-bounded chunks at natural boundaries (paragraphs/sentences), with optional overlap. Ready-to-embed pieces for RAG, no tokens spent on the splitting logic.",
      "serviceName": "RemoteSight RAG Chunker"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "text": "",
              "maxTokens": 512,
              "overlapTokens": 0
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "body": {
              "meta": {
                "maxTokens": "number",
                "inputChars": "number",
                "totalChunks": "number",
                "overlapTokens": "number",
                "estInputTokens": "number"
              },
              "chunks": "array"
            },
            "example": {
              "meta": {
                "maxTokens": 512,
                "inputChars": 3930,
                "totalChunks": 2,
                "overlapTokens": 0,
                "estInputTokens": 983
              },
              "chunks": [
                {
                  "text": "First chunk of the document...",
                  "chars": {
                    "end": 1920,
                    "start": 0
                  },
                  "index": 0,
                  "estTokens": 480,
                  "overlapped": false
                },
                {
                  "text": "Second chunk...",
                  "chars": {
                    "end": 3930,
                    "start": 1920
                  },
                  "index": 1,
                  "estTokens": 502,
                  "overlapped": false
                }
              ]
            },
            "bodyType": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "text"
                  ],
                  "properties": {
                    "text": {
                      "type": "string",
                      "description": "The document text to split into chunks."
                    },
                    "maxTokens": {
                      "type": "number",
                      "description": "Target max tokens per chunk (32–8000, default 512)."
                    },
                    "overlapTokens": {
                      "type": "number",
                      "description": "Trailing tokens overlapped into each chunk (default 0)."
                    }
                  },
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "routeTemplate": "/chunk"
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://workbot1.oddsys.org/convert",
      "tags": [
        "convert",
        "json",
        "yaml",
        "csv",
        "xml",
        "data"
      ],
      "mimeType": "application/json",
      "description": "Convert data between JSON, YAML, CSV, and XML. Deterministic format juggling done off-context, with edge cases handled.",
      "serviceName": "RemoteSight Format Convert"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "to": "yaml",
              "data": "",
              "from": "json"
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "body": {
              "to": "string",
              "from": "string",
              "meta": {
                "inputChars": "number",
                "outputChars": "number"
              },
              "result": "string"
            },
            "example": {
              "to": "json",
              "from": "csv",
              "meta": {
                "inputChars": 22,
                "outputChars": 40
              },
              "result": "[\n  { \"name\": \"Ada\", \"role\": \"eng\" }\n]"
            },
            "bodyType": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "data",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "to": {
                      "enum": [
                        "json",
                        "yaml",
                        "csv",
                        "xml"
                      ],
                      "type": "string",
                      "description": "Target format."
                    },
                    "data": {
                      "type": "string",
                      "description": "The source document as text."
                    },
                    "from": {
                      "enum": [
                        "json",
                        "yaml",
                        "csv",
                        "xml"
                      ],
                      "type": "string",
                      "description": "Source format."
                    }
                  },
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "routeTemplate": "/convert"
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://workbot1.oddsys.org/qr",
      "tags": [
        "qr",
        "qrcode",
        "image",
        "png",
        "svg",
        "generation"
      ],
      "mimeType": "application/json",
      "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.",
      "serviceName": "Busker QR Generator"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "dark": "#000000",
              "text": "",
              "light": "#ffffff",
              "scale": 4,
              "format": "png",
              "margin": 2
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "body": {
              "svg": "string (svg) | absent (png)",
              "meta": {
                "scale": "number",
                "margin": "number",
                "pixels": "number",
                "modules": "number",
                "inputBytes": "number"
              },
              "format": "string",
              "dataBase64": "string (png) | absent (svg)"
            },
            "example": {
              "meta": {
                "dark": "#000000",
                "light": "#ffffff",
                "scale": 4,
                "margin": 2,
                "pixels": 116,
                "modules": 25,
                "inputBytes": 23,
                "outputBytes": 412,
                "errorCorrection": "M"
              },
              "format": "png",
              "dataBase64": "iVBORw0KGgoAAAANSUhEUgAA…"
            },
            "bodyType": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "text"
                  ],
                  "properties": {
                    "dark": {
                      "type": "string",
                      "description": "Hex colour of the data modules (default #000000)."
                    },
                    "text": {
                      "type": "string",
                      "description": "Content to encode (max 2953 bytes utf8 — QR capacity)."
                    },
                    "light": {
                      "type": "string",
                      "description": "Hex colour of the background (default #ffffff)."
                    },
                    "scale": {
                      "type": "number",
                      "description": "Pixels per QR module, PNG only (1-20, default 4)."
                    },
                    "format": {
                      "enum": [
                        "png",
                        "svg"
                      ],
                      "type": "string",
                      "description": "Output format (default png)."
                    },
                    "margin": {
                      "type": "number",
                      "description": "Quiet-zone width in modules (0-16, default 2)."
                    }
                  },
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "routeTemplate": "/qr"
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://workbot1.oddsys.org/image",
      "tags": [
        "image",
        "resize",
        "crop",
        "greyscale",
        "convert",
        "png",
        "jpeg",
        "webp"
      ],
      "mimeType": "application/json",
      "description": "Modify an image in one call: crop, resize, convert to greyscale, and re-encode (PNG/JPEG/WebP) — applied in that order, any combination. Deterministic, no upscaling surprises.",
      "serviceName": "Busker Image Tools"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "format": "jpeg",
              "resize": {
                "width": 512
              },
              "quality": 80,
              "greyscale": false,
              "imageBase64": ""
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "body": {
              "meta": {
                "width": "number",
                "height": "number",
                "inputWidth": "number",
                "operations": "array",
                "inputHeight": "number",
                "outputBytes": "number"
              },
              "format": "string",
              "dataBase64": "string"
            },
            "example": {
              "meta": {
                "width": 512,
                "height": 288,
                "inputBytes": 482113,
                "inputWidth": 1920,
                "operations": [
                  "resize",
                  "encode:jpeg"
                ],
                "inputFormat": "png",
                "inputHeight": 1080,
                "outputBytes": 18342
              },
              "format": "jpeg",
              "dataBase64": "/9j/4AAQSkZJRg…"
            },
            "bodyType": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "imageBase64"
                  ],
                  "properties": {
                    "crop": {
                      "type": "object",
                      "required": [
                        "width",
                        "height"
                      ],
                      "properties": {
                        "top": {
                          "type": "number"
                        },
                        "left": {
                          "type": "number"
                        },
                        "width": {
                          "type": "number"
                        },
                        "height": {
                          "type": "number"
                        }
                      },
                      "description": "Crop region in source pixels; applied first."
                    },
                    "format": {
                      "enum": [
                        "png",
                        "jpeg",
                        "webp"
                      ],
                      "type": "string",
                      "description": "Output encoding (default: source format)."
                    },
                    "resize": {
                      "type": "object",
                      "properties": {
                        "fit": {
                          "type": "string"
                        },
                        "width": {
                          "type": "number"
                        },
                        "height": {
                          "type": "number"
                        }
                      },
                      "description": "Target size; fit: cover|contain|fill|inside|outside (default inside)."
                    },
                    "quality": {
                      "type": "number",
                      "description": "JPEG/WebP quality 1-100 (default 80)."
                    },
                    "greyscale": {
                      "type": "boolean",
                      "description": "Convert to greyscale."
                    },
                    "imageBase64": {
                      "type": "string",
                      "description": "Base64-encoded source image (png/jpeg/webp/gif/tiff)."
                    }
                  },
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "routeTemplate": "/image"
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://workbot1.oddsys.org/detect",
      "tags": [
        "detection",
        "vision",
        "image",
        "people",
        "vehicles",
        "pets",
        "yolox",
        "counting"
      ],
      "mimeType": "application/json",
      "description": "Detect and locate objects in an image (YOLOX-nano, COCO classes): people, pets (dog/cat/horse), vehicles, and 70+ more. Returns per-class counts and pixel bounding boxes. Detection only — no identification. Best on clear, medium-to-large objects.",
      "serviceName": "Busker Object Detection"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "classes": [
                "person"
              ],
              "imageBase64": "",
              "minConfidence": 0.4
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "body": {
              "meta": {
                "model": "string",
                "width": "number",
                "height": "number",
                "inferenceMs": "number"
              },
              "counts": "object (class -> count)",
              "objects": "array of { class, confidence, box: {x, y, width, height} } in source pixels"
            },
            "example": {
              "meta": {
                "model": "yolox-nano",
                "width": 1920,
                "height": 1080,
                "inputBytes": 348211,
                "inferenceMs": 1450,
                "classesFilter": null,
                "minConfidence": 0.4
              },
              "counts": {
                "dog": 1,
                "person": 2
              },
              "objects": [
                {
                  "box": {
                    "x": 412,
                    "y": 108,
                    "width": 143,
                    "height": 388
                  },
                  "class": "person",
                  "confidence": 0.87
                },
                {
                  "box": {
                    "x": 655,
                    "y": 121,
                    "width": 130,
                    "height": 371
                  },
                  "class": "person",
                  "confidence": 0.81
                },
                {
                  "box": {
                    "x": 220,
                    "y": 340,
                    "width": 180,
                    "height": 160
                  },
                  "class": "dog",
                  "confidence": 0.63
                }
              ]
            },
            "bodyType": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "imageBase64"
                  ],
                  "properties": {
                    "classes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Restrict results to these COCO class names (e.g. person, dog, cat, horse, car, bus, truck, motorcycle, bicycle). Omit for all 80 classes."
                    },
                    "imageBase64": {
                      "type": "string",
                      "description": "Base64-encoded image (png/jpeg/webp)."
                    },
                    "minConfidence": {
                      "type": "number",
                      "description": "Score threshold 0.05-0.95 (default 0.4)."
                    }
                  },
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "routeTemplate": "/detect"
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://workbot1.oddsys.org/embed",
      "tags": [
        "embeddings",
        "vector",
        "rag",
        "semantic-search",
        "minilm",
        "nlp"
      ],
      "mimeType": "application/json",
      "description": "Generate sentence embeddings (all-MiniLM-L6-v2, 384-dim, mean-pooled + L2-normalized) for up to 96 texts per call. Drop-in compatible with any all-MiniLM-L6-v2 index. Pairs with /chunk for a complete RAG pipeline.",
      "serviceName": "Busker Embeddings"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "texts": [
                "first passage",
                "second passage"
              ]
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "body": {
              "meta": {
                "count": "number",
                "model": "string",
                "dimensions": "number",
                "inferenceMs": "number",
                "totalTokens": "number"
              },
              "embeddings": "array of float arrays (384-dim, L2-normalized)"
            },
            "example": {
              "meta": {
                "count": 1,
                "model": "all-minilm-l6-v2",
                "dimensions": 384,
                "normalized": true,
                "inferenceMs": 34,
                "totalTokens": 9
              },
              "embeddings": [
                [
                  0.021,
                  -0.043,
                  0.118,
                  "…381 more"
                ]
              ]
            },
            "bodyType": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "description": "Convenience: a single text instead of the texts array."
                    },
                    "texts": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "1-96 texts to embed (each truncated at 256 tokens)."
                    }
                  },
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "routeTemplate": "/embed"
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x15459498e1191d8787c83177809bd54022fA18c4",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://workbot1.oddsys.org/fetch",
      "tags": [
        "fetch",
        "scraping",
        "url",
        "markdown",
        "web",
        "context-compression"
      ],
      "mimeType": "application/json",
      "description": "Fetch a public web page and return clean markdown (or structured JSON) — URL in, agent-ready content out, typically 80-85% fewer tokens than raw HTML. Handles redirects and compression.",
      "serviceName": "Busker Fetch & Clean"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "url": "https://example.com/article",
              "format": "markdown"
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "body": {
              "meta": {
                "inputBytes": "number",
                "outputChars": "number",
                "estInputTokens": "number",
                "estOutputTokens": "number"
              },
              "title": "string|null",
              "source": {
                "url": "string (final URL after redirects)",
                "bytes": "number",
                "httpStatus": "number"
              },
              "markdown": "string",
              "extracted": "boolean"
            },
            "example": {
              "meta": {
                "inputBytes": 1256,
                "outputChars": 68,
                "estInputTokens": 314,
                "estOutputTokens": 17
              },
              "title": "Example Domain",
              "source": {
                "url": "https://example.com/",
                "bytes": 1256,
                "httpStatus": 200
              },
              "markdown": "# Example Domain\n\nThis domain is for use in documentation examples.",
              "extracted": false
            },
            "bodyType": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "url"
                  ],
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "Public http/https URL of the page to fetch."
                    },
                    "format": {
                      "enum": [
                        "markdown",
                        "extract"
                      ],
                      "type": "string",
                      "description": "markdown (default) = clean prose; extract = structured JSON (title, byline, meta, JSON-LD, links)."
                    }
                  },
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "routeTemplate": "/fetch"
      }
    },
    "x402Version": 2
  }
]

OVER TIME

All charts use the 30d selector; each series spans only the dates it has data for. Every series is also served as JSON at /api/v1/services/busker/price, /scores, /volume and /buyers. On-chain volume and distinct buyers are measured over the service's settlement address and are a conservative undercount (only settlements that reach a measured facilitator are counted). The on-chain series roll up hourly, so the latest day can be up to about an hour behind; distinct buyers are counted per payout address, so a service that settles to more than one address is an upper bound.

UPTIME
08-03 · uptime 100.0% · 554ms avg08-04 · uptime 100.0% · 536ms avg08-05 · uptime 100.0% · 632ms avg08-06 · uptime 100.0% · 679ms avg08-07 · uptime 100.0% · 605ms avg08-08 · uptime 100.0% · 632ms avg08-09 · uptime 100.0% · 631ms avg08-10 · uptime 100.0% · 577ms avg08-11 · uptime 100.0% · 636ms avg08-12 · uptime 100.0% · 648ms avg08-13 · uptime 100.0% · 615ms avg08-0308-13
30d UPTIME 100%
RESPONSE TIME
08-03 · 554ms avg08-03 · 554ms avg08-04 · 536ms avg08-04 · 536ms avg08-05 · 632ms avg08-05 · 632ms avg08-06 · 679ms avg08-06 · 679ms avg08-07 · 605ms avg08-07 · 605ms avg08-08 · 632ms avg08-08 · 632ms avg08-09 · 631ms avg08-09 · 631ms avg08-10 · 577ms avg08-10 · 577ms avg08-11 · 636ms avg08-11 · 636ms avg08-12 · 648ms avg08-12 · 648ms avg08-13 · 615ms avg08-13 · 615ms avg08-0308-13
AVG RESP 618ms
PRICE (captured 402, USD)
08-03 · $0.00208-13 · $0.002$0.00208-0308-13

Median across 12 endpoints. Use the selector to isolate one.

SUB-SCORES (uptime + x402 compliance)
08-0308-04 uptime: 100.0% compliance: 100% checks08-05 uptime: 100.0% compliance: 100% checks08-06 uptime: 100.0% compliance: 100% checks08-07 uptime: 100.0% compliance: 100% checks08-08 uptime: 100.0% compliance: 100% checks08-09 uptime: 100.0% compliance: 100% checks08-10 uptime: 100.0% compliance: 100% checks08-11 uptime: 100.0% compliance: 100% checks08-12 uptime: 100.0% compliance: 100% checks08-13 uptime: 100.0% compliance: 100% checksuptimecompliance08-0308-13

checklist grew 11->14 on 2026-07-28; a step here is a metric change, not a regression

PILLARS OVER TIME (measured)

Measured site and economics pillars from the assessment history, so the latest value shown elsewhere on this page reads as a point on a trend rather than a permanent state.

VOLUME (on-chain settlement, USD)
08-03 · $0.0508-04 · $0.0008-13 · $0.00peak $0.0508-0308-13
DISTINCT BUYERS
08-03 · 1 buyer08-04 · 1 buyer08-13 · 1 buyerpeak 1 buyer08-0308-13

COMPLIANCE

14/14 checks pass · grade A

last 402 captured 2026-08-03 · last up 2026-08-13

  • 402 payload captured
  • accepts[] array present
  • payTo address recoverable
  • payTo at accepts[0].payTo (conformant shape)
  • payTo is a valid on-chain address
  • atomic price declared
  • atomic price in a sane range
  • asset (token) address declared
  • network resolves to CAIP-2
  • payment scheme declared
  • served over HTTPS
  • declares the current x402 version (2)
  • EIP-712 domain parameters present on every EVM entry
  • x402 v2 envelope delivered in the payment-required header

SITE PILLARS

  • homepage reachable
  • openapi doc
  • pricing page
  • llms.txt
  • robots.txt
  • terms page
recent checks (18) live · click to expand
TIME STATUS RESP CAUSE
● OK 433ms
● OK 535ms
● OK 569ms
● OK 685ms
● OK 715ms
● OK 231ms
● OK 775ms
● OK 749ms
● OK 584ms
● OK 618ms
● OK 681ms
● SLOW 1005ms
● OK 420ms
● OK 533ms
● OK 660ms
● OK 587ms
● OK 516ms
● OK 545ms

EMBED THIS BADGE

Show that Busker is monitored on x402-list. Paste this on your site or README, it links back to this live listing.

Busker listed on x402-list
status
Busker uptime on x402-list
live uptime
// HTML
<a href="https://x402-list.com/services/busker?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/busker.svg" alt="Busker listed on x402-list" height="28">
</a>
// Markdown
[![Busker on x402-list](https://x402-list.com/badge/busker.svg)](https://x402-list.com/services/busker?utm_source=badge&utm_medium=referral&utm_campaign=embed)
// HTML · live uptime variant
<a href="https://x402-list.com/services/busker?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/busker.svg?data=uptime" alt="Busker uptime on x402-list" height="28">
</a>

RUN THIS SERVICE?

Keep this listing accurate: propose changes to the name, description, website, category or add new endpoints to monitor. Ownership is verified with a domain proof and every change is reviewed manually; measured data stays read-only.

[ update this listing ]

Earn the verified tier: x402list pays a real call to this endpoint and, if it delivers, the service is delivery-verified. The fee covers the cost of the probe, not the badge; there is no refund if the call does not deliver. Agent and API only, no in-browser signing. See /api.

[ verify this service ($0.25) ]

To request delisting, email info@x402-list.com or update your listing at /services/busker/update.