> ## Documentation Index
> Fetch the complete documentation index at: https://docs.launchblitz.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# TXResponses

> Every TXResponse emitted by the transaction socket, including body fields and shared metadata.

`TXResponse` frames are JSON text messages serialized as:

```json theme={null}
{
  "msg_type": "ingress_ack",
  "body": {}
}
```

This page lists every `TXResponse` variant emitted by the socket and the fields you can expect in `body`.

## Shared body fields

These fields are reused across multiple `TXResponse` variants.

| Field                           | Type             | Notes                                                                |
| ------------------------------- | ---------------- | -------------------------------------------------------------------- |
| `identifier`                    | `string`         | Your request id. Main correlation key.                               |
| `session_key`                   | `string`         | Server-side session identifier for the connection.                   |
| `sub_id`                        | `string`         | Optional child id for bundled or sub-transaction flows.              |
| `timing`                        | `object`         | Optional timing object. Currently `{ "server_unix_ms": number }`.    |
| `confirmation_detection_method` | `poll \| stream` | Optional confirmation source on terminal or near-terminal responses. |

The socket also injects request context onto many responses when it can resolve the originating request:

| Field              | Type     | Notes                                                                                        |
| ------------------ | -------- | -------------------------------------------------------------------------------------------- |
| `platform`         | `string` | Request platform such as `pump_fun` or `four_meme`.                                          |
| `envelope_type`    | `string` | Request type such as `buy` or `create_with_image_url`.                                       |
| `display_title`    | `string` | Human-readable label for UI display.                                                         |
| `display_subtitle` | `string` | Human-readable subtitle for UI display.                                                      |
| `display`          | `object` | Structured display payload with `kind`, `title`, optional `subtitle`, and optional `fields`. |

`display.fields` entries use this shape:

```json theme={null}
{
  "label": "Wallet",
  "value": "7abc...9xyz",
  "copy_value": "7abc1234...optional"
}
```

## All TXResponses

### `ingress_ack`

The request envelope was parsed and accepted by the socket.

| Field              | Type     | Notes                           |
| ------------------ | -------- | ------------------------------- |
| `identifier`       | `string` | Request id.                     |
| `session_key`      | `string` | Session key.                    |
| `platform`         | `string` | Usually present.                |
| `envelope_type`    | `string` | Optional.                       |
| `timing`           | `object` | Optional timing object.         |
| `display_title`    | `string` | Optional request context field. |
| `display_subtitle` | `string` | Optional request context field. |
| `display`          | `object` | Optional request context field. |

Example:

```json theme={null}
{
  "msg_type": "ingress_ack",
  "body": {
    "identifier": "req_123",
    "session_key": "USER_PUBKEY:SERVER_CONNECTION_ID",
    "platform": "pump_fun",
    "envelope_type": "create_with_image_url",
    "timing": {
      "server_unix_ms": 1760000000000
    }
  }
}
```

### `dispatch`

The request was dispatched to a handler or proxy route.

| Field              | Type     | Notes                           |
| ------------------ | -------- | ------------------------------- |
| `identifier`       | `string` | Request id.                     |
| `session_key`      | `string` | Session key.                    |
| `timing`           | `object` | Optional timing object.         |
| `platform`         | `string` | Optional request context field. |
| `envelope_type`    | `string` | Optional request context field. |
| `display_title`    | `string` | Optional request context field. |
| `display_subtitle` | `string` | Optional request context field. |
| `display`          | `object` | Optional request context field. |

### `mint`

The created token mint is known.

| Field              | Type     | Notes                                                           |
| ------------------ | -------- | --------------------------------------------------------------- |
| `identifier`       | `string` | Request id.                                                     |
| `session_key`      | `string` | Session key.                                                    |
| `mint`             | `string` | Created token mint address.                                     |
| `lp`               | `string` | Liquidity pool or related address from the backend create flow. |
| `force_open`       | `string` | Optional backend-supplied hint or follow-up target.             |
| `timing`           | `object` | Optional timing object.                                         |
| `platform`         | `string` | Optional request context field.                                 |
| `envelope_type`    | `string` | Optional request context field.                                 |
| `display_title`    | `string` | Optional request context field.                                 |
| `display_subtitle` | `string` | Optional request context field.                                 |
| `display`          | `object` | Optional request context field.                                 |

### `metadata`

Metadata was uploaded and the URI is available.

| Field              | Type     | Notes                           |
| ------------------ | -------- | ------------------------------- |
| `identifier`       | `string` | Request id.                     |
| `session_key`      | `string` | Session key.                    |
| `metadata_uri`     | `string` | Metadata URI.                   |
| `timing`           | `object` | Optional timing object.         |
| `platform`         | `string` | Optional request context field. |
| `envelope_type`    | `string` | Optional request context field. |
| `display_title`    | `string` | Optional request context field. |
| `display_subtitle` | `string` | Optional request context field. |
| `display`          | `object` | Optional request context field. |

### `sell`

Sell-specific progress event. The body only carries correlation fields.

| Field              | Type     | Notes                           |
| ------------------ | -------- | ------------------------------- |
| `identifier`       | `string` | Request id.                     |
| `session_key`      | `string` | Session key.                    |
| `timing`           | `object` | Optional timing object.         |
| `platform`         | `string` | Optional request context field. |
| `envelope_type`    | `string` | Optional request context field. |
| `display_title`    | `string` | Optional request context field. |
| `display_subtitle` | `string` | Optional request context field. |
| `display`          | `object` | Optional request context field. |

### `submit`

The backend submitted a transaction upstream.

| Field              | Type     | Notes                                            |
| ------------------ | -------- | ------------------------------------------------ |
| `identifier`       | `string` | Request id.                                      |
| `sub_id`           | `string` | Optional child id.                               |
| `session_key`      | `string` | Session key.                                     |
| `signature`        | `string` | Submitted transaction hash or signature.         |
| `nonce`            | `number` | Optional nonce. Used on some Clanker/Base flows. |
| `timing`           | `object` | Optional timing object.                          |
| `platform`         | `string` | Optional request context field.                  |
| `envelope_type`    | `string` | Optional request context field.                  |
| `display_title`    | `string` | Optional request context field.                  |
| `display_subtitle` | `string` | Optional request context field.                  |
| `display`          | `object` | Optional request context field.                  |

### `confirmed`

The transaction confirmed. This is terminal.

| Field                           | Type             | Notes                                    |
| ------------------------------- | ---------------- | ---------------------------------------- |
| `identifier`                    | `string`         | Request id.                              |
| `sub_id`                        | `string`         | Optional child id.                       |
| `session_key`                   | `string`         | Session key.                             |
| `signature`                     | `string`         | Confirmed transaction hash or signature. |
| `confirmation_detection_method` | `poll \| stream` | Optional confirmation source.            |
| `timing`                        | `object`         | Optional timing object.                  |
| `platform`                      | `string`         | Optional request context field.          |
| `envelope_type`                 | `string`         | Optional request context field.          |
| `display_title`                 | `string`         | Optional request context field.          |
| `display_subtitle`              | `string`         | Optional request context field.          |
| `display`                       | `object`         | Optional request context field.          |

### `success`

The request succeeded. This is terminal.

| Field                           | Type             | Notes                                     |
| ------------------------------- | ---------------- | ----------------------------------------- |
| `identifier`                    | `string`         | Request id.                               |
| `sub_id`                        | `string`         | Optional child id.                        |
| `session_key`                   | `string`         | Session key.                              |
| `signature`                     | `string`         | Successful transaction hash or signature. |
| `confirmation_detection_method` | `poll \| stream` | Optional confirmation source.             |
| `timing`                        | `object`         | Optional timing object.                   |
| `platform`                      | `string`         | Optional request context field.           |
| `envelope_type`                 | `string`         | Optional request context field.           |
| `display_title`                 | `string`         | Optional request context field.           |
| `display_subtitle`              | `string`         | Optional request context field.           |
| `display`                       | `object`         | Optional request context field.           |

### `failure`

Submission happened, but the request failed to confirm successfully. This is terminal.

| Field                           | Type             | Notes                                                   |
| ------------------------------- | ---------------- | ------------------------------------------------------- |
| `identifier`                    | `string`         | Request id.                                             |
| `sub_id`                        | `string`         | Optional child id.                                      |
| `session_key`                   | `string`         | Session key.                                            |
| `signature`                     | `string`         | Submitted transaction hash or signature.                |
| `rpc`                           | `string`         | Optional RPC lane/provider associated with the failure. |
| `confirmation_detection_method` | `poll \| stream` | Optional confirmation source.                           |
| `timing`                        | `object`         | Optional timing object.                                 |
| `platform`                      | `string`         | Optional request context field.                         |
| `envelope_type`                 | `string`         | Optional request context field.                         |
| `display_title`                 | `string`         | Optional request context field.                         |
| `display_subtitle`              | `string`         | Optional request context field.                         |
| `display`                       | `object`         | Optional request context field.                         |

### `error`

The request failed before success. This is terminal.

| Field                           | Type             | Notes                           |
| ------------------------------- | ---------------- | ------------------------------- |
| `identifier`                    | `string`         | Request id.                     |
| `sub_id`                        | `string`         | Optional child id.              |
| `session_key`                   | `string`         | Session key.                    |
| `error`                         | `string`         | Error string.                   |
| `confirmation_detection_method` | `poll \| stream` | Optional confirmation source.   |
| `timing`                        | `object`         | Optional timing object.         |
| `platform`                      | `string`         | Optional request context field. |
| `envelope_type`                 | `string`         | Optional request context field. |
| `display_title`                 | `string`         | Optional request context field. |
| `display_subtitle`              | `string`         | Optional request context field. |
| `display`                       | `object`         | Optional request context field. |

### `simulation`

Simulation-only result. This can be terminal when the request was run in simulation mode.

| Field              | Type      | Notes                                               |
| ------------------ | --------- | --------------------------------------------------- |
| `identifier`       | `string`  | Request id.                                         |
| `sub_id`           | `string`  | Optional child id.                                  |
| `session_key`      | `string`  | Session key.                                        |
| `success`          | `boolean` | Whether simulation succeeded.                       |
| `result`           | `object`  | Optional simulation result payload. Arbitrary JSON. |
| `error`            | `string`  | Optional simulation error string.                   |
| `timing`           | `object`  | Optional timing object.                             |
| `platform`         | `string`  | Optional request context field.                     |
| `envelope_type`    | `string`  | Optional request context field.                     |
| `display_title`    | `string`  | Optional request context field.                     |
| `display_subtitle` | `string`  | Optional request context field.                     |
| `display`          | `object`  | Optional request context field.                     |

### `four_meme_token`

Four.meme access token update for a wallet.

| Field          | Type     | Notes                               |
| -------------- | -------- | ----------------------------------- |
| `identifier`   | `string` | Request id.                         |
| `session_key`  | `string` | Session key.                        |
| `wallet`       | `string` | Wallet the access token belongs to. |
| `access_token` | `string` | Four.meme access token.             |
| `timing`       | `object` | Optional timing object.             |

## Non-TXResponse frame

`rate_limit_hit` is sent by the socket, but it is not part of the `TXResponse` enum. It uses the same outer JSON shape:

```json theme={null}
{
  "msg_type": "rate_limit_hit",
  "body": {}
}
```

Treat `confirmed`, `success`, `failure`, `error`, and terminal `simulation` responses as the end of a request.
