Overwing

Guardrails for LLM output. Paste any text, get a pass / fail / review verdict with calibrated confidence in under 500 ms. API-first. Agents welcome.

SocialLiveeip155:8453Exactvia cdp
GuardrailsGuardrailModerationContent-moderationSafety
Settlements · 30d
8
No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days.
$0.02
Verified settled volume
8 settlements proven x402 by their on-chain EIP-3009 marker.
$0.0020
Listed price
As published in the catalog. Always read the live 402 before paying.
3
Calls · 30d
Upstream's own call count for this endpoint, not ours.
2
Unique payers · 30d
Last called 2026-09-24 19:52Z
—
Upstream on-chain volume
Reported by the source catalog.
Paid to
0xF4A6CEa7CE19CE36D6420905E5a1EAFb30Bfd133

The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.

Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Provider

The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.

Accepts

The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.

0.002USDC≈ $0.002 USD
on Base · exact scheme

Pay 0.002 USDC on Base to 0xF4A6…fd133. The signed payment is good for 1 minute.

USD Coin contract
0x8335…02913
Payment window
1 minute
As published
2000 smallest units
The catalog’s raw entry
[
  {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "payTo": "0xF4A6CEa7CE19CE36D6420905E5a1EAFb30Bfd133",
    "amount": "2000",
    "scheme": "exact",
    "network": "eip155:8453",
    "maxTimeoutSeconds": 60
  }
]

Extensions

{
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "input": "Reach me at dana@example.com or 555-0142 to sort out the refund.",
          "context": {
            "channel": "email",
            "recipient": "the refunds desk already in this email thread",
            "owns_contact_info": true
          },
          "rule_set": "outbound-message"
        },
        "type": "http",
        "method": "POST",
        "bodyType": "json"
      },
      "output": {
        "type": "json",
        "example": {
          "id": "eval_aBcDeFgHiJkLmNoP",
          "paid": {
            "network": "base",
            "protocol": "x402",
            "price_usd": 0.002
          },
          "results": [
            {
              "rule": "unauthorized_pii",
              "type": "noul",
              "action": "redact",
              "answer": false,
              "verdict": "pass",
              "confidence": 0.88,
              "probability": 0.94
            },
            {
              "rule": "confidential_leak",
              "type": "noul",
              "action": "block",
              "answer": false,
              "verdict": "pass",
              "confidence": 0.94,
              "probability": 0.97
            },
            {
              "rule": "toxicity",
              "type": "choice",
              "action": "block",
              "answer": "safe",
              "verdict": "pass",
              "confidence": 1,
              "probability": 1
            }
          ],
          "verdict": "pass",
          "confidence": 0.88,
          "latency_ms": 173,
          "aggregate_score": 1,
          "recommended_action": "allow"
        }
      }
    },
    "schema": {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "properties": {
            "body": {
              "type": "object",
              "required": [
                "input"
              ],
              "properties": {
                "input": {
                  "type": "string",
                  "maxLength": 100000,
                  "description": "The text to check: a draft message, a model's output, an incoming message, a post"
                },
                "context": {
                  "type": "object",
                  "description": "Facts the rules may use: recipient, channel (email, chat, public post), owns_contact_info (true when the recipient already owns the personal data in the text), sender, purpose. Max 8 KB"
                },
                "metadata": {
                  "type": "object",
                  "description": "Opaque data stored with the evaluation (max 8 KB)"
                },
                "rule_set": {
                  "enum": [
                    "content-safety",
                    "outbound-message"
                  ],
                  "type": "string",
                  "default": "content-safety",
                  "description": "content-safety: toxicity, personal data, self-harm, sexual content, severity. outbound-message: the same plus unauthorized personal data and confidential leaks, judged against context"
                }
              }
            },
            "type": {
              "type": "string",
              "const": "http"
            },
            "method": {
              "enum": [
                "POST"
              ],
              "type": "string"
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "output": {
          "type": "object",
          "required": [
            "type"
          ],
          "properties": {
            "type": {
              "type": "string"
            },
            "example": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "results": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "rule": {
                        "type": "string"
                      },
                      "type": {
                        "enum": [
                          "choice",
                          "score",
                          "noul"
                        ],
                        "type": "string"
                      },
                      "action": {
                        "enum": [
                          "block",
                          "redact",
                          "review"
                        ],
                        "type": "string",
                        "description": "What this rule asks for when it fails"
                      },
                      "answer": {},
                      "verdict": {
                        "enum": [
                          "pass",
                          "fail",
                          "review"
                        ],
                        "type": "string"
                      },
                      "confidence": {
                        "type": "number"
                      },
                      "probability": {
                        "type": "number"
                      }
                    }
                  }
                },
                "verdict": {
                  "enum": [
                    "pass",
                    "fail",
                    "review"
                  ],
                  "type": "string",
                  "description": "fail: a rule matched. review: a rule was unsure. pass: neither"
                },
                "confidence": {
                  "type": "number",
                  "description": "Minimum confidence across rules, 0 to 1"
                },
                "latency_ms": {
                  "type": "integer"
                },
                "aggregate_score": {
                  "type": "number",
                  "description": "0 to 1, weighted across rules"
                },
                "recommended_action": {
                  "enum": [
                    "block",
                    "redact",
                    "review",
                    "allow"
                  ],
                  "type": "string",
                  "description": "The one field to branch on. block: do not send. redact: remove the flagged content and check again. review: ask a human. allow: proceed"
                }
              }
            }
          }
        }
      }
    }
  }
}

Provenance

Seen in the source catalog
2026-09-24 19:52Z
Last indexed by Roundhouse
2026-09-25 01:30Z
Last enriched (probe, favicon, geo)
2026-09-24 02:15Z
x402 version
2
Max timeout
60s
Liveness probe
HTTP 200
Report

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/endpoints

No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days. Verified volume counts only settlements with an on-chain EIP-3009 marker.

Open skill.md
Show the prompt
Using Roundhouse, look up the x402 service Overwing and tell me whether it is
worth paying: what a call costs, whether the endpoint answered when last probed, and what
its payment record actually shows.

curl -s 'https://api.roundhouseai.io/v0/endpoints?q=Overwing'
curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>'

Then call it: read the price from the live 402 at https://overwing.ai/api/x402/evaluate, never from
a cached figure, and pay with an x402 client.

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402,
or use an organization key from https://roundhouseai.io/dashboard/team.

If you do not have Roundhouse tools or skills installed, read
https://roundhouseai.io/skill.md first — it is the whole procedure.