# wallet_proveCertificate

Proves select fields of a certificate to a verifier.

## Result

The BRC-100 proveCertificate result, encoded as JSON text. Wallet failures return an error result.

## Permissions

Forwarded to the connected wallet under the configured app origin. Its protocol, certificate or basket permission checks apply to the requested operation.

Use walletRole to choose an assigned wallet. Otherwise the configured role is used. A disabled role cannot borrow another key.

## Definition 1 (full)

Registered in: Legacy local wallet; Legacy local identity; External BRC-100 wallet.

Proves select fields of a certificate to a verifier.

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| certificateJSON | string | Yes | JSON object of the certificate to prove |  |
| fieldsToRevealJSON | string | Yes | JSON array of field names to reveal |  |
| verifier | string | Yes | Verifier public key hex |  |
| privileged | boolean | No |  |  |
| privilegedReason | string | No |  |  |

Nested requirements apply when their parent is supplied.

### Input schema

```json
{
  "type": "object",
  "properties": {
    "certificateJSON": {
      "type": "string",
      "description": "JSON object of the certificate to prove"
    },
    "fieldsToRevealJSON": {
      "type": "string",
      "description": "JSON array of field names to reveal"
    },
    "verifier": {
      "type": "string",
      "description": "Verifier public key hex"
    },
    "privileged": {
      "type": "boolean"
    },
    "privilegedReason": {
      "type": "string"
    }
  },
  "required": [
    "certificateJSON",
    "fieldsToRevealJSON",
    "verifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
```

## Definition 2 (full)

Registered in: Local Vault · broadcasting disabled; Local Vault · all roles; Local Vault · payment role only; Local Vault + sponsor.

Proves select fields of a certificate to a verifier.

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| certificateJSON | string | Yes | JSON object of the certificate to prove |  |
| fieldsToRevealJSON | string | Yes | JSON array of field names to reveal |  |
| verifier | string | Yes | Verifier public key hex |  |
| privileged | boolean | No |  |  |
| privilegedReason | string | No |  |  |
| walletRole | "payments" \| "identity" \| "ordinals" \| "encryption" | No | Select the configured root key for this BRC-100 call. Defaults to the role for the method; action continuations retain their original role. |  |

Nested requirements apply when their parent is supplied.

### Input schema

```json
{
  "type": "object",
  "properties": {
    "certificateJSON": {
      "type": "string",
      "description": "JSON object of the certificate to prove"
    },
    "fieldsToRevealJSON": {
      "type": "string",
      "description": "JSON array of field names to reveal"
    },
    "verifier": {
      "type": "string",
      "description": "Verifier public key hex"
    },
    "privileged": {
      "type": "boolean"
    },
    "privilegedReason": {
      "type": "string"
    },
    "walletRole": {
      "description": "Select the configured root key for this BRC-100 call. Defaults to the role for the method; action continuations retain their original role.",
      "type": "string",
      "enum": [
        "payments",
        "identity",
        "ordinals",
        "encryption"
      ]
    }
  },
  "required": [
    "certificateJSON",
    "fieldsToRevealJSON",
    "verifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
```

[All tools](https://bsvmcp.com/docs/tools)