This environment is intended for testing verification workflows and conducting interoperability sessions. For enquiries or support, please contact [email protected]

Session Detail

Inspect a single verification session

0756cfeb-ee6b-4811-93c6-f9e7c5abb709

failed
dc_api.jwt

98d42f3a-a04f-41ef-a344-2b38f4509a92
x509_hash:DL0iqIY9Qlij2JXHaUk75gAEIVMZJV1sS_6PPgfeeVg
GfTOp2SRJvEoFWPhz02WBEAvOnBvvOCgmMmZsbovqL4

https://verifier-playground-service.igrant.io/post
600s
age_verification_over_18
2026-04-28 13:04:56 UTC    2026-04-28 13:05:14 UTC

DCQL Query

View Query
{
  "credentials": [
    {
      "id": "age_verification",
      "format": "mso_mdoc",
      "meta": {
        "doctype_value": "eu.europa.ec.av.1"
      },
      "claims": [
        {
          "path": [
            "eu.europa.ec.av.1",
            "age_over_18"
          ]
        }
      ]
    }
  ]
}

Client Metadata

View Metadata
{
  "client_name": "Verifier Playground by iGrant.io",
  "logo_uri": "https://storage.googleapis.com/igrant-api-images/faviconV2.png",
  "vp_formats_supported": {
    "dc+sd-jwt": {
      "sd-jwt_alg_values": [
        "ES256",
        "ES384"
      ],
      "kb-jwt_alg_values": [
        "ES256",
        "ES384"
      ]
    },
    "mso_mdoc": {
      "issuerauth_alg_values": [
        -9,
        -51
      ],
      "deviceauth_alg_values": [
        -9,
        -51
      ]
    }
  },
  "jwks": {
    "keys": [
      {
        "crv": "P-256",
        "kty": "EC",
        "x": "dQM9oM-F1F6DVRyju1sV1UPqt9qzptpDo5eXxGk7T6s",
        "y": "xMcZsKpx1mo8VgSz1662KWNrmGvv2ryefoLAy_1bPss",
        "kid": "3oqf5qCsnroDBqGAx0C3nxGXfSAIggKaArj5CfYyrfM",
        "alg": "ECDH-ES",
        "use": "enc"
      }
    ]
  },
  "authorization_encrypted_response_alg": "ECDH-ES",
  "authorization_encrypted_response_enc": "A256GCM",
  "encrypted_response_enc_values_supported": [
    "A256GCM",
    "A128GCM"
  ]
}

Validation Result

Invalid
age_verification
mso_mdoc
Invalid
Valid Document DocType: eu.europa.ec.av.1
Valid Issuer Signature IssuerAuth COSE_Sign1 signature verified
Valid Certificate Valid until 2027-04-27T18:31:50+00:00
Trusted No IACA certificates configured
Valid Token Status Valid until 2027-04-28T00:00:00+00:00
Valid Device Signature DeviceSignature verification failed: signature does not match SessionTranscript (nonce/client_id binding check failed)
View Details
{
  "valid": false,
  "format": "mso_mdoc",
  "disclosed_claims": {
    "eu.europa.ec.av.1:age_over_18": true
  },
  "issuer": "CN=mdoc IACA,O=iGrant.io,ST=SE,C=SE",
  "error": null,
  "checks": [
    {
      "id": "valid_document",
      "name": "Valid Document",
      "status": "passed",
      "detail": "DocType: eu.europa.ec.av.1"
    },
    {
      "id": "issuer_signature",
      "name": "Valid Issuer Signature",
      "status": "passed",
      "detail": "IssuerAuth COSE_Sign1 signature verified"
    },
    {
      "id": "valid_certificate",
      "name": "Valid Certificate",
      "status": "passed",
      "detail": "Valid until 2027-04-27T18:31:50+00:00"
    },
    {
      "id": "trusted",
      "name": "Trusted",
      "status": "unchecked",
      "detail": "No IACA certificates configured"
    },
    {
      "id": "token_status",
      "name": "Valid Token Status",
      "status": "passed",
      "detail": "Valid until 2027-04-28T00:00:00+00:00"
    },
    {
      "id": "device_signature",
      "name": "Valid Device Signature",
      "status": "failed",
      "detail": "DeviceSignature verification failed: signature does not match SessionTranscript (nonce/client_id binding check failed)"
    }
  ]
}

VP Token

View Raw Token
{
  "age_verification": [
    "o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGVxZXUuZXVyb3BhLmVjLmF2LjFsZGV2aWNlU2lnbmVkompkZXZpY2VBdXRooW9kZXZpY2VTaWduYXR1cmWEQ6EBJqD2WECKsA8oYHGvSriaNAryTzOM_Cg1KKxVnZnvm570_N5w6gNuDZdlltw3aGU_dwT8ZskOUYrRPhK5spAuwdF96owKam5hbWVTcGFjZXPYGEGgbGlzc3VlclNpZ25lZKJqaXNzdWVyQXV0aIRDoQEmoRghWQHyMIIB7jCCAZSgAwIBAgIUNO9U0wM5BPvAUfyplLIuTK5AUdUwCgYIKoZIzj0EAwIwQjELMAkGA1UEBhMCU0UxCzAJBgNVBAgMAlNFMRIwEAYDVQQKDAlpR3JhbnQuaW8xEjAQBgNVBAMMCW1kb2MgSUFDQTAeFw0yNjA0MjcxODMxNTBaFw0yNzA0MjcxODMxNTBaME0xCzAJBgNVBAYTAlNFMQswCQYDVQQIDAJTRTESMBAGA1UECgwJaUdyYW50LmlvMR0wGwYDVQQDDBRtZG9jIERvY3VtZW50IFNpZ25lcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFDb5cnl6hz69XWJU89BQOcqRQHD7MxOg4O9dukDeDm0aE9RssllOlR_ciWyZOw8R__yoIPUe01fuI9oAWTtEayjXTBbMAkGA1UdEwQCMAAwDgYDVR0PAQH_BAQDAgeAMB0GA1UdDgQWBBQ3GasoEW9WiIg9HfzmJRvBN0M4NTAfBgNVHSMEGDAWgBStUMMz6QhA19QQAqVwaTl53twUWzAKBggqhkjOPQQDAgNIADBFAiEAoGCbLVuXVviwFV4Wz0MwWab-dUOkpdaTHDkH_P5W1EwCIGWnfbfGebEz4yeffaWKUtAg4r5ySFY1eRBO3-pe0nNnWQJB2BhZAjynZnN0YXR1c6Frc3RhdHVzX2xpc3SiY2lkeBoAAYAAY3VyaXg5aHR0cHM6Ly9pc3N1ZXItcGxheWdyb3VuZC1zZXJ2aWNlLmlncmFudC5pby9zdGF0dXNsaXN0cy8xZ2RvY1R5cGVxZXUuZXVyb3BhLmVjLmF2LjFndmVyc2lvbmMxLjBsdmFsaWRpdHlJbmZvo2ZzaWduZWTAdDIwMjYtMDQtMjhUMTM6MDM6MjJaaXZhbGlkRnJvbcB0MjAyNi0wNC0yOFQxMzowMzoyMlpqdmFsaWRVbnRpbMB0MjAyNy0wNC0yOFQwMDowMDowMFpsdmFsdWVEaWdlc3RzoXFldS5ldXJvcGEuZWMuYXYuMaUAWCBOI5KaYkSF45mJ_gZHe9uAWTmFkzzwXfPcfi0POa-B6AFYIFdrag-QmkUxfyzPc2jqw7yZmpzi7E-snHUZHj-gMX7aAlggmoXAQqnvm_fBh-P2D2iS7LPqLgkSoljaRz7H40rY-_cDWCCHWvaGw1VcN6jq8ZqJOZTaAB4IOrhamcmLYDRcoix_cgRYIIy6flmOca_EFay8c44VZwwdUQufSk071AHKZccz4LlUbWRldmljZUtleUluZm-haWRldmljZUtleaQBAiABIVggKM10qMocU0Xj0r8mctahaue242EZQ9D95l_FFPMuDGoiWCC8XOqkTR77Qm5XirLZC3I3r8Y4gjQZRE4FS-lyfQz2xm9kaWdlc3RBbGdvcml0aG1nU0hBLTI1NlhAcXJHUIOscpjA5XUGOc0cGI0hEIeeeESazyvXw8xDxMkS0Bw-0L74-cEhpdOahwtSPzRSM6tHp_1E75B5JQIS5WpuYW1lU3BhY2VzoXFldS5ldXJvcGEuZWMuYXYuMYHYGFhgpGZyYW5kb21YIPcViFPwxQCQ3Cg09BSM3LqAsCDoJrvusFeiYPwmrInOaGRpZ2VzdElEAGxlbGVtZW50VmFsdWX1cWVsZW1lbnRJZGVudGlmaWVya2FnZV9vdmVyXzE4"
  ]
}

Decoded Token

Decoded JWT headers, payloads, disclosures, and key binding

View Decoded Token
{
  "age_verification": {
    "status": 0,
    "version": "1.0",
    "documents": [
      {
        "docType": "eu.europa.ec.av.1",
        "deviceSigned": {
          "deviceAuth": {
            "deviceSignature": [
              "b'\\xa1\\x01&'",
              {},
              null,
              "b'\\x8a\\xb0\\x0f(`q\\xafJ\\xb8\\x9a4\\n\\xf2O3\\x8c\\xfc(5(\\xacU\\x9d\\x99\\xef\\x9b\\x9e\\xf4\\xfc\\xdep\\xea\\x03n\\r\\x97e\\x96\\xdc7he?w\\x04\\xfcf\\xc9\\x0eQ\\x8a\\xd1>\\x12\\xb9\\xb2\\x90.\\xc1\\xd1}\\xea\\x8c\\n'"
            ]
          },
          "nameSpaces": "CBORTag(24, b'\\xa0')"
        },
        "issuerSigned": {
          "issuerAuth": [
            "b'\\xa1\\x01&'",
            {
              "33": "b\"0\\x82\\x01\\xee0\\x82\\x01\\x94\\xa0\\x03\\x02\\x01\\x02\\x02\\x144\\xefT\\xd3\\x039\\x04\\xfb\\xc0Q\\xfc\\xa9\\x94\\xb2.L\\xae@Q\\xd50\\n\\x06\\x08*\\x86H\\xce=\\x04\\x03\\x020B1\\x0b0\\t\\x06\\x03U\\x04\\x06\\x13\\x02SE1\\x0b0\\t\\x06\\x03U\\x04\\x08\\x0c\\x02SE1\\x120\\x10\\x06\\x03U\\x04\\n\\x0c\\tiGrant.io1\\x120\\x10\\x06\\x03U\\x04\\x03\\x0c\\tmdoc IACA0\\x1e\\x17\\r260427183150Z\\x17\\r270427183150Z0M1\\x0b0\\t\\x06\\x03U\\x04\\x06\\x13\\x02SE1\\x0b0\\t\\x06\\x03U\\x04\\x08\\x0c\\x02SE1\\x120\\x10\\x06\\x03U\\x04\\n\\x0c\\tiGrant.io1\\x1d0\\x1b\\x06\\x03U\\x04\\x03\\x0c\\x14mdoc Document Signer0Y0\\x13\\x06\\x07*\\x86H\\xce=\\x02\\x01\\x06\\x08*\\x86H\\xce=\\x03\\x01\\x07\\x03B\\x00\\x04P\\xdb\\xe5\\xc9\\xe5\\xea\\x1c\\xfa\\xf5u\\x89S\\xcfA@\\xe7*E\\x01\\xc3\\xec\\xccN\\x83\\x83\\xbdv\\xe9\\x03x9\\xb4hOQ\\xb2\\xc9e:T\\x7fr%\\xb2d\\xec<G\\xff\\xf2\\xa0\\x83\\xd4{M_\\xb8\\x8fh\\x01d\\xed\\x11\\xac\\xa3]0[0\\t\\x06\\x03U\\x1d\\x13\\x04\\x020\\x000\\x0e\\x06\\x03U\\x1d\\x0f\\x01\\x01\\xff\\x04\\x04\\x03\\x02\\x07\\x800\\x1d\\x06\\x03U\\x1d\\x0e\\x04\\x16\\x04\\x147\\x19\\xab(\\x11oV\\x88\\x88=\\x1d\\xfc\\xe6%\\x1b\\xc17C850\\x1f\\x06\\x03U\\x1d#\\x04\\x180\\x16\\x80\\x14\\xadP\\xc33\\xe9\\x08@\\xd7\\xd4\\x10\\x02\\xa5pi9y\\xde\\xdc\\x14[0\\n\\x06\\x08*\\x86H\\xce=\\x04\\x03\\x02\\x03H\\x000E\\x02!\\x00\\xa0`\\x9b-[\\x97V\\xf8\\xb0\\x15^\\x16\\xcfC0Y\\xa6\\xfeuC\\xa4\\xa5\\xd6\\x93\\x1c9\\x07\\xfc\\xfeV\\xd4L\\x02 e\\xa7}\\xb7\\xc6y\\xb13\\xe3'\\x9f}\\xa5\\x8aR\\xd0 \\xe2\\xberHV5y\\x10N\\xdf\\xea^\\xd2sg\""
            },
            "b'\\xd8\\x18Y\\x02<\\xa7fstatus\\xa1kstatus_list\\xa2cidx\\x1a\\x00\\x01\\x80\\x00curix9https://issuer-playground-service.igrant.io/statuslists/1gdocTypeqeu.europa.ec.av.1gversionc1.0lvalidityInfo\\xa3fsigned\\xc0t2026-04-28T13:03:22ZivalidFrom\\xc0t2026-04-28T13:03:22ZjvalidUntil\\xc0t2027-04-28T00:00:00ZlvalueDigests\\xa1qeu.europa.ec.av.1\\xa5\\x00X N#\\x92\\x9abD\\x85\\xe3\\x99\\x89\\xfe\\x06G{\\xdb\\x80Y9\\x85\\x93<\\xf0]\\xf3\\xdc~-\\x0f9\\xaf\\x81\\xe8\\x01X Wkj\\x0f\\x90\\x9aE1\\x7f,\\xcfsh\\xea\\xc3\\xbc\\x99\\x9a\\x9c\\xe2\\xecO\\xac\\x9cu\\x19\\x1e?\\xa01~\\xda\\x02X \\x9a\\x85\\xc0B\\xa9\\xef\\x9b\\xf7\\xc1\\x87\\xe3\\xf6\\x0fh\\x92\\xec\\xb3\\xea.\\t\\x12\\xa2X\\xdaG>\\xc7\\xe3J\\xd8\\xfb\\xf7\\x03X \\x87Z\\xf6\\x86\\xc3U\\\\7\\xa8\\xea\\xf1\\x9a\\x899\\x94\\xda\\x00\\x1e\\x08:\\xb8Z\\x99\\xc9\\x8b`4\\\\\\xa2,\\x7fr\\x04X \\x8c\\xba~Y\\x8eq\\xaf\\xc4\\x15\\xac\\xbcs\\x8e\\x15g\\x0c\\x1dQ\\x0b\\x9fJM;\\xd4\\x01\\xcae\\xc73\\xe0\\xb9TmdeviceKeyInfo\\xa1ideviceKey\\xa4\\x01\\x02 \\x01!X (\\xcdt\\xa8\\xca\\x1cSE\\xe3\\xd2\\xbf&r\\xd6\\xa1j\\xe7\\xb6\\xe3a\\x19C\\xd0\\xfd\\xe6_\\xc5\\x14\\xf3.\\x0cj\"X \\xbc\\\\\\xea\\xa4M\\x1e\\xfbBnW\\x8a\\xb2\\xd9\\x0br7\\xaf\\xc68\\x824\\x19DN\\x05K\\xe9r}\\x0c\\xf6\\xc6odigestAlgorithmgSHA-256'",
            "b'qrGP\\x83\\xacr\\x98\\xc0\\xe5u\\x069\\xcd\\x1c\\x18\\x8d!\\x10\\x87\\x9exD\\x9a\\xcf+\\xd7\\xc3\\xccC\\xc4\\xc9\\x12\\xd0\\x1c>\\xd0\\xbe\\xf8\\xf9\\xc1!\\xa5\\xd3\\x9a\\x87\\x0bR?4R3\\xabG\\xa7\\xfdD\\xef\\x90y%\\x02\\x12\\xe5'"
          ],
          "nameSpaces": {
            "eu.europa.ec.av.1": [
              "CBORTag(24, b'\\xa4frandomX \\xf7\\x15\\x88S\\xf0\\xc5\\x00\\x90\\xdc(4\\xf4\\x14\\x8c\\xdc\\xba\\x80\\xb0 \\xe8&\\xbb\\xee\\xb0W\\xa2`\\xfc&\\xac\\x89\\xcehdigestID\\x00lelementValue\\xf5qelementIdentifierkage_over_18')"
            ]
          }
        }
      }
    ]
  }
}

Session Logs

5 total
2026-04-28 13:04:56 UTC INFO /presentations/dc-api DC API presentation request created
Data:
{
  "request_headers": {
    "host": "verifier-playground.igrant.io",
    "x-request-id": "824a5ba74e4c5b9fb8d6c22f844d36fc",
    "x-real-ip": "10.164.15.218",
    "x-forwarded-for": "10.164.15.218",
    "x-forwarded-host": "verifier-playground.igrant.io",
    "x-forwarded-port": "443",
    "x-forwarded-proto": "https",
    "x-forwarded-scheme": "https",
    "x-scheme": "https",
    "x-original-forwarded-for": "2405:201:f025:7822:d94b:390c:4e5a:4b60",
    "content-length": "108",
    "referer": "https://verifier-playground.igrant.io/admin/create-request/",
    "accept-encoding": "gzip, br",
    "priority": "u=0, i",
    "cf-ray": "9f3646909a956aa3-AMS",
    "accept-language": "en-GB,en;q=0.9,sv-IN;q=0.8,sv;q=0.7,ar-EG;q=0.6,ar;q=0.5,en-US;q=0.4",
    "cache-control": "max-age=0",
    "sec-ch-ua": "\"Google Chrome\";v=\"147\", \"Not.A/Brand\";v=\"8\", \"Chromium\";v=\"147\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"macOS\"",
    "origin": "https://verifier-playground.igrant.io",
    "content-type": "application/x-www-form-urlencoded",
    "upgrade-insecure-requests": "1",
    "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36",
    "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
    "sec-fetch-site": "same-origin",
    "sec-fetch-mode": "navigate",
    "sec-fetch-user": "?1",
    "sec-fetch-dest": "document",
    "cdn-loop": "cloudflare; loops=1",
    "cf-connecting-ip": "2405:201:f025:7822:d94b:390c:4e5a:4b60",
    "cf-ipcountry": "IN",
    "cf-visitor": "{\"scheme\":\"https\"}",
    "cookie": "_ga=GA1.1.570190417.1775737133; _gcl_au=1.1.1486365971.1775737133.127286236.1777361284.1777361283; _ga_F791T71E0G=GS2.1.s1777371549$o34$g1$t1777371550$j59$l0$h0"
  },
  "request_body": {
    "dcql_query": {
      "credentials": [
        {
          "id": "age_verification",
          "format": "mso_mdoc",
          "meta": {
            "doctype_value": "eu.europa.ec.av.1"
          },
          "claims": [
            {
              "path": [
                "eu.europa.ec.av.1",
                "age_over_18"
              ]
            }
          ]
        }
      ]
    },
    "preset_id": "age_verification_over_18",
    "wallet_url_scheme": "openid4vp://",
    "dc_api_protocol": "unsigned"
  },
  "transaction_id": "0756cfeb-ee6b-4811-93c6-f9e7c5abb709",
  "request_id": "98d42f3a-a04f-41ef-a344-2b38f4509a92",
  "nonce": "GfTOp2SRJvEoFWPhz02WBEAvOnBvvOCgmMmZsbovqL4",
  "client_id": "x509_hash:DL0iqIY9Qlij2JXHaUk75gAEIVMZJV1sS_6PPgfeeVg",
  "response_uri": "https://verifier-playground-service.igrant.io/post",
  "response_mode": "dc_api.jwt",
  "jwk_thumbprint": "3oqf5qCsnroDBqGAx0C3nxGXfSAIggKaArj5CfYyrfM",
  "origin": "https://verifier-playground.igrant.io",
  "client_metadata": {
    "client_name": "Verifier Playground by iGrant.io",
    "logo_uri": "https://storage.googleapis.com/igrant-api-images/faviconV2.png",
    "vp_formats_supported": {
      "dc+sd-jwt": {
        "sd-jwt_alg_values": [
          "ES256",
          "ES384"
        ],
        "kb-jwt_alg_values": [
          "ES256",
          "ES384"
        ]
      },
      "mso_mdoc": {
        "issuerauth_alg_values": [
          -9,
          -51
        ],
        "deviceauth_alg_values": [
          -9,
          -51
        ]
      }
    },
    "jwks": {
      "keys": [
        {
          "crv": "P-256",
          "kty": "EC",
          "x": "dQM9oM-F1F6DVRyju1sV1UPqt9qzptpDo5eXxGk7T6s",
          "y": "xMcZsKpx1mo8VgSz1662KWNrmGvv2ryefoLAy_1bPss",
          "kid": "3oqf5qCsnroDBqGAx0C3nxGXfSAIggKaArj5CfYyrfM",
          "alg": "ECDH-ES",
          "use": "enc"
        }
      ]
    },
    "authorization_encrypted_response_alg": "ECDH-ES",
    "authorization_encrypted_response_enc": "A256GCM",
    "encrypted_response_enc_values_supported": [
      "A256GCM",
      "A128GCM"
    ]
  },
  "dcql_query": {
    "credentials": [
      {
        "id": "age_verification",
        "format": "mso_mdoc",
        "meta": {
          "doctype_value": "eu.europa.ec.av.1"
        },
        "claims": [
          {
            "path": [
              "eu.europa.ec.av.1",
              "age_over_18"
            ]
          }
        ]
      }
    ]
  },
  "preset_id": "age_verification_over_18"
}
2026-04-28 13:05:14 UTC INFO /callback DC API wallet response received (encrypted)
Data:
{
  "request_headers": {
    "host": "verifier-playground.igrant.io",
    "x-request-id": "d3d97070c856d93404ddae17c7545337",
    "x-real-ip": "10.164.15.218",
    "x-forwarded-for": "10.164.15.218",
    "x-forwarded-host": "verifier-playground.igrant.io",
    "x-forwarded-port": "443",
    "x-forwarded-proto": "https",
    "x-forwarded-scheme": "https",
    "x-scheme": "https",
    "x-original-forwarded-for": "2405:201:f025:7822:d94b:390c:4e5a:4b60",
    "content-length": "3315",
    "referer": "https://verifier-playground.igrant.io/admin/create-request/",
    "accept-encoding": "gzip, br",
    "priority": "u=1, i",
    "cf-ray": "9f364702bd696aa3-AMS",
    "accept-language": "en-GB,en;q=0.9,sv-IN;q=0.8,sv;q=0.7,ar-EG;q=0.6,ar;q=0.5,en-US;q=0.4",
    "sec-ch-ua-platform": "\"macOS\"",
    "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36",
    "sec-ch-ua": "\"Google Chrome\";v=\"147\", \"Not.A/Brand\";v=\"8\", \"Chromium\";v=\"147\"",
    "content-type": "application/json",
    "sec-ch-ua-mobile": "?0",
    "accept": "*/*",
    "origin": "https://verifier-playground.igrant.io",
    "sec-fetch-site": "same-origin",
    "sec-fetch-mode": "cors",
    "sec-fetch-dest": "empty",
    "cdn-loop": "cloudflare; loops=1",
    "cf-connecting-ip": "2405:201:f025:7822:d94b:390c:4e5a:4b60",
    "cf-ipcountry": "IN",
    "cf-visitor": "{\"scheme\":\"https\"}",
    "cookie": "_ga=GA1.1.570190417.1775737133; _gcl_au=1.1.1486365971.1775737133.127286236.1777361284.1777361283; _ga_F791T71E0G=GS2.1.s1777371549$o34$g1$t1777371550$j59$l0$h0"
  },
  "request_body": {
    "response": "eyJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiJzRkJoTDh6LVUxck1nYmFoOG02QTlJdHFpd3luRjUxcTFLaTE0ZHVkTmIwIiwieSI6IjcycXlsenpNSDBlc3dyOTR6aWd2WllkOVdzd3IxeVNRU3VxNGN1dHFqYjQifSwiYXB2IjoiUjJaVVQzQXlVMUpLZGtWdlJsZFFhSG93TWxkQ1JVRjJUMjVDZG5aUFEyZHRUVzFhYzJKdmRuRk1OQSIsImtpZCI6IjNvcWY1cUNzbnJvREJxR0F4MEMzbnhHWGZTQUlnZ0thQXJqNUNmWXlyZk0iLCJhcHUiOiJiM0pwWjJsdU9taDBkSEJ6T2k4dmRtVnlhV1pwWlhJdGNHeGhlV2R5YjNWdVpDNXBaM0poYm5RdWFXOCIsImVuYyI6IkEyNTZHQ00iLCJhbGciOiJFQ0RILUVTIn0..AXruJVb_e6pIGZbK.Iy8T28VULWk0lrDDKytyT-iorP9p6AWVmBhcnS1jYROhnpIfXWKLfM1blQTrjlJMCW1UEq4lvYh7J59C4VcB4LWGvOmLFBtypT7XUNGhoHxVccT0_CNPWZhL2Y-zG2malkB7rOZJUYu7VAfcM9KFrDNi3EQ3kuGXDHKGmd41tMzehPYVPm1vwPOYb82mZHLn38KUnw40ffl0XZAFDriev69RtxDXOVllgP1hK7gUk4YIFM1zXUKcd9pCBu2I95QcjqYVNARNYetycjeIpdOgxgCyrnOcbgCrj0TrR5r6p7QXswCIbAetQ_E9ANB3hWCpxzG39y2SMNKGKiBRIFhGZyBgVFqy-0pHRLdcH56ljQNNUYcso4EkMZfd-kSDkalurXlJsvSS8_4jE5_cmVUWooOQJoAIiaRGkTknEOz3l_L3S66vvN70-da8Q8AYMh2SN8aXOV5_Hzyb5mQSVE48TwBLB0Y5jRIMYE_lKhD6-7H5GdwhVwB1yR7wgO3h-DrINK2syDyOTCsGPc9n3Bk7GV_j2l4Teud2zh_Ayo95EWOAuhaSOqaOqD3-1JoasXYzsSOzD3ltorB_pxk5Mnfou4E1vgtoghZbuwRkPVWksq-2phYVL9nFXsdsyoQjQ9KkkHSGYjMF4Qq8bS_KK1y-2EJOwNwxOEYROplhQFpg_VhD0wP4Qb059Z2_0BvC3ItocqXH2pec5j1U2rdu3eVx4PGrcTrx3zzGKuvHq54ZYSaX_D_OcQo6bx3u7L-I7vJyUpzBvjeZQsNaXwWKYMl7pivZ5YX63qlIK6ukFOXHKJEX8DIbMbqSqD8TeZ0Lu29M0vcMy5GdNbRL-nsn5ngATKNcUrIaS9v3V3W3na4uVxZcd5XHafPnfptfW9PAzAyNyWG7Eh3EuujhfBe8iRi1PQ7Fpqp-CXkuRzWz3wRfiNFMZ2i_ZHsoRr7kpey0eDNoQKFhadb1dTK26TC7_2mzHn3vcH687kMUnZhvnuddFGB838xy8KNQCr6Gsdr_qdNgcvIbPpCd9jfLGTF2uN-xPGcxNnsqKMGPwvwOqthpI3zFMenltOgdI4VPQD6hl73XoCHdI9sMsaMyYfdA2ZVik0PgDaGccHfgmT7zDEtrU5gxtxTZN4PREa-_vl75mhoO26PJoRWiNfCyGUF9JJi-INbOuQcEn3xdZrbFIUit2rdrgmUOlUdYHL3cKFZ0t81OhtLhUto1igs1-m0HSBJPk5kMsB8teecLvrGT9Yhlz1VNuN7i2G5L_W9vkj5RUSpQgHUVXWcSrZQZlAvVVq6j-Tlg69X9zXwpIwFhYFAB0uBRoK8sFYTGM8WLAz8GT7pkmvwfZQdBifHdLAMhVI56ka1oiOApPvtkoC3ZJDv1CUHMc3GPqdPRd_a5UmciTDhlx8AMRVTBBjM1hCIz0NTV4Or50qX43ViD535gvpZ4vEQPkVruUPVNeBIU2QykpGGRmg3W4vpZ1yUQ-woFWKjoQiyKBKnmkC7BMu9qs2dFYmGuiqOwsvrPSLaaS4R_jSisyncalM1_saG5DTHht4EgfVxF84MPfjw7Q9L8ck547OswcYJebmyA64R114WOn_HeooVOlUwfkRtjbHpnWXuvxfTSgJ4G6QUs9vsrVlh31QyoXVo1Awsv2aLtWmRs6bY7FH81KTokHnDsVrxdd71T5uQjvjCPmAGlFHGxOYlz1qx8nuUFW9WOHXAGJCZrABICkXQv7L13A2WTStt6NoHFbewmvHOSqV6f4tX3w60EKUZmnNtxEnklht_0ewAA2veLZwfXYcoadA5zcrkcRZpUvoYxPsGysdAo9C7TQ0QhEQiCrvqA4JT2Ov7QxKKgy5RlzNn8qsAwxZG95OxG_NOx5-fk7gnxlI0fJ9EcxW1mGrWG0hgT_a2jX6OfQbMKUVmfz9fF9uNu9C255mwZR2TtLQeZtUsAXGQpv81ZL4IW6FzUTctfvf1pLzJCPbcPbutJ8QMKRLS8t6jsgP_MjMR50E-N5PsAyvbwTCt1iZc5UbOaFDM71D_L0ndrpF31Mm1NHwlO8RvhRRhvnDFrVAJmnncjNjN25MMmJ1Ts6MfHW4L7S3iTAJJRrcaVTbvIevUODtr0VQbE3dhk6LYPZW9uUeq87l7nZvi3fLNaw7-Hu_fW-1LYHaBwj2qBbN7cuid9C5AGyInmH9AzVIuREHGWYHWsZJx4gPNk14gR8_ry0HtS42-3DRoFDSEMOBwYjHMV5mQqclYYKDwBjMk3NL8GOrppF78LwtZkkUEt5kbO9Ej5PLQcrLu21aAWFNl1JdxHLFYNgw0sqI0o4cMvdMYn_InkX4wbT73jJLiQ8FPRX7oZNZo_wL4kVFIQ3i_GI_ojDQ9tqMgGiYOOvUulmgI_raKNy6SaKmHWedHAccSSasRxrAyDZEWnMlYzbuHiltIkAbFcOBN_tEIJayqNkjcvH_J1L62TmBdnWqXUH6YE63MkvfNVXDVcFccjXknrBwwMqDQtUjmwv4XPPSbet1eLxjvn7krF8kYu2Tg0yvPRsRATrNT4EMpwuIjbzEOItAvxces3y6RbjgQLdfY-DeELCbQaiQHpMLJa3uazfh_P88isQHxUKPHM_SD7xwsmHzDNpIVvet6YMp-TsAY-AsqsBWR3aRhKW1qnj4QD4K40BEgezGA_f877rbkpon44rvq2xDrUwvmrmYxH17bm6vS4HMZmZ7__Jjhy_ZGocgf7mqmqxO3PTYs_.HJBxFFsE8oJ8zRf6Hlg4tA",
    "state": "98d42f3a-a04f-41ef-a344-2b38f4509a92"
  },
  "transaction_id": "0756cfeb-ee6b-4811-93c6-f9e7c5abb709",
  "nonce": "GfTOp2SRJvEoFWPhz02WBEAvOnBvvOCgmMmZsbovqL4",
  "client_id": "x509_hash:DL0iqIY9Qlij2JXHaUk75gAEIVMZJV1sS_6PPgfeeVg",
  "response_uri": "https://verifier-playground-service.igrant.io/post",
  "response_mode": "dc_api.jwt",
  "jwk_thumbprint": "3oqf5qCsnroDBqGAx0C3nxGXfSAIggKaArj5CfYyrfM"
}
2026-04-28 13:05:14 UTC INFO /callback JWE decrypted successfully
Data:
{
  "decrypted_payload": {
    "vp_token": "{\"age_verification\":[\"o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGVxZXUuZXVyb3BhLmVjLmF2LjFsZGV2aWNlU2lnbmVkompkZXZpY2VBdXRooW9kZXZpY2VTaWduYXR1cmWEQ6EBJqD2WECKsA8oYHGvSriaNAryTzOM_Cg1KKxVnZnvm570_N5w6gNuDZdlltw3aGU_dwT8ZskOUYrRPhK5spAuwdF96owKam5hbWVTcGFjZXPYGEGgbGlzc3VlclNpZ25lZKJqaXNzdWVyQXV0aIRDoQEmoRghWQHyMIIB7jCCAZSgAwIBAgIUNO9U0wM5BPvAUfyplLIuTK5AUdUwCgYIKoZIzj0EAwIwQjELMAkGA1UEBhMCU0UxCzAJBgNVBAgMAlNFMRIwEAYDVQQKDAlpR3JhbnQuaW8xEjAQBgNVBAMMCW1kb2MgSUFDQTAeFw0yNjA0MjcxODMxNTBaFw0yNzA0MjcxODMxNTBaME0xCzAJBgNVBAYTAlNFMQswCQYDVQQIDAJTRTESMBAGA1UECgwJaUdyYW50LmlvMR0wGwYDVQQDDBRtZG9jIERvY3VtZW50IFNpZ25lcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFDb5cnl6hz69XWJU89BQOcqRQHD7MxOg4O9dukDeDm0aE9RssllOlR_ciWyZOw8R__yoIPUe01fuI9oAWTtEayjXTBbMAkGA1UdEwQCMAAwDgYDVR0PAQH_BAQDAgeAMB0GA1UdDgQWBBQ3GasoEW9WiIg9HfzmJRvBN0M4NTAfBgNVHSMEGDAWgBStUMMz6QhA19QQAqVwaTl53twUWzAKBggqhkjOPQQDAgNIADBFAiEAoGCbLVuXVviwFV4Wz0MwWab-dUOkpdaTHDkH_P5W1EwCIGWnfbfGebEz4yeffaWKUtAg4r5ySFY1eRBO3-pe0nNnWQJB2BhZAjynZnN0YXR1c6Frc3RhdHVzX2xpc3SiY2lkeBoAAYAAY3VyaXg5aHR0cHM6Ly9pc3N1ZXItcGxheWdyb3VuZC1zZXJ2aWNlLmlncmFudC5pby9zdGF0dXNsaXN0cy8xZ2RvY1R5cGVxZXUuZXVyb3BhLmVjLmF2LjFndmVyc2lvbmMxLjBsdmFsaWRpdHlJbmZvo2ZzaWduZWTAdDIwMjYtMDQtMjhUMTM6MDM6MjJaaXZhbGlkRnJvbcB0MjAyNi0wNC0yOFQxMzowMzoyMlpqdmFsaWRVbnRpbMB0MjAyNy0wNC0yOFQwMDowMDowMFpsdmFsdWVEaWdlc3RzoXFldS5ldXJvcGEuZWMuYXYuMaUAWCBOI5KaYkSF45mJ_gZHe9uAWTmFkzzwXfPcfi0POa-B6AFYIFdrag-QmkUxfyzPc2jqw7yZmpzi7E-snHUZHj-gMX7aAlggmoXAQqnvm_fBh-P2D2iS7LPqLgkSoljaRz7H40rY-_cDWCCHWvaGw1VcN6jq8ZqJOZTaAB4IOrhamcmLYDRcoix_cgRYIIy6flmOca_EFay8c44VZwwdUQufSk071AHKZccz4LlUbWRldmljZUtleUluZm-haWRldmljZUtleaQBAiABIVggKM10qMocU0Xj0r8mctahaue242EZQ9D95l_FFPMuDGoiWCC8XOqkTR77Qm5XirLZC3I3r8Y4gjQZRE4FS-lyfQz2xm9kaWdlc3RBbGdvcml0aG1nU0hBLTI1NlhAcXJHUIOscpjA5XUGOc0cGI0hEIeeeESazyvXw8xDxMkS0Bw-0L74-cEhpdOahwtSPzRSM6tHp_1E75B5JQIS5WpuYW1lU3BhY2VzoXFldS5ldXJvcGEuZWMuYXYuMYHYGFhgpGZyYW5kb21YIPcViFPwxQCQ3Cg09BSM3LqAsCDoJrvusFeiYPwmrInOaGRpZ2VzdElEAGxlbGVtZW50VmFsdWX1cWVsZW1lbnRJZGVudGlmaWVya2FnZV9vdmVyXzE4\"]}",
    "state": ""
  }
}
2026-04-28 13:05:14 UTC INFO /callback DC API VP Token received
Data:
{
  "vp_token": {
    "age_verification": [
      "o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGVxZXUuZXVyb3BhLmVjLmF2LjFsZGV2aWNlU2lnbmVkompkZXZpY2VBdXRooW9kZXZpY2VTaWduYXR1cmWEQ6EBJqD2WECKsA8oYHGvSriaNAryTzOM_Cg1KKxVnZnvm570_N5w6gNuDZdlltw3aGU_dwT8ZskOUYrRPhK5spAuwdF96owKam5hbWVTcGFjZXPYGEGgbGlzc3VlclNpZ25lZKJqaXNzdWVyQXV0aIRDoQEmoRghWQHyMIIB7jCCAZSgAwIBAgIUNO9U0wM5BPvAUfyplLIuTK5AUdUwCgYIKoZIzj0EAwIwQjELMAkGA1UEBhMCU0UxCzAJBgNVBAgMAlNFMRIwEAYDVQQKDAlpR3JhbnQuaW8xEjAQBgNVBAMMCW1kb2MgSUFDQTAeFw0yNjA0MjcxODMxNTBaFw0yNzA0MjcxODMxNTBaME0xCzAJBgNVBAYTAlNFMQswCQYDVQQIDAJTRTESMBAGA1UECgwJaUdyYW50LmlvMR0wGwYDVQQDDBRtZG9jIERvY3VtZW50IFNpZ25lcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFDb5cnl6hz69XWJU89BQOcqRQHD7MxOg4O9dukDeDm0aE9RssllOlR_ciWyZOw8R__yoIPUe01fuI9oAWTtEayjXTBbMAkGA1UdEwQCMAAwDgYDVR0PAQH_BAQDAgeAMB0GA1UdDgQWBBQ3GasoEW9WiIg9HfzmJRvBN0M4NTAfBgNVHSMEGDAWgBStUMMz6QhA19QQAqVwaTl53twUWzAKBggqhkjOPQQDAgNIADBFAiEAoGCbLVuXVviwFV4Wz0MwWab-dUOkpdaTHDkH_P5W1EwCIGWnfbfGebEz4yeffaWKUtAg4r5ySFY1eRBO3-pe0nNnWQJB2BhZAjynZnN0YXR1c6Frc3RhdHVzX2xpc3SiY2lkeBoAAYAAY3VyaXg5aHR0cHM6Ly9pc3N1ZXItcGxheWdyb3VuZC1zZXJ2aWNlLmlncmFudC5pby9zdGF0dXNsaXN0cy8xZ2RvY1R5cGVxZXUuZXVyb3BhLmVjLmF2LjFndmVyc2lvbmMxLjBsdmFsaWRpdHlJbmZvo2ZzaWduZWTAdDIwMjYtMDQtMjhUMTM6MDM6MjJaaXZhbGlkRnJvbcB0MjAyNi0wNC0yOFQxMzowMzoyMlpqdmFsaWRVbnRpbMB0MjAyNy0wNC0yOFQwMDowMDowMFpsdmFsdWVEaWdlc3RzoXFldS5ldXJvcGEuZWMuYXYuMaUAWCBOI5KaYkSF45mJ_gZHe9uAWTmFkzzwXfPcfi0POa-B6AFYIFdrag-QmkUxfyzPc2jqw7yZmpzi7E-snHUZHj-gMX7aAlggmoXAQqnvm_fBh-P2D2iS7LPqLgkSoljaRz7H40rY-_cDWCCHWvaGw1VcN6jq8ZqJOZTaAB4IOrhamcmLYDRcoix_cgRYIIy6flmOca_EFay8c44VZwwdUQufSk071AHKZccz4LlUbWRldmljZUtleUluZm-haWRldmljZUtleaQBAiABIVggKM10qMocU0Xj0r8mctahaue242EZQ9D95l_FFPMuDGoiWCC8XOqkTR77Qm5XirLZC3I3r8Y4gjQZRE4FS-lyfQz2xm9kaWdlc3RBbGdvcml0aG1nU0hBLTI1NlhAcXJHUIOscpjA5XUGOc0cGI0hEIeeeESazyvXw8xDxMkS0Bw-0L74-cEhpdOahwtSPzRSM6tHp_1E75B5JQIS5WpuYW1lU3BhY2VzoXFldS5ldXJvcGEuZWMuYXYuMYHYGFhgpGZyYW5kb21YIPcViFPwxQCQ3Cg09BSM3LqAsCDoJrvusFeiYPwmrInOaGRpZ2VzdElEAGxlbGVtZW50VmFsdWX1cWVsZW1lbnRJZGVudGlmaWVya2FnZV9vdmVyXzE4"
    ]
  },
  "state": "98d42f3a-a04f-41ef-a344-2b38f4509a92",
  "nonce": "GfTOp2SRJvEoFWPhz02WBEAvOnBvvOCgmMmZsbovqL4",
  "client_id": "x509_hash:DL0iqIY9Qlij2JXHaUk75gAEIVMZJV1sS_6PPgfeeVg",
  "response_uri": "https://verifier-playground-service.igrant.io/post",
  "jwk_thumbprint": "3oqf5qCsnroDBqGAx0C3nxGXfSAIggKaArj5CfYyrfM"
}
2026-04-28 13:05:14 UTC WARNING /callback Validation failed
How to fix:
One or more credentials failed verification. Check the 'credentials' object below for per-credential errors.
Data:
{
  "hint": "One or more credentials failed verification. Check the 'credentials' object below for per-credential errors.",
  "credentials": {
    "age_verification": {
      "valid": false,
      "format": "mso_mdoc",
      "disclosed_claims": {
        "eu.europa.ec.av.1:age_over_18": true
      },
      "issuer": "CN=mdoc IACA,O=iGrant.io,ST=SE,C=SE",
      "checks": [
        {
          "id": "valid_document",
          "name": "Valid Document",
          "status": "passed",
          "detail": "DocType: eu.europa.ec.av.1"
        },
        {
          "id": "issuer_signature",
          "name": "Valid Issuer Signature",
          "status": "passed",
          "detail": "IssuerAuth COSE_Sign1 signature verified"
        },
        {
          "id": "valid_certificate",
          "name": "Valid Certificate",
          "status": "passed",
          "detail": "Valid until 2027-04-27T18:31:50+00:00"
        },
        {
          "id": "trusted",
          "name": "Trusted",
          "status": "unchecked",
          "detail": "No IACA certificates configured"
        },
        {
          "id": "token_status",
          "name": "Valid Token Status",
          "status": "passed",
          "detail": "Valid until 2027-04-28T00:00:00+00:00"
        },
        {
          "id": "device_signature",
          "name": "Valid Device Signature",
          "status": "failed",
          "detail": "DeviceSignature verification failed: signature does not match SessionTranscript (nonce/client_id binding check failed)"
        }
      ]
    }
  }
}