Sign Transactions

Sign Transactions captures non-repudiable consent for every high-risk transaction.

Sign Transactions binds a verified person's identity to the terms of a specific transaction. The wallet shows the terms exactly as provided. The person signs, and the signature covers both their identity and the terms themselves. Any modification to the terms after the fact invalidates the signature.

While Verify Identity answers who is on the other end, Sign Transactions answers what specifically that person agreed to.

Use cases

Sign Transactions applies to any action that needs a person's signed consent to specific terms rather than a generic agreement. The terms can be anything the person has to approve: a payment, a contract, a policy change, an instruction given to an agent.

  • Wire transfers. Authorize a wire with evidence of amount, beneficiary, and source account.
  • Recurring payment mandates. Capture consent for recurring or future-dated charges on a card or bank account.
  • Itemized purchases. Confirm a specific basket of items at checkout, with each line item part of the signed record.
  • Account opening. Sign terms of service, disclosures, and account agreements at onboarding.
  • Contracts and agreements. Sign a lease, a loan agreement, or an NDA, with the document identified in the signed terms.
  • Liability waivers and informed consent. Record that a specific person accepted a specific waiver or consent form.
  • Account changes. Approve a beneficiary, address, or contact change, or an account recovery.
  • Trade and transfer orders. Confirm a securities order or an internal transfer before execution.
  • Data sharing authorizations. Consent to a credit pull, a medical records release, or sharing data with a third party.
  • Agent instructions. Approve the exact action an AI agent proposes to take on the person's behalf.

Each use case is carried by a Transaction Template: the terms travel in the presentation request as transaction_data, and the template defines what the wallet shows to the person and what the signature covers. Proof supports Transaction Templates for every use case that requires a signature. The templates available today are documented in Transaction Data Templates; for a use case not covered yet, reach out to [email protected].

How it works

Sign Transactions sequence

The Verifier performs the following checks on the response:

  • Terms match. Confirm the terms carried in the Key Binding JWT are the ones you sent.
  • Holder signature. Verify the signature on the presentation with the Holder's public key, confirming the legitimate Holder consented.
  • Certificate chain. Walk the certificate chain from the credential's issuer up to Proof Root CA R1, the trust anchor in your trust store.

Together, those checks ensure the response is cryptographic proof that the named verified person consented to the specific terms shown.

For the technical specifics of building the request and validating the response, see Verify a Credential (OID4VP).


See also: Use Cases · Transaction Data Templates · Verify a Credential


Did this page help you?