Present a Verifiable Credential

Present an AnonCreds Verifiable Credential, signed by a did:cheqd Decentralized Identifier (DID), using ACA-Py.

Using the /present-proof-2.0 API endpoints, it is possible to present Verifiable Credentials, signed by a cheqd DID, in a few clicks or lines of code. This process enables secure and trustworthy sharing of verifiable credentials within the ACA-Py framework and cheqd ecosystem.

Step 1: Create a Connection with Holder

Use any supported method to create a connection with the Holder. Automated out-of-band protocol is recommended. You can follow the same steps as described in Issue a Verifiable Credential.

Step 2: Send Proof Request

After connection is established, the Verifier can send a proof request to the Holder.

Sends a free presentation request not bound to any proposal

post
Body
auto_removebooleanOptional

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

auto_verifybooleanOptional

Verifier choice to auto-verify proof presentation

commentstringOptional
connection_idstringRequired

Connection identifier

Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
tracebooleanOptional

Whether to trace event (default false)

Responses
200Success
application/json
post
/present-proof-2.0/send-request
200Success

Sample Request Body

The request body will depend on the credential, but here is a sample.

Step 3: Holder sends Presentation Proof

Holder can get the stored credentials from own wallet and format a proof to send to the Verifier.

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
auto_removebooleanOptional

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

tracebooleanOptional

Record trace information, based on agent configuration

Responses
200Success
application/json
post
/present-proof-2.0/records/{pres_ex_id}/send-presentation
200Success

Step 4: Verifier verifies Presentation

Verifier receives the presentation via the connection, and can use the following API to verify. The response must have verified: true .

Verify a received 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}
Responses
200Success
application/json
post
/present-proof-2.0/records/{pres_ex_id}/verify-presentation
200Success

Last updated

Was this helpful?