# Account

The `Account` entity represents accounts observed in the network activity. For example, when the corresponding public key was passed as a deploy argument. With this approach, [CSPR.cloud](http://CSPR.cloud) is also capable of capturing accounts that don’t have an on-chain balance, but which can own fungible or non-fungible tokens (NFT). Such accounts will have the purse and the on-chain balance returned by CSPR.cloud API.

## Properties

The `Account` entity has the following properties:

| Property                   | Type         | Description                                                                                                                          |
| -------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| `public_key`               | `string(68)` | Account public key represented as a hexadecimal string. Primary account identifier                                                   |
| `account_hash`             | `string(64)` | 32-byte hash of the `public_key` represented as a hexadecimal string. Secondary account identifier                                   |
| `balance`                  | `uint64`     | The liquid balance of the account’s main purse in motes                                                                              |
| `main_purse_uref`          | `string(73)` | Account main purse URef in the `uref-dead...beef-007` format                                                                         |
| `deployment_threshold`     | `uint64`     | The minimum total weight of associated keys required to deploy (i.e. execute transfer).                                              |
| `key_management_threshold` | `uint64`     | The minimum total weight of associated keys required to perform key management operations (e.g. add/remove keys, change thresholds). |
| `genesis_balance`          | `uint64`     | The initial token balance allocated to the account at the network genesis, before any transfers have occurred.                       |

**Example**

```json
{
  "account_hash": "fa12d2dd5547714f8c2754d418aa8c9d59dc88780350cb4254d622e2d4ef7e69",
  "balance": "1801534117600521",
  "genesis_balance": "1801534117600521",
  "deployment_threshold": 1,
  "key_management_threshold": 1,
  "main_purse_uref": "uref-bb9f47c30ddbe192438fad10b7db8200247529d6592af7159d92c5f3aa7716a1-007",
  "public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
}
```

## Optional properties

Depending on the endpoint some of the following optional properties may be included in the `Account` entity:

| Property                   | Type                                                              | Description                                                                                                                                                                                                                                                      |
| -------------------------- | ----------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `auction_status`           | `string`                                                          | Account auction status: `inactive_bidder`, `active_bidder`, `active_validator`, `pending_validator`                                                                                                                                                              |
| `delegated_balance`        | `uint64`                                                          | Total funds delegated across all validators                                                                                                                                                                                                                      |
| `staked_balance`           | `uint64`                                                          | Total funds staked as validator                                                                                                                                                                                                                                  |
| `undelegating_balance`     | `uint64`                                                          | Total undelegated funds that will be returned to the account main purse after the 7 era lockdown period. Accounts that delegate to a validator with a max delegation amount will have the exceed reward amount automatically undelegated at the end of every era |
| `account_info`             | [`AccountInfo`](/rest-api/account-info.md)                        | [Account info](https://github.com/make-software/casper-account-info-contract) provided by the account owner                                                                                                                                                      |
| `centralized_account_info` | [`CentralizedAccountInfo`](/rest-api/centralized-account-info.md) | Account information available for known accounts provided by CSPR.cloud team                                                                                                                                                                                     |
| `cspr_name`                | `string`                                                          | Primary CSPR.name of the account                                                                                                                                                                                                                                 |
| `rank`                     | `uint64`                                                          | Rank of the account based on its total balance on the network                                                                                                                                                                                                    |

## Relations

The `Account` entity has the following relations with other entities:

| Entity                                                              | Mapping property                            | Description                                                                                                                                               |
| ------------------------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`AccountInfo`](/rest-api/account-info.md)                          | `account_hash`                              | Account can have account info data if provided by the owner to the [Account Info contract](https://github.com/make-software/casper-account-info-contract) |
| [`Bidder`](/rest-api/bidder.md)                                     | `public_key`                                | Account can be a bidder in the auction                                                                                                                    |
| [`Contract package`](/rest-api/contract-package.md)                 | `owner_public_key`                          | Account can deploy contracts to the network                                                                                                               |
| [`Deploy`](/rest-api/deploy.md)                                     | `caller_public_key`                         | Account can call deploys on the network                                                                                                                   |
| [`Delegation`](/rest-api/delegation.md)                             | `proposer_public_key`                       | Account can have delegations to validators                                                                                                                |
| [`Delegator reward`](/rest-api/delegator-reward.md)                 | `public_key`                                | Account can receive delegator rewards                                                                                                                     |
| [`Fungible token ownership`](/rest-api/fungible-token-ownership.md) | `owner_hash`                                | Account can own fungible tokens                                                                                                                           |
| [`Fungible token action`](/rest-api/fungible-token-action.md)       | `from_hash`, `to_hash`                      | Account can be on the sending or receiving end of a fungible token action                                                                                 |
| [`NFT`](/rest-api/non-fungible-token.md)                            | `owner_hash`                                | Account can own NFTs                                                                                                                                      |
| [`NFT action`](/rest-api/non-fungible-token-action.md)              | `from_hash`, `to_hash`                      | Account can be on the sending or receiving end of a fungible token action                                                                                 |
| [`NFT ownership`](/rest-api/non-fungible-token-ownership.md)        | `owner_hash`                                | Account can own multiple NFTs in one NFT contract                                                                                                         |
| [`Transfer`](/rest-api/transfer.md)                                 | `initiator_account_hash`, `to_account_hash` | Account can initiate transfers and be a transfer recipient                                                                                                |
| [`Validator`](/rest-api/validator.md)                               | `public_key`                                | Account can be a validator                                                                                                                                |

## Endpoints

The `Account` entity has the following endpoints:

* [Get account](/rest-api/account/get-account.md)
* [Get accounts](/rest-api/account/get-accounts.md)
* [Get account associations](https://github.com/make-software/casper-middleware/blob/documentation/docs/public/rest-api/account/get-account-associations.md)

## Relation endpoints

The `Account` entity has the following relation endpoints:

* [Get account contract packages](/rest-api/contract-package/get-account-contract-packages.md)
* [Get account delegations](/rest-api/delegation/get-account-delegations.md)
* [Get account delegation rewards](/rest-api/delegator-reward/get-account-delegation-rewards.md)
* [Get total account delegation rewards](/rest-api/delegator-reward/get-account-total-delegation-rewards.md)
* [Get account deploys](/rest-api/deploy/get-account-deploys.md)
* [Get account fungible token ownership](/rest-api/fungible-token-ownership/get-account-fungible-token-ownership.md)
* [Get account fungible token actions](/rest-api/fungible-token-action/get-account-token-actions.md)
* [Get account NFTs](/rest-api/non-fungible-token/get-account-tokens.md)
* [Get account NFT actions](/rest-api/non-fungible-token-action/get-account-token-actions.md)
* [Get account transfers](/rest-api/transfer/get-account-transfers.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cspr.cloud/rest-api/account.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
