ToolAssay

utilpeek (Tanod) JWT verifier

utilpeek (Tanod) JWT verifier: signature, expiry, audience and issuer checks with a secret, PEM key or JWK Set. Use when an agent must check a JWT's signature and exp, aud and iss with a secret, a PEM key or a JWK Set.

Answeringour last check, 2026-10-10
1 of 1checks answered this week
217 msmedian answer time
$0.001listed price per call
$0.001price 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://tanod.dev/v1/jwt/verify

CategoryEverything else
Provider hosttanod.dev
Networkseip155:137, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-10 valid payment request 402$0.001 217 ms

Example input (from the provider)

{
  "body": {
    "algorithms": [
      "HS256"
    ],
    "audience": "my-api",
    "issuer": "https://issuer.example",
    "leeway_seconds": 30,
    "secret": "example-secret-0123456789-abcdefghij",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLTEiLCJpc3MiOiJodHRwczovL2lzc3Vlci5leGFtcGxlIiwiYXVkIjoibXktYXBpIn0.Bs7wb0VmtI_D9e_qlTg31APe-kCTDCuSKUIuEPRf3BY"
  },
  "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": {
            "algorithms": {
              "anyOf": [
                {
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 8,
                  "minItems": 1,
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Allow-list that narrows the default for the key type; none is refused."
            },
            "audience": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Required aud (a string, or a list of which one must match)."
            },
            "issuer": {
              "anyOf": [
                {
                  "maxLength": 2048,
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Required iss."
            },
            "jwks": {
              "anyOf": [
                {
                  "additionalProperties": true,
                  "type": "object"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "JWK Set object {\"keys\": [...]} (asymmetric keys; oct keys are ignored). The key is picked by the token kid."
            },
            "leeway_seconds": {
              "default": 0,
              "description": "Clock skew allowed for exp, nbf and iat (0-300).",
              "maximum": 300,
              "minimum": 0,
              "type": "integer"
            },
            "public_key": {
              "anyOf": [
                {
                  "maxLength": 12000,
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "PEM public key (RS*, PS*, ES*, EdDSA)."
            },
            "secret": {
              "anyOf": [
                {
                  "maxLength": 4096,
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "HMAC secret (HS256/384/512)."
            },
            "token": {
              "description": "Compact JWT to verify.",
              "maxLength": 16000,
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "token"
          ],
          "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"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "alg": {
              "type": [
                "string",
                "null"
              ]
            },
            "detail": {
              "type": "string"
            },
            "header": {
              "type": "object"
            },
            "key_source": {
              "type": "string"
            },
            "kid": {
              "type": [
                "string",
                "null"
              ]
            },
            "leeway_seconds": {
              "type": "integer"
            },
            "note": {
              "type": "string"
            },
            "payload": {
              "type": "object"
            },
            "reason": {
              "type": [
                "string",
                "null"
              ]
            },
            "valid": {
              "type": "boolean"
            }
          },
          "required": [
            "valid",
            "reason",
            "alg",
            "key_source",
            "note"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON