Busker
workbot1.oddsys.org
· Busker
Content-to-context toolkit for AI agents: stateless per-call paid transforms (HTML/PDF/OCR to markdown, structured extraction, RAG chunking, embeddings, reranking, URL fetch, format conversion, QR, image ops, object detection). Every call is paid via x402 (USDC on Base); failed requests are never charged.
workbot1.oddsys.org via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Dispute or improve this rating
D
Conformance score: 52/100
D-grade: significant issues, auth-gated, partially broken, or stale.
click to expand breakdown
click to collapse breakdown
Activity (audit trail)
last 24h · 0 invocations 100.0% success Public aggregate · no PII recordedPer event type (7d)
Recent events (last 20)
| When | Event | Method | Status | Latency |
|---|---|---|---|---|
| 2026-10-25T04:34:30 | search_click | /agents |
— ok | 6ms |
| 2026-10-22T01:52:58 | search_click | /agents |
— ok | 2ms |
| 2026-10-18T10:00:58 | search_click | /agents |
— ok | 3ms |
| 2026-10-18T08:51:39 | search_impression | — |
200 ok | — |
| 2026-10-17T04:33:05 | search_click | /agents |
— ok | 7ms |
| 2026-10-16T18:56:49 | search_click | /agents |
— ok | 4ms |
| 2026-10-16T03:12:40 | search_click | /agents |
— ok | 2ms |
| 2026-10-16T02:25:18 | search_click | /agents |
— ok | 2ms |
| 2026-10-16T01:52:58 | search_click | /agents |
— ok | 4ms |
| 2026-10-10T02:26:18 | search_click | /agents |
— ok | 4ms |
| 2026-10-10T01:52:55 | search_click | /agents |
— ok | 7ms |
| 2026-10-09T22:06:56 | search_click | /agents |
— ok | 11ms |
| 2026-10-09T21:35:16 | search_click | /agents |
— ok | 5ms |
| 2026-10-07T22:03:22 | search_click | /agents |
— ok | 6ms |
| 2026-10-07T21:35:16 | search_click | /agents |
— ok | 1ms |
| 2026-10-07T17:47:54 | search_click | /agents |
— ok | 7ms |
| 2026-10-07T17:45:04 | search_click | /agents |
— ok | 45ms |
| 2026-10-07T17:42:26 | search_click | /agents |
— ok | 3ms |
| 2026-10-06T22:09:22 | search_click | /agents |
— ok | 7ms |
| 2026-10-06T21:35:12 | search_click | /agents |
— ok | 4ms |
Card history
1 snapshot Every change toagent-card.json
| Captured | Hash | Snapshot |
|---|---|---|
| 2026-10-02 01:27:33 current | 5b894b4debbc… |
view → |
Endpoints
| Endpoint | Price | Currency |
|---|---|---|
https://workbot1.oddsys.org/qr
|
0.005 | USDC |
https://workbot1.oddsys.org/fx
|
0.001 | USDC |
https://workbot1.oddsys.org/tz
|
0.001 | USDC |
https://workbot1.oddsys.org/transform
|
— | USDC |
https://workbot1.oddsys.org/pdf
|
— | USDC |
https://workbot1.oddsys.org/ocr
|
— | USDC |
https://workbot1.oddsys.org/ocr-deep
|
— | USDC |
https://workbot1.oddsys.org/extract
|
— | USDC |
https://workbot1.oddsys.org/chunk
|
— | USDC |
https://workbot1.oddsys.org/convert
|
— | USDC |
https://workbot1.oddsys.org/image
|
— | USDC |
https://workbot1.oddsys.org/detect
|
— | USDC |
https://workbot1.oddsys.org/embed
|
— | USDC |
https://workbot1.oddsys.org/rerank
|
— | USDC |
https://workbot1.oddsys.org/fetch
|
— | USDC |
https://workbot1.oddsys.org/phone
|
— | USDC |
https://workbot1.oddsys.org/decode-tx
|
— | USDC |
https://workbot1.oddsys.org/screen
|
— | USDC |
https://workbot1.oddsys.org/verify-sig
|
— | USDC |
https://workbot1.oddsys.org/iban
|
— | USDC |
https://workbot1.oddsys.org/holidays
|
— | USDC |
https://workbot1.oddsys.org/validate
|
— | USDC |
https://workbot1.oddsys.org/tokens
|
— | USDC |
https://workbot1.oddsys.org/lang
|
— | USDC |
0x15459498e1191d8787c83177809bd54022fa18c4 on Base
· basescan ↗
independently_paid
5/5
Many distinct payers observed, low concentration, repeat demand, and no self-referential payment signal.
daily_volume_aggregate, active_day_cadence, amount_regularity, spike_concentration, settlement_wallet_overlap, payer_uniqueness, payer_concentration, payer_recurrence, payer_payee_overlap.
Derived from agent_revenue_daily, agents.payment_wallet, agent_payment_transactions.
Measured 2026-10-25.
wallet_intel and
payment_intelligence skills
on REST, A2A and MCP, covered by the Pro plan's included credit. API docs →
| Agent card | https://workbot1.oddsys.org/.well-known/agent-card.json |
| Provider | https://workbot1.oddsys.org |
| Docs | https://workbot1.oddsys.org |
Skills · 25 declared by this agent
These skills are declared by the agent. A taxonomy link appears only when we can classify a skill confidently.
Convert raw HTML into clean markdown. Typically cuts page tokens by 80-85% before they hit an LLM context window.
Extract clean markdown text from a PDF (text-layer PDFs; no OCR). Turns a document an agent can't cheaply read into compact tokens.
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 extracte…
High-page-count OCR: scanned PDF into clean text (Tesseract, English, machine-printed documents), up to 100 pages per call — four times the /ocr cap. Runs under…
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 …
Split a document into token-bounded chunks at natural boundaries (paragraphs/sentences), with optional overlap. Ready-to-embed pieces for RAG, no tokens spent o…
Convert data between JSON, YAML, CSV, and XML. Deterministic format juggling done off-context, with edge cases handled.
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. Set d…
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 upsca…
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 bound…
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 …
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 emb…
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 r…
Live foreign-exchange reference rates (European Central Bank daily fixes, ~30 major currencies): any cross-rate from any base, optional amount conversion. Refre…
Validate and normalize phone numbers (Google libphonenumber): validity, E.164/international/national formats, country, region, and line type (mobile/fixed/VoIP)…
Decode EVM calldata or a Base-mainnet transaction into human-readable form: function selector, matched signature, named args, plus ERC-20/USDC transfer events f…
Fuzzy sanctions screening against the US OFAC SDN list (public-domain source, refreshed daily): name in, scored matches with programs and aliases out. Batches u…
Verify EVM signatures offline: EIP-191 personal messages, EIP-712 typed data, and x402/EIP-3009 payment authorizations (paste a raw Payment-Signature header) — …
Validate and decompose IBANs (checksum, country format, IBAN registry, SEPA membership; bank/branch/account parts) and BIC/SWIFT codes. Batches up to 100. Forma…
Public holidays for ~200 countries and their subdivisions, plus business-day arithmetic: is this date a holiday or business day, next business day, add N busine…
Time-zone conversion on the IANA database: convert a time between zones with offsets, abbreviations and DST flags, describe zones at an instant, or compute the …
Validate JSON against a JSON Schema (draft-07, 2019-09, 2020-12, with string formats): every violation with path, keyword and message. One instance, a JSON stri…
Exact BPE token counts for OpenAI-family encodings (o200k_base for GPT-4o/4.1/5, cl100k_base for GPT-4/3.5/embeddings), single text or batches, with optional tr…
Language identification for 180+ languages (every language with ≥1M speakers): ISO 639-3 code, ISO 639-1 code and English name, with ranked candidates and a con…
FREE feature-request inbox: didn't find the capability you need? POST {"want": "..."} and steer which paid routes get built next.
Health · last 30 probes
Who's calling this agent 30d
32 interactions captured (impressions + lookups + A2A calls)
web
30
rest
2
Public view: top 3 per dimension. Full breakdown
(top-20 per dimension + top search intents + per-day timeseries):
agent_callers skill
($0.05/call, $0 on
Enterprise).
Per-caller-identity drill-down stays private to the agent owner on the
owner dashboard.
Cheaper or better alternatives per-skill
For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/workbot1.oddsys.org) [](https://agenstry.com/agents/workbot1.oddsys.org) [](https://agenstry.com/agents/workbot1.oddsys.org) [](https://agenstry.com/agents/workbot1.oddsys.org)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"protocolVersion": "0.2.6",
"name": "Busker",
"description": "Content-to-context toolkit for AI agents: stateless per-call paid transforms (HTML/PDF/OCR to markdown, structured extraction, RAG chunking, embeddings, reranking, URL fetch, format conversion, QR, image ops, object detection). Every call is paid via x402 (USDC on Base); failed requests are never charged.",
"url": "https://workbot1.oddsys.org/",
"preferredTransport": "HTTP+JSON",
"provider": {
"organization": "Busker",
"url": "https://workbot1.oddsys.org"
},
"version": "0.15.0",
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": false
},
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "transform",
"name": "RemoteSight HTML\u2192Markdown",
"description": "Convert raw HTML into clean markdown. Typically cuts page tokens by 80-85% before they hit an LLM context window.",
"tags": [
"html",
"markdown",
"extraction",
"context-compression",
"scraping"
],
"examples": [
"POST https://workbot1.oddsys.org/transform"
]
},
{
"id": "pdf",
"name": "RemoteSight PDF\u2192Markdown",
"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.",
"tags": [
"pdf",
"markdown",
"extraction",
"document",
"context-compression"
],
"examples": [
"POST https://workbot1.oddsys.org/pdf"
]
},
{
"id": "ocr",
"name": "RemoteSight PDF OCR",
"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.",
"tags": [
"ocr",
"pdf",
"scanned",
"extraction",
"document",
"tesseract"
],
"examples": [
"POST https://workbot1.oddsys.org/ocr"
]
},
{
"id": "ocr-deep",
"name": "Busker Deep OCR",
"description": "High-page-count OCR: scanned PDF into clean text (Tesseract, English, machine-printed documents), up to 100 pages per call \u2014 four times the /ocr cap. Runs under a 240s wall-clock budget; slower documents return the completed pages with truncatedReason \"time-budget\". Text-layer PDFs are extracted the fast way at the same price.",
"tags": [
"ocr",
"pdf",
"scanned",
"extraction",
"document",
"tesseract",
"batch",
"long-document"
],
"examples": [
"POST https://workbot1.oddsys.org/ocr-deep"
]
},
{
"id": "extract",
"name": "RemoteSight Structured Extract",
"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.",
"tags": [
"html",
"extraction",
"metadata",
"json-ld",
"schema.org",
"scraping"
],
"examples": [
"POST https://workbot1.oddsys.org/extract"
]
},
{
"id": "chunk",
"name": "RemoteSight RAG Chunker",
"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.",
"tags": [
"chunking",
"rag",
"text",
"embeddings",
"context"
],
"examples": [
"POST https://workbot1.oddsys.org/chunk"
]
},
{
"id": "convert",
"name": "RemoteSight Format Convert",
"description": "Convert data between JSON, YAML, CSV, and XML. Deterministic format juggling done off-context, with edge cases handled.",
"tags": [
"convert",
"json",
"yaml",
"csv",
"xml",
"data"
],
"examples": [
"POST https://workbot1.oddsys.org/convert"
]
},
{
"id": "qr",
"name": "Busker QR Generator",
"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. Set delivery to \"url\" to receive a short-lived download link instead of inline data.",
"tags": [
"qr",
"qrcode",
"image",
"png",
"svg",
"generation"
],
"examples": [
"POST https://workbot1.oddsys.org/qr"
]
},
{
"id": "image",
"name": "Busker Image Tools",
"description": "Modify an image in one call: crop, resize, convert to greyscale, and re-encode (PNG/JPEG/WebP) \u2014 applied in that order, any combination. Deterministic, no upscaling surprises. Set delivery to \"url\" to receive a short-lived download link instead of inline base64.",
"tags": [
"image",
"resize",
"crop",
"greyscale",
"convert",
"png",
"jpeg",
"webp"
],
"examples": [
"POST https://workbot1.oddsys.org/image"
]
},
{
"id": "detect",
"name": "Busker Object Detection",
"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 \u2014 no identification. Best on clear, medium-to-large objects.",
"tags": [
"detection",
"vision",
"image",
"people",
"vehicles",
"pets",
"yolox",
"counting"
],
"examples": [
"POST https://workbot1.oddsys.org/detect"
]
},
{
"id": "embed",
"name": "Busker Embeddings",
"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.",
"tags": [
"embeddings",
"vector",
"rag",
"semantic-search",
"minilm",
"nlp"
],
"examples": [
"POST https://workbot1.oddsys.org/embed"
]
},
{
"id": "rerank",
"name": "Busker Reranker",
"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.",
"tags": [
"rerank",
"reranking",
"rag",
"search",
"relevance",
"cross-encoder",
"retrieval"
],
"examples": [
"POST https://workbot1.oddsys.org/rerank"
]
},
{
"id": "fetch",
"name": "Busker Fetch & Clean",
"description": "Fetch a public web page and return clean markdown (or structured JSON) \u2014 URL in, agent-ready content out, typically 80-85% fewer tokens than raw HTML. Handles redirects and compression.",
"tags": [
"fetch",
"scraping",
"url",
"markdown",
"web",
"context-compression"
],
"examples": [
"POST https://workbot1.oddsys.org/fetch"
]
},
{
"id": "fx",
"name": "Busker FX Rates",
"description": "Live foreign-exchange reference rates (European Central Bank daily fixes, ~30 major currencies): any cross-rate from any base, optional amount conversion. Refreshed daily; response carries the rate date.",
"tags": [
"fx",
"forex",
"exchange-rates",
"currency",
"usd",
"eur",
"finance",
"data"
],
"examples": [
"POST https://workbot1.oddsys.org/fx"
]
},
{
"id": "phone",
"name": "Busker Phone Validator",
"description": "Validate and normalize phone numbers (Google libphonenumber): validity, E.164/international/national formats, country, region, and line type (mobile/fixed/VoIP). Single number or batches up to 100.",
"tags": [
"phone",
"validation",
"e164",
"libphonenumber",
"normalization",
"data"
],
"examples": [
"POST https://workbot1.oddsys.org/phone"
]
},
{
"id": "decode-tx",
"name": "Busker Tx Decoder",
"description": "Decode EVM calldata or a Base-mainnet transaction into human-readable form: function selector, matched signature, named args, plus ERC-20/USDC transfer events from the receipt \u2014 verify an x402 settlement receipt (tx hash in, payer/payee/amount out) in one call.",
"tags": [
"evm",
"base",
"calldata",
"decode",
"transaction",
"x402",
"usdc",
"receipt",
"chain"
],
"examples": [
"POST https://workbot1.oddsys.org/decode-tx"
]
},
{
"id": "screen",
"name": "Busker Sanctions Screen",
"description": "Fuzzy sanctions screening against the US OFAC SDN list (public-domain source, refreshed daily): name in, scored matches with programs and aliases out. Batches up to 50. Coverage is OFAC SDN only \u2014 stated in every response.",
"tags": [
"sanctions",
"ofac",
"sdn",
"compliance",
"screening",
"kyc",
"risk",
"data"
],
"examples": [
"POST https://workbot1.oddsys.org/screen"
]
},
{
"id": "verify-sig",
"name": "Busker Signature Verifier",
"description": "Verify EVM signatures offline: EIP-191 personal messages, EIP-712 typed data, and x402/EIP-3009 payment authorizations (paste a raw Payment-Signature header) \u2014 recovers the signing wallet, checks it against an expected address, and reports the authorization's amount, payee and validity window. No chain reads.",
"tags": [
"signature",
"eip191",
"eip712",
"eip3009",
"x402",
"evm",
"verify",
"wallet",
"auth"
],
"examples": [
"POST https://workbot1.oddsys.org/verify-sig"
]
},
{
"id": "iban",
"name": "Busker IBAN/BIC Validator",
"description": "Validate and decompose IBANs (checksum, country format, IBAN registry, SEPA membership; bank/branch/account parts) and BIC/SWIFT codes. Batches up to 100. Format validation only \u2014 does not prove an account exists.",
"tags": [
"iban",
"bic",
"swift",
"banking",
"payments",
"validation",
"sepa",
"finance",
"data"
],
"examples": [
"POST https://workbot1.oddsys.org/iban"
]
},
{
"id": "holidays",
"name": "Busker Holidays & Business Days",
"description": "Public holidays for ~200 countries and their subdivisions, plus business-day arithmetic: is this date a holiday or business day, next business day, add N business days, count business days between dates. Configurable weekend and holiday types.",
"tags": [
"holidays",
"business-days",
"calendar",
"dates",
"scheduling",
"settlement",
"sla",
"data"
],
"examples": [
"POST https://workbot1.oddsys.org/holidays"
]
},
{
"id": "tz",
"name": "Busker Time Zones",
"description": "Time-zone conversion on the IANA database: convert a time between zones with offsets, abbreviations and DST flags, describe zones at an instant, or compute the shared business-hours window across several zones for meeting scheduling.",
"tags": [
"timezone",
"tz",
"iana",
"dst",
"scheduling",
"meeting",
"time",
"data"
],
"examples": [
"POST https://workbot1.oddsys.org/tz"
]
},
{
"id": "validate",
"name": "Busker JSON Schema Validator",
"description": "Validate JSON against a JSON Schema (draft-07, 2019-09, 2020-12, with string formats): every violation with path, keyword and message. One instance, a JSON string, or up to 100 instances against one schema.",
"tags": [
"json-schema",
"validation",
"structured-output",
"schema",
"json",
"developer-tools"
],
"examples": [
"POST https://workbot1.oddsys.org/validate"
]
},
{
"id": "tokens",
"name": "Busker Token Counter",
"description": "Exact BPE token counts for OpenAI-family encodings (o200k_base for GPT-4o/4.1/5, cl100k_base for GPT-4/3.5/embeddings), single text or batches, with optional truncation to a token budget. Up to 512 KB per call.",
"tags": [
"tokens",
"tiktoken",
"token-count",
"context-window",
"llm",
"budget",
"developer-tools"
],
"examples": [
"POST https://workbot1.oddsys.org/tokens"
]
},
{
"id": "lang",
"name": "Busker Language ID",
"description": "Language identification for 180+ languages (every language with \u22651M speakers): ISO 639-3 code, ISO 639-1 code and English name, with ranked candidates and a confidence margin. Single text or batches up to 100.",
"tags": [
"language",
"language-detection",
"nlp",
"iso639",
"text",
"routing",
"data"
],
"examples": [
"POST https://workbot1.oddsys.org/lang"
]
},
{
"id": "suggest",
"name": "Busker Suggestion Box",
"description": "FREE feature-request inbox: didn't find the capability you need? POST {\"want\": \"...\"} and steer which paid routes get built next.",
"tags": [
"feedback",
"feature-request",
"free"
],
"examples": [
"POST https://workbot1.oddsys.org/suggest"
]
}
],
"x-clients": {
"mcp": {
"package": "busker-mcp",
"install": "npx -y busker-mcp",
"registry": "https://www.npmjs.com/package/busker-mcp",
"note": "All skills as MCP tools; payment handled client-side via x402 with per-wallet serialisation."
}
},
"x-payments": {
"protocol": "x402",
"network": "eip155:8453",
"manifest": "https://workbot1.oddsys.org/.well-known/x402",
"priceRange": "$0.001-$0.03 USDC per call"
}
}