{
  "x402Version": 2,
  "id": 36560,
  "slug": "36560",
  "resource": "https://attest.tollkit.dev/attest",
  "description": "Signed proof of what a web page said: give a URL, get its text, screenshot and TLS details with a timestamped cryptographic signature anyone can verify.",
  "type": "http",
  "serviceName": "Web Page Proof (Signed)",
  "iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1791089541/bazaar-icons/6490ef4ad700a0e0.png",
  "resourceType": "Beauty & Personal Care",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0xBbfCE2D320dE6aB328Ba93A771c531ebFC9cE704",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "50000",
      "amountUsd": 0.05,
      "maxTimeoutSeconds": 300
    },
    {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "payTo": "HBasGEGD1szEkNCWckRoZg2vZGhzt7yLSixLgSHi3gYf",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "amount": "50000",
      "amountUsd": 0.05,
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "properties": {
      "example": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "description": "A signed, timestamped record of what a page contained. The `attestation` object is the evidence; `content` holds the bytes its hashes are over. Store the whole response — this service keeps no copy, by design, so that the record cannot be altered or withdrawn later.",
        "properties": {
          "attestation": {
            "properties": {
              "algorithm": {
                "type": "string"
              },
              "claim": {
                "description": "Exactly what was signed. Re-serialize this with sorted keys and no whitespace, keccak256 it, and you get `digest`.",
                "properties": {
                  "attestedBy": {
                    "description": "Signer address, inside the signed payload.",
                    "type": "string"
                  },
                  "capturedAt": {
                    "description": "ISO 8601 render time.",
                    "type": "string"
                  },
                  "finalUrl": {
                    "description": "Where the browser ended up.",
                    "type": "string"
                  },
                  "headers": {
                    "description": "Lowercased, sorted; set-cookie removed.",
                    "type": "object"
                  },
                  "httpStatus": {
                    "type": "integer"
                  },
                  "redirected": {
                    "type": "boolean"
                  },
                  "remoteAddress": {
                    "description": "IP that served it.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "screenshotSha256": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "textLength": {
                    "type": "integer"
                  },
                  "textSha256": {
                    "type": "string"
                  },
                  "title": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "tlsIssuer": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "tlsSubject": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "tlsValidFrom": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "tlsValidTo": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "url": {
                    "description": "The URL as submitted.",
                    "type": "string"
                  },
                  "version": {
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "digest": {
                "description": "keccak256 of the canonical claim.",
                "type": "string"
              },
              "signature": {
                "description": "EIP-191 personal_sign over the digest.",
                "type": "string"
              },
              "signer": {
                "type": "string"
              }
            },
            "required": [
              "claim",
              "digest",
              "signature",
              "signer"
            ],
            "type": "object"
          },
          "content": {
            "properties": {
              "screenshotBase64": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "screenshotMimeType": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "text": {
                "type": "string"
              },
              "textTruncated": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          "verify": {
            "description": "Free, unauthenticated verification endpoint.",
            "type": "string"
          }
        },
        "required": [
          "attestation",
          "content"
        ],
        "type": "object"
      }
    },
    "type": "object"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "url": "https://fly.io/pricing"
          },
          "bodyType": "json",
          "method": "POST",
          "type": "http"
        },
        "output": {
          "example": {
            "attestation": {
              "algorithm": "EIP-191 personal_sign over keccak256(canonical JSON)",
              "claim": {
                "attestedBy": "0x… (signer address)",
                "capturedAt": "2026-10-04T12:00:00.000Z",
                "finalUrl": "https://fly.io/pricing/",
                "headers": {
                  "content-type": "text/html; charset=utf-8"
                },
                "httpStatus": 200,
                "redirected": true,
                "remoteAddress": "IP that served the page",
                "screenshotSha256": "sha256 hex of the screenshot bytes",
                "textLength": 9312,
                "textSha256": "sha256 hex of content.text",
                "title": "Fly.io Pricing",
                "tlsIssuer": "TLS certificate issuer",
                "tlsSubject": "fly.io",
                "tlsValidFrom": "certificate start date",
                "tlsValidTo": "certificate end date",
                "url": "https://fly.io/pricing",
                "version": 1
              },
              "digest": "0x… keccak256 of the canonical claim",
              "signature": "0x… EIP-191 signature over the digest",
              "signer": "0x… (signer address)"
            },
            "content": {
              "screenshotBase64": "/9j/4AAQSkZJRgABAQ… (full JPEG, base64)",
              "screenshotMimeType": "image/jpeg",
              "text": "The page's visible text, exactly as hashed in textSha256…",
              "textTruncated": false
            },
            "verify": "https://attest.tollkit.dev/attest/verify"
          },
          "type": "json"
        }
      },
      "schema": {
        "properties": {
          "input": {
            "properties": {
              "body": {
                "properties": {
                  "screenshot": {
                    "default": true,
                    "description": "Capture and hash a screenshot. On by default — an attestation without one is much weaker evidence. Turn it off for a faster, text-only record.",
                    "type": "boolean"
                  },
                  "url": {
                    "description": "Absolute https:// URL of the page to attest to. Anything a dispute could turn on: terms of service, a price, a published policy, a competitor's claim, a listing that may be edited later.",
                    "format": "uri",
                    "type": "string"
                  }
                },
                "required": [
                  "url"
                ],
                "type": "object"
              },
              "bodyType": {
                "enum": [
                  "json"
                ],
                "type": "string"
              },
              "method": {
                "enum": [
                  "POST"
                ],
                "type": "string"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method",
              "body"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "description": "A signed, timestamped record of what a page contained. The `attestation` object is the evidence; `content` holds the bytes its hashes are over. Store the whole response — this service keeps no copy, by design, so that the record cannot be altered or withdrawn later.",
                "properties": {
                  "attestation": {
                    "properties": {
                      "algorithm": {
                        "type": "string"
                      },
                      "claim": {
                        "description": "Exactly what was signed. Re-serialize this with sorted keys and no whitespace, keccak256 it, and you get `digest`.",
                        "properties": {
                          "attestedBy": {
                            "description": "Signer address, inside the signed payload.",
                            "type": "string"
                          },
                          "capturedAt": {
                            "description": "ISO 8601 render time.",
                            "type": "string"
                          },
                          "finalUrl": {
                            "description": "Where the browser ended up.",
                            "type": "string"
                          },
                          "headers": {
                            "description": "Lowercased, sorted; set-cookie removed.",
                            "type": "object"
                          },
                          "httpStatus": {
                            "type": "integer"
                          },
                          "redirected": {
                            "type": "boolean"
                          },
                          "remoteAddress": {
                            "description": "IP that served it.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "screenshotSha256": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "textLength": {
                            "type": "integer"
                          },
                          "textSha256": {
                            "type": "string"
                          },
                          "title": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tlsIssuer": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tlsSubject": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tlsValidFrom": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tlsValidTo": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "url": {
                            "description": "The URL as submitted.",
                            "type": "string"
                          },
                          "version": {
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "digest": {
                        "description": "keccak256 of the canonical claim.",
                        "type": "string"
                      },
                      "signature": {
                        "description": "EIP-191 personal_sign over the digest.",
                        "type": "string"
                      },
                      "signer": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "claim",
                      "digest",
                      "signature",
                      "signer"
                    ],
                    "type": "object"
                  },
                  "content": {
                    "properties": {
                      "screenshotBase64": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "screenshotMimeType": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "text": {
                        "type": "string"
                      },
                      "textTruncated": {
                        "type": "boolean"
                      }
                    },
                    "type": "object"
                  },
                  "verify": {
                    "description": "Free, unauthenticated verification endpoint.",
                    "type": "string"
                  }
                },
                "required": [
                  "attestation",
                  "content"
                ],
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "proof",
    "evidence",
    "notary",
    "archive",
    "screenshot",
    "bazaar"
  ],
  "sourceHost": "attest.tollkit.dev",
  "lastUpdated": "2026-10-09T15:17:47.74Z",
  "quality": {
    "calls30d": 4,
    "uniquePayers30d": 2,
    "lastCalledAt": "2026-10-09T15:17:47.413Z"
  },
  "metadata": {
    "serviceName": "Web Page Proof (Signed)",
    "iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1791089541/bazaar-icons/6490ef4ad700a0e0.png",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "url": "https://fly.io/pricing"
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "example": {
              "attestation": {
                "algorithm": "EIP-191 personal_sign over keccak256(canonical JSON)",
                "claim": {
                  "attestedBy": "0x… (signer address)",
                  "capturedAt": "2026-10-04T12:00:00.000Z",
                  "finalUrl": "https://fly.io/pricing/",
                  "headers": {
                    "content-type": "text/html; charset=utf-8"
                  },
                  "httpStatus": 200,
                  "redirected": true,
                  "remoteAddress": "IP that served the page",
                  "screenshotSha256": "sha256 hex of the screenshot bytes",
                  "textLength": 9312,
                  "textSha256": "sha256 hex of content.text",
                  "title": "Fly.io Pricing",
                  "tlsIssuer": "TLS certificate issuer",
                  "tlsSubject": "fly.io",
                  "tlsValidFrom": "certificate start date",
                  "tlsValidTo": "certificate end date",
                  "url": "https://fly.io/pricing",
                  "version": 1
                },
                "digest": "0x… keccak256 of the canonical claim",
                "signature": "0x… EIP-191 signature over the digest",
                "signer": "0x… (signer address)"
              },
              "content": {
                "screenshotBase64": "/9j/4AAQSkZJRgABAQ… (full JPEG, base64)",
                "screenshotMimeType": "image/jpeg",
                "text": "The page's visible text, exactly as hashed in textSha256…",
                "textTruncated": false
              },
              "verify": "https://attest.tollkit.dev/attest/verify"
            },
            "type": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "properties": {
                "body": {
                  "properties": {
                    "screenshot": {
                      "default": true,
                      "description": "Capture and hash a screenshot. On by default — an attestation without one is much weaker evidence. Turn it off for a faster, text-only record.",
                      "type": "boolean"
                    },
                    "url": {
                      "description": "Absolute https:// URL of the page to attest to. Anything a dispute could turn on: terms of service, a price, a published policy, a competitor's claim, a listing that may be edited later.",
                      "format": "uri",
                      "type": "string"
                    }
                  },
                  "required": [
                    "url"
                  ],
                  "type": "object"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "description": "A signed, timestamped record of what a page contained. The `attestation` object is the evidence; `content` holds the bytes its hashes are over. Store the whole response — this service keeps no copy, by design, so that the record cannot be altered or withdrawn later.",
                  "properties": {
                    "attestation": {
                      "properties": {
                        "algorithm": {
                          "type": "string"
                        },
                        "claim": {
                          "description": "Exactly what was signed. Re-serialize this with sorted keys and no whitespace, keccak256 it, and you get `digest`.",
                          "properties": {
                            "attestedBy": {
                              "description": "Signer address, inside the signed payload.",
                              "type": "string"
                            },
                            "capturedAt": {
                              "description": "ISO 8601 render time.",
                              "type": "string"
                            },
                            "finalUrl": {
                              "description": "Where the browser ended up.",
                              "type": "string"
                            },
                            "headers": {
                              "description": "Lowercased, sorted; set-cookie removed.",
                              "type": "object"
                            },
                            "httpStatus": {
                              "type": "integer"
                            },
                            "redirected": {
                              "type": "boolean"
                            },
                            "remoteAddress": {
                              "description": "IP that served it.",
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "screenshotSha256": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "textLength": {
                              "type": "integer"
                            },
                            "textSha256": {
                              "type": "string"
                            },
                            "title": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "tlsIssuer": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "tlsSubject": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "tlsValidFrom": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "tlsValidTo": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "url": {
                              "description": "The URL as submitted.",
                              "type": "string"
                            },
                            "version": {
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "digest": {
                          "description": "keccak256 of the canonical claim.",
                          "type": "string"
                        },
                        "signature": {
                          "description": "EIP-191 personal_sign over the digest.",
                          "type": "string"
                        },
                        "signer": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "claim",
                        "digest",
                        "signature",
                        "signer"
                      ],
                      "type": "object"
                    },
                    "content": {
                      "properties": {
                        "screenshotBase64": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "screenshotMimeType": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "text": {
                          "type": "string"
                        },
                        "textTruncated": {
                          "type": "boolean"
                        }
                      },
                      "type": "object"
                    },
                    "verify": {
                      "description": "Free, unauthenticated verification endpoint.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "attestation",
                    "content"
                  ],
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    }
  },
  "liveness": {
    "reliability": null
  },
  "verified": false,
  "featured": false,
  "provider": {
    "host": "attest.tollkit.dev",
    "manifest_name": "attest.tollkit.dev",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-10-14T01:15:01.050Z"
  },
  "exampleResponse": {
    "example": {
      "attestation": {
        "algorithm": "string",
        "claim": {
          "attestedBy": "string",
          "capturedAt": "string",
          "finalUrl": "string",
          "headers": {},
          "httpStatus": 0,
          "redirected": true,
          "remoteAddress": "string",
          "screenshotSha256": "string",
          "textLength": 0,
          "textSha256": "string",
          "title": "string",
          "tlsIssuer": "string",
          "tlsSubject": "string",
          "tlsValidFrom": "string",
          "tlsValidTo": "string",
          "url": "string",
          "version": 0
        },
        "digest": "string",
        "signature": "string",
        "signer": "string"
      },
      "content": {
        "screenshotBase64": "string",
        "screenshotMimeType": "string",
        "text": "string",
        "textTruncated": true
      },
      "verify": "string"
    }
  }
}