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

ee2d442a-0417-4a0c-887e-720f6e48e5cb

validated warnings
direct_post

c0dd1383-846d-4611-8a63-d69c47938a76
redirect_uri:https://verifier-playground-service.igrant.io/post
XFeqoLh1v11XLPGt8dxlQWWS73xdK1aIPymDorQJAUc

https://verifier-playground-service.igrant.io/post
600s
age_verification_over_18
2026-09-09 12:06:45 UTC    2026-09-09 12:10:11 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"
          ],
          "intent_to_retain": false
        }
      ]
    }
  ]
}

Validation Result

Valid Warnings
age_verification
mso_mdoc
Warning
Valid Document DocType: eu.europa.ec.av.1
Valid Issuer Signature IssuerAuth COSE_Sign1 signature verified
Valid Certificate Valid until 2027-09-08T12:21:21+00:00
Trusted Certificate chain (1 cert(s)) does not terminate at any of 1 configured trusted root(s)
Valid Token Status Valid until 2027-09-09T12:10:00+00:00
Valid Device Signature DeviceAuth verified against SessionTranscript
View Details
{
  "valid": false,
  "format": "mso_mdoc",
  "disclosed_claims": {
    "eu.europa.ec.av.1:age_over_18": true
  },
  "issuer": "CN=mDL Test IACA,C=FR",
  "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-09-08T12:21:21+00:00"
    },
    {
      "id": "trusted",
      "name": "Trusted",
      "status": "failed",
      "detail": "Certificate chain (1 cert(s)) does not terminate at any of 1 configured trusted root(s)"
    },
    {
      "id": "token_status",
      "name": "Valid Token Status",
      "status": "passed",
      "detail": "Valid until 2027-09-09T12:10:00+00:00"
    },
    {
      "id": "device_signature",
      "name": "Valid Device Signature",
      "status": "passed",
      "detail": "DeviceAuth verified against SessionTranscript"
    }
  ]
}

VP Token

View Raw Token
{
  "age_verification": [
    "o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGVxZXUuZXVyb3BhLmVjLmF2LjFsZGV2aWNlU2lnbmVkompkZXZpY2VBdXRooW9kZXZpY2VTaWduYXR1cmWEQ6EBJqD2WEDlSP5UvbsP8BU93GrFT8n1L7b4juVnEZ-I0Zlz4oi5bXtkhQIFkuiDfubqg-l_N-zk92b5tKjmywLpQ4kjIfqSam5hbWVTcGFjZXPYGEGgbGlzc3VlclNpZ25lZKJqaXNzdWVyQXV0aIRDoQEmoRghWQJXMIICUzCCAfmgAwIBAgIUPmD9pJQVLvahIjl03rDz-fLJuAYwCgYIKoZIzj0EAwIwJTELMAkGA1UEBhMCRlIxFjAUBgNVBAMMDW1ETCBUZXN0IElBQ0EwHhcNMjYwOTA3MTIyMTIxWhcNMjcwOTA4MTIyMTIxWjAjMQswCQYDVQQGEwJGUjEUMBIGA1UEAwwLbURMIFRlc3QgRFMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAReVsWhtE__S_dMZhmiUBFkYRYpgiPW9GAWvxB_pts9mXtMabQKddmyBMr6KLJrQMeMlcN0ngpPhinL1e6kx65ko4IBBzCCAQMwDgYDVR0PAQH_BAQDAgeAMB0GA1UdDgQWBBRUq4qH6aWHHK7aTx6-C9MUcFnHKzAfBgNVHSMEGDAWgBSKlTGsNIUdumeTqZPxEkyq578-WzAkBgNVHREEHTAbhhlodHRwczovL21kbC10ZXN0LmludmFsaWQvMD8GA1UdEgQ4MDaGHWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb250YWN0gRVpYWNhQG1kbC10ZXN0LmludmFsaWQwMwYDVR0fBCwwKjAooCagJIYiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NybC9pYWNhLmNybDAVBgNVHSUBAf8ECzAJBgcogYxdBQECMAoGCCqGSM49BAMCA0gAMEUCIQCexzyUvI0i_oKKmzoe-akiMjcvN6eUKL-ql1X3aqdeHgIgFIeQnRm6CFGmWrxqW44gEJT77vgVHL0laxZIqCHfDZNZAXvYGFkBdqZnZG9jVHlwZXFldS5ldXJvcGEuZWMuYXYuMWd2ZXJzaW9uYzEuMGx2YWxpZGl0eUluZm-jZnNpZ25lZMB0MjAyNi0wOS0wOVQxMjowNTowMFppdmFsaWRGcm9twHQyMDI2LTA5LTA5VDEyOjA1OjAwWmp2YWxpZFVudGlswHQyMDI3LTA5LTA5VDEyOjEwOjAwWmx2YWx1ZURpZ2VzdHOhcWV1LmV1cm9wYS5lYy5hdi4xogBYIGLdqRkjILxSIsBSudOv0BJTkweJHb0irK8xz0KOieHnAVggP7NYqWGgaSOMeaI4EpsN6oanBxR1ekr4supdcIZ2t91tZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCDByp_uYvSwrIEK9ggJ9-J3iqUSaX7Y3AxxfHCTYTmTdiJYIHWih4KIUcg6i6TKT8WGD--a8ZVXC8QTyUNHHYOUTe0rb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2WEDsIcSgnqTD30_h2Hv0H6bEs2SLZ4ZaaZDX2IlZlUJFduamHqgFa1l0BGyFqFdOGpzIEXajfzNg7GlaACjRZF-Vam5hbWVTcGFjZXOhcWV1LmV1cm9wYS5lYy5hdi4xgdgYWGCkZnJhbmRvbVggueVHb9aoGAydS6P28hqtApcwAJspSq_XYaZCWCB3rRVoZGlnZXN0SUQAbGVsZW1lbnRWYWx1ZfVxZWxlbWVudElkZW50aWZpZXJrYWdlX292ZXJfMTg"
  ]
}

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'\\xe5H\\xfeT\\xbd\\xbb\\x0f\\xf0\\x15=\\xdcj\\xc5O\\xc9\\xf5/\\xb6\\xf8\\x8e\\xe5g\\x11\\x9f\\x88\\xd1\\x99s\\xe2\\x88\\xb9m{d\\x85\\x02\\x05\\x92\\xe8\\x83~\\xe6\\xea\\x83\\xe9\\x7f7\\xec\\xe4\\xf7f\\xf9\\xb4\\xa8\\xe6\\xcb\\x02\\xe9C\\x89#!\\xfa\\x92'"
            ]
          },
          "nameSpaces": "CBORTag(24, b'\\xa0')"
        },
        "issuerSigned": {
          "issuerAuth": [
            "b'\\xa1\\x01&'",
            {
              "33": "b'0\\x82\\x02S0\\x82\\x01\\xf9\\xa0\\x03\\x02\\x01\\x02\\x02\\x14>`\\xfd\\xa4\\x94\\x15.\\xf6\\xa1\"9t\\xde\\xb0\\xf3\\xf9\\xf2\\xc9\\xb8\\x060\\n\\x06\\x08*\\x86H\\xce=\\x04\\x03\\x020%1\\x0b0\\t\\x06\\x03U\\x04\\x06\\x13\\x02FR1\\x160\\x14\\x06\\x03U\\x04\\x03\\x0c\\rmDL Test IACA0\\x1e\\x17\\r260907122121Z\\x17\\r270908122121Z0#1\\x0b0\\t\\x06\\x03U\\x04\\x06\\x13\\x02FR1\\x140\\x12\\x06\\x03U\\x04\\x03\\x0c\\x0bmDL Test DS0Y0\\x13\\x06\\x07*\\x86H\\xce=\\x02\\x01\\x06\\x08*\\x86H\\xce=\\x03\\x01\\x07\\x03B\\x00\\x04^V\\xc5\\xa1\\xb4O\\xffK\\xf7Lf\\x19\\xa2P\\x11da\\x16)\\x82#\\xd6\\xf4`\\x16\\xbf\\x10\\x7f\\xa6\\xdb=\\x99{Li\\xb4\\nu\\xd9\\xb2\\x04\\xca\\xfa(\\xb2k@\\xc7\\x8c\\x95\\xc3t\\x9e\\nO\\x86)\\xcb\\xd5\\xee\\xa4\\xc7\\xaed\\xa3\\x82\\x01\\x070\\x82\\x01\\x030\\x0e\\x06\\x03U\\x1d\\x0f\\x01\\x01\\xff\\x04\\x04\\x03\\x02\\x07\\x800\\x1d\\x06\\x03U\\x1d\\x0e\\x04\\x16\\x04\\x14T\\xab\\x8a\\x87\\xe9\\xa5\\x87\\x1c\\xae\\xdaO\\x1e\\xbe\\x0b\\xd3\\x14pY\\xc7+0\\x1f\\x06\\x03U\\x1d#\\x04\\x180\\x16\\x80\\x14\\x8a\\x951\\xac4\\x85\\x1d\\xbag\\x93\\xa9\\x93\\xf1\\x12L\\xaa\\xe7\\xbf>[0$\\x06\\x03U\\x1d\\x11\\x04\\x1d0\\x1b\\x86\\x19https://mdl-test.invalid/0?\\x06\\x03U\\x1d\\x12\\x04806\\x86\\x1dhttp://127.0.0.1:8000/contact\\x81\\[email protected]\\x06\\x03U\\x1d\\x1f\\x04,0*0(\\xa0&\\xa0$\\x86\"http://127.0.0.1:8000/crl/iaca.crl0\\x15\\x06\\x03U\\x1d%\\x01\\x01\\xff\\x04\\x0b0\\t\\x06\\x07(\\x81\\x8c]\\x05\\x01\\x020\\n\\x06\\x08*\\x86H\\xce=\\x04\\x03\\x02\\x03H\\x000E\\x02!\\x00\\x9e\\xc7<\\x94\\xbc\\x8d\"\\xfe\\x82\\x8a\\x9b:\\x1e\\xf9\\xa9\"27/7\\xa7\\x94(\\xbf\\xaa\\x97U\\xf7j\\xa7^\\x1e\\x02 \\x14\\x87\\x90\\x9d\\x19\\xba\\x08Q\\xa6Z\\xbcj[\\x8e \\x10\\x94\\xfb\\xee\\xf8\\x15\\x1c\\xbd%k\\x16H\\xa8!\\xdf\\r\\x93'"
            },
            "b'\\xd8\\x18Y\\x01v\\xa6gdocTypeqeu.europa.ec.av.1gversionc1.0lvalidityInfo\\xa3fsigned\\xc0t2026-09-09T12:05:00ZivalidFrom\\xc0t2026-09-09T12:05:00ZjvalidUntil\\xc0t2027-09-09T12:10:00ZlvalueDigests\\xa1qeu.europa.ec.av.1\\xa2\\x00X b\\xdd\\xa9\\x19# \\xbcR\"\\xc0R\\xb9\\xd3\\xaf\\xd0\\x12S\\x93\\x07\\x89\\x1d\\xbd\"\\xac\\xaf1\\xcfB\\x8e\\x89\\xe1\\xe7\\x01X ?\\xb3X\\xa9a\\xa0i#\\x8cy\\xa28\\x12\\x9b\\r\\xea\\x86\\xa7\\x07\\x14uzJ\\xf8\\xb2\\xea]p\\x86v\\xb7\\xddmdeviceKeyInfo\\xa1ideviceKey\\xa4\\x01\\x02 \\x01!X \\xc1\\xca\\x9f\\xeeb\\xf4\\xb0\\xac\\x81\\n\\xf6\\x08\\t\\xf7\\xe2w\\x8a\\xa5\\x12i~\\xd8\\xdc\\x0cq|p\\x93a9\\x93v\"X u\\xa2\\x87\\x82\\x88Q\\xc8:\\x8b\\xa4\\xcaO\\xc5\\x86\\x0f\\xef\\x9a\\xf1\\x95W\\x0b\\xc4\\x13\\xc9CG\\x1d\\x83\\x94M\\xed+odigestAlgorithmgSHA-256'",
            "b'\\xec!\\xc4\\xa0\\x9e\\xa4\\xc3\\xdfO\\xe1\\xd8{\\xf4\\x1f\\xa6\\xc4\\xb3d\\x8bg\\x86Zi\\x90\\xd7\\xd8\\x89Y\\x95BEv\\xe6\\xa6\\x1e\\xa8\\x05kYt\\x04l\\x85\\xa8WN\\x1a\\x9c\\xc8\\x11v\\xa3\\x7f3`\\xeciZ\\x00(\\xd1d_\\x95'"
          ],
          "nameSpaces": {
            "eu.europa.ec.av.1": [
              "CBORTag(24, b'\\xa4frandomX \\xb9\\xe5Go\\xd6\\xa8\\x18\\x0c\\x9dK\\xa3\\xf6\\xf2\\x1a\\xad\\x02\\x970\\x00\\x9b)J\\xaf\\xd7a\\xa6BX w\\xad\\x15hdigestID\\x00lelementValue\\xf5qelementIdentifierkage_over_18')"
            ]
          }
        }
      }
    ]
  }
}

Session Logs

4 total
2026-09-09 12:06:45 UTC INFO /presentations Presentation request created
Data:
{
  "request_headers": {
    "host": "verifier-playground.igrant.io",
    "x-request-id": "fd84e65f030cf956e4f5e6608b1d7963",
    "x-real-ip": "10.164.0.57",
    "x-forwarded-for": "10.164.0.57",
    "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": "45.80.21.154",
    "content-length": "136",
    "referer": "https://verifier-playground.igrant.io/admin/create-request/",
    "accept-encoding": "gzip, br",
    "priority": "u=0, i",
    "cf-ray": "a38611954c4fe1ed-MRS",
    "accept-language": "fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7",
    "cache-control": "max-age=0",
    "sec-ch-ua": "\"Chromium\";v=\"151\", \"Not=A?Brand\";v=\"99\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"Linux\"",
    "upgrade-insecure-requests": "1",
    "content-type": "application/x-www-form-urlencoded",
    "user-agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36",
    "origin": "https://verifier-playground.igrant.io",
    "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": "45.80.21.154",
    "cf-ipcountry": "FR",
    "cf-visitor": "{\"scheme\":\"https\"}",
    "cookie": "_ga=GA1.1.1196941427.1788793110; cf_clearance=EaUuD.6rgFtGoke9zanMjVufgGgwQIUOmvCw9knwhcI-1788955487-1.2.1.1-ENiTk6WMLkrQVyeOFhpPwEftr8u_fEpxPLe94XLbeOEaWXTVo0CMQNsjX3RwN8EPCTimiv2jhXwj25bzjXDelvFYCawai2boORBZdx8ox2iYZFTmCz1LGM9TMSiZPPZ2.SmQGF02yxl6gpRj2K7waSoAX4aN9HfoLngINA5cke3cMgd_DeWnUKSiQOoTV_WJhQ.aJFI86McYwSuLmsemnWrLTldRAg8FG11lQ.zygqeBB4FAlXmjcIdE5gB.7s62A8cEdIHT4dLa3SKFQZsiM9wfzZ0kx6xjs0Tvb6jfGfCeg9QgkkEDvr7Ty2gwD_e9vwANpBkbOeetd8eLSE7PzXS5ESrubo7fN69ihNd820M; _gcl_au=1.1.1816960243.1788955488; _ga_F791T71E0G=GS2.1.s1788955488$o5$g0$t1788955489$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"
              ],
              "intent_to_retain": false
            }
          ]
        }
      ]
    },
    "preset_id": "age_verification_over_18",
    "protocol_profile": "av",
    "wallet_url_scheme": "av://"
  },
  "transaction_id": "ee2d442a-0417-4a0c-887e-720f6e48e5cb",
  "request_id": "c0dd1383-846d-4611-8a63-d69c47938a76",
  "nonce": "XFeqoLh1v11XLPGt8dxlQWWS73xdK1aIPymDorQJAUc",
  "client_id": "redirect_uri:https://verifier-playground-service.igrant.io/post",
  "response_uri": "https://verifier-playground-service.igrant.io/post",
  "response_mode": "direct_post",
  "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"
            ],
            "intent_to_retain": false
          }
        ]
      }
    ]
  },
  "preset_id": "age_verification_over_18",
  "protocol_profile": "av"
}
2026-09-09 12:10:11 UTC INFO /post VP Token received
Data:
{
  "vp_token": {
    "age_verification": [
      "o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGVxZXUuZXVyb3BhLmVjLmF2LjFsZGV2aWNlU2lnbmVkompkZXZpY2VBdXRooW9kZXZpY2VTaWduYXR1cmWEQ6EBJqD2WEDlSP5UvbsP8BU93GrFT8n1L7b4juVnEZ-I0Zlz4oi5bXtkhQIFkuiDfubqg-l_N-zk92b5tKjmywLpQ4kjIfqSam5hbWVTcGFjZXPYGEGgbGlzc3VlclNpZ25lZKJqaXNzdWVyQXV0aIRDoQEmoRghWQJXMIICUzCCAfmgAwIBAgIUPmD9pJQVLvahIjl03rDz-fLJuAYwCgYIKoZIzj0EAwIwJTELMAkGA1UEBhMCRlIxFjAUBgNVBAMMDW1ETCBUZXN0IElBQ0EwHhcNMjYwOTA3MTIyMTIxWhcNMjcwOTA4MTIyMTIxWjAjMQswCQYDVQQGEwJGUjEUMBIGA1UEAwwLbURMIFRlc3QgRFMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAReVsWhtE__S_dMZhmiUBFkYRYpgiPW9GAWvxB_pts9mXtMabQKddmyBMr6KLJrQMeMlcN0ngpPhinL1e6kx65ko4IBBzCCAQMwDgYDVR0PAQH_BAQDAgeAMB0GA1UdDgQWBBRUq4qH6aWHHK7aTx6-C9MUcFnHKzAfBgNVHSMEGDAWgBSKlTGsNIUdumeTqZPxEkyq578-WzAkBgNVHREEHTAbhhlodHRwczovL21kbC10ZXN0LmludmFsaWQvMD8GA1UdEgQ4MDaGHWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jb250YWN0gRVpYWNhQG1kbC10ZXN0LmludmFsaWQwMwYDVR0fBCwwKjAooCagJIYiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NybC9pYWNhLmNybDAVBgNVHSUBAf8ECzAJBgcogYxdBQECMAoGCCqGSM49BAMCA0gAMEUCIQCexzyUvI0i_oKKmzoe-akiMjcvN6eUKL-ql1X3aqdeHgIgFIeQnRm6CFGmWrxqW44gEJT77vgVHL0laxZIqCHfDZNZAXvYGFkBdqZnZG9jVHlwZXFldS5ldXJvcGEuZWMuYXYuMWd2ZXJzaW9uYzEuMGx2YWxpZGl0eUluZm-jZnNpZ25lZMB0MjAyNi0wOS0wOVQxMjowNTowMFppdmFsaWRGcm9twHQyMDI2LTA5LTA5VDEyOjA1OjAwWmp2YWxpZFVudGlswHQyMDI3LTA5LTA5VDEyOjEwOjAwWmx2YWx1ZURpZ2VzdHOhcWV1LmV1cm9wYS5lYy5hdi4xogBYIGLdqRkjILxSIsBSudOv0BJTkweJHb0irK8xz0KOieHnAVggP7NYqWGgaSOMeaI4EpsN6oanBxR1ekr4supdcIZ2t91tZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCDByp_uYvSwrIEK9ggJ9-J3iqUSaX7Y3AxxfHCTYTmTdiJYIHWih4KIUcg6i6TKT8WGD--a8ZVXC8QTyUNHHYOUTe0rb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2WEDsIcSgnqTD30_h2Hv0H6bEs2SLZ4ZaaZDX2IlZlUJFduamHqgFa1l0BGyFqFdOGpzIEXajfzNg7GlaACjRZF-Vam5hbWVTcGFjZXOhcWV1LmV1cm9wYS5lYy5hdi4xgdgYWGCkZnJhbmRvbVggueVHb9aoGAydS6P28hqtApcwAJspSq_XYaZCWCB3rRVoZGlnZXN0SUQAbGVsZW1lbnRWYWx1ZfVxZWxlbWVudElkZW50aWZpZXJrYWdlX292ZXJfMTg"
    ]
  },
  "state": "c0dd1383-846d-4611-8a63-d69c47938a76",
  "nonce": "XFeqoLh1v11XLPGt8dxlQWWS73xdK1aIPymDorQJAUc",
  "client_id": "redirect_uri:https://verifier-playground-service.igrant.io/post",
  "response_uri": "https://verifier-playground-service.igrant.io/post"
}
2026-09-09 12:10:11 UTC INFO /post Validation succeeded with warnings
How to fix:
Credentials verified successfully. Non-critical checks (trust chain or token status) produced warnings.
Data:
{
  "hint": "Credentials verified successfully. Non-critical checks (trust chain or token status) produced warnings.",
  "credentials": {
    "age_verification": {
      "valid": false,
      "format": "mso_mdoc",
      "disclosed_claims": {
        "eu.europa.ec.av.1:age_over_18": true
      },
      "issuer": "CN=mDL Test IACA,C=FR",
      "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-09-08T12:21:21+00:00"
        },
        {
          "id": "trusted",
          "name": "Trusted",
          "status": "failed",
          "detail": "Certificate chain (1 cert(s)) does not terminate at any of 1 configured trusted root(s)"
        },
        {
          "id": "token_status",
          "name": "Valid Token Status",
          "status": "passed",
          "detail": "Valid until 2027-09-09T12:10:00+00:00"
        },
        {
          "id": "device_signature",
          "name": "Valid Device Signature",
          "status": "passed",
          "detail": "DeviceAuth verified against SessionTranscript"
        }
      ]
    }
  }
}
2026-09-09 12:10:22 UTC ERROR /post direct_post handling failed
How to fix:
The direct_post handler rejected the response. This usually means the state does not match a known transaction or the transaction is not in the expected status.
View specification →
Error:
Transaction in unexpected status 'validated'
Stack trace
Traceback (most recent call last):
  File "/app/.venv/lib/python3.12/site-packages/verifier/routers/protocol/direct_post.py", line 498, in wallet_direct_post
    txn, response_code = await handle_direct_post(store, state, vp_token)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openid4vp_direct_post/handler.py", line 36, in handle_direct_post
    raise ValueError(f"Transaction in unexpected status '{txn.status}'")
ValueError: Transaction in unexpected status 'validated'
Data:
{
  "hint": "The direct_post handler rejected the response. This usually means the state does not match a known transaction or the transaction is not in the expected status.",
  "spec_url": "https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#section-7.1",
  "state": "c0dd1383-846d-4611-8a63-d69c47938a76"
}