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

# Struct ConfirmedNote

Module: `noir_aztec::note`

```rust
pub struct ConfirmedNote<Note> {
    pub note: Note,
    pub contract_address: AztecAddress,
    pub owner: AztecAddress,
    pub randomness: Field,
    pub storage_slot: Field,
    pub metadata: NoteMetadata,
    pub proven_note_hash: Field,
}
```

A note that has been confirmed to exist.

This struct contains the actual note content and all associated data related to it, including the note's metadata and the note hash that was used to prove its existence.

Only `ConfirmedNote`s can be nullified, since emitting a nullifier for a note that does not exist is a meaningless action, and in the vast majority of cases an error.

`ConfirmedNote`s can be obtained by reading notes from PXE via [`crate::note::note_getter::get_note`](/aztec-nr-api/mainnet/noir_aztec/note/note_getter/fn.get_note.md) and [`crate::note::note_getter::get_notes`](/aztec-nr-api/mainnet/noir_aztec/note/note_getter/fn.get_notes.md), or by confirming a [`crate::note::hinted_note::HintedNote`](/aztec-nr-api/mainnet/noir_aztec/note/struct.HintedNote.md) via [`crate::history::note::assert_note_existed_by`](/aztec-nr-api/mainnet/noir_aztec/history/note/fn.assert_note_existed_by.md).

## Pending Notes

A pending `ConfirmedNote` (i.e. one of \[`crate::note::note_metadata::NoteStageEnum::PENDING_SAME_PHASE`] or \[`crate::note::note_metadata::NoteStageEnum::PENDING_PREVIOUS_PHASE`]) will **not** necessarily be inserted into the note hash tree: if it is nullified in the same transaction, both note hash and nullifier will be squashed (deleted) by the kernel, resulting in a *transient note*.

## Fields

```rust
note: Note
```

```rust
contract_address: AztecAddress
```

```rust
owner: AztecAddress
```

```rust
randomness: Field
```

```rust
storage_slot: Field
```

```rust
metadata: NoteMetadata
```

```rust
proven_note_hash: Field
```

The note hash used to prove existence.

Whether this note hash is unsiloed or unique depends on the note's metadata.

## Implementations

```rust
impl<Note> ConfirmedNote<Note>
```
