{
  "type": "object",
  "title": "RosettaAccountIdentifier",
  "description": "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).",
  "required": ["address"],
  "properties": {
    "address": {
      "type": "string",
      "description": "The address may be a cryptographic public key (or some encoding of it) or a provided username."
    },
    "sub_account": {
      "$ref": "./rosetta-sub-account.schema.json"
    },
    "metadata": {
      "type": "object",
      "description": "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.",
      "required": []
    }
  }
}
