561 Group Market

XML and Namespace Well-formedness Check

Check XML 1.0 markup and Namespaces 1.0 bindings, reserved prefixes, qualified names and unique expanded attributes. Return true/false with bounded diagnostics and native line/column when available; malformed markup is a paid check result. DTD/XML1.1 and over-limit carriers are refused before payment. Not DTD/XSD validation or Canonical XML. Namespace names are retained, not fetched or URI-normalized. Maximum 65536 XML bytes, 8192 nodes/attributes, depth 64.

Price
from $0.0012 USDC per request (starting price; the 402 response quotes the exact amount for your input)
Network
Base mainnet, eip155:8453, settled in USDC through the Coinbase CDP facilitator
Method and URL
POST https://market.561.group/v1/data/xml-well-formedness
Response type
application/json
Seller
Causeway Services (561 Group)

Input contract

Input that fails this contract is refused with a 4xx status before any payment is requested.

{
  "maxBytes": 1048576,
  "bodySchema": {
    "type": "object",
    "required": [
      "xml"
    ],
    "properties": {
      "xml": {
        "type": "string",
        "maxLength": 65536,
        "description": "Decoded Unicode XML; maximum 65536 UTF-8 bytes, 8192 nodes/attributes and depth 64."
      }
    },
    "additionalProperties": false
  }
}

Example request

{
  "method": "POST",
  "url": "https://market.561.group/v1/data/xml-well-formedness",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  },
  "body": {
    "xml": "<r><a></r>"
  }
}

Output

{
  "schema": {
    "type": "object",
    "required": [
      "wellFormed",
      "profile",
      "diagnostics"
    ],
    "properties": {
      "wellFormed": {
        "type": "boolean"
      },
      "profile": {
        "const": "XML1.0+Namespaces1.0-noDTD"
      },
      "diagnostics": {
        "type": "array",
        "maxItems": 1,
        "items": {
          "type": "object",
          "required": [
            "message",
            "line",
            "column"
          ],
          "properties": {
            "message": {
              "type": "string",
              "maxLength": 1024
            },
            "line": {
              "type": [
                "integer",
                "null"
              ]
            },
            "column": {
              "type": [
                "integer",
                "null"
              ]
            }
          },
          "additionalProperties": false
        }
      }
    },
    "additionalProperties": false
  },
  "example": {
    "wellFormed": false,
    "profile": "XML1.0+Namespaces1.0-noDTD",
    "diagnostics": [
      {
        "message": "Missing end tag for element a (line 1, column 7)\n  <r><a></r>\n        ^\n",
        "line": 1,
        "column": 7
      }
    ]
  }
}

How to buy with x402

  1. Send the request without payment. The server answers 402 Payment Required with a base64 JSON PAYMENT-REQUIRED header holding the amount, asset, network and payee.
  2. Have your wallet sign an EIP-3009 transferWithAuthorization for exactly those terms (an x402 client library does this for you).
  3. Repeat the identical request with the signed payload in the PAYMENT-SIGNATURE header.
  4. The server verifies, runs the operation, settles, and returns 200 with the result and a PAYMENT-RESPONSE header carrying the settlement receipt.

Read the price without paying

curl --include --request POST --header 'accept: application/json' --header 'content-type: application/json' --data-raw '{"xml":"<r><a></r>"}' --url 'https://market.561.group/v1/data/xml-well-formedness'

This request authorizes nothing; it returns the live payment terms. Read the full explanation of x402.

Machine-readable