ToolAssay

Compute a keyed HMAC of some data with a secret key — the standard way to sign a

Compute a keyed HMAC of some data with a secret key — the standard way to sign and verify webhooks (Stripe, GitHub, etc.) and API requests. Data and key may each be utf8/hex/base64/base64url; the tag is returned as hex/base64/base64url.

Answeringour last check, 2026-09-24
1 of 1checks answered this week
630 msmedian answer time
$0.002listed price per call
$0.002price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://hash.openverbs.com/v1/hmac

CategoryEverything else
Provider hosthash.openverbs.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days4 from 2 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.002 630 ms

Example input (from the provider)

{
  "body": {
    "algorithm": "sha256",
    "data": "example",
    "inputEncoding": "utf8",
    "key": "example",
    "keyEncoding": "utf8"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "algorithm": {
              "description": "Digest algorithm, one of sha256, sha512, sha384, sha224, sha1, sha3-256, sha3-384, sha3-512, md5, ripemd160, blake2b512, blake2s256.",
              "enum": [
                "sha256",
                "sha512",
                "sha384",
                "sha224",
                "sha1",
                "sha3-256",
                "sha3-384",
                "sha3-512",
                "md5",
                "ripemd160",
                "blake2b512",
                "blake2s256"
              ],
              "type": "string"
            },
            "data": {
              "description": "The data to authenticate, in `inputEncoding`.",
              "maxLength": 5000000,
              "type": "string"
            },
            "inputEncoding": {
              "description": "How to interpret the text as bytes (utf8, hex, base64, base64url). Default utf8.",
              "enum": [
                "utf8",
                "hex",
                "base64",
                "base64url"
              ],
              "type": "string"
            },
            "key": {
              "description": "The secret key, in `keyEncoding`.",
              "maxLength": 16384,
              "minLength": 1,
              "type": "string"
            },
            "keyEncoding": {
              "description": "How to interpret the key as bytes (utf8, hex, base64, base64url). Default utf8.",
              "enum": [
                "utf8",
                "hex",
                "base64",
                "base64url"
              ],
              "type": "string"
            },
            "outputEncoding": {
              "description": "How to render the digest (hex, base64, base64url). Default hex.",
              "enum": [
                "hex",
                "base64",
                "base64url"
              ],
              "type": "string"
            }
          },
          "required": [
            "data",
            "key",
            "algorithm"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON