{"slug":"jwt-openverbs-com-v1-verify-6198e9","title":"Verify a JSON Web Token's signature and claims against a shared secret (HS*) or ","host":"jwt.openverbs.com","method":"POST","resource":"https://jwt.openverbs.com/v1/verify","category":"market","description":"Verify a JSON Web Token's signature and claims against a shared secret (HS*) or a PEM public key (RS/ES/PS). Returns { valid, payload } on success or { valid: false, reason } for a bad signature, expired/not-yet-active token, or a failed issuer/audience/subject check. Pass `algorithms` to pin the ac","price_listed":0.004,"price_asked":0.004,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":609,"reported_calls_30d":3,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"algorithms":["HS256"],"issuer":"example","key":"example","token":"example"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"algorithms":{"description":"Accepted signing algorithms (subset of HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512). Strongly recommended.","items":{"enum":["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512"],"type":"string"},"minItems":1,"type":"array"},"audience":{"description":"Required `aud` claim value.","type":"string"},"clockToleranceSec":{"description":"Clock skew tolerance in seconds.","maximum":86400,"minimum":0,"type":"integer"},"ignoreExpiration":{"description":"Do not treat an expired token as invalid.","type":"boolean"},"issuer":{"description":"Required `iss` claim value.","type":"string"},"key":{"description":"The HMAC shared secret (HS*) or the PEM-encoded public key (RS/ES/PS).","maxLength":16384,"minLength":1,"type":"string"},"subject":{"description":"Required `sub` claim value.","type":"string"},"token":{"description":"The compact JWT to verify.","maxLength":32768,"minLength":1,"type":"string"}},"required":["token","key"],"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"},"history":[{"day":"2026-09-24","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.004,"price_match":true,"latency_ms":609,"error":null}],"description_full":"Verify a JSON Web Token's signature and claims against a shared secret (HS*) or a PEM public key (RS/ES/PS). Returns { valid, payload } on success or { valid: false, reason } for a bad signature, expired/not-yet-active token, or a failed issuer/audience/subject check. Pass `algorithms` to pin the accepted signing algorithms and prevent algorithm-confusion attacks.","last_updated":"2026-09-06T08:09:27.641Z","schemes":["exact"]}