Product Docs
Product DocsTechnical DocsLearning & GovernanceUseful Links
  • Product Docs
  • Node Docs
  • Learning Docs
  • â„šī¸Getting Started
    • Product Overview
    • âžĄī¸Get Started with cheqd Studio
      • 👉Set Up Your Account
      • đŸ—ī¸Create API Keys
      • đŸĒ™Token Top Up
      • 🔄Advanced Configuration Options
    • â˜‘ī¸Use Trust Registries for AI Agents
      • đŸ—ī¸Build an AI Agent Trust Registry
        • Setup AI Agent Trust Registry
          • Issue Verifiable Credentials to AI Agent
        • Setup and Configure MCP Server
          • Create AI Agent DID
          • Import Credential to AI Agent
          • Advanced functionality
            • Issue a Verifiable Credential
            • Verify a Credential
      • 🤝Validate AI Agent Trust Chain
  • đŸŸĸStart using cheqd
    • 🆔Create DIDs and Identity Keys
      • Create Issuer DID
      • Create Identity Keys and Subject DIDs
      • Resolve a DID
      • Update a DID
      • Deactivate a DID
    • ✅Issue Credentials and Presentations
      • Issue Credential
      • Setup Verida Wallet
      • Verify Credential
      • Verify Presentation
      • Revoke Credential
      • Suspend or Unsuspend Credential
    • â™ģī¸Charge for Verifiable Credentials
      • Understanding Credential Payments
        • Access Control Conditions
        • Privacy Considerations
      • Charge for Status List
      • Issue Credential with Encrypted Status List
      • Create Verifier Pays Issuer flow
      • Bulk Update or Rotate Encryption Keys
    • 🤝Build Trust Registries
      • Decentralized Trust Chains (DTCs)
        • Root Authorisations
        • RTAO -> TAO
        • TAO -> SubTAO
        • TAO -> Trusted Issuer (TI)
        • Referencing Trust Registry within a Verifiable Credential
      • Set up Trust Chain
        • Issue Verifiable Accreditation
        • Verify Verifiable Accreditation
      • Get Started with TRAIN
        • Deploy TRAIN and Anchor rTAO in DNS
        • Validate Trust Chain
    • 🎋Create Status Lists
      • Bitstring Status List
        • Create Bitstring Status List
        • Update Bitstring Status List
        • Check Bitstring Status List
        • Search Bitstring Status List
      • Token Status List
        • Create Token Status List
        • Update Token Status List
    • â†•ī¸Create DID-Linked Resources
      • Understanding DID-Linked Resources
        • Context for developing DID-Linked Resources
        • Technical composition of DID-Linked Resources
        • Referencing DID-Linked Resources in VCs
      • Create DID-Linked Resource
      • Search DID-Linked Resource
  • đŸ› ī¸Integrate an SDK
    • Choosing the right SDK
    • 🍏Credo
      • Setup Credo Agent
      • Decentralized Identifiers (DIDs)
        • Create a DID
        • Update a DID
        • Deactivate a DID
      • DID-Linked Resources
        • Create DID-Linked Resource
        • Resolve DID-Linked Resource
        • Create AnonCreds Schema
        • Create AnonCreds Credential Definition
      • Verifiable Credentials and Presentations
        • Issue a Verifiable Credential (AnonCreds)
        • Present a Verifiable Credential (AnonCreds)
    • 🍊ACA-Py
      • Setup ACA-Py Agent
      • Decentralized Identifiers (DIDs)
        • Create a DID
        • Update a DID
        • Deactivate a DID
      • DID-Linked Resources
        • Create AnonCreds Schema
        • Create AnonCreds Credential Definition
      • Verifiable Credentials and Presentations
        • AnonCreds
          • Issue a Verifiable Credential
          • Present a Verifiable Credential
          • Revoke a Verifiable Credential
        • JSON-LD
          • Issue a Verifiable Credential
          • Present a Verifiable Credential
    • 🍈Veramo
      • Setup Veramo CLI for cheqd
        • Troubleshooting Veramo CLI setup
      • Decentralised Identifiers (DIDs)
        • Create a DID
        • Querying a DID
        • Update an existing DID
        • Deactivate a DID
        • Create an off-ledger holder DID
        • Managing Identity Keys
        • Troubleshooting
      • Verifiable Credentials and Presentations
        • Issue a Verifiable Credential
        • Verify a Verifiable Credential
        • Create a Verifiable Presentation
        • Verify a Verifiable Presentation
      • Credential Payments
        • Charge for Status List
        • Issue Credential with Encrypted Status List
        • Verifier pays Issuer
      • Bitstring Status List
        • Create Status List
        • Issuing a Verifiable Credential referencing Status List
      • DID-Linked Resources
        • Create a DID-Linked Resource
        • Create a new Resource version within existing Collection
    • đŸĢWalt.id Community Stack
  • đŸ—ī¸Architecture
    • Architecture Decision Record (ADR) Process
    • List of ADRs
      • đŸ”ĩADR 001: cheqd DID Method
      • đŸŸĸADR 002: DID-Linked Resources
      • 🟡ADR 003: DID Resolver
      • 🟠ADR 004: DID Registrar
      • đŸŸŖADR 005: DID Resolution & DID URL Dereferencing
  • đŸ’ĢAdvanced features and alternatives
    • âžĄī¸DID Registrar
      • Setup DID Registrar
      • Create a DID
      • Create a DID-Linked Resource
    • âŦ…ī¸DID Resolver
      • Setup DID Resolver
    • ⚡AnonCreds Object Method
      • Schemas
      • Credential Definitions
      • Revocation Registry Definitions
      • Revocation Status Lists
    • 🌠Advanced Tooling
      • cheqd Cosmos CLI for identity
        • Create a DID
        • Update a DID
        • Deactivate a DID
        • Query a DID
        • Create a DID-Linked Resource
        • Update a DID-Linked Resource
      • Direct interaction with ledger code
      • VDR Tools CLI with cheqd (deprecated)
      • Demo Wallet for Identity Setup
  • âš›ī¸Network
    • Get started with cheqd Network
      • Identity Write Pricing
      • Comparison to Hyperledger Indy
    • ⏊Setup your Wallet
      • Setup Leap Wallet
        • Congifure cheqd testnet for Leap
      • Setup Keplr Wallet
      • Migrate from Keplr to Leap Wallet
    • â†Ēī¸Useful Tools and APIs
      • Block Explorer
      • Testnet Faucet
      • Validator Status API
      • Cheqd x Cosmos Data APIs
      • Cosmos Airdrop Helpers
      • Cosmos Address Convertor
      • Ethereum Bridge
    • âŦ†ī¸Network Upgrades
      • 2021
        • 0.1.x
        • 0.2.x
        • 0.3.x
      • 2022
        • 0.4.x
        • 0.5.x
        • 0.6.x
      • 2023
        • 1.x
      • 2024
        • 2.x
        • 3.x
      • Root Cause Analysis of Outages
        • v1.x upgrade RCA
  • âš–ī¸Legal
    • License
    • Code of Conduct
    • Security Policy
  • 🆘Support
    • System Status
    • Discord
    • Bugs & Feature Requests
Powered by GitBook
LogoLogo

General

  • Website
  • Blog
  • Get $CHEQ

Product Docs

  • Product Docs
  • cheqd Studio
  • Creds.xyz
  • Bug/Feature Requests

Technical Docs

  • Node Docs
  • GitHub
  • Block Explorer

Learning Docs

  • Learning Docs
  • Governance Docs
  • Governance Forum
  • Governance Explorer
On this page

Was this helpful?

Edit on GitHub
Export as PDF
  1. Getting Started
  2. Use Trust Registries for AI Agents
  3. Build an AI Agent Trust Registry
  4. Setup and Configure MCP Server
  5. Advanced functionality

Verify a Credential

Tutorial: Verify a Credential using MCP Toolkit

Last updated 1 month ago

Was this helpful?

Follow these instructions to Verify a Credential from your MCP Client (e.g. Claude Desktop) using the MCP Toolkit.

âš ī¸ Before you begin...

Make sure you have configured the and from the same MCP Client.

Step 1: Create Connection between Holder and Claude Desktop.

If the connection was disrupted, between the Holder and Claude Desktop.

Step 2: Ask Claude to issue a Proof Request

Ask Claude to issue a proof request with some conditions based on the attributes of your credential.

For this tutorial, we asked Claude to generate a proof request with score > 50.

Step 3: Holder checks Request and sends Proof

Parameters

To narrow down the latest proof request, pass the following parameters

limit

Set this to 10.

offset

set this to 0.

state

Set this to "request-received"

Copy and save the pres_ex_id and the proof request by_format.pres_request.anoncreds from the response.

Fetch the relevant credentials and then create a proof response. Send the proof response by calling the below API.

Request Body

For this tutorial, as the credential is AnonCreds, we are sending an AnonCreds proof in the body. The values will be based on the presentation request and the credentials retrieved in the previous two steps.

{
    "anoncreds": {
        "requested_attributes": <<requestedAttributes>>,
        "requested_predicates": <<requestedPredicates>>,
        "self_attested_attributes": {}
}

Step 4: Ask Claude to validate the Presentation Response

Finally, you can ask Claude to check the status of the Proof Request with the following prompt.

"Can you check the status of the proof request?"

Claude should get the latest status and summarise if the verification result was true or false.

The next steps are at the Holder Agent side to accept the proof request and send the response. It can be simulated by running the following APIs in sequence from the Holder API at or Postman.

â„šī¸
â˜‘ī¸
đŸ—ī¸
http://localhost:4001/api/doc
issued a Credential
MCP Client as per the setup instructions
create a new connection

Fetch all present-proof exchange records

get
Query parameters
connection_idstringOptional

Connection identifier

Example: {"value":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}
limitintegerOptional

Number of results to return

Example: {"value":50}
offsetintegerOptional

Offset for pagination

Example: {"value":0}
rolestring ¡ enumOptional

Role assigned in presentation exchange

Possible values:
statestring ¡ enumOptional

Presentation exchange state

Possible values:
thread_idstringOptional

Thread identifier

Example: {"value":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}
Responses
200Success
application/json
get
GET /present-proof-2.0/records HTTP/1.1
Host: 
Accept: */*
200Success
{
  "results": [
    {
      "auto_present": false,
      "auto_remove": false,
      "auto_verify": true,
      "by_format": {
        "pres": {},
        "pres_proposal": {},
        "pres_request": {}
      },
      "connection_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "created_at": "2021-12-31T23:59:59Z",
      "error_msg": "Invalid structure",
      "initiator": "self",
      "pres": {
        "@id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "@type": "https://didcomm.org/my-family/1.0/my-message-type",
        "comment": "text",
        "formats": [
          {
            "attach_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "format": "dif/presentation-exchange/submission@v1.0"
          }
        ],
        "presentations~attach": [
          {
            "@id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "byte_count": 1234,
            "data": {
              "base64": "ey4uLn0=",
              "json": "{\"sample\": \"content\"}",
              "jws": {
                "header": {
                  "kid": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4"
                },
                "protected": "ey4uLn0",
                "signature": "ey4uLn0",
                "signatures": [
                  {
                    "header": {
                      "kid": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4"
                    },
                    "protected": "ey4uLn0",
                    "signature": "ey4uLn0"
                  }
                ]
              },
              "links": [
                "https://link.to/data"
              ],
              "sha256": "617a48c7c8afe0521efdc03e5bb0ad9e655893e6b4b51f0e794d70fba132aacb"
            },
            "description": "view from doorway, facing east, with lights off",
            "filename": "IMG1092348.png",
            "lastmod_time": "2021-12-31T23:59:59Z",
            "mime-type": "image/png"
          }
        ]
      },
      "pres_ex_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "pres_proposal": {
        "@id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "@type": "https://didcomm.org/my-family/1.0/my-message-type",
        "comment": "text",
        "formats": [
          {
            "attach_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "format": "dif/presentation-exchange/submission@v1.0"
          }
        ],
        "proposals~attach": [
          {
            "@id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "byte_count": 1234,
            "data": {
              "base64": "ey4uLn0=",
              "json": "{\"sample\": \"content\"}",
              "jws": {
                "header": {
                  "kid": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4"
                },
                "protected": "ey4uLn0",
                "signature": "ey4uLn0",
                "signatures": [
                  {
                    "header": {
                      "kid": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4"
                    },
                    "protected": "ey4uLn0",
                    "signature": "ey4uLn0"
                  }
                ]
              },
              "links": [
                "https://link.to/data"
              ],
              "sha256": "617a48c7c8afe0521efdc03e5bb0ad9e655893e6b4b51f0e794d70fba132aacb"
            },
            "description": "view from doorway, facing east, with lights off",
            "filename": "IMG1092348.png",
            "lastmod_time": "2021-12-31T23:59:59Z",
            "mime-type": "image/png"
          }
        ]
      },
      "pres_request": {
        "@id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "@type": "https://didcomm.org/my-family/1.0/my-message-type",
        "comment": "text",
        "formats": [
          {
            "attach_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "format": "dif/presentation-exchange/submission@v1.0"
          }
        ],
        "request_presentations~attach": [
          {
            "@id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "byte_count": 1234,
            "data": {
              "base64": "ey4uLn0=",
              "json": "{\"sample\": \"content\"}",
              "jws": {
                "header": {
                  "kid": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4"
                },
                "protected": "ey4uLn0",
                "signature": "ey4uLn0",
                "signatures": [
                  {
                    "header": {
                      "kid": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4"
                    },
                    "protected": "ey4uLn0",
                    "signature": "ey4uLn0"
                  }
                ]
              },
              "links": [
                "https://link.to/data"
              ],
              "sha256": "617a48c7c8afe0521efdc03e5bb0ad9e655893e6b4b51f0e794d70fba132aacb"
            },
            "description": "view from doorway, facing east, with lights off",
            "filename": "IMG1092348.png",
            "lastmod_time": "2021-12-31T23:59:59Z",
            "mime-type": "image/png"
          }
        ],
        "will_confirm": true
      },
      "role": "prover",
      "state": "proposal-sent",
      "thread_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "trace": true,
      "updated_at": "2021-12-31T23:59:59Z",
      "verified": "true",
      "verified_msgs": [
        "text"
      ]
    }
  ]
}

Fetch credentials from wallet for presentation request

get
Path parameters
pres_ex_idstringRequired

Presentation exchange identifier

Example: {"value":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}Pattern: [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}
Query parameters
countstringOptional

Maximum number to retrieve

Example: {"value":"1"}Pattern: ^[1-9][0-9]*$
extra_querystringOptional

(JSON) object mapping referents to extra WQL queries

Example: {"value":"{\"0_drink_uuid\": {\"attr::drink::value\": \"martini\"}}"}Pattern: ^{\s*".*?"\s*:\s*{.*?}\s*(,\s*".*?"\s*:\s*{.*?}\s*)*\s*}$
referentstringOptional

Proof request referents of interest, comma-separated

Example: {"value":"1_name_uuid,2_score_uuid"}
startstringOptional

Start index

Example: {"value":"0"}Pattern: ^[0-9]*$
Responses
200Success
application/json
get
GET /present-proof-2.0/records/{pres_ex_id}/credentials HTTP/1.1
Host: 
Accept: */*
200Success
[
  {
    "cred_info": {
      "attrs": {
        "ANY_ADDITIONAL_PROPERTY": "alice"
      },
      "cred_def_id": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag",
      "cred_rev_id": "12345",
      "referent": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "rev_reg_id": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0",
      "schema_id": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0"
    },
    "interval": {
      "from": 1640995199,
      "to": 1640995199
    },
    "presentation_referents": [
      "1_age_uuid"
    ]
  }
]
  • Step 1: Create Connection between Holder and Claude Desktop.
  • Step 2: Ask Claude to issue a Proof Request
  • Step 3: Holder checks Request and sends Proof
  • GETFetch all present-proof exchange records
  • GETFetch credentials from wallet for presentation request
  • POSTSends a proof presentation
  • Step 4: Ask Claude to validate the Presentation Response

Sends a proof presentation

post
Path parameters
pres_ex_idstringRequired

Presentation exchange identifier

Example: {"value":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}Pattern: [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}
Body
anoncredsall ofOptional

Presentation specification for anoncreds

auto_removebooleanOptional

Whether to remove the presentation exchange record on completion (overrides --preserve-exchange-records configuration setting)

difall ofOptional

Optional Presentation specification for DIF, overrides the PresentationExchange record's PresRequest

indyall ofOptional

Presentation specification for indy

tracebooleanOptional

Record trace information, based on agent configuration

Responses
200Success
application/json
post
POST /present-proof-2.0/records/{pres_ex_id}/send-presentation HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 2418

{
  "anoncreds": {
    "requested_attributes": {
      "ANY_ADDITIONAL_PROPERTY": {
        "cred_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "revealed": true
      }
    },
    "requested_predicates": {
      "ANY_ADDITIONAL_PROPERTY": {
        "cred_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "timestamp": 1640995199
      }
    },
    "self_attested_attributes": {
      "ANY_ADDITIONAL_PROPERTY": "self_attested_value"
    },
    "trace": false
  },
  "auto_remove": true,
  "dif": {
    "issuer_id": "text",
    "presentation_definition": {
      "format": {
        "di_vc": {},
        "jwt": {},
        "jwt_vc": {},
        "jwt_vp": {},
        "ldp": {},
        "ldp_vc": {},
        "ldp_vp": {}
      },
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "input_descriptors": [
        {
          "constraints": {
            "fields": [
              {
                "filter": {
                  "const": null,
                  "enum": [],
                  "exclusiveMaximum": null,
                  "exclusiveMinimum": null,
                  "format": "text",
                  "maxLength": 1234,
                  "maximum": null,
                  "minLength": 1234,
                  "minimum": null,
                  "not": false,
                  "pattern": "text",
                  "type": "text"
                },
                "id": "text",
                "path": [
                  "text"
                ],
                "predicate": "required",
                "purpose": "text"
              }
            ],
            "is_holder": [
              {
                "directive": "required",
                "field_id": [
                  "3fa85f64-5717-4562-b3fc-2c963f66afa6"
                ]
              }
            ],
            "limit_disclosure": "text",
            "status_active": "required",
            "status_revoked": "required",
            "status_suspended": "required",
            "subject_is_issuer": "required"
          },
          "group": [
            "text"
          ],
          "id": "text",
          "metadata": {},
          "name": "text",
          "purpose": "text",
          "schema": {
            "oneof_filter": [
              [
                {
                  "uri": "https://www.w3.org/Test1#Test1"
                },
                {
                  "uri": "https://www.w3.org/Test2#Test2"
                }
              ],
              {
                "oneof_filter": [
                  [
                    {
                      "uri": "https://www.w3.org/Test1#Test1"
                    }
                  ],
                  [
                    {
                      "uri": "https://www.w3.org/Test2#Test2"
                    }
                  ]
                ]
              }
            ]
          }
        }
      ],
      "name": "text",
      "purpose": "text",
      "submission_requirements": [
        {
          "count": 1234,
          "from": "text",
          "from_nested": "[Circular Reference]",
          "max": 1234,
          "min": 1234,
          "name": "text",
          "purpose": "text",
          "rule": "all"
        }
      ]
    },
    "record_ids": {
      "<input descriptor id_1>": [
        "<record id_1>",
        "<record id_2>"
      ],
      "<input descriptor id_2>": [
        "<record id>"
      ]
    },
    "reveal_doc": {
      "@context": [
        "https://www.w3.org/2018/credentials/v1",
        "https://w3id.org/security/bbs/v1"
      ],
      "@explicit": true,
      "@requireAll": true,
      "credentialSubject": {
        "@explicit": true,
        "@requireAll": true,
        "Observation": [
          {
            "effectiveDateTime": {},
            "@explicit": true,
            "@requireAll": true
          }
        ]
      },
      "issuanceDate": {},
      "issuer": {},
      "type": [
        "VerifiableCredential",
        "LabReport"
      ]
    }
  },
  "indy": {
    "requested_attributes": {
      "ANY_ADDITIONAL_PROPERTY": {
        "cred_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "revealed": true
      }
    },
    "requested_predicates": {
      "ANY_ADDITIONAL_PROPERTY": {
        "cred_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "timestamp": 1640995199
      }
    },
    "self_attested_attributes": {
      "ANY_ADDITIONAL_PROPERTY": "self_attested_value"
    },
    "trace": false
  },
  "trace": true
}
200Success
{
  "auto_present": false,
  "auto_remove": false,
  "auto_verify": true,
  "by_format": {
    "pres": {},
    "pres_proposal": {},
    "pres_request": {}
  },
  "connection_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "created_at": "2021-12-31T23:59:59Z",
  "error_msg": "Invalid structure",
  "initiator": "self",
  "pres": {
    "@id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "@type": "https://didcomm.org/my-family/1.0/my-message-type",
    "comment": "text",
    "formats": [
      {
        "attach_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "format": "dif/presentation-exchange/submission@v1.0"
      }
    ],
    "presentations~attach": [
      {
        "@id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "byte_count": 1234,
        "data": {
          "base64": "ey4uLn0=",
          "json": "{\"sample\": \"content\"}",
          "jws": {
            "header": {
              "kid": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4"
            },
            "protected": "ey4uLn0",
            "signature": "ey4uLn0",
            "signatures": [
              {
                "header": {
                  "kid": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4"
                },
                "protected": "ey4uLn0",
                "signature": "ey4uLn0"
              }
            ]
          },
          "links": [
            "https://link.to/data"
          ],
          "sha256": "617a48c7c8afe0521efdc03e5bb0ad9e655893e6b4b51f0e794d70fba132aacb"
        },
        "description": "view from doorway, facing east, with lights off",
        "filename": "IMG1092348.png",
        "lastmod_time": "2021-12-31T23:59:59Z",
        "mime-type": "image/png"
      }
    ]
  },
  "pres_ex_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "pres_proposal": {
    "@id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "@type": "https://didcomm.org/my-family/1.0/my-message-type",
    "comment": "text",
    "formats": [
      {
        "attach_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "format": "dif/presentation-exchange/submission@v1.0"
      }
    ],
    "proposals~attach": [
      {
        "@id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "byte_count": 1234,
        "data": {
          "base64": "ey4uLn0=",
          "json": "{\"sample\": \"content\"}",
          "jws": {
            "header": {
              "kid": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4"
            },
            "protected": "ey4uLn0",
            "signature": "ey4uLn0",
            "signatures": [
              {
                "header": {
                  "kid": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4"
                },
                "protected": "ey4uLn0",
                "signature": "ey4uLn0"
              }
            ]
          },
          "links": [
            "https://link.to/data"
          ],
          "sha256": "617a48c7c8afe0521efdc03e5bb0ad9e655893e6b4b51f0e794d70fba132aacb"
        },
        "description": "view from doorway, facing east, with lights off",
        "filename": "IMG1092348.png",
        "lastmod_time": "2021-12-31T23:59:59Z",
        "mime-type": "image/png"
      }
    ]
  },
  "pres_request": {
    "@id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "@type": "https://didcomm.org/my-family/1.0/my-message-type",
    "comment": "text",
    "formats": [
      {
        "attach_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "format": "dif/presentation-exchange/submission@v1.0"
      }
    ],
    "request_presentations~attach": [
      {
        "@id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "byte_count": 1234,
        "data": {
          "base64": "ey4uLn0=",
          "json": "{\"sample\": \"content\"}",
          "jws": {
            "header": {
              "kid": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4"
            },
            "protected": "ey4uLn0",
            "signature": "ey4uLn0",
            "signatures": [
              {
                "header": {
                  "kid": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4"
                },
                "protected": "ey4uLn0",
                "signature": "ey4uLn0"
              }
            ]
          },
          "links": [
            "https://link.to/data"
          ],
          "sha256": "617a48c7c8afe0521efdc03e5bb0ad9e655893e6b4b51f0e794d70fba132aacb"
        },
        "description": "view from doorway, facing east, with lights off",
        "filename": "IMG1092348.png",
        "lastmod_time": "2021-12-31T23:59:59Z",
        "mime-type": "image/png"
      }
    ],
    "will_confirm": true
  },
  "role": "prover",
  "state": "proposal-sent",
  "thread_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "trace": true,
  "updated_at": "2021-12-31T23:59:59Z",
  "verified": "true",
  "verified_msgs": [
    "text"
  ]
}