# AccountIdentifier
The account_identifier uniquely identifies an account within a network. All fields in the account_identifier are utilized to determine this uniqueness (including the metadata field, if populated).
## Example Usage
```typescript
import { AccountIdentifier } from "icpmcp-rosetta-api";
let value: AccountIdentifier = {
address: "0x3a065000ab4183c6bf581dc1e55a605455fc6d61",
subAccount: {
address: "0x6b175474e89094c44da98b954eedeac495271d0f",
},
};
```
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `address` | *string* | :heavy_check_mark: | The address may be a cryptographic public key (or some encoding of it) or a provided username. | 0x3a065000ab4183c6bf581dc1e55a605455fc6d61 |
| `subAccount` | [models.SubAccountIdentifier](../models/subaccountidentifier.md) | :heavy_minus_sign: | An account may have state specific to a contract address (ERC-20 token) and/or a stake (delegated balance). The sub_account_identifier should specify which state (if applicable) an account instantiation refers to. | |
| `metadata` | [models.AccountIdentifierMetadata](../models/accountidentifiermetadata.md) | :heavy_minus_sign: | Blockchains that utilize a username model (where the address is not a derivative of a cryptographic public key) should specify the public key(s) owned by the address in metadata. | |