igrantio-dcql-query-qesac

Builds DCQL queries requesting the QESAC credentialId claim for qualified electronic signature flows.

1|Updated Jul 14, 2026
One-click install
npx skills add https://github.com/L3-iGrant/skills --skill igrantio-dcql-query-qesac-l3-igrant
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: igrantio-dcql-query-qesac
Source: https://github.com/L3-iGrant/skills/tree/main/presentation-definitions/igrantio-dcql-query-qesac
Command: npx skills add https://github.com/L3-iGrant/skills --skill igrantio-dcql-query-qesac-l3-igrant

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building a remote qualified electronic signature (QES) flow requires a correctly structured DCQL query for the QESAC credential plus matching transaction data carrying document hashes, and getting the presentation definition fields wrong causes server rejections. ## Core Features & Use Cases - QESAC DCQL Query Template: Provides the exact dc+sd-jwt query requesting the credentialId claim with vct value QESAC from the iGrant.io verifiable data registry. - Transaction Data Integration: Explains how to set transactionDataDefinitionType to qes_data in the presentation definition and send matching transactionData with document hashes via the V3 send operation. - Signed PDF Support: Covers signatureStamp and signatureCoordinate parameters for stamping signatures into PDF documents. - Use Case: A developer building a "sign this contract" flow creates the presentation definition, sends the verification request with document hashes, and polls for the signed result. ## Quick Start Use the igrantio QESAC skill to create an OpenID4VP presentation definition that requests the QESAC credentialId claim and sends a verification request with qes_data transaction data for signing a contract.

Frequently Asked Questions about igrantio-dcql-query-qesac

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a DCQL query for a QESAC credential?▼

Create a dc+sd-jwt query with meta.vct_values set to QESAC and a single claim with path ["credentialId"]. Add it to the dcqlQuery.credentials array of the presentation definition created via the iGrant.io OWS API.

How do I request a qualified electronic signature with OpenID4VP?▼

Set transactionDataDefinitionType to qes_data in the presentation definition, then send the verification request with transactionData containing the document hashes. The wallet signs over the transaction data and returns the credentialId of the signing credential.

Does the QESAC query support mso_mdoc or jwt_vc_json formats?▼

No, the QESAC template is SD-JWT VC only. The registry provides no mso_mdoc or jwt_vc_json file, so the query must use the dc+sd-jwt format with vct_values in meta.

Why does the verification send request return HTTP 400?▼

The server returns HTTP 400 when the presentation definition sets a transactionDataDefinitionType but the request carries no transactionData, or the reverse. Ensure the transactionData matches the qes_data JSON Schema from the transaction-data-definitions endpoint.

What are the limitations of QESAC presentation definition labels?▼

Labels must be 3 to 100 characters and cannot use reserved names such as Document Signing. Name the specific contract or document instead to avoid server rejection.