Relax requirements around transaction data
@GarethCOliver is already working on this.
Since Sep 18, 2026.
- Dominant language
- Shell
- Stars
- 112
- Forks
- 38
- Avg merge
- 12d 19h
- Merged PRs (30d)
- 4
Description
Currently we have this requirement in section 5.1:
"The Wallet MUST return an error if a request contains even one unrecognized transaction data type or transaction data not conforming to the respective type definition."
This is is quite prohibitive, for example it means you can never have several versions of transaction_data in a single requests, for example payment_transaction_v1 and payment_transaction_v2. Instead, we should relax the requirement to only apply if the wallet is returned a credential referenced by one of the credential_ids for the transaction data. That way, I can craft a request like this:
{
"dcql_query": {
"credentials": [
{
"id": "dpc_with_tx_type_a",
"format": "mso_mdoc",
"meta": { "doctype_value": "org.example.dpc" },
"claims": [
{
"id": "account_number_claim",
"path": [ "org.example.dpc", "account_number" ]
}
],
},
{
"id": "dpc_with_tx_type_b",
"format": "mso_mdoc",
"meta": { "doctype_value": "org.example.dpc" },
"claims": [
{
"id": "account_number_claim",
"path": [ "org.example.dpc", "account_number" ]
}
],
}
],
"credential_sets": [
{
"required": true,
"options": [
[
"dpc_with_tx_type_a"
],
[
"dpc_with_tx_type_b"
]
]
}
]
},
"transaction_data": [ "<base64url-encoded_tx_type_a>", "<base64url-encoded_tx_type_b>",
}
where
base64url-encoded_tx_type_ais for transaction data type A and referencing onlydpc_with_tx_type_abase64url-encoded_tx_type_bis for transaction data type B and referencing onlydpc_with_tx_type_b
It would be good to have this for OpenID4VP 1.1.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.