# wallet_acquireCertificate

Acquires an identity certificate from a certifier.

## Result

The BRC-100 acquireCertificate 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.

In role-routed configurations, walletRole selects an assigned wallet. Identity methods default to the identity role; encryption and HMAC use the encryption role. Transaction and basket operations follow their assigned role. An unavailable role fails rather than borrowing another key.

## Definition 1 (full)

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

Acquires an identity certificate from a certifier.

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| type | string | Yes | Certificate type (base64) |  |
| certifier | string | Yes | Certifier public key hex |  |
| acquisitionProtocol | "direct" \| "issuance" | Yes |  |  |
| fieldsJSON | string | Yes | JSON object of certificate fields |  |
| serialNumber | string | No |  |  |
| revocationOutpoint | string | No |  |  |
| signature | string | No |  |  |
| certifierUrl | string | No |  |  |
| keyringRevealer | string | No |  |  |
| keyringForSubjectJSON | string | No | JSON object of keyring for subject |  |
| privileged | boolean | No |  |  |
| privilegedReason | string | No |  |  |

Nested requirements apply when their parent is supplied.

### Input schema

```json
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "Certificate type (base64)"
    },
    "certifier": {
      "type": "string",
      "description": "Certifier public key hex"
    },
    "acquisitionProtocol": {
      "type": "string",
      "enum": [
        "direct",
        "issuance"
      ]
    },
    "fieldsJSON": {
      "type": "string",
      "description": "JSON object of certificate fields"
    },
    "serialNumber": {
      "type": "string"
    },
    "revocationOutpoint": {
      "type": "string"
    },
    "signature": {
      "type": "string"
    },
    "certifierUrl": {
      "type": "string"
    },
    "keyringRevealer": {
      "type": "string"
    },
    "keyringForSubjectJSON": {
      "description": "JSON object of keyring for subject",
      "type": "string"
    },
    "privileged": {
      "type": "boolean"
    },
    "privilegedReason": {
      "type": "string"
    }
  },
  "required": [
    "type",
    "certifier",
    "acquisitionProtocol",
    "fieldsJSON"
  ],
  "$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.

Acquires an identity certificate from a certifier.

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| type | string | Yes | Certificate type (base64) |  |
| certifier | string | Yes | Certifier public key hex |  |
| acquisitionProtocol | "direct" \| "issuance" | Yes |  |  |
| fieldsJSON | string | Yes | JSON object of certificate fields |  |
| serialNumber | string | No |  |  |
| revocationOutpoint | string | No |  |  |
| signature | string | No |  |  |
| certifierUrl | string | No |  |  |
| keyringRevealer | string | No |  |  |
| keyringForSubjectJSON | string | No | JSON object of keyring for subject |  |
| 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": {
    "type": {
      "type": "string",
      "description": "Certificate type (base64)"
    },
    "certifier": {
      "type": "string",
      "description": "Certifier public key hex"
    },
    "acquisitionProtocol": {
      "type": "string",
      "enum": [
        "direct",
        "issuance"
      ]
    },
    "fieldsJSON": {
      "type": "string",
      "description": "JSON object of certificate fields"
    },
    "serialNumber": {
      "type": "string"
    },
    "revocationOutpoint": {
      "type": "string"
    },
    "signature": {
      "type": "string"
    },
    "certifierUrl": {
      "type": "string"
    },
    "keyringRevealer": {
      "type": "string"
    },
    "keyringForSubjectJSON": {
      "description": "JSON object of keyring for subject",
      "type": "string"
    },
    "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": [
    "type",
    "certifier",
    "acquisitionProtocol",
    "fieldsJSON"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
```

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