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

# Module delivery

Module: `noir_aztec::messages::delivery`

## Modules

- [constrained_delivery](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/constrained_delivery/index.md): Sender-side helpers for constrained message delivery.
- [handshake](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/handshake/index.md)

## Structs

- [MessageDelivery](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/struct.MessageDelivery.md): Specifies how to deliver a message to a recipient.
- [OffchainDelivery](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/struct.OffchainDelivery.md): Off-chain delivery. Returned by [`MessageDelivery::offchain`](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/struct.MessageDelivery.md#offchain).
- [OnchainConstrainedDelivery](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/struct.OnchainConstrainedDelivery.md): On-chain constrained delivery. Returned by [`MessageDelivery::onchain_constrained`](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/struct.MessageDelivery.md#onchain_constrained).
- [OnchainDeliveryMode](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/struct.OnchainDeliveryMode.md): The mode of an on-chain message delivery: unconstrained or constrained tagging.
- [OnchainUnconstrainedDelivery](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/struct.OnchainUnconstrainedDelivery.md): On-chain unconstrained delivery. Returned by [`MessageDelivery::onchain_unconstrained`](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/struct.MessageDelivery.md#onchain_unconstrained).
- [ResolvedTaggingStrategy](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/struct.ResolvedTaggingStrategy.md): The tagging secret the PXE hands to the contract after applying the wallet's tagging secret strategy. It is already app-siloed, so the contract uses it directly to derive the message tag and never sees raw key material.

## Traits

- [MessageDeliveryBuilder](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/trait.MessageDeliveryBuilder.md): Builds the [`MessageDelivery`](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/struct.MessageDelivery.md) configuration consumed by the message delivery APIs (e.g. `NoteMessage::deliver` and `EventMessage::deliver`). Implemented by the builder types returned from the [`MessageDelivery`](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/struct.MessageDelivery.md) constructors.

## Functions

- [do_private_message_delivery](/aztec-nr-api/v6.0.0/noir_aztec/messages/delivery/fn.do_private_message_delivery.md): Performs private delivery of a message to `recipient` according to `delivery_mode`.
