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

# Transaction

> Kotlin Data Class

**Data Class**

```kotlin theme={null}
data class Transaction(val id: String, val status: TransactionStatus, val onChain: OnChainData, val params: TransactionParams, val walletType: WalletType, val createdAt: Long, val approvals: Approvals?, val error: TransactionErrorDetails?)
```

## Constructors

```kotlin theme={null}
constructor(id: String, status: TransactionStatus, onChain: OnChainData, params: TransactionParams, walletType: WalletType, createdAt: Long, approvals: Approvals?, error: TransactionErrorDetails?)
```

## Properties

| Property     | Type                       | Description                                                            |
| ------------ | -------------------------- | ---------------------------------------------------------------------- |
| `approvals`  | `Approvals?`               | Approval signatures required or submitted for this transaction, if any |
| `createdAt`  | `Long`                     | Unix epoch milliseconds when the transaction was created               |
| `error`      | `TransactionErrorDetails?` | Error details when status is TransactionStatus.FAILED, otherwise null  |
| `id`         | `String`                   | Unique transaction identifier                                          |
| `onChain`    | `OnChainData`              | Chain-specific data available after the transaction is submitted       |
| `params`     | `TransactionParams`        | The inputs used to construct this transaction                          |
| `status`     | `TransactionStatus`        | Current lifecycle state of the transaction                             |
| `walletType` | `WalletType`               | The type of wallet that owns this transaction                          |
