# Transactions

**Note:** For common operations like transfers, staking, model registration, and data submission, use the [convenience methods](https://docs.soma.org/reference/sdk/scoring-admin/#convenience-methods) which handle transaction building, signing, and execution in a single call.

## Executing Transactions

### execute_transaction

Submit a signed transaction for execution.

```python
async def execute_transaction(tx_bytes: bytes) -> TransactionEffects
```

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `tx_bytes` | `bytes` | Yes | - | Signed transaction bytes |

**Returns**: [`TransactionEffects`](https://docs.soma.org/reference/sdk/types/#transactioneffects)

### simulate_transaction

Dry-run a transaction without committing it.

```python
async def simulate_transaction(tx_data_bytes: bytes) -> TransactionEffects
```

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `tx_data_bytes` | `bytes` | Yes | - | Unsigned transaction data bytes |

**Returns**: [`TransactionEffects`](https://docs.soma.org/reference/sdk/types/#transactioneffects)

### get_transaction

Fetch the effects of a previously executed transaction.

```python
async def get_transaction(digest: str) -> TransactionEffects
```

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `digest` | `str` | Yes | - | Transaction digest |

**Returns**: [`TransactionEffects`](https://docs.soma.org/reference/sdk/types/#transactioneffects)