> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.immix.xyz/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.immix.xyz/_mcp/server.

# Credentials

**`Request — sent`**

```json title="Request — sent"
{
  "op": "subscribe",
  "reqId": "<string>",
  "params": {
    "topics": [
      "credential"
    ]
  }
}
```

**`Response — received`**

```json title="Response — received"
{
  "op": "subscribe",
  "reqId": "<string>",
  "success": true
}
```

**`credential · snapshot part — received`**

```json title="credential · snapshot part — received"
{
  "event": "credential",
  "msgType": "credential",
  "topic": "credential",
  "seq": "<string>",
  "seqTs": "<string>",
  "isSnapshot": true,
  "snapshotId": "<string>",
  "part": 0,
  "last": true,
  "data": [
    {
      "credentialId": 0,
      "credential": "<string>",
      "version": "<string>",
      "status": "UNKNOWN",
      "exchange": "<string>",
      "providerKind": "UNKNOWN",
      "canTrade": true,
      "canReadBalances": true,
      "appGroup": "<string>",
      "health": {
        "status": "UNKNOWN",
        "reason": "UNKNOWN",
        "sinceNs": "<string>",
        "transitionAtNs": "<string>",
        "reportedAtNs": "<string>",
        "venueRoundTripNs": "<string>",
        "detail": "<string>"
      }
    }
  ]
}
```

**`credential · delta — received`**

```json title="credential · delta — received"
{
  "event": "credential",
  "msgType": "credential",
  "topic": "credential",
  "seq": "<string>",
  "seqTs": "<string>",
  "isSnapshot": false,
  "data": [
    {
      "credentialId": 0,
      "credential": "<string>",
      "version": "<string>",
      "status": "UNKNOWN",
      "exchange": "<string>",
      "providerKind": "UNKNOWN",
      "canTrade": true,
      "canReadBalances": true,
      "appGroup": "<string>",
      "health": {
        "status": "UNKNOWN",
        "reason": "UNKNOWN",
        "sinceNs": "<string>",
        "transitionAtNs": "<string>",
        "reportedAtNs": "<string>",
        "venueRoundTripNs": "<string>",
        "detail": "<string>"
      }
    }
  ]
}
```

Each frame is its shape, read off the contract: `<string>` stands for a value, and a union shows its first form.

**URL** — No public environment serves this socket yet.

**Topic** `credential`

## Request parameters

| Parameter  | Type             | Required | Description                                                                                     |
| ---------- | ---------------- | -------- | ----------------------------------------------------------------------------------------------- |
| `op`       | string           | Yes      | `subscribe`                                                                                     |
| `reqId`    | string           | Yes      | Echoed byte-exact on the answer. Printable ASCII, escape-free; anything else answers MALFORMED. |
| `params`   | object           | Yes      |                                                                                                 |
| > `topics` | array of strings | Yes      | `credential`                                                                                    |

## Response parameters

| Parameter | Type    | Required | Description                                                                                     |
| --------- | ------- | -------- | ----------------------------------------------------------------------------------------------- |
| `op`      | string  | Yes      | One of `subscribe`, `unsubscribe`.                                                              |
| `reqId`   | string  | Yes      | Echoed byte-exact on the answer. Printable ASCII, escape-free; anything else answers MALFORMED. |
| `success` | boolean | Yes      | `true`                                                                                          |

## Push data parameters

Two axes, kept apart on purpose. `status` is the credential's lifecycle — what an administrator decided. `health` is what a connector observed. An approved credential whose venue is down and a suspended credential call for opposite actions, and one word could not say both. `health` is null until a report exists.

**What the image holds.** Every credential of the organization this member holds, keyed by `credentialId`, as its latest image — including revoked ones.

**How a row leaves.** It does not; `status` is the signal, exactly as on `account`. A revoked credential is served with its status and keeps explaining the orders and accounts that were placed through it.

| Parameter           | Type             | Required | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------- | ---------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `event`             | string           | Yes      | `credential`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `msgType`           | string           | Yes      | `credential`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `topic`             | string           | Yes      | `credential`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `seq`               | string           | Yes      | The stream position, as a decimal string — an int64 a JSON number would truncate.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `seqTs`             | string           | Yes      | The stream timestamp, epoch-ns as a decimal string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `isSnapshot`        | boolean          | Yes      | One of `true`, `false`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `snapshotId`        | string           | No       | **Present on a snapshot part only**, and the same on every part of one image; the next image of any topic carries a different one. **Opaque — compare it for equality and nothing else.** It is not a sequence, a version or a timestamp, and its shape may change; a client that ordered by it would be relying on how a member happens to mint it. Use it to keep two images apart. A repeat `subscribe` re-pushes the image — that is the resync, and there is no separate op — so a client can start image N+1 while N is still arriving, and without a name on each part it cannot tell which `last: true` closes which, nor stop a straggling part of N landing in the map N+1 just cleared. **Discard any part whose `snapshotId` is not the one you are currently applying.** |
| `part`              | integer          | No       | Present on a snapshot part only; 1-based.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `last`              | boolean          | No       | Present on a snapshot part only. The image is complete when true — including for an empty channel, which is still one part.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `data`              | array of objects | Yes      | One venue credential and its observed health, keyed by `credentialId`. The row carries no secret material by construction: the register's `secretRef`, `keyFingerprint` and `venueKeyId` are not rendered here at all.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| > `credentialId`    | integer          | Yes      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| > `credential`      | string           | Yes      | The credential's name.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| > `version`         | string           | Yes      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| > `status`          | string           | Yes      | The LIFECYCLE — what an administrator decided. Not a health reading. One of `UNKNOWN`, `DRAFT`, `PENDING_APPROVAL`, `ACTIVE`, `SUSPENDED`, `REVOKED`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| > `exchange`        | string, nullable | Yes      | Null until this member holds the credential's exchange row.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| > `providerKind`    | string           | Yes      | One of `UNKNOWN`, `EXCHANGE`, `CUSTODIAN`, `WALLET_PROVIDER`, `CHAIN_RPC`, `BANK`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| > `canTrade`        | boolean          | Yes      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| > `canReadBalances` | boolean          | Yes      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| > `appGroup`        | string, nullable | Yes      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| > `health`          | object, nullable | Yes      | What a connector OBSERVED, kept apart from `status` on purpose: an approved credential whose venue is down and a suspended credential call for opposite actions, and one word could not say both. Null until a report exists — an absent object rather than a synthetic UNKNOWN row a client would have to special-case.                                                                                                                                                                                                                                                                                                                                                                                                                                                              |