{
  "x402Version": 2,
  "name": "54ch10 Toolkit — brief + whois/dns/tls + fetch/paste + hash/encode",
  "summary": "Pre-interact risk briefs plus low-cost whois/RDAP, DNS, TLS/CT, URL normalize, hash (sha256/sha1/md5), and encode (base64/hex/url) micropay tools for agents. Phishing/scam/wallet/url-reputation heuristics. Analytics-only — not financial, legal, or investment advice.",
  "homepage": "https://54ch10.uk",
  "network": "base",
  "facilitator": "payai",
  "facilitatorUrl": "https://facilitator.payai.network",
  "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
  "payToSolana": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
  "currency": "USDC",
  "protocol": "x402",
  "openapi": "https://54ch10.uk/openapi.json",
  "agent": "https://54ch10.uk/AGENT.md",
  "keywords": [
    "phishing",
    "scam",
    "wallet risk",
    "honeypot",
    "url reputation",
    "pre-interact",
    "whois",
    "rdap",
    "dns",
    "tls",
    "domain age",
    "hash",
    "sha256",
    "encode",
    "base64"
  ],
  "mcp": {
    "package": "54ch10-mcp",
    "install": "npx -y github:sachio222/54ch10-mcp",
    "github": "https://github.com/sachio222/54ch10-mcp",
    "mcpName": "io.github.sachio222/54ch10-mcp",
    "transport": "stdio",
    "note": "Primary agent install: npx -y github:sachio222/54ch10-mcp. Remote HTTP MCP not required for x402 path."
  },
  "eliza": {
    "plugin": "@54ch10/plugin-54ch10",
    "github": "https://github.com/sachio222/eliza-plugin-54ch10",
    "install": "elizaos plugins add github:sachio222/eliza-plugin-54ch10",
    "note": "Thin elizaOS plugin wrapping GET /v1/brief (free header or Bearer 54k_)."
  },
  "freeTier": {
    "limit": 20,
    "unit": "briefs/UTC-day/IP",
    "path": "/v1/brief/free",
    "header": "X-54ch10-Free: 1",
    "note": "Canonical GET /v1/brief always returns HTTP 402 + PAYMENT-REQUIRED for unauthenticated agents/indexers. Humans/demos: GET /v1/brief/free or header X-54ch10-Free: 1 (20/UTC-day/IP). Bearer 54k_ or PAYMENT-SIGNATURE unlock /v1/brief."
  },
  "stripe": {
    "note": "Human monthly plans still available via Stripe Checkout / Bearer 54k_ keys.",
    "landing": "https://54ch10.uk"
  },
  "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently.",
  "services": [
    {
      "method": "GET",
      "path": "/v1/brief",
      "description": "Pre-interact risk brief (phishing/scam/wallet/url reputation heuristics). Query: type=address|token|url&q=…. Unauthenticated → HTTP 402 + PAYMENT-REQUIRED (USDC $0.01). Auth: Bearer 54k_ or PAYMENT-SIGNATURE. Demo free: /v1/brief/free or X-54ch10-Free: 1.",
      "amount": "0.01",
      "amountAtomic": "10000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "type": "url",
                "q": "https://example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "type": "url",
                "q": "https://example.com",
                "score": 12,
                "band": "clear",
                "flags": [],
                "summary": "No elevated phishing or on-chain risk signals in free live sources.",
                "sources": [
                  {
                    "id": "openphish",
                    "label": "OpenPhish",
                    "status": "live"
                  }
                ],
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "address",
                          "token",
                          "url"
                        ],
                        "description": "What to brief"
                      },
                      "q": {
                        "type": "string",
                        "description": "Address, token id/symbol, or URL"
                      }
                    },
                    "required": [
                      "type",
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/whois",
      "description": "Domain age + registrar via public RDAP. Query: domain=. Analytics-only fraud-signal style. USDC $0.005. Demo: /v1/whois/free or X-54ch10-Free: 1.",
      "amount": "0.005",
      "amountAtomic": "5000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "domain": "example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "domain": "example.com",
                "registered": true,
                "registrar": "Example Registrar, Inc.",
                "created": "1995-08-14T04:00:00Z",
                "age_days": 11300,
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "domain": {
                        "type": "string",
                        "description": "Domain name (e.g. example.com)"
                      }
                    },
                    "required": [
                      "domain"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/dns",
      "description": "A/AAAA/MX/NS summary via Cloudflare DoH (fraud-signal style). Query: domain=. USDC $0.002. Demo: /v1/dns/free or X-54ch10-Free: 1.",
      "amount": "0.002",
      "amountAtomic": "2000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "domain": "example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "domain": "example.com",
                "a": [
                  "93.184.216.34"
                ],
                "mx": [
                  {
                    "preference": 0,
                    "exchange": "mail.example.com"
                  }
                ],
                "ns": [
                  "a.iana-servers.net"
                ],
                "flags": [],
                "summary": "example.com: A=1 AAAA=0 MX=1 NS=1",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "domain": {
                        "type": "string",
                        "description": "Domain name"
                      }
                    },
                    "required": [
                      "domain"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/tls",
      "description": "TLS cert issuer/validity via Certificate Transparency (crt.sh) + HTTPS reachability. Query: domain=. USDC $0.005. Demo: /v1/tls/free or X-54ch10-Free: 1.",
      "amount": "0.005",
      "amountAtomic": "5000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "domain": "example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "domain": "example.com",
                "https_reachable": true,
                "issuer": "C=US, O=Let's Encrypt, CN=R3",
                "not_before": "2026-01-01T00:00:00",
                "not_after": "2026-04-01T00:00:00",
                "days_remaining": 60,
                "flags": [],
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "domain": {
                        "type": "string",
                        "description": "Domain name"
                      }
                    },
                    "required": [
                      "domain"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/normalize-url",
      "description": "Canonicalize a URL (scheme/host/path/query). Query: q=. USDC $0.001. Demo: /v1/normalize-url/free or X-54ch10-Free: 1.",
      "amount": "0.001",
      "amountAtomic": "1000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "q": "HTTPS://Example.COM:443/a/?b=1#frag"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "input": "HTTPS://Example.COM:443/a/?b=1#frag",
                "canonical": "https://example.com/a?b=1",
                "host": "example.com",
                "flags": [
                  "fragment_stripped",
                  "default_port_stripped",
                  "query_sorted"
                ],
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "q": {
                        "type": "string",
                        "description": "URL to canonicalize"
                      }
                    },
                    "required": [
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/hash",
      "description": "Hash UTF-8 data (sha256|sha1|md5). Query: algo=&q= or POST JSON {algo,data}. USDC $0.001. Demo: /v1/hash/free or X-54ch10-Free: 1.",
      "amount": "0.001",
      "amountAtomic": "1000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "algo": "sha256",
                "q": "hello"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "algo": "sha256",
                "hex": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824",
                "base64": "LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "algo": {
                        "type": "string",
                        "enum": [
                          "sha256",
                          "sha1",
                          "md5"
                        ],
                        "description": "Hash algorithm"
                      },
                      "q": {
                        "type": "string",
                        "description": "UTF-8 data to hash"
                      }
                    },
                    "required": [
                      "algo",
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/encode",
      "description": "Encode UTF-8 data (base64|hex|url). Query: format=&q= or POST JSON {format,data}. USDC $0.001. Demo: /v1/encode/free or X-54ch10-Free: 1.",
      "amount": "0.001",
      "amountAtomic": "1000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "format": "base64",
                "q": "hello"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "format": "base64",
                "encoded": "aGVsbG8=",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "format": {
                        "type": "string",
                        "enum": [
                          "base64",
                          "hex",
                          "url"
                        ],
                        "description": "Encoding format"
                      },
                      "q": {
                        "type": "string",
                        "description": "UTF-8 data to encode"
                      }
                    },
                    "required": [
                      "format",
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/fetch",
      "description": "Fetch a public URL → status/contentType/markdown|text. SSRF-blocked private IPs. Cap 200KB, ~10s timeout. USDC $0.005. Demo: /v1/fetch/free or X-54ch10-Free: 1.",
      "amount": "0.005",
      "amountAtomic": "5000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "url": "https://example.com",
                "format": "markdown"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "url": "https://example.com",
                "status": 200,
                "contentType": "text/html",
                "format": "markdown",
                "markdown": "# Example\n\n…",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "Public http(s) URL"
                      },
                      "format": {
                        "type": "string",
                        "enum": [
                          "markdown",
                          "text"
                        ]
                      }
                    },
                    "required": [
                      "url"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "POST",
      "path": "/v1/paste",
      "description": "Ephemeral paste WRITE — KV TTL default 1h max 24h. NOT a vault. Body {content, ttl_seconds?}. USDC $0.002. Demo: /v1/paste/free or X-54ch10-Free: 1.",
      "amount": "0.002",
      "amountAtomic": "2000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "POST",
              "bodyType": "json",
              "body": {
                "content": "hello from agent A",
                "ttl_seconds": 3600
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "id": "abc123xyz",
                "retrieve_url": "https://54ch10.uk/v1/paste?id=abc123xyz",
                "ttl_seconds": 3600,
                "note": "Ephemeral — NOT a vault.",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "POST"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "bodyType": {
                    "type": "string",
                    "const": "json"
                  },
                  "body": {
                    "type": "object",
                    "properties": {
                      "content": {
                        "type": "string",
                        "description": "Short plaintext (max 64KB)"
                      },
                      "ttl_seconds": {
                        "type": "integer",
                        "description": "TTL seconds (default 3600, max 86400)"
                      }
                    },
                    "required": [
                      "content"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method",
                  "bodyType",
                  "body"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/paste",
      "description": "Ephemeral paste READ — GET ?id=. TTL-bound; NOT a vault. USDC $0.001. Demo: /v1/paste/free or X-54ch10-Free: 1.",
      "amount": "0.001",
      "amountAtomic": "1000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "id": "abc123xyz"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "id": "abc123xyz",
                "content": "hello from agent A",
                "ttl_seconds": 3600,
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Paste id"
                      }
                    },
                    "required": [
                      "id"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/brief/free",
      "description": "Human/demo free tier of the same brief (20/UTC-day/IP). Not the discovery/payment route — indexers should use /v1/brief.",
      "amount": "0",
      "discoverable": false
    }
  ],
  "payment": {
    "x402": {
      "version": 2,
      "currency": "USDC",
      "primaryNetwork": "base",
      "networks": [
        "base",
        "solana"
      ],
      "pricePerBriefUsd": "0.01",
      "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
      "payToSolana": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
      "facilitatorUrl": "https://facilitator.payai.network",
      "challengeHeaders": [
        "PAYMENT-REQUIRED",
        "PAYMENT-SIGNATURE",
        "PAYMENT-RESPONSE"
      ],
      "optInHeader": "X-54ch10-Pay: x402 (legacy force-challenge; canonical /v1/brief already 402s)",
      "freeHeader": "X-54ch10-Free: 1"
    }
  },
  "fundingNote": "Receive-only: payTo wallets do not need pre-funding to accept USDC. PayAI facilitator sponsors gas on settle. Optional later: bridge a little ETH/SOL only if self-settling."
}