> Aztec.nr API reference, v6.0.0 (mainnet and testnet). Index: https://docs.aztec.network/aztec-nr-api/v6.0.0/llms.txt

# Struct OffchainMessage

Module: `noir_aztec::messages::processing::offchain`

```rust
pub struct OffchainMessage {
    pub ciphertext: BoundedVec<Field, 15>,
    pub recipient: AztecAddress,
    pub tx_hash: Option<Field>,
    pub anchor_block_timestamp: u64,
}
```

A message delivered via the `offchain_receive` utility function.

## Fields

```rust
ciphertext: BoundedVec<Field, 15>
```

The encrypted message payload.

```rust
recipient: AztecAddress
```

The intended recipient of the message.

```rust
tx_hash: Option<Field>
```

The hash of the transaction that produced this message. `Option::none` indicates a tx-less message.

```rust
anchor_block_timestamp: u64
```

Anchor block timestamp at message emission.

## Trait implementations

```rust
impl Deserialize for OffchainMessage
```

```rust
pub fn deserialize(fields: [Field; 20]) -> Self
```

```rust
pub fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self
```

```rust
impl Serialize for OffchainMessage
```

```rust
pub fn serialize(self) -> [Field; 20]
```

```rust
pub fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>)
```
